[PATCH 0/2] can: j1939: avoid possible use-after-free when j1939_can_rx_register fails

From: Fedor Pchelkin
Date: Fri May 26 2023 - 13:20:18 EST


The patch series fixes a possible racy use-after-free scenario described
in 2/2: if j1939_can_rx_register() fails then the concurrent thread may
have already read the invalid priv structure.

The 1/2 makes j1939_netdev_lock a mutex so that access to
j1939_can_rx_register() can be serialized without changing GFP_KERNEL to
GFP_ATOMIC inside can_rx_register(). This seems to be safe.

Note that the patch series has been tested only via Syzkaller and not with
a real device.