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: d2ba09c17a ("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>
This commit is contained in:
Konstantin Khlebnikov 2019-05-15 14:40:52 +03:00 коммит произвёл David S. Miller
Родитель a9eeb998c2
Коммит 752beb5ec4
1 изменённых файлов: 2 добавлений и 4 удалений

Просмотреть файл

@ -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;
}
}