net: Prevent use after free in netif_napi_set_irq_locked()
The cpu_rmap_put() will call kfree() when the last reference is dropped
so it could result in a use after free when we dereference the same
pointer the next line. Move the cpu_rmap_put() after the dereference.
Fixes: bd7c00605ee0 ("net: move aRFS rmap management and CPU affinity to core")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/5a9c53a4-5487-4b8c-9ffa-d8e5343aaaaf@stanley.mountain
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b9564ca3a2
commit
f252f23ab6
@ -7072,8 +7072,8 @@ void netif_napi_set_irq_locked(struct napi_struct *napi, int irq)
|
||||
put_rmap:
|
||||
#ifdef CONFIG_RFS_ACCEL
|
||||
if (napi->dev->rx_cpu_rmap_auto) {
|
||||
cpu_rmap_put(napi->dev->rx_cpu_rmap);
|
||||
napi->dev->rx_cpu_rmap->obj[napi->napi_rmap_idx] = NULL;
|
||||
cpu_rmap_put(napi->dev->rx_cpu_rmap);
|
||||
napi->napi_rmap_idx = -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user