netfilter: x_tables: misuse of try_then_request_module
authorStephen Hemminger <shemminger@vyatta.com>
Wed, 9 Mar 2011 13:14:26 +0000 (14:14 +0100)
committerPatrick McHardy <kaber@trash.net>
Wed, 9 Mar 2011 13:14:26 +0000 (14:14 +0100)
commitadb00ae2ea0ec65f9d3d06079950c0f0ade3b614
tree78f6cad2236a0393b74b6e9ac5b1975323cefde6
parent9846ada138accc63994b57ebdfa76e3e137729e2
netfilter: x_tables: misuse of try_then_request_module

Since xt_find_match() returns ERR_PTR(xx) on error not NULL,
the macro try_then_request_module won't work correctly here.
The macro expects its first argument will be zero if condition
fails. But ERR_PTR(-ENOENT) is not zero.

The correct solution is to propagate the error value
back.

Found by inspection, and compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
net/netfilter/x_tables.c