On Thu, Mar 3, 2011 at 12:16 AM, Petr Holasek <pholasek@xxxxxxxxxx> wrote: > There were added boundaries of allowed input ranges for: dirty_expire_centisecs, > drop_caches, overcommit_memory, page-cluster and panic_on_oom. > > Signed-off-by: Petr Holasek <pholasek@xxxxxxxxxx> > --- > Âfs/drop_caches.c |  Â6 +++++- > Âkernel/sysctl.c Â|  17 +++++++++++++---- > Â2 files changed, 18 insertions(+), 5 deletions(-) > > diff --git a/fs/drop_caches.c b/fs/drop_caches.c > index 2195c21..8e61858 100644 > --- a/fs/drop_caches.c > +++ b/fs/drop_caches.c > @@ -45,7 +45,11 @@ static void drop_slab(void) > Âint drop_caches_sysctl_handler(ctl_table *table, int write, >    Âvoid __user *buffer, size_t *length, loff_t *ppos) > Â{ > -    proc_dointvec_minmax(table, write, buffer, length, ppos); > +    int ret; > + > +    ret = proc_dointvec_minmax(table, write, buffer, length, ppos); > +    if (ret) > +      return ret; s/space/tab, otherwise Acked-by: Dave Young <hidave.darkstar@xxxxxxxxx> >    Âif (write) { >        Âif (sysctl_drop_caches & 1) >            Âiterate_supers(drop_pagecache_sb, NULL); > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index 0f1bd83..e0a4d50 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -117,6 +117,7 @@ static int neg_one = -1; > Âstatic int zero; > Âstatic int __maybe_unused one = 1; > Âstatic int __maybe_unused two = 2; > +static int __maybe_unused three = 3; > Âstatic unsigned long one_ul = 1; > Âstatic int one_hundred = 100; > Â#ifdef CONFIG_PRINTK > @@ -978,14 +979,18 @@ static struct ctl_table vm_table[] = { >        Â.data      = &sysctl_overcommit_memory, >        Â.maxlen     = sizeof(sysctl_overcommit_memory), >        Â.mode      = 0644, > -        .proc_handler  = proc_dointvec, > +        .proc_handler  = proc_dointvec_minmax, > +        .extra1     = &zero, > +        .extra2     = &two, >    Â}, >    Â{ >        Â.procname    = "panic_on_oom", >        Â.data      = &sysctl_panic_on_oom, >        Â.maxlen     = sizeof(sysctl_panic_on_oom), >        Â.mode      = 0644, > -        .proc_handler  = proc_dointvec, > +        .proc_handler  = proc_dointvec_minmax, > +        .extra1     = &zero, > +        .extra2     = &two, >    Â}, >    Â{ >        Â.procname    = "oom_kill_allocating_task", > @@ -1013,7 +1018,8 @@ static struct ctl_table vm_table[] = { >        Â.data      = &page_cluster, >        Â.maxlen     = sizeof(int), >        Â.mode      = 0644, > -        .proc_handler  = proc_dointvec, > +        .proc_handler  = proc_dointvec_minmax, > +        .extra1     = &zero, >    Â}, >    Â{ >        Â.procname    = "dirty_background_ratio", > @@ -1061,7 +1067,8 @@ static struct ctl_table vm_table[] = { >        Â.data      = &dirty_expire_interval, >        Â.maxlen     = sizeof(dirty_expire_interval), >        Â.mode      = 0644, > -        .proc_handler  = proc_dointvec, > +        .proc_handler  = proc_dointvec_minmax, > +        .extra1     = &zero, >    Â}, >    Â{ >        Â.procname    = "nr_pdflush_threads", > @@ -1137,6 +1144,8 @@ static struct ctl_table vm_table[] = { >        Â.maxlen     = sizeof(int), >        Â.mode      = 0644, >        Â.proc_handler  = drop_caches_sysctl_handler, > +        .extra1     = &one, > +        .extra2     = &three, >    Â}, > Â#ifdef CONFIG_COMPACTION >    Â{ > -- > 1.7.1 > > -- Regards dave ÿô.nÇ·®+%˱é¥wÿº{.nÇ·¥{±ýþ)íèjg¬±¨¶Ýjÿ¾«þG«é¸¢·¦j:+v¨wèm¶ÿþø®w¥þ࣢·hâÿÙ