
From: Chris Wright <chris@wirex.com>

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,

_
