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: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
This commit is contained in:
parent
1386d4c0f5
commit
7f84c1272b
12
compatfd.c
12
compatfd.c
@ -119,9 +119,17 @@ int qemu_signalfd(const sigset_t *mask)
|
|||||||
bool qemu_signalfd_available(void)
|
bool qemu_signalfd_available(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SIGNALFD
|
#ifdef CONFIG_SIGNALFD
|
||||||
|
sigset_t mask;
|
||||||
|
int fd;
|
||||||
|
bool ok;
|
||||||
|
sigemptyset(&mask);
|
||||||
errno = 0;
|
errno = 0;
|
||||||
syscall(SYS_signalfd, -1, NULL, _NSIG / 8);
|
fd = syscall(SYS_signalfd, -1, &mask, _NSIG / 8);
|
||||||
return errno != ENOSYS;
|
ok = (errno != ENOSYS);
|
||||||
|
if (fd >= 0) {
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user