Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 160d6d6f authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Greg Kroah-Hartman
Browse files

proc: fixup uptime selftest

[ Upstream commit 5cc81d5c81af0dee54da9a67a3ebe4be076a13db ]

syscall(3) returns -1 and sets errno on error, unlike "syscall"
instruction.

Systems which have <= 32/64 CPUs are unaffected. Test won't bounce
to all CPUs before completing if there are more of them.

Link: https://lkml.kernel.org/r/Y1bUiT7VRXlXPQa1@p183


Fixes: 1f5bd054 ("proc: selftests: test /proc/uptime")
Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent d7b9e43a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
// while shifting across CPUs.
#undef NDEBUG
#include <assert.h>
#include <errno.h>
#include <unistd.h>
#include <sys/syscall.h>
#include <stdlib.h>
@@ -54,7 +55,7 @@ int main(void)
		len += sizeof(unsigned long);
		free(m);
		m = malloc(len);
	} while (sys_sched_getaffinity(0, len, m) == -EINVAL);
	} while (sys_sched_getaffinity(0, len, m) == -1 && errno == EINVAL);

	fd = open("/proc/uptime", O_RDONLY);
	assert(fd >= 0);