net: xen-netback: hash.c: Use built-in RCU list checking
commit f3265971ded98a069ad699b51b8a5ab95e9e5be1 upstream. list_for_each_entry_rcu has built-in RCU and lock checking. Pass cond argument to list_for_each_entry_rcu. Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik04@gmail.com> Acked-by: Wei Liu <wei.liu@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net> Stable-dep-of: 0fa5e94a1811 ("net/xen-netback: prevent UAF in xenvif_flush_hash()") Signed-off-by: Hagar Hemdan <hagarhem@amazon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d304365293
commit
4b978070c5
@@ -51,7 +51,8 @@ static void xenvif_add_hash(struct xenvif *vif, const u8 *tag,
|
||||
|
||||
found = false;
|
||||
oldest = NULL;
|
||||
list_for_each_entry_rcu(entry, &vif->hash.cache.list, link) {
|
||||
list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
|
||||
lockdep_is_held(&vif->hash.cache.lock)) {
|
||||
/* Make sure we don't add duplicate entries */
|
||||
if (entry->len == len &&
|
||||
memcmp(entry->tag, tag, len) == 0)
|
||||
@@ -102,7 +103,8 @@ static void xenvif_flush_hash(struct xenvif *vif)
|
||||
|
||||
spin_lock_irqsave(&vif->hash.cache.lock, flags);
|
||||
|
||||
list_for_each_entry_rcu(entry, &vif->hash.cache.list, link) {
|
||||
list_for_each_entry_rcu(entry, &vif->hash.cache.list, link,
|
||||
lockdep_is_held(&vif->hash.cache.lock)) {
|
||||
list_del_rcu(&entry->link);
|
||||
vif->hash.cache.count--;
|
||||
kfree_rcu(entry, rcu);
|
||||
|
||||
Reference in New Issue
Block a user