diff options
author | Konstantin Khlebnikov <khlebnikov@yandex-team.ru> | 2019-05-15 14:40:52 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-05-16 12:12:40 -0700 |
commit | 752beb5ec4413d40434957e427c6c48d5043f805 (patch) | |
tree | 0519e27006d93cebe14fd330464728190a79aed8 | |
parent | a9eeb998c28d5506616426bd3a216bd5735a18b8 (diff) | |
download | linux-752beb5ec4413d40434957e427c6c48d5043f805.tar.gz linux-752beb5ec4413d40434957e427c6c48d5043f805.tar.bz2 linux-752beb5ec4413d40434957e427c6c48d5043f805.zip |
net: bpfilter: fallback to netfilter if failed to load bpfilter kernel module
If bpfilter is not available return ENOPROTOOPT to fallback to netfilter.
Function request_module() returns both errors and userspace exit codes.
Just ignore them. Rechecking bpfilter_ops is enough.
Fixes: d2ba09c17a06 ("net: add skeleton of bpfilter kernel module")
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv4/bpfilter/sockopt.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/bpfilter/sockopt.c b/net/ipv4/bpfilter/sockopt.c index 15427163a041..0480918bfc7c 100644 --- a/net/ipv4/bpfilter/sockopt.c +++ b/net/ipv4/bpfilter/sockopt.c @@ -30,13 +30,11 @@ static int bpfilter_mbox_request(struct sock *sk, int optname, mutex_lock(&bpfilter_ops.lock); if (!bpfilter_ops.sockopt) { mutex_unlock(&bpfilter_ops.lock); - err = request_module("bpfilter"); + request_module("bpfilter"); mutex_lock(&bpfilter_ops.lock); - if (err) - goto out; if (!bpfilter_ops.sockopt) { - err = -ECHILD; + err = -ENOPROTOOPT; goto out; } } |