]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
time/jiffies: Fix sysctl file error on configurations where USER_HZ < HZ
authorGerd Rausch <gerd.rausch@oracle.com>
Wed, 25 Feb 2026 23:37:49 +0000 (15:37 -0800)
committerJoel Granados <joel.granados@kernel.org>
Wed, 4 Mar 2026 12:48:31 +0000 (13:48 +0100)
Commit 2dc164a48e6fd ("sysctl: Create converter functions with two new
macros") incorrectly returns error to user space when jiffies sysctl
converter is used. The old overflow check got replaced with an
unconditional one:
     +    if (USER_HZ < HZ)
     +        return -EINVAL;
which will always be true on configurations with "USER_HZ < HZ".

Remove the check; it is no longer needed as clock_t_to_jiffies() returns
ULONG_MAX for the overflow case and proc_int_u2k_conv_uop() checks for
"> INT_MAX" after conversion

Fixes: 2dc164a48e6fd ("sysctl: Create converter functions with two new macros")
Reported-by: Colm Harrington <colm.harrington@oracle.com>
Signed-off-by: Gerd Rausch <gerd.rausch@oracle.com>
Signed-off-by: Joel Granados <joel.granados@kernel.org>
kernel/time/jiffies.c

index a5c7d15fce72fd2c8c8a0e0b9e40901534152124..9daf8c5d96873be8ccb8eeda705dcec80a26854a 100644 (file)
@@ -256,8 +256,6 @@ EXPORT_SYMBOL(proc_dointvec_jiffies);
 int proc_dointvec_userhz_jiffies(const struct ctl_table *table, int dir,
                                 void *buffer, size_t *lenp, loff_t *ppos)
 {
-       if (SYSCTL_USER_TO_KERN(dir) && USER_HZ < HZ)
-               return -EINVAL;
        return proc_dointvec_conv(table, dir, buffer, lenp, ppos,
                                  do_proc_int_conv_userhz_jiffies);
 }