|
@@ -66,6 +66,9 @@ extern int cap_inode_setxattr(struct dentry *dentry, const char *name,
|
|
|
extern int cap_inode_removexattr(struct dentry *dentry, const char *name);
|
|
|
extern int cap_inode_need_killpriv(struct dentry *dentry);
|
|
|
extern int cap_inode_killpriv(struct dentry *dentry);
|
|
|
+extern int cap_file_mmap(struct file *file, unsigned long reqprot,
|
|
|
+ unsigned long prot, unsigned long flags,
|
|
|
+ unsigned long addr, unsigned long addr_only);
|
|
|
extern int cap_task_fix_setuid(struct cred *new, const struct cred *old, int flags);
|
|
|
extern int cap_task_prctl(int option, unsigned long arg2, unsigned long arg3,
|
|
|
unsigned long arg4, unsigned long arg5);
|
|
@@ -2197,9 +2200,7 @@ static inline int security_file_mmap(struct file *file, unsigned long reqprot,
|
|
|
unsigned long addr,
|
|
|
unsigned long addr_only)
|
|
|
{
|
|
|
- if ((addr < mmap_min_addr) && !capable(CAP_SYS_RAWIO))
|
|
|
- return -EACCES;
|
|
|
- return 0;
|
|
|
+ return cap_file_mmap(file, reqprot, prot, flags, addr, addr_only);
|
|
|
}
|
|
|
|
|
|
static inline int security_file_mprotect(struct vm_area_struct *vma,
|