seccomp: add mkdir() and fchmod() to the whitelist
The PulseAudio library attempts to do a mkdir(2) and fchmod(2) on
"/run/user/<UID>/pulse" which is currently blocked by the syscall
filter; this patch adds the two missing syscalls to the whitelist.
You can reproduce this problem with the following command:
 # qemu -monitor stdio -device intel-hda -device hda-duplex
If watched under strace the following syscalls are shown:
 mkdir("/run/user/0/pulse", 0700)
 fchmod(11, 0700) [NOTE: 11 is the fd for /run/user/0/pulse]
Reported-by: xuhan@redhat.com
Signed-off-by: Paul Moore <pmoore@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									1cf892ca26
								
							
						
					
					
						commit
						0c2acb163f
					
				@ -220,7 +220,9 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = {
 | 
				
			|||||||
    { SCMP_SYS(io_cancel), 241 },
 | 
					    { SCMP_SYS(io_cancel), 241 },
 | 
				
			||||||
    { SCMP_SYS(io_setup), 241 },
 | 
					    { SCMP_SYS(io_setup), 241 },
 | 
				
			||||||
    { SCMP_SYS(io_destroy), 241 },
 | 
					    { SCMP_SYS(io_destroy), 241 },
 | 
				
			||||||
    { SCMP_SYS(arch_prctl), 240 }
 | 
					    { SCMP_SYS(arch_prctl), 240 },
 | 
				
			||||||
 | 
					    { SCMP_SYS(mkdir), 240 },
 | 
				
			||||||
 | 
					    { SCMP_SYS(fchmod), 240 }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int seccomp_start(void)
 | 
					int seccomp_start(void)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user