From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56494) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8D0s-0002k6-Q4 for qemu-devel@nongnu.org; Tue, 28 Jan 2014 13:03:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8D0n-00016c-T8 for qemu-devel@nongnu.org; Tue, 28 Jan 2014 13:03:54 -0500 Received: from fobos.de ([188.165.199.226]:52949) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8D0n-00016E-JG for qemu-devel@nongnu.org; Tue, 28 Jan 2014 13:03:49 -0500 Message-ID: <52E7F102.2080804@fobos.de> Date: Tue, 28 Jan 2014 19:03:46 +0100 From: Felix Geyer MIME-Version: 1.0 References: <52E4FDC4.3050204@fobos.de> <52E7AA08.5040909@linux.vnet.ibm.com> In-Reply-To: <52E7AA08.5040909@linux.vnet.ibm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] seccomp: add timerfd_create and timerfd_settime to the whitelist List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Otubo Cc: qemu-devel@nongnu.org On 28.01.2014 14:00, Eduardo Otubo wrote: > On 01/26/2014 10:21 AM, Felix Geyer wrote: >> libusb calls timerfd_create() and timerfd_settime() when it's built with >> timerfd support. >> >> Command to reproduce: >> >> qemu -sandbox on -monitor stdio -device piix3-usb-uhci,id=usb >> -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 >> >> Signed-off-by: Felix Geyer >> --- >> qemu-seccomp.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/qemu-seccomp.c b/qemu-seccomp.c >> index caa926e..2705468 100644 >> --- a/qemu-seccomp.c >> +++ b/qemu-seccomp.c >> @@ -225,7 +225,9 @@ 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 }, >> + { SCMP_SYS(timerfd_settime), 240 } > > Did you deliberately set the priority to 240? Or did you run any sort of benchmark (strace) to > find this value? > > Regards, Not really, sorry. I've now done a benchmark on x86_64, copying a few hundred MB from a USB drive: 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 timerfd_create is basically only called once so it can have the lowest priority. timerfd_settime should probably have priority around 242. Regards, Felix