On Tuesday 01 February 2011 19:48, Ralf Friedl wrote:
> Hi
> 
> The commit 
> http://git.buildroot.org/busybox/commit/?id=1396221d5a741ef8e1e8abca88836b341a3cab84
>  
> breaks modprobe/insmod with spaces inside the parameters.
> 
> When calling
>     modprobe -v iptable_filter forward='1 2'
> the old version did
>     init_module(0x499838, 5306, "\"forward=1 2\" ") = 0
> while the new version does
>     init_module(0x491838, 5306, "forward=1 2 ") = -1 ENOENT (No such 
> file or directory)
> And dmesg says
>     iptable_filter: Unknown parameter `2'
> 
> The kernel considers the '2' after the space to be the name of another 
> parameter and not part of the value of forward. From the comments, this 
> change seems intentional, but I don't see any advantage of this patch. 
> Actually it seems obvious that the kernel can't recognize parameters 
> with spaces after this patch.
> If it's just about code size, using the quotes always should also be 
> possible.

Hmm. You are right. Reverting.

But even old behavior wasn't exactly correct. It was doing:

init_module(0x8c8e1b8, 4744, "\"forward=1 2\" ") = -1 ENOENT (No such file or 
directory)


whereas module-init-tools version 3.11.1 does:

init_module(0xf6eab0, 4744, "forward=\"1 2\"") = -1 ENOENT (No such file or 
directory)

See? qoutes should be around value only.


-- 
vda
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to