netfilter: x_tables: return -ENOENT for non-existant matches/targets

As Stephen correctly points out, we need to return -ENOENT in
xt_find_match()/xt_find_target() after the patch "netfilter: x_tables:
misuse of try_then_request_module" in order to properly indicate
a non-existant module to the caller.

Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
Patrick McHardy 2011-03-14 19:11:44 +01:00
parent adb00ae2ea
commit 42046e2e45

View File

@ -190,7 +190,7 @@ EXPORT_SYMBOL(xt_unregister_matches);
struct xt_match *xt_find_match(u8 af, const char *name, u8 revision) struct xt_match *xt_find_match(u8 af, const char *name, u8 revision)
{ {
struct xt_match *m; struct xt_match *m;
int err = 0; int err = -ENOENT;
if (mutex_lock_interruptible(&xt[af].mutex) != 0) if (mutex_lock_interruptible(&xt[af].mutex) != 0)
return ERR_PTR(-EINTR); return ERR_PTR(-EINTR);
@ -235,7 +235,7 @@ EXPORT_SYMBOL_GPL(xt_request_find_match);
struct xt_target *xt_find_target(u8 af, const char *name, u8 revision) struct xt_target *xt_find_target(u8 af, const char *name, u8 revision)
{ {
struct xt_target *t; struct xt_target *t;
int err = 0; int err = -ENOENT;
if (mutex_lock_interruptible(&xt[af].mutex) != 0) if (mutex_lock_interruptible(&xt[af].mutex) != 0)
return ERR_PTR(-EINTR); return ERR_PTR(-EINTR);