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)
 | 
			
		||||
{
 | 
			
		||||
#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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue