can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions
authorOleksij Rempel <o.rempel@pengutronix.de>
Fri, 7 Aug 2020 10:52:00 +0000 (12:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Sep 2020 09:29:33 +0000 (11:29 +0200)
commitb960e50d61722b3bb7b7e4157ffafb7586e0ef6a
tree1fe5d198dd9abce52f66df6f6a3ee05e9e11b03a
parentda9c02c50991299d96b61cfc07af3cbe386c5668
can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions

[ Upstream commit e052d0540298bfe0f6cbbecdc7e2ea9b859575b2 ]

Since the stack relays on receiving own packets, it was overwriting own
transmit buffer from received packets.

At least theoretically, the received echo buffer can be corrupt or
changed and the session partner can request to resend previous data. In
this case we will re-send bad data.

With this patch we will stop to overwrite own TX buffer and use it for
sanity checking.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20200807105200.26441-6-o.rempel@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/can/j1939/transport.c