30 Jul, 2010

1 commit

  • 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: David Howells
    Acked-by: Jiri Olsa
    Cc: Paul E. McKenney
    Signed-off-by: Linus Torvalds

    David Howells
     

27 Apr, 2010

1 commit


14 Nov, 2008

1 commit