Netvsc: Call hv_unmap_memory() in the netvsc_device_remove()
authorTianyu Lan <Tianyu.Lan@microsoft.com>
Tue, 8 Feb 2022 14:26:52 +0000 (09:26 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Feb 2022 11:54:05 +0000 (11:54 +0000)
commitb539324f6fe798bdb186e4e91eafb37dd851db2a
tree61f3edc3f98447e276b670d0316ce547d13c3152
parent4d8cb5ffe382a078db98a9f0ebd720d0219ebf42
Netvsc: Call hv_unmap_memory() in the netvsc_device_remove()

netvsc_device_remove() calls vunmap() inside which should not be
called in the interrupt context. Current code calls hv_unmap_memory()
in the free_netvsc_device() which is rcu callback and maybe called
in the interrupt context. This will trigger BUG_ON(in_interrupt())
in the vunmap(). Fix it via moving hv_unmap_memory() to netvsc_device_
remove().

Fixes: 846da38de0e8 ("net: netvsc: Add Isolation VM support for netvsc driver")
Signed-off-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c