You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: [PATCH] get rid of __exit_files(), __exit_fs() and __put_fs_struct() [PATCH] proc_readfd_common() race fix [PATCH] double-free of inode on alloc_file() failure exit in create_write_pipe() [PATCH] teach seq_file to discard entries [PATCH] umount_tree() will unhash everything itself [PATCH] get rid of more nameidata passing in namespace.c [PATCH] switch a bunch of LSM hooks from nameidata to path [PATCH] lock exclusively in collect_mounts() and drop_collected_mounts() [PATCH] move a bunch of declarations to fs/internal.h
This commit is contained in:
+5
-5
@@ -196,13 +196,13 @@ static int dummy_sb_statfs (struct dentry *dentry)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dummy_sb_mount (char *dev_name, struct nameidata *nd, char *type,
|
||||
static int dummy_sb_mount (char *dev_name, struct path *path, char *type,
|
||||
unsigned long flags, void *data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dummy_sb_check_sb (struct vfsmount *mnt, struct nameidata *nd)
|
||||
static int dummy_sb_check_sb (struct vfsmount *mnt, struct path *path)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -229,17 +229,17 @@ static void dummy_sb_post_remount (struct vfsmount *mnt, unsigned long flags,
|
||||
}
|
||||
|
||||
|
||||
static void dummy_sb_post_addmount (struct vfsmount *mnt, struct nameidata *nd)
|
||||
static void dummy_sb_post_addmount (struct vfsmount *mnt, struct path *path)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
static int dummy_sb_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd)
|
||||
static int dummy_sb_pivotroot (struct path *old_path, struct path *new_path)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void dummy_sb_post_pivotroot (struct nameidata *old_nd, struct nameidata *new_nd)
|
||||
static void dummy_sb_post_pivotroot (struct path *old_path, struct path *new_path)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
+10
-10
@@ -296,15 +296,15 @@ int security_sb_statfs(struct dentry *dentry)
|
||||
return security_ops->sb_statfs(dentry);
|
||||
}
|
||||
|
||||
int security_sb_mount(char *dev_name, struct nameidata *nd,
|
||||
int security_sb_mount(char *dev_name, struct path *path,
|
||||
char *type, unsigned long flags, void *data)
|
||||
{
|
||||
return security_ops->sb_mount(dev_name, nd, type, flags, data);
|
||||
return security_ops->sb_mount(dev_name, path, type, flags, data);
|
||||
}
|
||||
|
||||
int security_sb_check_sb(struct vfsmount *mnt, struct nameidata *nd)
|
||||
int security_sb_check_sb(struct vfsmount *mnt, struct path *path)
|
||||
{
|
||||
return security_ops->sb_check_sb(mnt, nd);
|
||||
return security_ops->sb_check_sb(mnt, path);
|
||||
}
|
||||
|
||||
int security_sb_umount(struct vfsmount *mnt, int flags)
|
||||
@@ -327,19 +327,19 @@ void security_sb_post_remount(struct vfsmount *mnt, unsigned long flags, void *d
|
||||
security_ops->sb_post_remount(mnt, flags, data);
|
||||
}
|
||||
|
||||
void security_sb_post_addmount(struct vfsmount *mnt, struct nameidata *mountpoint_nd)
|
||||
void security_sb_post_addmount(struct vfsmount *mnt, struct path *mountpoint)
|
||||
{
|
||||
security_ops->sb_post_addmount(mnt, mountpoint_nd);
|
||||
security_ops->sb_post_addmount(mnt, mountpoint);
|
||||
}
|
||||
|
||||
int security_sb_pivotroot(struct nameidata *old_nd, struct nameidata *new_nd)
|
||||
int security_sb_pivotroot(struct path *old_path, struct path *new_path)
|
||||
{
|
||||
return security_ops->sb_pivotroot(old_nd, new_nd);
|
||||
return security_ops->sb_pivotroot(old_path, new_path);
|
||||
}
|
||||
|
||||
void security_sb_post_pivotroot(struct nameidata *old_nd, struct nameidata *new_nd)
|
||||
void security_sb_post_pivotroot(struct path *old_path, struct path *new_path)
|
||||
{
|
||||
security_ops->sb_post_pivotroot(old_nd, new_nd);
|
||||
security_ops->sb_post_pivotroot(old_path, new_path);
|
||||
}
|
||||
|
||||
int security_sb_get_mnt_opts(const struct super_block *sb,
|
||||
|
||||
@@ -2401,22 +2401,22 @@ static int selinux_sb_statfs(struct dentry *dentry)
|
||||
}
|
||||
|
||||
static int selinux_mount(char *dev_name,
|
||||
struct nameidata *nd,
|
||||
struct path *path,
|
||||
char *type,
|
||||
unsigned long flags,
|
||||
void *data)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc = secondary_ops->sb_mount(dev_name, nd, type, flags, data);
|
||||
rc = secondary_ops->sb_mount(dev_name, path, type, flags, data);
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
if (flags & MS_REMOUNT)
|
||||
return superblock_has_perm(current, nd->path.mnt->mnt_sb,
|
||||
return superblock_has_perm(current, path->mnt->mnt_sb,
|
||||
FILESYSTEM__REMOUNT, NULL);
|
||||
else
|
||||
return dentry_has_perm(current, nd->path.mnt, nd->path.dentry,
|
||||
return dentry_has_perm(current, path->mnt, path->dentry,
|
||||
FILE__MOUNTON);
|
||||
}
|
||||
|
||||
|
||||
@@ -315,10 +315,10 @@ static int smack_sb_statfs(struct dentry *dentry)
|
||||
* Returns 0 if current can write the floor of the filesystem
|
||||
* being mounted on, an error code otherwise.
|
||||
*/
|
||||
static int smack_sb_mount(char *dev_name, struct nameidata *nd,
|
||||
static int smack_sb_mount(char *dev_name, struct path *path,
|
||||
char *type, unsigned long flags, void *data)
|
||||
{
|
||||
struct superblock_smack *sbp = nd->path.mnt->mnt_sb->s_security;
|
||||
struct superblock_smack *sbp = path->mnt->mnt_sb->s_security;
|
||||
|
||||
return smk_curacc(sbp->smk_floor, MAY_WRITE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user