Message ID | 1348231233-29841-1-git-send-email-otubo@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Anyone interested in taking a look at this piece of code? Thanks! On Fri, Sep 21, 2012 at 09:40:33AM -0300, Eduardo Otubo wrote: > Seccomp syscall whitelist updated after tests running qemu under > libvirt. Reference to the bug - > https://bugzilla.redhat.com/show_bug.cgi?id=855162 > > Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com> > --- > qemu-seccomp.c | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/qemu-seccomp.c b/qemu-seccomp.c > index 64329a3..4712338 100644 > --- a/qemu-seccomp.c > +++ b/qemu-seccomp.c > @@ -70,6 +70,7 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { > { SCMP_SYS(setsockopt), 245}, > { SCMP_SYS(uname), 245}, > { SCMP_SYS(semget), 245}, > + { SCMP_SYS(accept4), 241 }, > #endif > { SCMP_SYS(eventfd2), 245 }, > { SCMP_SYS(dup), 245 }, > @@ -107,7 +108,25 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { > { SCMP_SYS(getsockname), 242 }, > { SCMP_SYS(getpeername), 242 }, > { SCMP_SYS(fdatasync), 242 }, > - { SCMP_SYS(close), 242 } > + { SCMP_SYS(close), 242 }, > + { SCMP_SYS(unlink), 241 }, > + { SCMP_SYS(statfs), 241 }, > + { SCMP_SYS(getuid), 241 }, > + { SCMP_SYS(ftruncate), 241 }, > + { SCMP_SYS(getegid), 241 }, > + { SCMP_SYS(geteuid), 241 }, > + { SCMP_SYS(getgid), 241 }, > + { SCMP_SYS(getrlimit), 241 }, > + { SCMP_SYS(set_tid_address), 241 }, > + { SCMP_SYS(socketpair), 241 }, > + { SCMP_SYS(fstatfs), 241 }, > + { SCMP_SYS(epoll_create), 241 }, > + { SCMP_SYS(epoll_ctl), 241 }, > + { SCMP_SYS(epoll_wait), 241 }, > + { SCMP_SYS(pipe), 241 }, > + { SCMP_SYS(poll), 241 }, > + { SCMP_SYS(rt_sigpending), 241 }, > + { SCMP_SYS(rt_sigtimedwait), 241 }, > }; > > int seccomp_start(void) > -- > 1.7.12 >
On 09/21/2012 08:40 AM, Eduardo Otubo wrote: > Seccomp syscall whitelist updated after tests running qemu under > libvirt. Reference to the bug - > https://bugzilla.redhat.com/show_bug.cgi?id=855162 > > Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com> > --- > qemu-seccomp.c | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/qemu-seccomp.c b/qemu-seccomp.c > index 64329a3..4712338 100644 > --- a/qemu-seccomp.c > +++ b/qemu-seccomp.c > @@ -70,6 +70,7 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { > { SCMP_SYS(setsockopt), 245}, > { SCMP_SYS(uname), 245}, > { SCMP_SYS(semget), 245}, > + { SCMP_SYS(accept4), 241 }, > #endif > { SCMP_SYS(eventfd2), 245 }, > { SCMP_SYS(dup), 245 }, > @@ -107,7 +108,25 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { > { SCMP_SYS(getsockname), 242 }, > { SCMP_SYS(getpeername), 242 }, > { SCMP_SYS(fdatasync), 242 }, > - { SCMP_SYS(close), 242 } > + { SCMP_SYS(close), 242 }, > + { SCMP_SYS(unlink), 241 }, > + { SCMP_SYS(statfs), 241 }, > + { SCMP_SYS(getuid), 241 }, > + { SCMP_SYS(ftruncate), 241 }, > + { SCMP_SYS(getegid), 241 }, > + { SCMP_SYS(geteuid), 241 }, > + { SCMP_SYS(getgid), 241 }, > + { SCMP_SYS(getrlimit), 241 }, > + { SCMP_SYS(set_tid_address), 241 }, > + { SCMP_SYS(socketpair), 241 }, > + { SCMP_SYS(fstatfs), 241 }, > + { SCMP_SYS(epoll_create), 241 }, > + { SCMP_SYS(epoll_ctl), 241 }, > + { SCMP_SYS(epoll_wait), 241 }, > + { SCMP_SYS(pipe), 241 }, > + { SCMP_SYS(poll), 241 }, > + { SCMP_SYS(rt_sigpending), 241 }, > + { SCMP_SYS(rt_sigtimedwait), 241 }, > }; > > int seccomp_start(void) > If this is required for libvirt + seccomp, might be a candidate for 1.2 stable, cc'ing. At the very least we will be carrying this in Fedora 18. - Cole
On Friday, September 21, 2012 09:40:33 AM Eduardo Otubo wrote: > Seccomp syscall whitelist updated after tests running qemu under > libvirt. Reference to the bug - > https://bugzilla.redhat.com/show_bug.cgi?id=855162 Unfortunately, this patch still does not work correctly for me using F17/libvirt and a F16 guest. The QEMU instance starts, and the guest appears to be running, but I never see any of the BIOS POST messages on the console. I'm attaching the guest's XML definition file if that helps. > Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com> > --- > qemu-seccomp.c | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/qemu-seccomp.c b/qemu-seccomp.c > index 64329a3..4712338 100644 > --- a/qemu-seccomp.c > +++ b/qemu-seccomp.c > @@ -70,6 +70,7 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] > = { { SCMP_SYS(setsockopt), 245}, > { SCMP_SYS(uname), 245}, > { SCMP_SYS(semget), 245}, > + { SCMP_SYS(accept4), 241 }, > #endif > { SCMP_SYS(eventfd2), 245 }, > { SCMP_SYS(dup), 245 }, > @@ -107,7 +108,25 @@ static const struct QemuSeccompSyscall > seccomp_whitelist[] = { { SCMP_SYS(getsockname), 242 }, > { SCMP_SYS(getpeername), 242 }, > { SCMP_SYS(fdatasync), 242 }, > - { SCMP_SYS(close), 242 } > + { SCMP_SYS(close), 242 }, > + { SCMP_SYS(unlink), 241 }, > + { SCMP_SYS(statfs), 241 }, > + { SCMP_SYS(getuid), 241 }, > + { SCMP_SYS(ftruncate), 241 }, > + { SCMP_SYS(getegid), 241 }, > + { SCMP_SYS(geteuid), 241 }, > + { SCMP_SYS(getgid), 241 }, > + { SCMP_SYS(getrlimit), 241 }, > + { SCMP_SYS(set_tid_address), 241 }, > + { SCMP_SYS(socketpair), 241 }, > + { SCMP_SYS(fstatfs), 241 }, > + { SCMP_SYS(epoll_create), 241 }, > + { SCMP_SYS(epoll_ctl), 241 }, > + { SCMP_SYS(epoll_wait), 241 }, > + { SCMP_SYS(pipe), 241 }, > + { SCMP_SYS(poll), 241 }, > + { SCMP_SYS(rt_sigpending), 241 }, > + { SCMP_SYS(rt_sigtimedwait), 241 }, > }; > > int seccomp_start(void)
diff --git a/qemu-seccomp.c b/qemu-seccomp.c index 64329a3..4712338 100644 --- a/qemu-seccomp.c +++ b/qemu-seccomp.c @@ -70,6 +70,7 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(setsockopt), 245}, { SCMP_SYS(uname), 245}, { SCMP_SYS(semget), 245}, + { SCMP_SYS(accept4), 241 }, #endif { SCMP_SYS(eventfd2), 245 }, { SCMP_SYS(dup), 245 }, @@ -107,7 +108,25 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { { SCMP_SYS(getsockname), 242 }, { SCMP_SYS(getpeername), 242 }, { SCMP_SYS(fdatasync), 242 }, - { SCMP_SYS(close), 242 } + { SCMP_SYS(close), 242 }, + { SCMP_SYS(unlink), 241 }, + { SCMP_SYS(statfs), 241 }, + { SCMP_SYS(getuid), 241 }, + { SCMP_SYS(ftruncate), 241 }, + { SCMP_SYS(getegid), 241 }, + { SCMP_SYS(geteuid), 241 }, + { SCMP_SYS(getgid), 241 }, + { SCMP_SYS(getrlimit), 241 }, + { SCMP_SYS(set_tid_address), 241 }, + { SCMP_SYS(socketpair), 241 }, + { SCMP_SYS(fstatfs), 241 }, + { SCMP_SYS(epoll_create), 241 }, + { SCMP_SYS(epoll_ctl), 241 }, + { SCMP_SYS(epoll_wait), 241 }, + { SCMP_SYS(pipe), 241 }, + { SCMP_SYS(poll), 241 }, + { SCMP_SYS(rt_sigpending), 241 }, + { SCMP_SYS(rt_sigtimedwait), 241 }, }; int seccomp_start(void)
Seccomp syscall whitelist updated after tests running qemu under libvirt. Reference to the bug - https://bugzilla.redhat.com/show_bug.cgi?id=855162 Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com> --- qemu-seccomp.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)