seccomp: Fix setting loaded filter count during TSYNC
The desired behavior is to set the caller's filter count to thread's.
This value is reported via /proc, so this fixes the inaccurate count
exposed to userspace; it is not used for reference counting, etc.
Signed-off-by: Hsuan-Chi Kuo <hsuanchikuo@gmail.com>
Link: https://lore.kernel.org/r/20210304233708.420597-1-hsuanchikuo@gmail.com
Co-developed-by: Wiktor Garbacz <wiktorg@google.com>
Signed-off-by: Wiktor Garbacz <wiktorg@google.com>
Link: https://lore.kernel.org/lkml/20210810125158.329849-1-wiktorg@google.com
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: stable@vger.kernel.org
Fixes: c818c03b66 ("seccomp: Report number of loaded filters in /proc/$pid/status")
This commit is contained in:
@@ -602,7 +602,7 @@ static inline void seccomp_sync_threads(unsigned long flags)
|
|||||||
smp_store_release(&thread->seccomp.filter,
|
smp_store_release(&thread->seccomp.filter,
|
||||||
caller->seccomp.filter);
|
caller->seccomp.filter);
|
||||||
atomic_set(&thread->seccomp.filter_count,
|
atomic_set(&thread->seccomp.filter_count,
|
||||||
atomic_read(&thread->seccomp.filter_count));
|
atomic_read(&caller->seccomp.filter_count));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't let an unprivileged task work around
|
* Don't let an unprivileged task work around
|
||||||
|
|||||||
Reference in New Issue
Block a user