lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 16 Oct 2013 10:45:29 -0700 From: Greg Kroah-Hartman <gregkh@...uxfoundation.org> To: linux-kernel@...r.kernel.org Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>, stable@...r.kernel.org, Davidlohr Bueso <davidlohr.bueso@...com>, Sedat Dilek <sedat.dilek@...il.com>, Rik van Riel <riel@...hat.com>, Manfred Spraul <manfred@...orfullife.com>, Andrew Morton <akpm@...ux-foundation.org>, Linus Torvalds <torvalds@...ux-foundation.org>, Mike Galbraith <efault@....de> Subject: [ 43/50] ipc, shm: guard against non-existant vma in shmdt(2) 3.11-stable review patch. If anyone has any objections, please let me know. ------------------ From: Davidlohr Bueso <davidlohr.bueso@...com> commit 530fcd16d87cd2417c472a581ba5a1e501556c86 upstream. When !CONFIG_MMU there's a chance we can derefence a NULL pointer when the VM area isn't found - check the return value of find_vma(). Also, remove the redundant -EINVAL return: retval is set to the proper return code and *only* changed to 0, when we actually unmap the segments. Signed-off-by: Davidlohr Bueso <davidlohr.bueso@...com> Cc: Sedat Dilek <sedat.dilek@...il.com> Cc: Rik van Riel <riel@...hat.com> Cc: Manfred Spraul <manfred@...orfullife.com> Signed-off-by: Andrew Morton <akpm@...ux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@...ux-foundation.org> Cc: Mike Galbraith <efault@....de> Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org> --- ipc/shm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) --- a/ipc/shm.c +++ b/ipc/shm.c @@ -1295,8 +1295,7 @@ SYSCALL_DEFINE1(shmdt, char __user *, sh #else /* CONFIG_MMU */ /* under NOMMU conditions, the exact address to be destroyed must be * given */ - retval = -EINVAL; - if (vma->vm_start == addr && vma->vm_ops == &shm_vm_ops) { + if (vma && vma->vm_start == addr && vma->vm_ops == &shm_vm_ops) { do_munmap(mm, vma->vm_start, vma->vm_end - vma->vm_start); retval = 0; } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists