From 156776a3e29491b363fdc9811912e1298655d060 Mon Sep 17 00:00:00 2001 From: Steven Price Date: Fri, 19 Jul 2019 13:48:17 +0100 Subject: [PATCH] ustat02: Fix EFAULT in 32bit compatibility mode The size of dev_t is larger than 32 bits which causes the dev argument to be passed incorrectly. On Arm this means that the EFAULT test case actually returns EINVAL because the device number isn't recognised. Signed-off-by: Steven Price Acked-by: Li Wang Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/156776a3e29491b363fdc9811912e1298655d060] Signed-off-by: He Zhe --- testcases/kernel/syscalls/ustat/ustat02.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testcases/kernel/syscalls/ustat/ustat02.c b/testcases/kernel/syscalls/ustat/ustat02.c index 9bbe4f3..1a0e9e0 100644 --- a/testcases/kernel/syscalls/ustat/ustat02.c +++ b/testcases/kernel/syscalls/ustat/ustat02.c @@ -36,7 +36,7 @@ int TST_TOTAL = ARRAY_SIZE(tc); void run(unsigned int test) { - TEST(tst_syscall(__NR_ustat, *tc[test].dev, tc[test].buf)); + TEST(tst_syscall(__NR_ustat, (unsigned int)*tc[test].dev, tc[test].buf)); if ((TST_RET == -1) && (TST_ERR == tc[test].exp_errno)) tst_res(TPASS | TTERRNO, "ustat(2) expected failure"); -- 2.7.4