]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
timer/sysclt: Restrict timer migration sysctl values to 0 and 1
authorMyungho Jung <mhjungk@gmail.com>
Wed, 19 Apr 2017 22:24:50 +0000 (15:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Oct 2017 07:41:47 +0000 (09:41 +0200)
commit b94bf594cf8ed67cdd0439e70fa939783471597a upstream.

timer_migration sysctl acts as a boolean switch, so the allowed values
should be restricted to 0 and 1.

Add the necessary extra fields to the sysctl table entry to enforce that.

[ tglx: Rewrote changelog ]

Signed-off-by: Myungho Jung <mhjungk@gmail.com>
Link: http://lkml.kernel.org/r/1492640690-3550-1-git-send-email-mhjungk@gmail.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kazuhiro Hayashi <kazuhiro3.hayashi@toshiba.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/sysctl.c
kernel/time/timer.c

index 002ec084124bb5fd7b4a98b01db67b180b493595..17c59e78661b4baf1ddd87fde045809f81c81955 100644 (file)
@@ -1159,6 +1159,8 @@ static struct ctl_table kern_table[] = {
                .maxlen         = sizeof(unsigned int),
                .mode           = 0644,
                .proc_handler   = timer_migration_handler,
+               .extra1         = &zero,
+               .extra2         = &one,
        },
 #endif
 #ifdef CONFIG_BPF_SYSCALL
index bbc5d1114583b21f1ab489cd40a98f3aa5ebd61d..125407144c014d5ea2b0bc4a53d6f9d02de744c5 100644 (file)
@@ -127,7 +127,7 @@ int timer_migration_handler(struct ctl_table *table, int write,
        int ret;
 
        mutex_lock(&mutex);
-       ret = proc_dointvec(table, write, buffer, lenp, ppos);
+       ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos);
        if (!ret && write)
                timers_update_migration(false);
        mutex_unlock(&mutex);