diff options
Diffstat (limited to 'security/yama/yama_lsm.c')
-rw-r--r-- | security/yama/yama_lsm.c | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/security/yama/yama_lsm.c b/security/yama/yama_lsm.c index 50c72221d13..8694b0e3f8e 100644 --- a/security/yama/yama_lsm.c +++ b/security/yama/yama_lsm.c @@ -105,7 +105,7 @@ static void yama_ptracer_del(struct task_struct *tracer, * yama_task_free - check for task_pid to remove from exception list * @task: task being removed */ -static void yama_task_free(struct task_struct *task) +void yama_task_free(struct task_struct *task) { yama_ptracer_del(task, task); } @@ -121,7 +121,7 @@ static void yama_task_free(struct task_struct *task) * Return 0 on success, -ve on error. -ENOSYS is returned when Yama * does not handle the given option. */ -static int yama_task_prctl(int option, unsigned long arg2, unsigned long arg3, +int yama_task_prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5) { int rc; @@ -248,7 +248,7 @@ static int ptracer_exception_found(struct task_struct *tracer, * * Returns 0 if following the ptrace is allowed, -ve on error. */ -static int yama_ptrace_access_check(struct task_struct *child, +int yama_ptrace_access_check(struct task_struct *child, unsigned int mode) { int rc; @@ -311,7 +311,7 @@ static int yama_ptrace_access_check(struct task_struct *child, * * Returns 0 if following the symlink is allowed, -ve on error. */ -static int yama_inode_follow_link(struct dentry *dentry, +int yama_inode_follow_link(struct dentry *dentry, struct nameidata *nameidata) { int rc = 0; @@ -381,7 +381,7 @@ static int yama_generic_permission(struct inode *inode, int mask) * * Returns 0 if successful, -ve on error. */ -static int yama_path_link(struct dentry *old_dentry, struct path *new_dir, +int yama_path_link(struct dentry *old_dentry, struct path *new_dir, struct dentry *new_dentry) { int rc = 0; @@ -408,16 +408,6 @@ static int yama_path_link(struct dentry *old_dentry, struct path *new_dir, return rc; } -static struct security_operations yama_ops = { - .name = "yama", - - .ptrace_access_check = yama_ptrace_access_check, - .inode_follow_link = yama_inode_follow_link, - .path_link = yama_path_link, - .task_prctl = yama_task_prctl, - .task_free = yama_task_free, -}; - #ifdef CONFIG_SYSCTL static int yama_dointvec_minmax(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) @@ -481,14 +471,8 @@ static struct ctl_table yama_sysctl_table[] = { static __init int yama_init(void) { - if (!security_module_enable(&yama_ops)) - return 0; - printk(KERN_INFO "Yama: becoming mindful.\n"); - if (register_security(&yama_ops)) - panic("Yama: kernel registration failed.\n"); - #ifdef CONFIG_SYSCTL if (!register_sysctl_paths(yama_sysctl_path, yama_sysctl_table)) panic("Yama: sysctl registration failed.\n"); |