Re: [PATCH] sysctl: fix restrict write access to dmesg_restrict

From: Kees Cook
Date: Sat Mar 31 2012 - 22:10:13 EST


Actually, proc_dmesg_restrict is just a CAP_SYSADMIN-checking wrapper
around proc_dointvec_minmax. Probably both dmesg_restrict and
kptr_restrict should use it.

On Fri, Mar 30, 2012 at 4:43 PM, Phillip Lougher <plougher@xxxxxxxxxx> wrote:
> Commit bfdc0b4 adds code to restrict access to dmesg_restrict,
> however, it incorrectly alters kptr_restrict rather than
> dmesg_restrict.
>
> The original patch from Richard Weinberger
> (https://lkml.org/lkml/2011/3/14/362) alters dmesg_restrict as
> expected, and so the patch seems to have been misapplied.
>
> Signed-off-by: Phillip Lougher <plougher@xxxxxxxxxx>
> ---
>  kernel/sysctl.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index f487f25..72a5302 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -713,7 +713,7 @@ static struct ctl_table kern_table[] = {
>                .data           = &dmesg_restrict,
>                .maxlen         = sizeof(int),
>                .mode           = 0644,
> -               .proc_handler   = proc_dointvec_minmax,
> +               .proc_handler   = proc_dmesg_restrict,
>                .extra1         = &zero,
>                .extra2         = &one,
>        },
> @@ -722,7 +722,7 @@ static struct ctl_table kern_table[] = {
>                .data           = &kptr_restrict,
>                .maxlen         = sizeof(int),
>                .mode           = 0644,
> -               .proc_handler   = proc_dmesg_restrict,
> +               .proc_handler   = proc_dointvec_minmax,
>                .extra1         = &zero,
>                .extra2         = &two,
>        },
> --
> 1.7.9.5
>



--
Kees Cook
ChromeOS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/