Messages in this thread | | | From | Rusty Russell <> | Subject | Re: parse_args() is too unforgivable? | Date | Tue, 25 Aug 2015 10:54:46 +0930 |
| |
Oleg Nesterov <oleg@redhat.com> writes: > On 08/24, Oleg Nesterov wrote: >> >> I booted the kernel with the additional patch below, and nothing bad has >> happened, > > Until I tried reboot it once with "locktorture.verbose=true" paramater. > It didn't boot. > > This is because parse_args() just aborts after it hits the error, so other > arguments at the same initcall level are simply ignored. > > Fixed by the patch below, but I simply can't believe nobody hit this (imo) > bug before. > > Why does parse_args() do this?? I simply can't understand why parse_args() > adds more random and hard-to-understand problems if one of the args ("=true" > in this particular case) is wrong. > > Yes, the patch below is probably oversimplified / incomplete but imho the > current behaviour is confusing. At least I was greatly confused ;) At least > (I think) it makes sense to let the user know that the rest of command line > was probably ignored.
This is nice, but please save and return the error properly; modules need this too.
I think nobody hit this before because they notice that they screwed up the commandline and it didn't boot.
Thanks, Rusty.
| |