Add the shared variable SYSCTL_NEG_ONE to replace the variable neg_one
used in both sysctl_writes_strict and hung_task_warnings.

Signed-off-by: Xiaoming Ni <nixiaom...@huawei.com>
---
 fs/proc/proc_sysctl.c     | 2 +-
 include/linux/sysctl.h    | 1 +
 kernel/hung_task_sysctl.c | 3 +--
 kernel/sysctl.c           | 3 +--
 4 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c
index b6f5d45..acae1fa 100644
--- a/fs/proc/proc_sysctl.c
+++ b/fs/proc/proc_sysctl.c
@@ -23,7 +23,7 @@
 static const struct inode_operations proc_sys_dir_operations;
 
 /* shared constants to be used in various sysctls */
-const int sysctl_vals[] = { 0, 1, INT_MAX };
+const int sysctl_vals[] = { 0, 1, INT_MAX, -1 };
 EXPORT_SYMBOL(sysctl_vals);
 
 /* Support for permanently empty directories */
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 02fa844..6d741d6 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -41,6 +41,7 @@
 #define SYSCTL_ZERO    ((void *)&sysctl_vals[0])
 #define SYSCTL_ONE     ((void *)&sysctl_vals[1])
 #define SYSCTL_INT_MAX ((void *)&sysctl_vals[2])
+#define SYSCTL_NEG_ONE ((void *)&sysctl_vals[3])
 
 extern const int sysctl_vals[];
 
diff --git a/kernel/hung_task_sysctl.c b/kernel/hung_task_sysctl.c
index 5b10d4e..62a51f5 100644
--- a/kernel/hung_task_sysctl.c
+++ b/kernel/hung_task_sysctl.c
@@ -14,7 +14,6 @@
  * and hung_task_check_interval_secs
  */
 static unsigned long hung_task_timeout_max = (LONG_MAX / HZ);
-static int neg_one = -1;
 static struct ctl_table hung_task_sysctls[] = {
        {
                .procname       = "hung_task_panic",
@@ -55,7 +54,7 @@
                .maxlen         = sizeof(int),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_minmax,
-               .extra1         = &neg_one,
+               .extra1         = SYSCTL_NEG_ONE,
        },
        {}
 };
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 20adae0..01fc559 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -124,7 +124,6 @@
 static int sixty = 60;
 #endif
 
-static int __maybe_unused neg_one = -1;
 static int __maybe_unused two = 2;
 static int __maybe_unused four = 4;
 static unsigned long zero_ul;
@@ -540,7 +539,7 @@ static int sysrq_sysctl_handler(struct ctl_table *table, 
int write,
                .maxlen         = sizeof(int),
                .mode           = 0644,
                .proc_handler   = proc_dointvec_minmax,
-               .extra1         = &neg_one,
+               .extra1         = SYSCTL_NEG_ONE,
                .extra2         = SYSCTL_ONE,
        },
 #endif
-- 
1.8.5.6

Reply via email to