On Fri, May 15, 2020 at 12:33:42PM +0800, Xiaoming Ni wrote: > 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 <nixiaoming@xxxxxxxxxx> > --- > fs/proc/proc_sysctl.c | 2 +- > include/linux/sysctl.h | 1 + > kernel/hung_task_sysctl.c | 3 +-- > kernel/sysctl.c | 3 +-- How about doing this refactoring in advance of the extraction patch? > 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]) Nit: let's keep these value-ordered? i.e. -1, 0, 1, INT_MAX. -- Kees Cook