Re: [PATCH] seccomp: Fix setting number of loaded filters

From: Kees Cook
Date: Wed Aug 11 2021 - 14:46:49 EST


On Tue, Aug 10, 2021 at 02:51:58PM +0200, Wiktor Garbacz wrote:
> The value is only reported through procfs so this
> is purely cosmetic.

Hi,

Thanks for the patch! I thought this had already been fixed, but I see I
dropped the ball. :( Sorry!

I'll get the original fix landed[1], and add you as a reporter.

Out of curiosity, how did you (or Hsuan-Chi Kuo) find this? Broken
behavior, code reading, static analysis?

Thanks!

-Kees

[1] https://lore.kernel.org/lkml/20210304233708.420597-1-hsuanchikuo@xxxxxxxxx/

>
> Signed-off-by: Wiktor Garbacz <wiktorg@xxxxxxxxxx>
> ---
> kernel/seccomp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/seccomp.c b/kernel/seccomp.c
> index 057e17f3215d..6469eca8078c 100644
> --- a/kernel/seccomp.c
> +++ b/kernel/seccomp.c
> @@ -602,7 +602,7 @@ static inline void seccomp_sync_threads(unsigned long flags)
> smp_store_release(&thread->seccomp.filter,
> caller->seccomp.filter);
> 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
> --
> 2.32.0.605.g8dce9f2422-goog
>

--
Kees Cook