[PATCH] sysctl : proc_dointvec_minmax() expects int values formin/max guard values

From: Eric Dumazet
Date: Wed Dec 12 2007 - 05:22:53 EST


min_sched_granularity_ns, max_sched_granularity_ns, min_wakeup_granularity_ns
and max_wakeup_granularity_ns are declared "unsigned long".

This is incorrect since proc_dointvec_minmax() expects plain "int" guard values.

This bug only triggers on big endian 64 bit arches.

Signed-off-by: Eric Dumazet <dada1@xxxxxxxxxxxxx>

diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 8ac5171..707a26b 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -225,10 +225,10 @@ static struct ctl_table root_table[] = {
};

#ifdef CONFIG_SCHED_DEBUG
-static unsigned long min_sched_granularity_ns = 100000; /* 100 usecs */
-static unsigned long max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */
-static unsigned long min_wakeup_granularity_ns; /* 0 usecs */
-static unsigned long max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */
+static int min_sched_granularity_ns = 100000; /* 100 usecs */
+static int max_sched_granularity_ns = NSEC_PER_SEC; /* 1 second */
+static int min_wakeup_granularity_ns; /* 0 usecs */
+static int max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 second */
#endif

static struct ctl_table kern_table[] = {
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/