All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: gregkh@linuxfoundation.org, stable@vger.kernel.org, sashal@kernel.org
Cc: linux-can@vger.kernel.org, lukas.magel@posteo.net,
	patches@lists.linux.dev, maxime.jayat@mobile-devices.fr,
	mkl@pengutronix.de, michal.sojka@cvut.cz,
	Oliver Hartkopp <socketcan@hartkopp.net>,
	Derek Will <derekrobertwill@gmail.com>
Subject: [PATCH stable 5.10 05/10] can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting
Date: Tue, 31 Oct 2023 10:29:13 +0100	[thread overview]
Message-ID: <20231031092918.2668-6-socketcan@hartkopp.net> (raw)
In-Reply-To: <20231031092918.2668-1-socketcan@hartkopp.net>

commit 2aa39889c463195a0dfe2aff9fad413139c32a4f upstream

Commit 3ea566422cbd ("can: isotp: sanitize CAN ID checks in
isotp_bind()") checks the given CAN ID address information by
sanitizing the input values.

This check (silently) removes obsolete bits by masking the given CAN
IDs.

Derek Will suggested to give a feedback to the application programmer
when the 'sanitizing' was actually needed which means the programmer
provided CAN ID content in a wrong format (e.g. SFF CAN IDs with a CAN
ID > 0x7FF).

Link: https://lore.kernel.org/all/20220515181633.76671-1-socketcan@hartkopp.net
Suggested-by: Derek Will <derekrobertwill@gmail.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
 net/can/isotp.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/net/can/isotp.c b/net/can/isotp.c
index fb179a333784..902cb61b6495 100644
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -1140,10 +1140,15 @@ static int isotp_bind(struct socket *sock, struct sockaddr *uaddr, int len)
 	if (rx_id & CAN_EFF_FLAG)
 		rx_id &= (CAN_EFF_FLAG | CAN_EFF_MASK);
 	else
 		rx_id &= CAN_SFF_MASK;
 
+	/* give feedback on wrong CAN-ID values */
+	if (tx_id != addr->can_addr.tp.tx_id ||
+	    rx_id != addr->can_addr.tp.rx_id)
+		return -EINVAL;
+
 	if (!addr->can_ifindex)
 		return -ENODEV;
 
 	lock_sock(sk);
 
-- 
2.34.1


  parent reply	other threads:[~2023-10-31  9:30 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-31  9:29 [PATCH stable 5.10 00/10] can: isotp: upgrade to latest 6.1 LTS code base Oliver Hartkopp
2023-10-31  9:29 ` [PATCH stable 5.10 01/10] can: isotp: change error format from decimal to symbolic error names Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: change error format from decimal to symbolic error names" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 02/10] can: isotp: add symbolic error message to isotp_module_init() Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: add symbolic error message to isotp_module_init()" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 03/10] can: isotp: Add error message if txqueuelen is too small Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: Add error message if txqueuelen is too small" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 04/10] can: isotp: set max PDU size to 64 kByte Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: set max PDU size to 64 kByte" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` Oliver Hartkopp [this message]
2023-11-06 11:23   ` Patch "can: isotp: isotp_bind(): return -EINVAL on incorrect CAN ID formatting" " gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 06/10] can: isotp: check CAN address family in isotp_bind() Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: check CAN address family in isotp_bind()" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 07/10] can: isotp: handle wait_event_interruptible() return values Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: handle wait_event_interruptible() return values" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 08/10] can: isotp: add local echo tx processing and tx without FC Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: add local echo tx processing and tx without FC" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 09/10] can: isotp: isotp_bind(): do not validate unused address information Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: isotp_bind(): do not validate unused address information" has been added to the 5.10-stable tree gregkh
2023-10-31  9:29 ` [PATCH stable 5.10 10/10] can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior Oliver Hartkopp
2023-11-06 11:23   ` Patch "can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior" has been added to the 5.10-stable tree gregkh
2023-11-06 11:23 ` [PATCH stable 5.10 00/10] can: isotp: upgrade to latest 6.1 LTS code base Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231031092918.2668-6-socketcan@hartkopp.net \
    --to=socketcan@hartkopp.net \
    --cc=derekrobertwill@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-can@vger.kernel.org \
    --cc=lukas.magel@posteo.net \
    --cc=maxime.jayat@mobile-devices.fr \
    --cc=michal.sojka@cvut.cz \
    --cc=mkl@pengutronix.de \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.