OSDN Git Service

xdp: obtain the mem_id mutex before trying to remove an entry.
authorJonathan Lemon <jonathan.lemon@gmail.com>
Tue, 3 Dec 2019 22:01:14 +0000 (14:01 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Dec 2019 00:35:18 +0000 (16:35 -0800)
commit86c76c09898332143be365c702cf8d586ed4ed21
tree934806f44fc30fbc7412522e016c09b639bd805f
parent95219afbb980f10934de9f23a3e199be69c5ed09
xdp: obtain the mem_id mutex before trying to remove an entry.

A lockdep splat was observed when trying to remove an xdp memory
model from the table since the mutex was obtained when trying to
remove the entry, but not before the table walk started:

Fix the splat by obtaining the lock before starting the table walk.

Fixes: c3f812cea0d7 ("page_pool: do not release pool until inflight == 0.")
Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/xdp.c