sysctl: fix proc_doulongvec_ms_jiffies_minmax()
authorEric Dumazet <edumazet@google.com>
Thu, 26 Jan 2017 02:20:55 +0000 (18:20 -0800)
committerWilly Tarreau <w@1wt.eu>
Tue, 20 Jun 2017 12:04:15 +0000 (14:04 +0200)
commit ff9f8a7cf935468a94d9927c68b00daae701667e upstream.

We perform the conversion between kernel jiffies and ms only when
exporting kernel value to user space.

We need to do the opposite operation when value is written by user.

Only matters when HZ != 1000

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
kernel/sysctl.c

index 4fd49fe1046df606488eb806468a67c767ce840e..430725da89d07524f8ab34e5717a1bedbb123e83 100644 (file)
@@ -2224,6 +2224,7 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int
                                break;
                        if (neg)
                                continue;
+                       val = convmul * val / convdiv;
                        if ((min && val < *min) || (max && val > *max))
                                continue;
                        *i = val;