• Swarup Laxman Kotiaklapudi's avatar
    selftests: capabilities: namespace create varies for root and normal user · 49360d97
    Swarup Laxman Kotiaklapudi authored
    This patchset fixes TODO:
    "If we're already root, we could skip creating the userns."
    
    Change namespace creation for root and non-root
    user differently in create_and_enter_ns() function
    in this file:
    tools/testing/selftests/capabilities/test_execve.c
    
    Test result with root user:
    $sudo make  TARGETS="capabilities" kselftest
     ...
     TAP version 13
     1..1
     timeout set to 45
     selftests: capabilities: test_execve
     TAP version 13
     1..12
     [RUN]       +++ Tests with uid == 0 +++
     [NOTE]      Using global UIDs for tests
     [RUN]       Root => ep
     ...
     ok 12 Passed
     Totals: pass:12 fail:0 xfail:0 xpass:0 skip:0 error:0
     ==================================================
     TAP version 13
     1..9
     [RUN]       +++ Tests with uid != 0 +++
     [NOTE]      Using global UIDs for tests
     [RUN]       Non-root => no caps
     ...
     ok 9 Passed
     Totals: pass:9 fail:0 xfail:0 xpass:0 skip:0 error:0
    
    Test result without root or normal user:
    $make  TARGETS="capabilities" kselftest
     ...
     timeout set to 45
     selftests: capabilities: test_execve
     TAP version 13
     1..12
     [RUN]       +++ Tests with uid == 0 +++
     [NOTE]      Using a user namespace for tests
     [RUN]       Root => ep
     validate_cap:: Capabilities after execve were correct
     ok 1 Passed
     Check cap_ambient manipulation rules
     ok 2 PR_CAP_AMBIENT_RAISE failed on non-inheritable cap
     ok 3 PR_CAP_AMBIENT_RAISE failed on non-permitted cap
     ok 4 PR_CAP_AMBIENT_RAISE worked
     ok 5 Basic manipulation appears to work
     [RUN]       Root +i => eip
     validate_cap:: Capabilities after execve were correct
     ok 6 Passed
     [RUN]       UID 0 +ia => eipa
     validate_cap:: Capabilities after execve were correct
     ok 7 Passed
     ok 8 # SKIP SUID/SGID tests (needs privilege)
     Planned tests != run tests (12 != 8)
     Totals: pass:7 fail:0 xfail:0 xpass:0 skip:1 error:0
     ==================================================
     TAP version 13
     1..9
     [RUN]       +++ Tests with uid != 0 +++
     [NOTE]      Using a user namespace for tests
     [RUN]       Non-root => no caps
     validate_cap:: Capabilities after execve were correct
     ok 1 Passed
     Check cap_ambient manipulation rules
     ok 2 PR_CAP_AMBIENT_RAISE failed on non-inheritable cap
     ok 3 PR_CAP_AMBIENT_RAISE failed on non-permitted cap
     ok 4 PR_CAP_AMBIENT_RAISE worked
     ok 5 Basic manipulation appears to work
     [RUN]       Non-root +i => i
     validate_cap:: Capabilities after execve were correct
     ok 6 Passed
     [RUN]       UID 1 +ia => eipa
     validate_cap:: Capabilities after execve were correct
     ok 7 Passed
     ok 8 # SKIP SUID/SGID tests (needs privilege)
     Planned tests != run tests (9 != 8)
     Totals: pass:7 fail:0 xfail:0 xpass:0 skip:1 error:0
    Signed-off-by: default avatarSwarup Laxman Kotiaklapudi <swarupkotikalapudi@gmail.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    49360d97
test_execve.c 12.7 KB