From: Chris Wright Remove task_kmod_set_label hook, it is no longer necessary. kmod is now handled by keventd which already does reparent_to_init, so there is no need to worry about getting the security labels right for code running off the keventd workqueue. include/linux/security.h | 16 ---------------- security/capability.c | 8 -------- security/dummy.c | 6 ------ security/root_plug.c | 1 - 4 files changed, 31 deletions(-) diff -puN include/linux/security.h~lsm-2-remove-hook include/linux/security.h --- 25/include/linux/security.h~lsm-2-remove-hook 2003-06-13 00:54:05.000000000 -0700 +++ 25-akpm/include/linux/security.h 2003-06-13 00:54:05.000000000 -0700 @@ -46,7 +46,6 @@ extern void cap_capset_set (struct task_ extern int cap_bprm_set_security (struct linux_binprm *bprm); extern void cap_bprm_compute_creds (struct linux_binprm *bprm); extern int cap_task_post_setuid (uid_t old_ruid, uid_t old_euid, uid_t old_suid, int flags); -extern void cap_task_kmod_set_label (void); extern void cap_task_reparent_to_init (struct task_struct *p); extern int cap_syslog (int type); @@ -607,10 +606,6 @@ struct swap_info_struct; * @arg4 contains a argument. * @arg5 contains a argument. * Return 0 if permission is granted. - * @task_kmod_set_label: - * Set the security attributes in current->security for the kernel module - * loader thread, so that it has the permissions needed to perform its - * function. * @task_reparent_to_init: * Set the security attributes in @p->security for a kernel thread that * is being reparented to the init task. @@ -1111,7 +1106,6 @@ struct security_operations { int (*task_prctl) (int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5); - void (*task_kmod_set_label) (void); void (*task_reparent_to_init) (struct task_struct * p); void (*task_to_inode)(struct task_struct *p, struct inode *inode); @@ -1692,11 +1686,6 @@ static inline int security_task_prctl (i return security_ops->task_prctl (option, arg2, arg3, arg4, arg5); } -static inline void security_task_kmod_set_label (void) -{ - security_ops->task_kmod_set_label (); -} - static inline void security_task_reparent_to_init (struct task_struct *p) { security_ops->task_reparent_to_init (p); @@ -2321,11 +2310,6 @@ static inline int security_task_prctl (i return 0; } -static inline void security_task_kmod_set_label (void) -{ - cap_task_kmod_set_label (); -} - static inline void security_task_reparent_to_init (struct task_struct *p) { cap_task_reparent_to_init (p); diff -puN security/capability.c~lsm-2-remove-hook security/capability.c --- 25/security/capability.c~lsm-2-remove-hook 2003-06-13 00:54:05.000000000 -0700 +++ 25-akpm/security/capability.c 2003-06-13 00:54:05.000000000 -0700 @@ -248,12 +248,6 @@ int cap_task_post_setuid (uid_t old_ruid return 0; } -void cap_task_kmod_set_label (void) -{ - cap_set_full (current->cap_effective); - return; -} - void cap_task_reparent_to_init (struct task_struct *p) { p->cap_effective = CAP_INIT_EFF_SET; @@ -278,7 +272,6 @@ EXPORT_SYMBOL(cap_capset_set); EXPORT_SYMBOL(cap_bprm_set_security); EXPORT_SYMBOL(cap_bprm_compute_creds); EXPORT_SYMBOL(cap_task_post_setuid); -EXPORT_SYMBOL(cap_task_kmod_set_label); EXPORT_SYMBOL(cap_task_reparent_to_init); EXPORT_SYMBOL(cap_syslog); @@ -298,7 +291,6 @@ static struct security_operations capabi .bprm_set_security = cap_bprm_set_security, .task_post_setuid = cap_task_post_setuid, - .task_kmod_set_label = cap_task_kmod_set_label, .task_reparent_to_init = cap_task_reparent_to_init, .syslog = cap_syslog, diff -puN security/dummy.c~lsm-2-remove-hook security/dummy.c --- 25/security/dummy.c~lsm-2-remove-hook 2003-06-13 00:54:05.000000000 -0700 +++ 25-akpm/security/dummy.c 2003-06-13 00:54:05.000000000 -0700 @@ -517,11 +517,6 @@ static int dummy_task_prctl (int option, return 0; } -static void dummy_task_kmod_set_label (void) -{ - return; -} - static void dummy_task_reparent_to_init (struct task_struct *p) { p->euid = p->fsuid = 0; @@ -871,7 +866,6 @@ void security_fixup_ops (struct security set_to_dummy_if_null(ops, task_wait); set_to_dummy_if_null(ops, task_kill); set_to_dummy_if_null(ops, task_prctl); - set_to_dummy_if_null(ops, task_kmod_set_label); set_to_dummy_if_null(ops, task_reparent_to_init); set_to_dummy_if_null(ops, task_to_inode); set_to_dummy_if_null(ops, ipc_permission); diff -puN security/root_plug.c~lsm-2-remove-hook security/root_plug.c --- 25/security/root_plug.c~lsm-2-remove-hook 2003-06-13 00:54:05.000000000 -0700 +++ 25-akpm/security/root_plug.c 2003-06-13 00:54:05.000000000 -0700 @@ -94,7 +94,6 @@ static struct security_operations rootpl .bprm_set_security = cap_bprm_set_security, .task_post_setuid = cap_task_post_setuid, - .task_kmod_set_label = cap_task_kmod_set_label, .task_reparent_to_init = cap_task_reparent_to_init, .bprm_check_security = rootplug_bprm_check_security, _