mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 07:35:36 -05:00
Merge tag 'linux-can-fixes-for-6.19-20251218' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
Marc Kleine-Budde says: ==================== pull-request: can 2025-12-18 this is a pull request of 3 patches for net/main. Tetsuo Handa contributes 2 patches to fix race windows in the j1939 protocol to properly handle disappearing network devices. The last patch is by me, it fixes a build dependency with the CAN drivers, that got introduced while fixing a dependency between the CAN protocol and CAN device code. linux-can-fixes-for-6.19-20251218 * tag 'linux-can-fixes-for-6.19-20251218' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can: can: fix build dependency can: j1939: make j1939_sk_bind() fail if device is no longer registered can: j1939: make j1939_session_activate() fail if device is no longer registered ==================== Link: https://patch.msgid.link/20251218123132.664533-1-mkl@pengutronix.de Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
@@ -17,7 +17,7 @@ menuconfig CAN_DEV
|
||||
virtual ones. If you own such devices or plan to use the virtual CAN
|
||||
interfaces to develop applications, say Y here.
|
||||
|
||||
if CAN_DEV
|
||||
if CAN_DEV && CAN
|
||||
|
||||
config CAN_VCAN
|
||||
tristate "Virtual Local CAN Interface (vcan)"
|
||||
|
||||
@@ -482,6 +482,12 @@ static int j1939_sk_bind(struct socket *sock, struct sockaddr_unsized *uaddr, in
|
||||
goto out_release_sock;
|
||||
}
|
||||
|
||||
if (ndev->reg_state != NETREG_REGISTERED) {
|
||||
dev_put(ndev);
|
||||
ret = -ENODEV;
|
||||
goto out_release_sock;
|
||||
}
|
||||
|
||||
can_ml = can_get_ml_priv(ndev);
|
||||
if (!can_ml) {
|
||||
dev_put(ndev);
|
||||
|
||||
@@ -1567,6 +1567,8 @@ int j1939_session_activate(struct j1939_session *session)
|
||||
if (active) {
|
||||
j1939_session_put(active);
|
||||
ret = -EAGAIN;
|
||||
} else if (priv->ndev->reg_state != NETREG_REGISTERED) {
|
||||
ret = -ENODEV;
|
||||
} else {
|
||||
WARN_ON_ONCE(session->state != J1939_SESSION_NEW);
|
||||
list_add_tail(&session->active_session_list_entry,
|
||||
|
||||
Reference in New Issue
Block a user