提交 7f84c127 编写于 作者: P Peter Maydell 提交者: Andrzej Zaborowski

compatfd.c: Don't pass NULL pointer to SYS_signalfd

Don't pass a NULL pointer in to SYS_signalfd in qemu_signalfd_available():
this isn't valid and Valgrind complains about it.
Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: NAndrzej Zaborowski <andrew.zaborowski@intel.com>
上级 1386d4c0
......@@ -119,9 +119,17 @@ int qemu_signalfd(const sigset_t *mask)
bool qemu_signalfd_available(void)
{
#ifdef CONFIG_SIGNALFD
sigset_t mask;
int fd;
bool ok;
sigemptyset(&mask);
errno = 0;
syscall(SYS_signalfd, -1, NULL, _NSIG / 8);
return errno != ENOSYS;
fd = syscall(SYS_signalfd, -1, &mask, _NSIG / 8);
ok = (errno != ENOSYS);
if (fd >= 0) {
close(fd);
}
return ok;
#else
return false;
#endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册