On Mon, Apr 8, 2019 at 5:09 PM Matteo Croce <mcroce@xxxxxxxxxx> wrote: > > Use the shared variables for range check, instead of declaring a local one > in every source file. > > Signed-off-by: Matteo Croce <mcroce@xxxxxxxxxx> > --- > kernel/pid_namespace.c | 3 +- > kernel/sysctl.c | 193 ++++++++++++++++++++--------------------- > kernel/ucount.c | 6 +- > 3 files changed, 98 insertions(+), 104 deletions(-) > > diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c > index aa6e72fb7c08..ddbb51bc4968 100644 > --- a/kernel/pid_namespace.c > +++ b/kernel/pid_namespace.c > @@ -290,14 +290,13 @@ static int pid_ns_ctl_handler(struct ctl_table *table, int write, > } > > extern int pid_max; > -static int zero = 0; > static struct ctl_table pid_ns_ctl_table[] = { > { > .procname = "ns_last_pid", > .maxlen = sizeof(int), > .mode = 0666, /* permissions are checked in the handler */ > .proc_handler = pid_ns_ctl_handler, > - .extra1 = &zero, > + .extra1 = (void *)&sysctl_zero, BTW, I don't think these (void *) casts are actually needed. I thought extra1/2 were already void * so assignments don't need the casting. -- Kees Cook