[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/02] seccomp: add timerfd_create and timerfd_settim
From: |
Eduardo Otubo |
Subject: |
[Qemu-devel] [PULL 01/02] seccomp: add timerfd_create and timerfd_settime to the whitelist |
Date: |
Mon, 14 Apr 2014 15:00:59 -0300 |
From: Felix Geyer <address@hidden>
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 <address@hidden>
Signed-off-by: Eduardo Otubo <address@hidden>
Acked-by: Eduardo Otubo <address@hidden>
---
qemu-seccomp.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index caa926e..46554bd 100644
--- 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)
--
1.7.1