[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=Y32JLeuwagvAsuRg61VHEPQqpReot8ndcajrP@mail.gmail.com>
Date: Tue, 8 Mar 2011 17:09:32 +0800
From: Dave Young <hidave.darkstar@...il.com>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org
Subject: Re: + sysctl-add-proc_dointvec_unsigned-handler.patch added to -mm tree
On Tue, Mar 8, 2011 at 5:02 PM, Alexey Dobriyan <adobriyan@...il.com> wrote:
> On Tue, Mar 08, 2011 at 04:43:36PM +0800, Dave Young wrote:
>> On Tue, Mar 8, 2011 at 4:24 PM, Alexey Dobriyan <adobriyan@...il.com> wrote:
>> > On Tue, Mar 08, 2011 at 01:43:31PM +0800, Dave Young wrote:
>> >> On Tue, Mar 8, 2011 at 1:15 PM, Dave Young <hidave.darkstar@...il.com> wrote:
>> >> > On Tue, Mar 8, 2011 at 7:26 AM, Alexey Dobriyan <adobriyan@...il.com> wrote:
>> >> >> On Mon, Mar 07, 2011 at 03:05:43PM -0800, akpm@...ux-foundation.org wrote:
>> >> >>> Add a proc_dointvec_unsigned() sysctl handler for positive value cases.
>> >> >>
>> >> >>> --- a/kernel/sysctl.c~sysctl-add-proc_dointvec_unsigned-handler
>> >> >>> +++ a/kernel/sysctl.c
>> >> >>
>> >> >>> +int proc_dointvec_unsigned(struct ctl_table *table, int write,
>> >> >>> + void __user *buffer, size_t *lenp, loff_t *ppos)
>> >> >>> +{
>> >> >>> + struct do_proc_dointvec_minmax_conv_param param = {
>> >> >>> + .min = &zero,
>> >> >>> + };
>> >> >>> + return do_proc_dointvec(table, write, buffer, lenp, ppos,
>> >> >>> + do_proc_dointvec_minmax_conv, ¶m);
>> >> >>> +}
>> >> >>
>> >> >> This silently ignored max value in .extra2 .
>> >> >
>> >> > Hi,
>> >> >
>> >> > Good cache, should set .max = NULL here
>> >>
>> >> Oh, c99 set default value to 0, isn't it?
>> >>
>> >> What do you mean silently ignore here?
>> >>
>> >> Let's see the code:
>> >>
>> >> if ((param->min && *param->min > val) ||
>> >> (param->max && *param->max < val))
>> >> return -EINVAL;
>> >>
>> >> There's no problem max == NULL
>> >
>> > I mean literally "silently ignore".
>> >
>> > Try
>> > {
>> > .name = "foo",
>> > .data = &foo,
>> > .maxlen = sizeof(foo),
>> > .proc_handler = proc_dointvec_unsigned,
>> > .extra2 = &_42,
>> > }
>> >
>>
>> Yes, extra2 is ignored, what would you like to do for this kind of ignore?
>
> Obviously it should remain upper bound.
>
This function is intend for case val >=0, So I don't think extra2
should be added.
--
Regards
dave
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists