All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 nf-next 0/7] netfilter: nf_tables: avoid PROVE_RCU_LIST splats
@ 2024-10-30  9:40 Florian Westphal
  2024-10-30  9:40 ` [PATCH v2 nf-next 1/7] netfilter: nf_tables: avoid false-positive lockdep splat on rule deletion Florian Westphal
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Florian Westphal @ 2024-10-30  9:40 UTC (permalink / raw)
  To: netfilter-devel; +Cc: Florian Westphal

v2: fix typo in commit message & fix inverted logic in patch 6.
No other changes.

Mathieu reported a lockdep splat on rule deletion with
CONFIG_RCU_LIST=y.

Unfortunately there are many more errors, and not all are false positives.

First patches pass lockdep_commit_lock_is_held() to the rcu list traversal
macro so that those splats are avoided.

The last two patches are real code change as opposed to
'pass the transaction mutex to relax rcu check':

Those two lists are not protected by transaction mutex so could be altered
in parallel.

Aside from context these patches could be applied in any order.

This targets nf-next because these are long-standing issues.

Florian Westphal (7):
  netfilter: nf_tables: avoid false-positive lockdep splat on rule
    deletion
  netfilter: nf_tables: avoid false-positive lockdep splats with sets
  netfilter: nf_tables: avoid false-positive lockdep splats with
    flowtables
  netfilter: nf_tables: avoid false-positive lockdep splats in set
    walker
  netfilter: nf_tables: avoid false-positive lockdep splats with
    basechain hook
  netfilter: nf_tables: must hold rcu read lock while iterating
    expression type list
  netfilter: nf_tables: must hold rcu read lock while iterating object
    type list

 include/net/netfilter/nf_tables.h |   3 +-
 net/netfilter/nf_tables_api.c     | 110 ++++++++++++++++++------------
 net/netfilter/nft_flow_offload.c  |   4 +-
 net/netfilter/nft_set_bitmap.c    |  10 +--
 net/netfilter/nft_set_hash.c      |   3 +-
 5 files changed, 79 insertions(+), 51 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-11-01  7:31 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-30  9:40 [PATCH v2 nf-next 0/7] netfilter: nf_tables: avoid PROVE_RCU_LIST splats Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 1/7] netfilter: nf_tables: avoid false-positive lockdep splat on rule deletion Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 2/7] netfilter: nf_tables: avoid false-positive lockdep splats with sets Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 3/7] netfilter: nf_tables: avoid false-positive lockdep splats with flowtables Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 4/7] netfilter: nf_tables: avoid false-positive lockdep splats in set walker Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 5/7] netfilter: nf_tables: avoid false-positive lockdep splats with basechain hook Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 6/7] netfilter: nf_tables: must hold rcu read lock while iterating expression type list Florian Westphal
2024-10-30  9:40 ` [PATCH v2 nf-next 7/7] netfilter: nf_tables: must hold rcu read lock while iterating object " Florian Westphal
2024-11-01  7:07   ` Dan Carpenter
2024-10-30 10:40 ` [PATCH v2 nf-next 0/7] netfilter: nf_tables: avoid PROVE_RCU_LIST splats Pablo Neira Ayuso
2024-10-31 21:48 ` Pablo Neira Ayuso
2024-10-31 21:56   ` Florian Westphal
2024-10-31 21:59     ` Pablo Neira Ayuso
2024-10-31 22:42     ` Pablo Neira Ayuso
2024-10-31 23:02       ` Florian Westphal
2024-10-31 23:22         ` Florian Westphal
2024-10-31 23:28           ` Pablo Neira Ayuso
2024-10-31 23:25         ` Pablo Neira Ayuso
2024-10-31 23:37           ` Florian Westphal
2024-11-01  7:31             ` Pablo Neira Ayuso

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.