Re: [PATCH] staging: fbtft: fix unaligned access and txbuf safety issues
From: Dan Carpenter <hidden>
Date: 2026-06-25 12:00:58
Also in:
dri-devel, linux-staging, lkml
On Thu, Jun 25, 2026 at 07:42:15PM +0800, suryasaimadhu wrote:
This patch addresses several pre-existing issues in the fbtft driver: 1. define_fbtft_write_reg(): when par->startbyte is set, buf is advanced by one byte creating a misaligned pointer for 16-bit types. Use put_unaligned() for register writes and fix the SPI transfer size from len * (sizeof(data_type) + offset) to len * sizeof(data_type) + offset. 2. fbtft_write_vmem16_bus8() and fb_ra8875 write_vmem16_bus8(): same unaligned 16-bit stores when txbuf is byte-offset for a start prefix. Use put_unaligned() for pixel data copies. 3. tx_array_size underflow: both vmem helpers subtract 2 from tx_array_size when a startbyte prefix is used. A small txbuflen device property causes unsigned underflow and out-of-bounds heap writes. Fall back to the non-buffered write path when the buffer is too small. 4. fb_ra8875 write_vmem16_bus8(): missing NULL check for par->txbuf.buf, which remains NULL on big-endian when txbuflen is 0 because the PAGE_SIZE fallback is little-endian only. Fall back to direct write when the buffer is missing. Also replace empty modifier arguments in define_fbtft_write_reg() with a no-op macro to fix checkpatch warnings. Signed-off-by: suryasaimadhu <redacted>
Is this how you would sign a legal document? This patch does too many things at once. Split it up. Also please a delay between sending us patches. Otherwise it's overwhelming to deal with. Bunch them together in a patchset instead of sending them one by one. regards, dan carpenter