提交 1b79cd04 编写于 作者: J Junjiro R. Okajima 提交者: Linus Torvalds

nfsd: fix vm overcommit crash fix #2

The previous patch from Alan Cox ("nfsd: fix vm overcommit crash",
commit 731572d3) fixed the problem where
knfsd crashes on exported shmemfs objects and strict overcommit is set.

But the patch forgot supporting the case when CONFIG_SECURITY is
disabled.

This patch copies a part of his fix which is mainly for detecting a bug
earlier.
Acked-by: NJames Morris <jmorris@namei.org>
Signed-off-by: NAlan Cox <alan@redhat.com>
Signed-off-by: NJunjiro R. Okajima <hooanon05@yahoo.co.jp>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 061e41fd
...@@ -1818,17 +1818,21 @@ static inline int security_settime(struct timespec *ts, struct timezone *tz) ...@@ -1818,17 +1818,21 @@ static inline int security_settime(struct timespec *ts, struct timezone *tz)
static inline int security_vm_enough_memory(long pages) static inline int security_vm_enough_memory(long pages)
{ {
WARN_ON(current->mm == NULL);
return cap_vm_enough_memory(current->mm, pages); return cap_vm_enough_memory(current->mm, pages);
} }
static inline int security_vm_enough_memory_kern(long pages) static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages)
{ {
return cap_vm_enough_memory(current->mm, pages); WARN_ON(mm == NULL);
return cap_vm_enough_memory(mm, pages);
} }
static inline int security_vm_enough_memory_mm(struct mm_struct *mm, long pages) static inline int security_vm_enough_memory_kern(long pages)
{ {
return cap_vm_enough_memory(mm, pages); /* If current->mm is a kernel thread then we will pass NULL,
for this specific case that is fine */
return cap_vm_enough_memory(current->mm, pages);
} }
static inline int security_bprm_alloc(struct linux_binprm *bprm) static inline int security_bprm_alloc(struct linux_binprm *bprm)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册