• D
    CRED: Fix __task_cred()'s lockdep check and banner comment · 8f92054e
    David Howells 提交于
    Fix __task_cred()'s lockdep check by removing the following validation
    condition:
    
    	lockdep_tasklist_lock_is_held()
    
    as commit_creds() does not take the tasklist_lock, and nor do most of the
    functions that call it, so this check is pointless and it can prevent
    detection of the RCU lock not being held if the tasklist_lock is held.
    
    Instead, add the following validation condition:
    
    	task->exit_state >= 0
    
    to permit the access if the target task is dead and therefore unable to change
    its own credentials.
    
    Fix __task_cred()'s comment to:
    
     (1) discard the bit that says that the caller must prevent the target task
         from being deleted.  That shouldn't need saying.
    
     (2) Add a comment indicating the result of __task_cred() should not be passed
         directly to get_cred(), but rather than get_task_cred() should be used
         instead.
    
    Also put a note into the documentation to enforce this point there too.
    Signed-off-by: NDavid Howells <dhowells@redhat.com>
    Acked-by: NJiri Olsa <jolsa@redhat.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    8f92054e
credentials.txt 20.4 KB