Thread (23 messages) 23 messages, 2 authors, 2014-07-10

Re: [PATCH v9 09/11] seccomp: introduce writer locking

From: Oleg Nesterov <oleg@redhat.com>
Date: 2014-07-09 18:57:51
Also in: linux-arch, linux-arm-kernel, linux-mips, lkml

On 07/09, Oleg Nesterov wrote:
On 06/27, Kees Cook wrote:
quoted
 static u32 seccomp_run_filters(int syscall)
 {
-	struct seccomp_filter *f;
+	struct seccomp_filter *f = ACCESS_ONCE(current->seccomp.filter);
I am not sure...

This is fine if this ->filter is the 1st (and only) one, in this case
we can rely on rmb() in the caller.

But the new filter can be installed at any moment. Say, right after that
rmb() although this doesn't matter. Either we need smp_read_barrier_depends()
after that, or smp_load_acquire() like the previous version did?
Wait... and it seems that seccomp_sync_threads() needs smp_store_release()
when it sets thread->filter = current->filter by the same reason?

OTOH. smp_store_release() in seccomp_attach_filter() can die, "current"
doesn't need a barrier to serialize with itself.

Oleg.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help