-
Filipe Brandenburger authored
After replacing sys_kcmp with syscall() and sys_prctl with prctl(), the API is changed to return -1 and set errno on failure (instead of returning the negative value of the error code directly on return.) Commit 8ceab588 ("crtools: no more linked with builtin syscall") replaced calls to sys_kcmp and sys_prctl, but did not update the checks for ret to check for -1 and errno, so update them here. Also make the comparisons for the return value explicit checks for a negative value (expected -1) instead of just failing on a non-zero value with the implicit comparison. Add %m to report what errno was set to on failed syscalls, to make it easier to troubleshoot a check failure. Tested that now `criu check --ms` stopped reporting the misleading: prctl: One needs CAP_SYS_RESOURCE capability to perform testing. Instead, now it reports: Error (cr-check.c:165): System call kcmp is not supported: No such process Warn (cr-check.c:195): Skipping unssuported PR_SET_MM_MAP: Invalid argument prctl: PR_SET_MM is not supported: Invalid argument And those messages include the error message that explains why the syscall failed. Reported-by:
Saied Kazemi <saied@google.com> Fixes: 8ceab588 ("crtools: no more linked with builtin syscall") Cc: Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Filipe Brandenburger <filbranden@google.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
e7ba9095
Name |
Last commit
|
Last update |
---|---|---|
Documentation | ||
contrib | ||
crit | ||
criu | ||
images | ||
lib | ||
scripts | ||
test | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
COPYING | ||
CREDITS | ||
Makefile | ||
Makefile.install | ||
Makefile.versions | ||
README.md |