lkml.org 
[lkml]   [2012]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2] fs: introduce pipe-only dump mode suid_dumpable=3
Kees Cook <keescook@chromium.org> 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, &param);
> + if (rc != -EINVAL)
> + return rc;
> +
> + min = 3;
> + max = 3;
> + rc = do_proc_dointvec(table, write, buffer, lenp, ppos,
> + do_proc_dointvec_minmax_conv, &param);
> + 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,


\
 
 \ /
  Last update: 2012-06-22 17:01    [W:0.062 / U:0.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site