Merge 7d6beb71da ("Merge tag 'idmapped-mounts-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux") into android-mainline
Steps on the way to 5.12-rc1. Resolves conflicts in: fs/overlayfs/inode.c Note, incfs is broken here, will mark it as BROKEN in another patch to make it more obvious. Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I95a5938fc3cfa27d521c5d4fd18b2adfb13a6d84
This commit is contained in:
@@ -143,13 +143,16 @@ extern int cap_capset(struct cred *new, const struct cred *old,
|
||||
const kernel_cap_t *inheritable,
|
||||
const kernel_cap_t *permitted);
|
||||
extern int cap_bprm_creds_from_file(struct linux_binprm *bprm, struct file *file);
|
||||
extern int cap_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
const void *value, size_t size, int flags);
|
||||
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_inode_getsecurity(struct inode *inode, const char *name,
|
||||
void **buffer, bool alloc);
|
||||
int cap_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
const void *value, size_t size, int flags);
|
||||
int cap_inode_removexattr(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry, const char *name);
|
||||
int cap_inode_need_killpriv(struct dentry *dentry);
|
||||
int cap_inode_killpriv(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry);
|
||||
int cap_inode_getsecurity(struct user_namespace *mnt_userns,
|
||||
struct inode *inode, const char *name, void **buffer,
|
||||
bool alloc);
|
||||
extern int cap_mmap_addr(unsigned long addr);
|
||||
extern int cap_mmap_file(struct file *file, unsigned long reqprot,
|
||||
unsigned long prot, unsigned long flags);
|
||||
@@ -346,16 +349,21 @@ int security_inode_follow_link(struct dentry *dentry, struct inode *inode,
|
||||
int security_inode_permission(struct inode *inode, int mask);
|
||||
int security_inode_setattr(struct dentry *dentry, struct iattr *attr);
|
||||
int security_inode_getattr(const struct path *path);
|
||||
int security_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
int security_inode_setxattr(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry, const char *name,
|
||||
const void *value, size_t size, int flags);
|
||||
void security_inode_post_setxattr(struct dentry *dentry, const char *name,
|
||||
const void *value, size_t size, int flags);
|
||||
int security_inode_getxattr(struct dentry *dentry, const char *name);
|
||||
int security_inode_listxattr(struct dentry *dentry);
|
||||
int security_inode_removexattr(struct dentry *dentry, const char *name);
|
||||
int security_inode_removexattr(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry, const char *name);
|
||||
int security_inode_need_killpriv(struct dentry *dentry);
|
||||
int security_inode_killpriv(struct dentry *dentry);
|
||||
int security_inode_getsecurity(struct inode *inode, const char *name, void **buffer, bool alloc);
|
||||
int security_inode_killpriv(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry);
|
||||
int security_inode_getsecurity(struct user_namespace *mnt_userns,
|
||||
struct inode *inode, const char *name,
|
||||
void **buffer, bool alloc);
|
||||
int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags);
|
||||
int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size);
|
||||
void security_inode_getsecid(struct inode *inode, u32 *secid);
|
||||
@@ -839,8 +847,9 @@ static inline int security_inode_getattr(const struct path *path)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_inode_setxattr(struct dentry *dentry,
|
||||
const char *name, const void *value, size_t size, int flags)
|
||||
static inline int security_inode_setxattr(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry, const char *name, const void *value,
|
||||
size_t size, int flags)
|
||||
{
|
||||
return cap_inode_setxattr(dentry, name, value, size, flags);
|
||||
}
|
||||
@@ -860,10 +869,11 @@ static inline int security_inode_listxattr(struct dentry *dentry)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int security_inode_removexattr(struct dentry *dentry,
|
||||
const char *name)
|
||||
static inline int security_inode_removexattr(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry,
|
||||
const char *name)
|
||||
{
|
||||
return cap_inode_removexattr(dentry, name);
|
||||
return cap_inode_removexattr(mnt_userns, dentry, name);
|
||||
}
|
||||
|
||||
static inline int security_inode_need_killpriv(struct dentry *dentry)
|
||||
@@ -871,14 +881,18 @@ static inline int security_inode_need_killpriv(struct dentry *dentry)
|
||||
return cap_inode_need_killpriv(dentry);
|
||||
}
|
||||
|
||||
static inline int security_inode_killpriv(struct dentry *dentry)
|
||||
static inline int security_inode_killpriv(struct user_namespace *mnt_userns,
|
||||
struct dentry *dentry)
|
||||
{
|
||||
return cap_inode_killpriv(dentry);
|
||||
return cap_inode_killpriv(mnt_userns, dentry);
|
||||
}
|
||||
|
||||
static inline int security_inode_getsecurity(struct inode *inode, const char *name, void **buffer, bool alloc)
|
||||
static inline int security_inode_getsecurity(struct user_namespace *mnt_userns,
|
||||
struct inode *inode,
|
||||
const char *name, void **buffer,
|
||||
bool alloc)
|
||||
{
|
||||
return cap_inode_getsecurity(inode, name, buffer, alloc);
|
||||
return cap_inode_getsecurity(mnt_userns, inode, name, buffer, alloc);
|
||||
}
|
||||
|
||||
static inline int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags)
|
||||
|
||||
Reference in New Issue
Block a user