]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commit
rhashtable: Fix use-after-free in rhashtable_walk_stop
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 15 Mar 2015 10:12:04 +0000 (21:12 +1100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Mar 2015 02:22:08 +0000 (22:22 -0400)
commit963ecbd41a1026d99ec7537c050867428c397b89
treeb1735fd0d424222d31fb72f51d860b51e417dac5
parent0034de4193e4aad30bbbef4e74ca5e0631ba08a7
rhashtable: Fix use-after-free in rhashtable_walk_stop

The commit c4db8848af6af92f90462258603be844baeab44d ("rhashtable:
Move future_tbl into struct bucket_table") introduced a use-after-
free bug in rhashtable_walk_stop because it dereferences tbl after
droping the RCU read lock.

This patch fixes it by moving the RCU read unlock down to the bottom
of rhashtable_walk_stop.  In fact this was how I had it originally
but it got dropped while rearranging patches because this one
depended on the async freeing of bucket_table.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
lib/rhashtable.c