proc: fixup uptime selftest
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: 1f5bd05476
("proc: selftests: test /proc/uptime")
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Родитель
33cd300364
Коммит
5cc81d5c81
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче