From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753371AbdIDHyB (ORCPT ); Mon, 4 Sep 2017 03:54:01 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:22944 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751949AbdIDHyA (ORCPT ); Mon, 4 Sep 2017 03:54:00 -0400 Subject: Re: [PATCH v2] sched: check user input value of sysctl_sched_time_avg To: Peter Zijlstra Cc: mingo@redhat.com, mcgrof@kernel.org, keescook@chromium.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, james.puthukattukaran@oracle.com, ethan.kernel@gmail.com References: <1504335452-31806-1-git-send-email-ethan.zhao@oracle.com> <20170904074931.oyhe4gz5jnhfmnw6@hirez.programming.kicks-ass.net> From: Ethan Zhao Organization: Oracle Corporation Message-ID: <759b1eb2-2d3d-89df-9ea0-38622f285284@oracle.com> Date: Mon, 4 Sep 2017 15:54:23 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170904074931.oyhe4gz5jnhfmnw6@hirez.programming.kicks-ass.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Peter, On 2017/9/4 15:49, Peter Zijlstra wrote: > On Sat, Sep 02, 2017 at 02:57:32PM +0800, Ethan Zhao wrote: >> diff --git a/kernel/sysctl.c b/kernel/sysctl.c >> index 6648fbb..609bed2 100644 >> --- a/kernel/sysctl.c >> +++ b/kernel/sysctl.c >> @@ -367,7 +367,7 @@ static int sysrq_sysctl_handler(struct ctl_table *table, int write, >> .data = &sysctl_sched_time_avg, >> .maxlen = sizeof(unsigned int), >> .mode = 0644, >> - .proc_handler = proc_dointvec, >> + .proc_handler = sched_time_avg_handler, > *sigh*, what's wrong with the below? Too easy?  :),  seems I walked zigzag several cycles to get the right point.  Thanks,  Ethan > > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index 6648fbbb8157..bbbc6a17c15e 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -367,7 +367,8 @@ static struct ctl_table kern_table[] = { > .data = &sysctl_sched_time_avg, > .maxlen = sizeof(unsigned int), > .mode = 0644, > - .proc_handler = proc_dointvec, > + .proc_handler = proc_dointvec_min_max, > + .extra1 = &one, > }, > #ifdef CONFIG_SCHEDSTATS > { > >