]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
nfsd: fix vm overcommit crash
authorAlan Cox <alan@redhat.com>
Wed, 29 Oct 2008 21:01:20 +0000 (14:01 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 26 May 2010 21:27:09 +0000 (14:27 -0700)
commit3f955fe683ffdda7fd68e0b61779001cb9b50011
treeb226e5056dcd6defc352ffc5ec29b3dd7c091c49
parent0ce0dd4ec9890eefb7b656c74bc5256c60626a85
nfsd: fix vm overcommit crash

commit 731572d39fcd3498702eda4600db4c43d51e0b26 upstream.

Junjiro R.  Okajima reported a problem where knfsd crashes if you are
using it to export shmemfs objects and run strict overcommit.  In this
situation the current->mm based modifier to the overcommit goes through a
NULL pointer.

We could simply check for NULL and skip the modifier but we've caught
other real bugs in the past from mm being NULL here - cases where we did
need a valid mm set up (eg the exec bug about a year ago).

To preserve the checks and get the logic we want shuffle the checking
around and add a new helper to the vm_ security wrappers

Also fix a current->mm reference in nommu that should use the passed mm

[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: fix build]
Reported-by: Junjiro R. Okajima <hooanon05@yahoo.co.jp>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/linux/security.h
mm/mmap.c
mm/nommu.c
mm/shmem.c
security/security.c