Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755856Ab1CHIYR (ORCPT ); Tue, 8 Mar 2011 03:24:17 -0500 Received: from mail-bw0-f46.google.com ([209.85.214.46]:53627 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751302Ab1CHIYO (ORCPT ); Tue, 8 Mar 2011 03:24:14 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:content-transfer-encoding :in-reply-to:user-agent; b=bXsSs8OYVX32MS17b349CHcgkNLyKDISADNmhkTPysYGU/H6gU1iqZ8So4ngx8hYg5 /FDNqYokCXsf3pTobiGDRrbWJon2PuE9CK1jGjLI8CSJWRWtS0RFthHfw0KrMq0/oeSV 1YZU3So82R9au9DkYa/LhuDMHSLmnbvVw6oN0= Date: Tue, 8 Mar 2011 10:24:09 +0200 From: Alexey Dobriyan To: Dave Young Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org Subject: Re: + sysctl-add-proc_dointvec_unsigned-handler.patch added to -mm tree Message-ID: <20110308082409.GA4913@p183.telecom.by> References: <201103072305.p27N5hKT000474@imap1.linux-foundation.org> <20110307232655.GA7234@p183.telecom.by> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1724 Lines: 52 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, } -- 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/