]> git.ipfire.org Git - thirdparty/linux.git/commit
greybus: beagleplay: bound bootloader RX buffer copy
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Sun, 22 Mar 2026 03:19:23 +0000 (11:19 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Apr 2026 13:55:01 +0000 (15:55 +0200)
commitcbc96a916b1a3be7039b0166c0fc56ec1632ba01
tree632f0bbecc9c41e85569a05e33774ee9f1ffe561
parent8ca3d3b1c3383f5f23efe01c3fd9113ed06007bd
greybus: beagleplay: bound bootloader RX buffer copy

When `flashing_mode` is set, `gb_tty_receive()` routes incoming bytes to
`cc1352_bootloader_rx()`. That helper appends the new bytes to the shared
`rx_buffer` with `memcpy()` but does not check that the chunk fits in the
remaining space first. The normal HDLC receive path already enforces
`MAX_RX_HDLC`, so do the same here before appending bootloader data.

If a packet would overflow the receive buffer, drop it and reset the
bootloader receive state instead of copying past the end of `rx_buffer`.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://patch.msgid.link/20260322031923.58013-1-pengpeng@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/greybus/gb-beagleplay.c