qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] seccomp: add timerfd_create and timerfd_sett


From: Eduardo Otubo
Subject: Re: [Qemu-devel] [PATCH v2] seccomp: add timerfd_create and timerfd_settime to the whitelist
Date: Thu, 30 Jan 2014 22:03:30 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131028 Thunderbird/17.0.10



On 01/30/2014 06:28 PM, Felix Geyer wrote:
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>
---
  qemu-seccomp.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/qemu-seccomp.c b/qemu-seccomp.c
index caa926e..b00922c 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)


ACK

--
Eduardo Otubo
IBM Linux Technology Center




reply via email to

[Prev in Thread] Current Thread [Next in Thread]