On Tue, Apr 16, 2019 at 10:21 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > 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. Nevermind, I see akpm already mentioned this, and I see it's the "const" removal now. -- Kees Cook