Skip to content
  • David Howells's avatar
    CRED: Fix __task_cred()'s lockdep check and banner comment · 8f92054e
    David Howells authored
    
    
    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: default avatarDavid Howells <dhowells@redhat.com>
    Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8f92054e