• E
    [PATCH] pid: make session_of_pgrp use struct pid instead of pid_t · 04a2e6a5
    Eric W. Biederman 提交于
    To properly implement a pid namespace I need to deal exclusively in terms of
    struct pid, because pid_t values become ambiguous.
    
    To this end session_of_pgrp is transformed to take and return a struct pid
    pointer.  To avoid the need to worry about reference counting I now require my
    caller to hold the appropriate locks.  Leaving callers repsonsible for
    increasing the reference count if they need access to the result outside of
    the locks.
    
    Since session_of_pgrp currently only has one caller and that caller simply
    uses only test the result for equality with another process group, the locking
    change means I don't actually have to acquire the tasklist_lock at all.
    
    tiocspgrp is also modified to take and release the lock.  The logic there is a
    little more complicated but nothing I won't need when I convert pgrp of a tty
    to a struct pid pointer.
    Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: Oleg Nesterov <oleg@tv-sign.ru>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    04a2e6a5
kernel.h 10.7 KB