Unverified Commit 78da1ab0 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!12742 net/xen-netback: prevent UAF in xenvif_flush_hash()

parents 50eeb582 570d4831
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ static u32 xenvif_new_hash(struct xenvif *vif, const u8 *data,

static void xenvif_flush_hash(struct xenvif *vif)
{
	struct xenvif_hash_cache_entry *entry;
	struct xenvif_hash_cache_entry *entry, *n;
	unsigned long flags;

	if (xenvif_hash_cache_size == 0)
@@ -103,8 +103,7 @@ 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,
				lockdep_is_held(&vif->hash.cache.lock)) {
	list_for_each_entry_safe(entry, n, &vif->hash.cache.list, link) {
		list_del_rcu(&entry->link);
		vif->hash.cache.count--;
		kfree_rcu(entry, rcu);