[RFC][PATCH] Restore LSM hook calls to setpriority and setpgid

From: Stephen D. Smalley (sdsat_private)
Date: Tue Jan 14 2003 - 13:44:51 PST

  • Next message: Russell Coker: "Get your proposals in on time?"

    This patch restores the LSM hook calls in setpriority and setpgid to
    2.5.58.  These hooks were previously added as of 2.5.27, but the hook
    calls were subsequently lost as a result of other changes to the code
    as of 2.5.37.
    
    If anyone has any objections to these changes, please let me know.
    
     sys.c |   21 ++++++++++++++++-----
     1 files changed, 16 insertions(+), 5 deletions(-)
    -----
    
    ===== kernel/sys.c 1.38 vs edited =====
    --- 1.38/kernel/sys.c	Thu Dec  5 21:56:43 2002
    +++ edited/kernel/sys.c	Tue Jan 14 16:02:15 2003
    @@ -212,18 +212,25 @@
     
     static int set_one_prio(struct task_struct *p, int niceval, int error)
     {
    +	int no_nice;
    +
     	if (p->uid != current->euid &&
     		p->uid != current->uid && !capable(CAP_SYS_NICE)) {
     		error = -EPERM;
     		goto out;
     	}
    -
    +	if (niceval < task_nice(p) && !capable(CAP_SYS_NICE)) {
    +		error = -EACCES;
    +		goto out;
    +	}
    +	no_nice = security_task_setnice(p, niceval);
    +	if (no_nice) {
    +		error = no_nice;
    +		goto out;
    +	}
     	if (error == -ESRCH)
     		error = 0;
    -	if (niceval < task_nice(p) && !capable(CAP_SYS_NICE))
    -		error = -EACCES;
    -	else
    -		set_user_nice(p, niceval);
    +	set_user_nice(p, niceval);
     out:
     	return error;
     }
    @@ -944,6 +951,10 @@
     	}
     
     ok_pgid:
    +	err = security_task_setpgid(p, pgid);
    +	if (err)
    +		goto out;
    +
     	if (p->pgrp != pgid) {
     		detach_pid(p, PIDTYPE_PGID);
     		p->pgrp = pgid;
    
    
    --
    Stephen Smalley, NSA
    sdsat_private
    
    _______________________________________________
    linux-security-module mailing list
    linux-security-moduleat_private
    http://mail.wirex.com/mailman/listinfo/linux-security-module
    



    This archive was generated by hypermail 2b30 : Tue Jan 14 2003 - 13:38:46 PST