+36
−10
Loading
There is race between the netdev notifier ip_vs_dst_event() and the code that caches dst with dev that is going down. As the FIB can be notified for the closed device after our handler finishes, it is possible valid route to be returned and cached resuling in a leaked dev reference until the dest is not removed. To prevent new dest_dst to be attached to dest just after the handler dropped the old one, add a netif_running() check to make sure the notifier handler is not currently running for device that is closing. Fixes: 7a4f0761 ("IPVS: init and cleanup restructuring") Signed-off-by:Julian Anastasov <ja@ssi.bg> Signed-off-by:
Florian Westphal <fw@strlen.de>