diff options
author | Kees Cook <kees.cook@canonical.com> | 2010-02-03 18:36:43 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2010-02-03 22:20:12 -0500 |
commit | 002345925e6c45861f60db6f4fc6236713fd8847 (patch) | |
tree | d7849eafe1755116597166bbebf43e2bee86cb76 /security/smack | |
parent | 0719aaf5ead7555b7b7a4a080ebf2826a871384e (diff) |
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>
Diffstat (limited to 'security/smack')
-rw-r--r-- | security/smack/smack_lsm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 529c9ca65878..a5721b373f53 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c | |||
@@ -157,12 +157,12 @@ static int smack_ptrace_traceme(struct task_struct *ptp) | |||
157 | * | 157 | * |
158 | * Returns 0 on success, error code otherwise. | 158 | * Returns 0 on success, error code otherwise. |
159 | */ | 159 | */ |
160 | static int smack_syslog(int type) | 160 | static int smack_syslog(int type, bool from_file) |
161 | { | 161 | { |
162 | int rc; | 162 | int rc; |
163 | char *sp = current_security(); | 163 | char *sp = current_security(); |
164 | 164 | ||
165 | rc = cap_syslog(type); | 165 | rc = cap_syslog(type, from_file); |
166 | if (rc != 0) | 166 | if (rc != 0) |
167 | return rc; | 167 | return rc; |
168 | 168 | ||