Re: [PATCH 4.4] netfilter: x_tables: Use correct memory barriers.

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

 



On Sun, May 09, 2021 at 10:24:36AM +0200, Pavel Machek wrote:
> 
> From: Mark Tomlinson <mark.tomlinson@xxxxxxxxxxxxxxxxxxx>
> 
> commit 175e476b8cdf2a4de7432583b49c871345e4f8a1 upstream.
> 
> When a new table value was assigned, it was followed by a write memory
> barrier. This ensured that all writes before this point would complete
> before any writes after this point. However, to determine whether the
> rules are unused, the sequence counter is read. To ensure that all
> writes have been done before these reads, a full memory barrier is
> needed, not just a write memory barrier. The same argument applies when
> incrementing the counter, before the rules are read.
> 
> Changing to using smp_mb() instead of smp_wmb() fixes the kernel panic
> reported in cc00bcaa5899 (which is still present), while still
> maintaining the same speed of replacing tables.
> 
> The smb_mb() barriers potentially slow the packet path, however testing
> has shown no measurable change in performance on a 4-core MIPS64
> platform.
> 
> Fixes: 7f5c6d4f665b ("netfilter: get rid of atomic ops in fast path")
> Signed-off-by: Mark Tomlinson <mark.tomlinson@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
> [Ported to stable, affected barrier is added by d3d40f237480abf3268956daf18cdc56edd32834 in mainline]
> Signed-off-by: Pavel Machek (CIP) <pavel@xxxxxxx>
> ---
>  include/linux/netfilter/x_tables.h | 2 +-
>  net/netfilter/x_tables.c           | 3 +++
>  2 files changed, 4 insertions(+), 1 deletion(-)

What about 4.14 and 4.9?  I can't take patches only for 4.4 that are not
also in newer releases.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux