netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6 net-next] rhashtable fixes
@ 2015-01-30  0:20 Thomas Graf
  2015-01-30  0:20 ` [PATCH 1/6] rhashtable: key_hashfn() must return full hash value Thomas Graf
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Thomas Graf @ 2015-01-30  0:20 UTC (permalink / raw)
  To: davem; +Cc: netdev, ying.xue

This is a series of fixes which have accumulated while tracking
down the race condition reoprted by Ying Xue. The original
DEBUG_PAGEALLOC splat is resolved.

However, there is still a race (harder to trigger) remaining in
which certain entries are unfindable when removing them from the
table via netlink_remove() and thus they cause a use after free
later on.

Regardless, these fixes can go in now.

Thomas Graf (6):
  rhashtable: key_hashfn() must return full hash value
  rhashtable: Use a single bucket lock for sibling buckets
  rhashtable: Wait for RCU readers after final unzip work
  rhashtable: Dump bucket tables on locking violation under
    PROVE_LOCKING
  rhashtable: Add more lock verification
  rhashtable: Avoid bucket cross reference after removal

 lib/rhashtable.c | 301 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 166 insertions(+), 135 deletions(-)

-- 
1.9.3

^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/6 v2 net-next] rhashtable fixes
@ 2015-02-05  1:03 Thomas Graf
  2015-02-05  1:03 ` [PATCH 2/6] rhashtable: Use a single bucket lock for sibling buckets Thomas Graf
  0 siblings, 1 reply; 18+ messages in thread
From: Thomas Graf @ 2015-02-05  1:03 UTC (permalink / raw)
  To: davem; +Cc: netdev, herbert, ying.xue

This series fixes all remaining known issues with rhashtable that
have been reported. In particular the race condition reported by
Ying Xue.

---
Dave/Herbert: I'm posting this now as it fixes real issues. I'm
fine with taking Herbert's rehash patches instead if they resolve
all the reported issues as well.

v2:
 - Rebased on top of Herbert Xu's iterator code
 - Fixed last remaining race that remained. Special thanks
   to Daniel Borkmann for assistance while debugging.

Thomas Graf (6):
  rhashtable: key_hashfn() must return full hash value
  rhashtable: Use a single bucket lock for sibling buckets
  rhashtable: Wait for RCU readers after final unzip work
  rhashtable: Dump bucket tables on locking violation under
    PROVE_LOCKING
  rhashtable: Add more lock verification
  rhashtable: Avoid bucket cross reference after removal

 lib/rhashtable.c | 305 ++++++++++++++++++++++++++++++-------------------------
 1 file changed, 167 insertions(+), 138 deletions(-)

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

end of thread, other threads:[~2015-02-26 14:39 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-30  0:20 [PATCH 0/6 net-next] rhashtable fixes Thomas Graf
2015-01-30  0:20 ` [PATCH 1/6] rhashtable: key_hashfn() must return full hash value Thomas Graf
2015-01-30  0:20 ` [PATCH 2/6] rhashtable: Use a single bucket lock for sibling buckets Thomas Graf
2015-01-31  4:34   ` Herbert Xu
2015-01-31  8:41     ` Thomas Graf
2015-01-31  9:38       ` Herbert Xu
2015-01-31 12:50         ` Thomas Graf
2015-01-30  0:20 ` [PATCH 3/6] rhashtable: Wait for RCU readers after final unzip work Thomas Graf
2015-01-30  0:20 ` [PATCH 4/6] rhashtable: Dump bucket tables on locking violation under PROVE_LOCKING Thomas Graf
2015-01-30  0:20 ` [PATCH 5/6] rhashtable: Add more lock verification Thomas Graf
2015-01-30  0:20 ` [PATCH 6/6] rhashtable: Avoid bucket cross reference after removal Thomas Graf
2015-01-30  9:10 ` [PATCH 0/6 net-next] rhashtable fixes Ying Xue
2015-01-30  9:29   ` Thomas Graf
2015-01-30  9:56     ` Ying Xue
2015-02-03 17:21       ` Thomas Graf
2015-02-04  2:32         ` Ying Xue
  -- strict thread matches above, loose matches on Subject: below --
2015-02-05  1:03 [PATCH 0/6 v2 " Thomas Graf
2015-02-05  1:03 ` [PATCH 2/6] rhashtable: Use a single bucket lock for sibling buckets Thomas Graf
2015-02-26 14:38   ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).