]> git.proxmox.com Git - mirror_qemu.git/commitdiff
seccomp: add mkdir() and fchmod() to the whitelist
authorPaul Moore <pmoore@redhat.com>
Wed, 15 Jan 2014 19:38:51 +0000 (14:38 -0500)
committerEduardo Otubo <otubo@linux.vnet.ibm.com>
Mon, 20 Jan 2014 13:19:29 +0000 (11:19 -0200)
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>
qemu-seccomp.c

index b7c125364c6d7e77e7043b378a93d10d77d8113d..89f244fcb2d775b34024dd456bf9ade85d8f058b 100644 (file)
@@ -220,7 +220,9 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = {
     { SCMP_SYS(io_cancel), 241 },
     { SCMP_SYS(io_setup), 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)