]> Pileus Git - ~andy/linux/blobdiff - security/selinux/hooks.c
selinux: selinux_setprocattr()->ptrace_parent() needs rcu_read_lock()
[~andy/linux] / security / selinux / hooks.c
index 5db26468b5c392d3e90f1564287dc0e1cebeef3b..6625699f497c7f3889f7b82b325a315c9e51774a 100644 (file)
@@ -5588,11 +5588,11 @@ static int selinux_setprocattr(struct task_struct *p,
                /* Check for ptracing, and update the task SID if ok.
                   Otherwise, leave SID unchanged and fail. */
                ptsid = 0;
-               task_lock(p);
+               rcu_read_lock();
                tracer = ptrace_parent(p);
                if (tracer)
                        ptsid = task_sid(tracer);
-               task_unlock(p);
+               rcu_read_unlock();
 
                if (tracer) {
                        error = avc_has_perm(ptsid, sid, SECCLASS_PROCESS,