OSDN Git Service
(root)
/
qmiga
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
750036a
)
seccomp: add timerfd_create and timerfd_settime to the whitelist
author
Felix Geyer
<debfx@fobos.de>
Thu, 30 Jan 2014 20:28:17 +0000
(21:28 +0100)
committer
Eduardo Otubo
<otubo@linux.vnet.ibm.com>
Fri, 25 Apr 2014 17:51:59 +0000
(14:51 -0300)
libusb calls timerfd_create() and timerfd_settime() when it's built with
timerfd support.
Command to reproduce:
-device usb-host,hostbus=1,hostaddr=3,id=hostdev0
Log messages:
audit(
1390730418
.924:135): auid=
4294967295
uid=121 gid=103 ses=
4294967295
pid=5232 comm="qemu-system-x86" sig=31 syscall=283
compat=0 ip=0x7f2b0f4e96a7 code=0x0
audit(
1390733100
.580:142): auid=
4294967295
uid=121 gid=103 ses=
4294967295
pid=16909 comm="qemu-system-x86" sig=31 syscall=286
compat=0 ip=0x7f03513a06da code=0x0
Reading a few hundred MB from a USB drive on x86_64 shows this syscall distribution.
Therefore the timerfd_settime priority is set to 242.
calls syscall
--------- ----------------
5303600
write
2240554
read
2167030
ppoll
2134828
ioctl
704023 timerfd_settime
689105 poll
83122 futex
803 writev
476 rt_sigprocmask
287 recvmsg
178 brk
Signed-off-by: Felix Geyer <debfx@fobos.de>
Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com>
qemu-seccomp.c
patch
|
blob
|
history
diff --git
a/qemu-seccomp.c
b/qemu-seccomp.c
index
caa926e
..
46554bd
100644
(file)
--- a/
qemu-seccomp.c
+++ b/
qemu-seccomp.c
@@
-143,6
+143,7
@@
static const struct QemuSeccompSyscall seccomp_whitelist[] = {
{ SCMP_SYS(getsockname), 242 },
{ SCMP_SYS(getpeername), 242 },
{ SCMP_SYS(accept4), 242 },
+ { SCMP_SYS(timerfd_settime), 242 },
{ SCMP_SYS(newfstatat), 241 },
{ SCMP_SYS(shutdown), 241 },
{ SCMP_SYS(getsockopt), 241 },
@@
-225,7
+226,8
@@
static const struct QemuSeccompSyscall seccomp_whitelist[] = {
{ SCMP_SYS(fchmod), 240 },
{ SCMP_SYS(shmget), 240 },
{ SCMP_SYS(shmat), 240 },
- { SCMP_SYS(shmdt), 240 }
+ { SCMP_SYS(shmdt), 240 },
+ { SCMP_SYS(timerfd_create), 240 }
};
int seccomp_start(void)