Re: [PATCH] params: make dashes and underscores in parameter namestruly equal

From: Randy Dunlap
Date: Tue Oct 18 2011 - 15:01:06 EST


On 10/17/2011 08:58 PM, Rusty Russell wrote:
> On Thu, 13 Oct 2011 16:41:11 +0200, Michal Schmidt <mschmidt@xxxxxxxxxx> wrote:
>> On 10/13/2011 01:28 AM, Rusty Russell wrote:
>>> Idea is solid, implementation has a few quirks. As the name
>>> obsolete_checksetup() implies, this was only supposed to be a crutch for
>>> old __setup() calls. Modern code should be using module_param() or
>>> core_param().
>>
>> ... instead of __setup()?
>
> Yep.
>
>> No objection to the change in do_early_param() ?
>
> Well, for the moment I've applied that, with parameq and parameqn
> reimplemented more cleanly. See below.
>
>>> Did you have a specific example?
>>
>> The specific example I had in mind was the one from
>> Documentation/kernel-parameters.txt:
>>
>> log_buf_len=1M print-fatal-signals=1
>> can also be entered as
>> log-buf-len=1M print_fatal_signals=1
>
> Oops.
>
>> Let's see how many __setup() parameters there are:
>> $ git grep -E '^__setup\("' |wc -l
>> 457
>>
>> Only the ones with a dash or underscore in the name:
>> $ git grep -E '__setup\(".*[_-].*"' | wc -l
>> 180
>>
>> It will take some time.
>
> The easy things have already been done ;)
>
> Just do the non-arch ones, first, and see where that gets us.
>
> Thanks!
> Rusty.
>
> From: Michal Schmidt <mschmidt@xxxxxxxxxx>
> Subject: params: make dashes and underscores in parameter names truly equal
> Date: Mon, 10 Oct 2011 00:03:37 +0200
>
> The user may use "foo-bar" for a kernel parameter defined as "foo_bar".
> Make sure it works the other way around too.
>
> Apply the equality of dashes and underscores on early_params and __setup
> params as well.
>
> The example given in Documentation/kernel-parameters.txt indicates that
> this is the intended behaviour.

Well, that could have just been my misunderstanding, but I think that this
patch is the right thing to do. Thanks.

> With the patch the kernel accepts "log-buf-len=1M" as expected.
> https://bugzilla.redhat.com/show_bug.cgi?id=744545
>
> Signed-off-by: Michal Schmidt <mschmidt@xxxxxxxxxx>
> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (neatened implementations)
> ---
> include/linux/moduleparam.h | 20 ++++++++++++++++++++
> init/main.c | 4 ++--
> kernel/params.c | 21 ++++++++++++++-------
> 3 files changed, 36 insertions(+), 9 deletions(-)


--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/