diff options
author | David Howells <dhowells@redhat.com> | 2008-11-13 18:39:22 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2008-11-13 18:39:22 -0500 |
commit | 745ca2475a6ac596e3d8d37c2759c0fbe2586227 (patch) | |
tree | f87c34bdfbc8542477b16a014bbb4e3b415b286a /include/linux/security.h | |
parent | 88e67f3b8898c5ea81d2916dd5b8bc9c0c35ba13 (diff) |
CRED: Pass credentials through dentry_open()
Pass credentials through dentry_open() so that the COW creds patch can have
SELinux's flush_unauthorized_files() pass the appropriate creds back to itself
when it opens its null chardev.
The security_dentry_open() call also now takes a creds pointer, as does the
dentry_open hook in struct security_operations.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'include/linux/security.h')
-rw-r--r-- | include/linux/security.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 9239cc11eb9c..7e9fe046a0d1 100644 --- a/include/linux/security.h +++ b/include/linux/security.h | |||
@@ -1402,7 +1402,7 @@ struct security_operations { | |||
1402 | int (*file_send_sigiotask) (struct task_struct *tsk, | 1402 | int (*file_send_sigiotask) (struct task_struct *tsk, |
1403 | struct fown_struct *fown, int sig); | 1403 | struct fown_struct *fown, int sig); |
1404 | int (*file_receive) (struct file *file); | 1404 | int (*file_receive) (struct file *file); |
1405 | int (*dentry_open) (struct file *file); | 1405 | int (*dentry_open) (struct file *file, const struct cred *cred); |
1406 | 1406 | ||
1407 | int (*task_create) (unsigned long clone_flags); | 1407 | int (*task_create) (unsigned long clone_flags); |
1408 | int (*cred_alloc_security) (struct cred *cred); | 1408 | int (*cred_alloc_security) (struct cred *cred); |
@@ -1658,7 +1658,7 @@ int security_file_set_fowner(struct file *file); | |||
1658 | int security_file_send_sigiotask(struct task_struct *tsk, | 1658 | int security_file_send_sigiotask(struct task_struct *tsk, |
1659 | struct fown_struct *fown, int sig); | 1659 | struct fown_struct *fown, int sig); |
1660 | int security_file_receive(struct file *file); | 1660 | int security_file_receive(struct file *file); |
1661 | int security_dentry_open(struct file *file); | 1661 | int security_dentry_open(struct file *file, const struct cred *cred); |
1662 | int security_task_create(unsigned long clone_flags); | 1662 | int security_task_create(unsigned long clone_flags); |
1663 | int security_cred_alloc(struct cred *cred); | 1663 | int security_cred_alloc(struct cred *cred); |
1664 | void security_cred_free(struct cred *cred); | 1664 | void security_cred_free(struct cred *cred); |
@@ -2171,7 +2171,8 @@ static inline int security_file_receive(struct file *file) | |||
2171 | return 0; | 2171 | return 0; |
2172 | } | 2172 | } |
2173 | 2173 | ||
2174 | static inline int security_dentry_open(struct file *file) | 2174 | static inline int security_dentry_open(struct file *file, |
2175 | const struct cred *cred) | ||
2175 | { | 2176 | { |
2176 | return 0; | 2177 | return 0; |
2177 | } | 2178 | } |