TencentOS-kernel/net/can/j1939
Zhang Changzhong 33acb6eada can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM
commit 164051a6ab5445bd97f719f50b16db8b32174269 upstream.

The TP.CM_BAM message must be sent to the global address [1], so add a
check to drop TP.CM_BAM sent to a non-global address.

Without this patch, the receiver will treat the following packets as
normal RTS/CTS transport:
18EC0102#20090002FF002301
18EB0102#0100000000000000
18EB0102#020000FFFFFFFFFF

[1] SAE-J1939-82 2015 A.3.3 Row 1.

Fixes: 9d71dd0c7009 ("can: add support of SAE J1939 protocol")
Link: https://lore.kernel.org/all/1635431907-15617-4-git-send-email-zhangchangzhong@huawei.com
Cc: stable@vger.kernel.org
Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-23 15:24:04 +08:00
..
Kconfig Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Makefile Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
address-claim.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
bus.c Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
j1939-priv.h can: j1939: j1939_xtp_rx_rts_session_new(): abort TP less than 9 bytes 2022-06-23 15:24:03 +08:00
main.c can: j1939: j1939_can_recv(): ignore messages with invalid source address 2022-06-23 15:24:03 +08:00
socket.c can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done 2022-06-23 15:24:01 +08:00
transport.c can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM 2022-06-23 15:24:04 +08:00