Re: [PATCH v2] net: hamradio: 6pack: fix uninit-value in sixpack_receive_buf
Simon Horman <[email protected]> Fri, 10 Apr 2026 17:13:32 +0100
| Newsgroups | org.kernel.vger.linux-hams,org.kernel.vger.netdev,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Apr 08, 2026 at 01:31:01AM +0800, Mashiro Chen wrote: > sixpack_receive_buf() does not properly skip bytes with TTY error flags. > The while loop iterates through the flags buffer but never advances the > data pointer (cp), and passes the original count (including error bytes) > to sixpack_decode(). This causes sixpack_decode() to process bytes that > should have been skipped due to TTY errors. The TTY layer does not > guarantee that cp[i] holds a meaningful value when fp[i] is set, so > passing those positions to sixpack_decode() results in KMSAN reporting > an uninit-value read. > > Fix this by processing bytes one at a time, advancing cp on each > iteration, and only passing valid (non-error) bytes to sixpack_decode(). > This matches the pattern used by slip_receive_buf() and > mkiss_receive_buf() for the same purpose. > > Reported-by: [email protected] > Closes: https://syzkaller.appspot.com/bug?extid=ecdb8c9878a81eb21e54 > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") > Signed-off-by: Mashiro Chen <[email protected]> Thanks for the updates. Reviewed-by: Simon Horman <[email protected]>