From: Masato Noguchi Date: Tue, 13 Feb 2007 20:54:30 +0000 (+0100) Subject: [POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node X-Git-Tag: v2.6.21-rc1~273^2~3^2~6^2~2 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=128b8546a83a9e37448bc126e1045dc1db291165;p=linux-2.6-omap-h63xx.git [POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node I found an exploit in current kernel. Currently, there is no range check about mmapping "/mem" node in spufs. Thus, an application can access privilege memory region. In case this kernel already worked on a public server, I send this information only here. If there are such servers in somewhere, please replace it, ASAP. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann --- diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index c729813043a..b00653d69c0 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c @@ -103,6 +103,9 @@ static unsigned long spufs_mem_mmap_nopfn(struct vm_area_struct *vma, offset += vma->vm_pgoff << PAGE_SHIFT; + if (offset >= LS_SIZE) + return NOPFN_SIGBUS; + spu_acquire(ctx); if (ctx->state == SPU_STATE_SAVED) {