aboutsummaryrefslogtreecommitdiffstats
path: root/rust/helpers/slab.c
diff options
context:
space:
mode:
authorAndrew Morton <[email protected]>2025-06-08 00:43:18 +0000
committerAndrew Morton <[email protected]>2025-06-12 05:42:36 +0000
commit50695153d7ddde3b1696dbf0085be0033bf3ddb3 (patch)
treea698a261d85c01acb5067b778a0ace02a5ab86b9 /rust/helpers/slab.c
parentmm: close theoretical race where stale TLB entries could linger (diff)
downloadkernel-50695153d7ddde3b1696dbf0085be0033bf3ddb3.tar.gz
kernel-50695153d7ddde3b1696dbf0085be0033bf3ddb3.zip
drivers/rapidio/rio_cm.c: prevent possible heap overwrite
In riocm_cdev_ioctl(RIO_CM_CHAN_SEND) -> cm_chan_msg_send() -> riocm_ch_send() cm_chan_msg_send() checks that userspace didn't send too much data but riocm_ch_send() failed to check that userspace sent sufficient data. The result is that riocm_ch_send() can write to fields in the rio_ch_chan_hdr which were outside the bounds of the space which cm_chan_msg_send() allocated. Address this by teaching riocm_ch_send() to check that the entire rio_ch_chan_hdr was copied in from userspace. Reported-by: maher azz <[email protected]> Cc: Matt Porter <[email protected]> Cc: Alexandre Bounine <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'rust/helpers/slab.c')
0 files changed, 0 insertions, 0 deletions