diff options
Diffstat (limited to 'include/linux/security.h')
| -rw-r--r-- | include/linux/security.h | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/include/linux/security.h b/include/linux/security.h index 59a11e19b617..6423abf1ac0f 100644 --- a/include/linux/security.h +++ b/include/linux/security.h @@ -1797,17 +1797,21 @@ static inline int security_settime(struct timespec *ts, struct timezone *tz)  static inline int security_vm_enough_memory(long pages)  { +	WARN_ON(current->mm == NULL);  	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_set_creds(struct linux_binprm *bprm)  | 
