qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] seccomp: no need to check arch in syscall w


From: Paul Moore
Subject: Re: [Qemu-devel] [PATCH 1/2] seccomp: no need to check arch in syscall whitelist
Date: Mon, 15 Jul 2013 14:55:44 -0400
User-agent: KMail/4.10.5 (Linux/3.9.5-gentoo; KDE/4.10.5; x86_64; ; )

On Monday, July 15, 2013 02:29:37 PM Eduardo Otubo wrote:
> Since libseccomp 2.0 there's no need to check the architecture type
> anymore.
> 
> Signed-off-by: Eduardo Otubo <address@hidden>
> ---
>  qemu-seccomp.c | 13 -------------
>  1 file changed, 13 deletions(-)

Good, this should make long term maintenance easier.  However, you should 
probably update the configure script to require libseccomp-2.0.0 or greater.  
Actually, since this is 1.6 material, I would make it dependent on 
libseccomp-2.1.0 as there are a number of improvements in that release and it 
has been out for a while now.

If you're feeling particularly adventurous, you could even enable the QEMU 
seccomp code for x32/ARM hosts with libseccomp-2.1.0 hosts :)
 
> diff --git a/qemu-seccomp.c b/qemu-seccomp.c
> index ca123bf..1d5fd71 100644
> --- a/qemu-seccomp.c
> +++ b/qemu-seccomp.c
> @@ -26,12 +26,9 @@ static const struct QemuSeccompSyscall
> seccomp_whitelist[] = { { SCMP_SYS(timer_gettime), 254 },
>      { SCMP_SYS(futex), 253 },
>      { SCMP_SYS(select), 252 },
> -#if defined(__x86_64__)
>      { SCMP_SYS(recvfrom), 251 },
>      { SCMP_SYS(sendto), 250 },
> -#elif defined(__i386__)
>      { SCMP_SYS(socketcall), 250 },
> -#endif
>      { SCMP_SYS(read), 249 },
>      { SCMP_SYS(brk), 248 },
>      { SCMP_SYS(clone), 247 },
> @@ -40,7 +37,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[]
> = { { SCMP_SYS(execve), 245 },
>      { SCMP_SYS(open), 245 },
>      { SCMP_SYS(ioctl), 245 },
> -#if defined(__x86_64__)
>      { SCMP_SYS(socket), 245 },
>      { SCMP_SYS(setsockopt), 245 },
>      { SCMP_SYS(recvmsg), 245 },
> @@ -51,9 +47,7 @@ static const struct QemuSeccompSyscall seccomp_whitelist[]
> = { { SCMP_SYS(bind), 245 },
>      { SCMP_SYS(listen), 245 },
>      { SCMP_SYS(semget), 245 },
> -#elif defined(__i386__)
>      { SCMP_SYS(ipc), 245 },
> -#endif
>      { SCMP_SYS(gettimeofday), 245 },
>      { SCMP_SYS(readlink), 245 },
>      { SCMP_SYS(access), 245 },
> @@ -64,7 +58,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[]
> = { { SCMP_SYS(statfs), 245 },
>      { SCMP_SYS(unlink), 245 },
>      { SCMP_SYS(wait4), 245 },
> -#if defined(__i386__)
>      { SCMP_SYS(fcntl64), 245 },
>      { SCMP_SYS(fstat64), 245 },
>      { SCMP_SYS(stat64), 245 },
> @@ -77,7 +70,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[]
> = { { SCMP_SYS(_llseek), 245 },
>      { SCMP_SYS(mmap2), 245 },
>      { SCMP_SYS(sigprocmask), 245 },
> -#endif
>      { SCMP_SYS(sched_getparam), 245 },
>      { SCMP_SYS(sched_getscheduler), 245 },
>      { SCMP_SYS(fstat), 245 },
> @@ -145,9 +137,7 @@ static const struct QemuSeccompSyscall
> seccomp_whitelist[] = { { SCMP_SYS(epoll_create), 242 },
>      { SCMP_SYS(epoll_ctl), 242 },
>      { SCMP_SYS(epoll_wait), 242 },
> -#if defined(__i386__)
>      { SCMP_SYS(waitpid), 242 },
> -#elif defined(__x86_64__)
>      { SCMP_SYS(getsockname), 242 },
>      { SCMP_SYS(getpeername), 242 },
>      { SCMP_SYS(accept4), 242 },
> @@ -159,7 +149,6 @@ static const struct QemuSeccompSyscall
> seccomp_whitelist[] = { { SCMP_SYS(semtimedop), 241 },
>      { SCMP_SYS(epoll_ctl_old), 241 },
>      { SCMP_SYS(epoll_wait_old), 241 },
> -#endif
>      { SCMP_SYS(epoll_pwait), 241 },
>      { SCMP_SYS(epoll_create1), 241 },
>      { SCMP_SYS(ppoll), 241 },
> @@ -174,7 +163,6 @@ static const struct QemuSeccompSyscall
> seccomp_whitelist[] = { { SCMP_SYS(getresuid), 241 },
>      { SCMP_SYS(getresgid), 241 },
>      { SCMP_SYS(getgroups), 241 },
> -#if defined(__i386__)
>      { SCMP_SYS(getresuid32), 241 },
>      { SCMP_SYS(getresgid32), 241 },
>      { SCMP_SYS(getgroups32), 241 },
> @@ -193,7 +181,6 @@ static const struct QemuSeccompSyscall
> seccomp_whitelist[] = { { SCMP_SYS(lstat64), 241 },
>      { SCMP_SYS(sendfile64), 241 },
>      { SCMP_SYS(ugetrlimit), 241 },
> -#endif
>      { SCMP_SYS(alarm), 241 },
>      { SCMP_SYS(rt_sigsuspend), 241 },
>      { SCMP_SYS(rt_sigqueueinfo), 241 },
-- 
paul moore
security and virtualization @ redhat




reply via email to

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