Kees Cook <keescook@xxxxxxxxxxxx> writes: > This patch introduces suid_dumpable=3 to allow privilege-changed processes > to be dumped only to a pipe handler (and not directly to disk). The value > of suid_dumpable=2 is now deprecated, and attempting to set this sysctl > value returns -EINVAL. Your patch descriptoin is wrong. Deprecate means something is encouraged not to be used not that the functionality is removed. I think what you are trying to say is that the value suid_dumpable=2 is now historic. Your implementation is absolutely gross. Reading the value from twice from user space?? Is an if statement that hard to code? Eric > +/* Allow only the integers 0, 1, and 3. */ > +static int proc_dointvec_suid_dumpable(struct ctl_table *table, int write, > + void __user *buffer, size_t *lenp, loff_t *ppos) > +{ > + int rc, min, max; > + struct do_proc_dointvec_minmax_conv_param param = { > + .min = &min, > + .max = &max, > + }; > + > + min = 0; > + max = 1; > + rc = do_proc_dointvec(table, write, buffer, lenp, ppos, > + do_proc_dointvec_minmax_conv, ¶m); > + if (rc != -EINVAL) > + return rc; > + > + min = 3; > + max = 3; > + rc = do_proc_dointvec(table, write, buffer, lenp, ppos, > + do_proc_dointvec_minmax_conv, ¶m); > + return rc; > +} > + > static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int write, > void __user *buffer, > size_t *lenp, loff_t *ppos, -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html