Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756844Ab1CHInj (ORCPT ); Tue, 8 Mar 2011 03:43:39 -0500 Received: from mail-qy0-f181.google.com ([209.85.216.181]:43307 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756692Ab1CHInh convert rfc822-to-8bit (ORCPT ); Tue, 8 Mar 2011 03:43:37 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=SY3cVHm6/APMvQjvyjG9KlUTQVv4Ekv3rtrPBlVvJ2HZyOw9GRqOT8D3NUZFShfvWF iAafLA4RFJnThQwmThJpxro93GKP6HUDcknEP0pJBCNc5K5obgngooAJyIoLg8HG6PHN p04JdUA18BGsI6pFiBdqtd/Sz+s06tIh3nnMI= MIME-Version: 1.0 In-Reply-To: <20110308082409.GA4913@p183.telecom.by> References: <201103072305.p27N5hKT000474@imap1.linux-foundation.org> <20110307232655.GA7234@p183.telecom.by> <20110308082409.GA4913@p183.telecom.by> Date: Tue, 8 Mar 2011 16:43:36 +0800 Message-ID: Subject: Re: + sysctl-add-proc_dointvec_unsigned-handler.patch added to -mm tree From: Dave Young To: Alexey Dobriyan Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2130 Lines: 61 On Tue, Mar 8, 2011 at 4:24 PM, Alexey Dobriyan 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 wrote: >> > On Tue, Mar 8, 2011 at 7:26 AM, Alexey Dobriyan wrote: >> >> On Mon, Mar 07, 2011 at 03:05:43PM -0800, akpm@linux-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? -- Regards dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/