• J
    [PATCH] unshare system call -v5: system call handler function · cf2e340f
    JANAK DESAI 提交于
    sys_unshare system call handler function accepts the same flags as clone
    system call, checks constraints on each of the flags and invokes corresponding
    unshare functions to disassociate respective process context if it was being
    shared with another task.
    
    Here is the link to a program for testing unshare system call.
    
    http://prdownloads.sourceforge.net/audit/unshare_test.c?download
    
    Please note that because of a problem in rmdir associated with bind mounts and
    clone with CLONE_NEWNS, the test fails while trying to remove temporary test
    directory.  You can remove that temporary directory by doing rmdir, twice,
    from the command line.  The first will fail with EBUSY, but the second will
    succeed.  I have reported the problem to Ram Pai and Al Viro with a small
    program which reproduces the problem.  Al told us yesterday that he will be
    looking at the problem soon.  I have tried multiple rmdirs from the
    unshare_test program itself, but for some reason that is not working.  Doing
    two rmdirs from command line does seem to remove the directory.
    Signed-off-by: NJanak Desai <janak@us.ibm.com>
    Cc: Al Viro <viro@ftp.linux.org.uk>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Michael Kerrisk <mtk-manpages@gmx.net>
    Cc: Andi Kleen <ak@muc.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Signed-off-by: NAndrew Morton <akpm@osdl.org>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    cf2e340f
fork.c 37.7 KB