]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
powerpc/spufs: fix out-of-bounds access in spufs_mem_mmap_access()
authorJunrui Luo <moonafterrain@outlook.com>
Mon, 1 Jun 2026 07:50:00 +0000 (15:50 +0800)
committerMadhavan Srinivasan <maddy@linux.ibm.com>
Mon, 13 Jul 2026 09:40:04 +0000 (15:10 +0530)
commit47b87f469a35b5ffc81c16eee6b13a9b6c8d55c6
tree99b464b4c80e271fed9b5bdbe2a00063cc273a26
parentfe179677b6dcb4b658586038a811f87265e97777
powerpc/spufs: fix out-of-bounds access in spufs_mem_mmap_access()

spufs_mem_mmap_access() computes the local store offset as
address - vma->vm_start, but bounds-checks it against vma->vm_end
instead of the local store size. On 64-bit, offset is always well
below vma->vm_end, so the clamp never fires and len stays unbounded
against the LS_SIZE buffer returned by ctx->ops->get_ls().

Reject offsets at or beyond LS_SIZE and clamp len to the remaining
space, mirroring the guard already used by spufs_mem_mmap_fault() and
spufs_ps_fault().

Fixes: a352894d0705 ("spufs: use new vm_ops->access to allow local state access from gdb")
Reported-by: Yuhao Jiang <danisjiang@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Junrui Luo <moonafterrain@outlook.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/SYBPR01MB7881EE775E8B51C09F5A29E7AF152@SYBPR01MB7881.ausprd01.prod.outlook.com
arch/powerpc/platforms/cell/spufs/file.c