summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2023-10-31 10:29:12 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-11-08 17:30:50 +0100
commit93b1e3f3a263e9986e8f46d23f1a932d4e34adf4 (patch)
tree117111b58a6ccdee1cf1335388f5916735b0456a
parent7adbc048d84b54aaa2faf466d888e436fb83f70b (diff)
downloadlinux-stable-93b1e3f3a263e9986e8f46d23f1a932d4e34adf4.tar.gz
linux-stable-93b1e3f3a263e9986e8f46d23f1a932d4e34adf4.tar.bz2
linux-stable-93b1e3f3a263e9986e8f46d23f1a932d4e34adf4.zip
can: isotp: set max PDU size to 64 kByte
commit 9c0c191d82a1de964ac953a1df8b5744ec670b07 upstream The reason to extend the max PDU size from 4095 Byte (12 bit length value) to a 32 bit value (up to 4 GByte) was to be able to flash 64 kByte bootloaders with a single ISO-TP PDU. The max PDU size in the Linux kernel implementation was set to 8200 Bytes to be able to test the length information escape sequence. It turns out that the demand for 64 kByte PDUs is real so the value for MAX_MSG_LENGTH is set to 66000 to be able to potentially add some checksums to the 65.536 Byte block. Link: https://github.com/linux-can/can-utils/issues/347#issuecomment-1056142301 Link: https://lore.kernel.org/all/20220309120416.83514-3-socketcan@hartkopp.net Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/can/isotp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/can/isotp.c b/net/can/isotp.c
index ef72e5344789..fb179a333784 100644
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -87,9 +87,9 @@ MODULE_ALIAS("can-proto-6");
/* ISO 15765-2:2016 supports more than 4095 byte per ISO PDU as the FF_DL can
* take full 32 bit values (4 Gbyte). We would need some good concept to handle
* this between user space and kernel space. For now increase the static buffer
- * to something about 8 kbyte to be able to test this new functionality.
+ * to something about 64 kbyte to be able to test this new functionality.
*/
-#define MAX_MSG_LENGTH 8200
+#define MAX_MSG_LENGTH 66000
/* N_PCI type values in bits 7-4 of N_PCI bytes */
#define N_PCI_SF 0x00 /* single frame */