syscalls/getxattr05: skip userns test cases when not supported
PATCH 1/1 syscalls/getxattr05: skip userns test cases when not supported
These test cases are failing when CONFIG_USER_NS is not defined.
--- testcases/kernel/syscalls/getxattr/getxattr05.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
testcases/kernel/syscalls/getxattr/getxattr05.c +11 -1
@@ -37,11 +37,13 @@ #if defined(HAVE_SYS_XATTR_H) && defined(HAVE_LIBACL) #define TEST_FILE "testfile" +#define SELF_USERNS "/proc/self/ns/user" #define MAX_USERNS "/proc/sys/user/max_user_namespaces" #define UID_MAP "/proc/self/uid_map" static acl_t acl; static int orig_max_userns = -1; +static int user_ns_supported = 1; static struct tcase { /* 0: without userns, 1: with userns */
@@ -110,6 +112,11 @@ static void do_getxattr(unsigned int n)struct tcase *tc = &tcases[n];pid_t pid; +if (tc->set_userns && !user_ns_supported) { +tst_res (TCONF ,"user namespace not available" ); +return ; + } + pid =SAFE_FORK ();if (!pid) {if (tc->set_userns)
@@ -144,10 +151,13 @@ static void setup(void)/* The default value of max_user_namespaces is set to 0 on some distros, * We need to change the default value to call unshare(). */ -if (!access (MAX_USERNS ,F_OK )) { +if (access (SELF_USERNS ,F_OK ) !=0 ) { + user_ns_supported =0 ; + }else if (!access (MAX_USERNS ,F_OK )) {SAFE_FILE_SCANF (MAX_USERNS ,"%d" , &orig_max_userns);SAFE_FILE_PRINTF (MAX_USERNS ,"%d" ,10 ); } + }static void cleanup (void )
Signature · 1 line
2.17.1
PATCH 1/1 syscalls/getxattr05: skip userns test cases when not supported
Hi!
Pushed, thanks.
Signature · 2 lines
Cyril Hrubis [email protected]
PATCH 1/1 syscalls/getxattr05: skip userns test cases when not supported
Quoted 3 lines · Cyril Hrubis
Hi!
Pushed, thanks.
FYI, some more false positive failures I ran into.
I've put them in my skip list, if somebody has time to fix them...
ioctl_ns04 and ioctl_ns06 also fail when CONFIG_USER_NS is not defined:
ioctl_ns04.c:24: CONF: namespace not available safe_macros.c:225: BROK: ioctl_ns04.c:31:open(/proc/self/ns/user,0,034641644410) failed: ENOENT
oom03 and oom05 fail when CONFIG_MEMCG is not defined:
mem.c:757: BROK: mount /dev/cgroup: ENOENT
And also does not cleanup /dev/cgroup afterwards, so error them becomes:
safe_macros.c:169: BROK: mem.c:747: mkdir(/dev/cgroup,0777) failed: EEXIST
Thanks,
Amir.