Commit 21a88f5d authored by Paolo Abeni's avatar Paolo Abeni
Browse files

Merge tag 'linux-can-fixes-for-6.19-20251218' of...

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: default avatarPaolo Abeni <pabeni@redhat.com>
parents 373a34ad 5a5aff63
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)"
+6 −0
Original line number Diff line number Diff line
@@ -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);
+2 −0
Original line number Diff line number Diff line
@@ -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,