The ebt_ulog module does not follow the fixed convention about function
return. Loading the module is triggering the following message:
sys_init_module: 'ebt_ulog'->init suspiciously returned 1, it should follow 0/-E convention
sys_init_module: loading module anyway...
Pid: 2334, comm: modprobe Not tainted
2.6.29-rc5edenwall0-00883-g199e57b #146
Call Trace:
[<
c0441b81>] ? printk+0xf/0x16
[<
c02311af>] sys_init_module+0x107/0x186
[<
c0202cfa>] syscall_call+0x7/0xb
The following patch fixes the return treatment in ebt_ulog_init()
function.
Signed-off-by: Eric Leblond <eric@inl.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
static int __init ebt_ulog_init(void)
{
- bool ret = true;
+ int ret;
int i;
if (nlbufsiz >= 128*1024) {
printk(KERN_NOTICE "ebt_ulog: Netlink buffer has to be <= 128kB,"
" please try a smaller nlbufsiz parameter.\n");
- return false;
+ return -EINVAL;
}
/* initialize ulog_buffers */
if (!ebtulognl) {
printk(KERN_WARNING KBUILD_MODNAME ": out of memory trying to "
"call netlink_kernel_create\n");
- ret = false;
- } else if (xt_register_target(&ebt_ulog_tg_reg) != 0) {
+ ret = -ENOMEM;
+ } else if ((ret = xt_register_target(&ebt_ulog_tg_reg)) != 0) {
netlink_kernel_release(ebtulognl);
}
- if (ret)
+ if (ret == 0)
nf_log_register(NFPROTO_BRIDGE, &ebt_ulog_logger);
return ret;