ltp: Fix containers/userns05 failure for lib32
Backport a patch to fix userns05 case: <<<test_output>>> user_namespace5 1 TFAIL : userns05.c:95: userns:parent should be not equal to cpid2 user_namespace5 1 TFAIL : userns05.c:95: userns:parent should be not equal to cpid2 user_namespace5 0 TINFO : Child process returned TPASS user_namespace5 0 TINFO : Child process returned TPASS user_namespace5 0 TINFO : Child process returned TFAIL incrementing stop Rename the previous patch to add a number prefix (From OE-Core rev: b96c5d18839cff345a3a2c4b952dd62aad119121) Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
4dfa203a65
commit
9872c3d2ae
|
@ -0,0 +1,60 @@
|
|||
From 3b63d350e9fe9e4271916cc0abfac65a5d6419ff Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Jaburek <jjaburek@redhat.com>
|
||||
Date: Tue, 7 Feb 2017 07:58:16 +0000
|
||||
Subject: [PATCH] containers/userns05: use unsigned int for ns id
|
||||
|
||||
The kernel defines it as 'unsigned int' in 'struct ns_common'
|
||||
and formats it as
|
||||
|
||||
snprintf(buf, size, "%s:[%u]", ns_ops->name, ns->inum);
|
||||
|
||||
This change makes the test work on 32bit systems where LONG_MAX
|
||||
is smaller than UINT_MAX.
|
||||
|
||||
Signed-off-by: Jiri Jaburek <jjaburek@redhat.com>
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: He Zhe <zhe.he@windriver.com>
|
||||
---
|
||||
testcases/kernel/containers/userns/userns05.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/testcases/kernel/containers/userns/userns05.c b/testcases/kernel/containers/userns/userns05.c
|
||||
index 8d8c40a..8eac729 100644
|
||||
--- a/testcases/kernel/containers/userns/userns05.c
|
||||
+++ b/testcases/kernel/containers/userns/userns05.c
|
||||
@@ -49,18 +49,18 @@ static int child_fn1(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static long getusernsidbypid(int pid)
|
||||
+static unsigned int getusernsidbypid(int pid)
|
||||
{
|
||||
char path[BUFSIZ];
|
||||
char userid[BUFSIZ];
|
||||
- long id = 0;
|
||||
+ unsigned int id = 0;
|
||||
|
||||
sprintf(path, "/proc/%d/ns/user", pid);
|
||||
|
||||
if (readlink(path, userid, BUFSIZ) == -1)
|
||||
tst_resm(TFAIL | TERRNO, "readlink failure.");
|
||||
|
||||
- if (sscanf(userid, "user:[%ld]", &id) != 1)
|
||||
+ if (sscanf(userid, "user:[%u]", &id) != 1)
|
||||
tst_resm(TFAIL, "sscanf failure.");
|
||||
return id;
|
||||
}
|
||||
@@ -68,7 +68,7 @@ static long getusernsidbypid(int pid)
|
||||
static void test_userns_id(void)
|
||||
{
|
||||
int cpid1, cpid2, cpid3;
|
||||
- long parentuserns, cpid1userns, cpid2userns, newparentuserns;
|
||||
+ unsigned int parentuserns, cpid1userns, cpid2userns, newparentuserns;
|
||||
|
||||
parentuserns = getusernsidbypid(getpid());
|
||||
cpid1 = ltp_clone_quick(SIGCHLD, (void *)child_fn1,
|
||||
--
|
||||
2.9.3
|
||||
|
|
@ -65,7 +65,8 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
|
|||
file://0036-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch \
|
||||
file://0037-containers-netns_netlink-Avoid-segmentation-fault.patch \
|
||||
file://0038-run-posix-option-group-test-replace-CWD-qith-PWD.patch \
|
||||
file://fcntl-fix-the-time-def-to-use-time_t.patch \
|
||||
file://0039-fcntl-fix-the-time-def-to-use-time_t.patch \
|
||||
file://0040-containers-userns05-use-unsigned-int-for-ns-id.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
|
Loading…
Reference in New Issue