[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150514150154.dbfb8ab275aa30d0fe93172b@linux-foundation.org>
Date: Thu, 14 May 2015 15:01:54 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Vasily Averin <vvs@...n.com>
Cc: linux-kernel@...r.kernel.org, Kees Cook <keescook@...omium.org>,
Josh Boyer <jwboyer@...hat.com>, Eric Paris <eparis@...hat.com>
Subject: Re: [PATCH] kernel/printk/printk.c: check_syslog_permissions()
cleanup
On Sun, 10 May 2015 09:35:53 +0300 Vasily Averin <vvs@...n.com> wrote:
> Fixes: 637241a900cb ("kmsg: honor dmesg_restrict sysctl on /dev/kmsg")
>
> Final version of patch 637241a900cb ("kmsg: honor dmesg_restrict sysctl
> on /dev/kmsg") lost few hooks. As result security_syslog() is not checked
> inside check_syslog_permissions() if dmesg_restrict is set,
> or it can be called twice in do_syslog().
I'm not seeing how security_syslog() is called twice from do_syslog().
Put more details in the changelog, please.
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -484,11 +484,11 @@ int check_syslog_permissions(int type, bool from_file)
> * already done the capabilities checks at open time.
> */
> if (from_file && type != SYSLOG_ACTION_OPEN)
> - return 0;
> + goto ok;
This seems wrong - we should only call security_syslog() for opens?
> if (syslog_action_restricted(type)) {
> if (capable(CAP_SYSLOG))
> - return 0;
> + goto ok;
> /*
> * For historical reasons, accept CAP_SYS_ADMIN too, with
> * a warning.
>
> ...
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists