[CRIU] [PATCH 5/6] kdat: Check for KCMP_EPOLL_TFD
Dmitry Safonov
0x7f454c46 at gmail.com
Tue Apr 3 21:01:36 MSK 2018
Hi Cyrill,
Thanks for splitting this and adding kdat feature first,
2018-04-03 18:46 GMT+01:00 Cyrill Gorcunov <gorcunov at gmail.com>:
[..]
> +
> + ret = syscall(SYS_kcmp, getpid(), getpid(),
> + KCMP_EPOLL_TFD, pipefd[1], (void *)&epoll_slot);
> + if (ret == 0)
> + kdat.has_kcmp_epoll_tfd = true;
> +
> +out:
> + close(pipefd[0]);
> + close(pipefd[1]);
> + close(epollfd);
> + return ret;
Does that mean that if kcmp() with KCMP_EPOLL_TFD fails
(no support for the feature), than kerndat_has_kcmp_epoll_tfd() will return
error - which will lead to stopping generating kdat and aborting, rather than
proceeding with kdat.has_kcmp_epoll_tfd = false?
> +}
> +
> int __attribute__((weak)) kdat_x86_has_ptrace_fpu_xsave_bug(void)
> {
> return 0;
> @@ -1124,6 +1184,8 @@ int kerndat_init(void)
> ret = kerndat_x86_has_ptrace_fpu_xsave_bug();
> if (!ret)
> ret = kerndat_has_inotify_setnextwd();
> + if (!ret)
> + ret = kerndat_has_kcmp_epoll_tfd();
>
> kerndat_lsm();
> kerndat_mmap_min_addr();
--
Dmitry
More information about the CRIU
mailing list