bnxt_en: Fix RCU locking for ntuple filters in bnxt_srxclsrldel()
authorMichael Chan <michael.chan@broadcom.com>
Fri, 5 Jan 2024 23:54:38 +0000 (15:54 -0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 9 Jan 2024 03:15:02 +0000 (19:15 -0800)
commitfd7769798de8a3748c286da65d7e32437f9854bf
tree1a2eb839a940b8aace58639d2829a00fe705037c
parent1ef4cacaae2f907db79faea4110ef90545467b7c
bnxt_en: Fix RCU locking for ntuple filters in bnxt_srxclsrldel()

After looking up an ntuple filter from a RCU hash list, the
rcu_read_unlock() call should be made after reading the structure,
or after determining that the filter cannot age out (by aRFS).
The existing code was calling rcu_read_unlock() too early in
bnxt_srxclsrldel().

As suggested by Simon Horman, change the code to handle the error
case of fltr_base not found in the if condition.  The code looks
cleaner this way.

Fixes: 8d7ba028aa9a ("bnxt_en: Add support for ntuple filter deletion by ethtool.")
Suggested-by: Simon Horman <horms@kernel.org>
Reported-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/netdev/20240104145955.5a6df702@kernel.org/
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240105235439.28282-3-michael.chan@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c