All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Petr Machata <petrm@nvidia.com>
Cc: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	netdev@vger.kernel.org, Ido Schimmel <idosch@nvidia.com>,
	Jiri Pirko <jiri@resnulli.us>,
	Alexander Zubkov <green@qrator.net>,
	mlxsw@nvidia.com
Subject: Re: [PATCH net 2/9] mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work
Date: Wed, 24 Apr 2024 15:48:31 +0100	[thread overview]
Message-ID: <20240424144831.GD42092@kernel.org> (raw)
In-Reply-To: <1ec1d54edf2bad0a369e6b4fa030aba64e1f124b.1713797103.git.petrm@nvidia.com>

On Mon, Apr 22, 2024 at 05:25:55PM +0200, Petr Machata wrote:
> From: Ido Schimmel <idosch@nvidia.com>
> 
> The purpose of the rehash delayed work is to reduce the number of masks
> (eRPs) used by an ACL region as the eRP bank is a global and limited
> resource.
> 
> This is done in three steps:
> 
> 1. Creating a new set of masks and a new ACL region which will use the
>    new masks and to which the existing filters will be migrated to. The
>    new region is assigned to 'vregion->region' and the region from which
>    the filters are migrated from is assigned to 'vregion->region2'.
> 
> 2. Migrating all the filters from the old region to the new region.
> 
> 3. Destroying the old region and setting 'vregion->region2' to NULL.
> 
> Only the second steps is performed under the 'vregion->lock' mutex
> although its comments says that among other things it "Protects
> consistency of region, region2 pointers".
> 
> This is problematic as the first step can race with filter insertion
> from user space that uses 'vregion->region', but under the mutex.
> 
> Fix by holding the mutex across the entirety of the delayed work and not
> only during the second step.
> 
> Fixes: 2bffc5322fd8 ("mlxsw: spectrum_acl: Don't take mutex in mlxsw_sp_acl_tcam_vregion_rehash_work()")
> Signed-off-by: Ido Schimmel <idosch@nvidia.com>
> Tested-by: Alexander Zubkov <green@qrator.net>
> Reviewed-by: Petr Machata <petrm@nvidia.com>
> Signed-off-by: Petr Machata <petrm@nvidia.com>

Reviewed-by: Simon Horman <horms@kernel.org>


  reply	other threads:[~2024-04-24 14:48 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-22 15:25 [PATCH net 0/9] mlxsw: Various ACL fixes Petr Machata
2024-04-22 15:25 ` [PATCH net 1/9] mlxsw: spectrum_acl_tcam: Fix race in region ID allocation Petr Machata
2024-04-24 14:47   ` Simon Horman
2024-04-22 15:25 ` [PATCH net 2/9] mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work Petr Machata
2024-04-24 14:48   ` Simon Horman [this message]
2024-04-22 15:25 ` [PATCH net 3/9] mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update Petr Machata
2024-04-24 14:49   ` Simon Horman
2024-04-22 15:25 ` [PATCH net 4/9] mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash Petr Machata
2024-04-24 14:50   ` Simon Horman
2024-04-22 15:25 ` [PATCH net 5/9] mlxsw: spectrum_acl_tcam: Rate limit error message Petr Machata
2024-04-24 14:51   ` Simon Horman
2024-04-22 15:25 ` [PATCH net 6/9] mlxsw: spectrum_acl_tcam: Fix memory leak during rehash Petr Machata
2024-04-24 14:52   ` Simon Horman
2024-04-22 15:26 ` [PATCH net 7/9] mlxsw: spectrum_acl_tcam: Fix warning " Petr Machata
2024-04-24 14:52   ` Simon Horman
2024-04-22 15:26 ` [PATCH net 8/9] mlxsw: spectrum_acl_tcam: Fix incorrect list API usage Petr Machata
2024-04-24 14:53   ` Simon Horman
2024-04-22 15:26 ` [PATCH net 9/9] mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work Petr Machata
2024-04-24 14:53   ` Simon Horman
2024-04-25  2:40 ` [PATCH net 0/9] mlxsw: Various ACL fixes patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240424144831.GD42092@kernel.org \
    --to=horms@kernel.org \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=green@qrator.net \
    --cc=idosch@nvidia.com \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=mlxsw@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=petrm@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.