diff options
| author | Matt Johnston <[email protected]> | 2024-08-29 07:43:46 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2024-09-01 17:14:01 +0000 |
| commit | f962e8361adfa84e8252d3fc3e5e6bb879f029b1 (patch) | |
| tree | 1e5947123c77cf599e0033ce0042167f0d8356d1 /drivers/net/ethernet/intel/igc/igc_main.c | |
| parent | net: mctp-serial: Add kunit test for next_chunk_len() (diff) | |
| download | kernel-f962e8361adfa84e8252d3fc3e5e6bb879f029b1.tar.gz kernel-f962e8361adfa84e8252d3fc3e5e6bb879f029b1.zip | |
net: mctp-serial: Fix missing escapes on transmit
0x7d and 0x7e bytes are meant to be escaped in the data portion of
frames, but this didn't occur since next_chunk_len() had an off-by-one
error. That also resulted in the final byte of a payload being written
as a separate tty write op.
The chunk prior to an escaped byte would be one byte short, and the
next call would never test the txpos+1 case, which is where the escaped
byte was located. That meant it never hit the escaping case in
mctp_serial_tx_work().
Example Input: 01 00 08 c8 7e 80 02
Previous incorrect chunks from next_chunk_len():
01 00 08
c8 7e 80
02
With this fix:
01 00 08 c8
7e
80 02
Cc: [email protected]
Fixes: a0c2ccd9b5ad ("mctp: Add MCTP-over-serial transport binding")
Signed-off-by: Matt Johnston <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/igc/igc_main.c')
0 files changed, 0 insertions, 0 deletions
