syslog: distinguish between /proc/kmsg and syscalls
authorKees Cook <kees.cook@canonical.com>
Wed, 3 Feb 2010 23:36:43 +0000 (15:36 -0800)
committerJames Morris <jmorris@namei.org>
Thu, 4 Feb 2010 03:20:12 +0000 (14:20 +1100)
commit002345925e6c45861f60db6f4fc6236713fd8847
treed7849eafe1755116597166bbebf43e2bee86cb76
parent0719aaf5ead7555b7b7a4a080ebf2826a871384e
syslog: distinguish between /proc/kmsg and syscalls

This allows the LSM to distinguish between syslog functions originating
from /proc/kmsg access and direct syscalls.  By default, the commoncaps
will now no longer require CAP_SYS_ADMIN to read an opened /proc/kmsg
file descriptor.  For example the kernel syslog reader can now drop
privileges after opening /proc/kmsg, instead of staying privileged with
CAP_SYS_ADMIN.  MAC systems that implement security_syslog have unchanged
behavior.

Signed-off-by: Kees Cook <kees.cook@canonical.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: John Johansen <john.johansen@canonical.com>
Signed-off-by: James Morris <jmorris@namei.org>
fs/proc/kmsg.c
include/linux/security.h
include/linux/syslog.h [new file with mode: 0644]
kernel/printk.c
security/commoncap.c
security/security.c
security/selinux/hooks.c
security/smack/smack_lsm.c