Messages in this thread | | | Date | Thu, 14 May 2015 15:01:54 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] kernel/printk/printk.c: check_syslog_permissions() cleanup |
| |
On Sun, 10 May 2015 09:35:53 +0300 Vasily Averin <vvs@odin.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. > > ... >
| |