diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c index bafdf86b0497d8..dabf5006a2540a 100644 --- a/drivers/base/devtmpfs.c +++ b/drivers/base/devtmpfs.c @@ -71,7 +71,7 @@ static struct dentry *dev_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { #ifdef CONFIG_TMPFS - return mount_nodev(fs_type, flags, data, shmem_fill_super); + return shmem_mount(fs_type, flags, dev_name, data); #else return ramfs_mount(fs_type, flags, dev_name, data); #endif diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 20d815a331454f..88cb98b0e49bfd 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -50,7 +50,8 @@ static inline struct shmem_inode_info *SHMEM_I(struct inode *inode) * Functions in mm/shmem.c called directly from elsewhere: */ extern int shmem_init(void); -extern int shmem_fill_super(struct super_block *sb, void *data, int silent); +extern struct dentry *shmem_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data); extern struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags); extern struct file *shmem_kernel_file_setup(const char *name, loff_t size, diff --git a/init/do_mounts.c b/init/do_mounts.c index baedc2ef579efb..16c29e57f22473 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -631,7 +631,7 @@ static struct dentry *rootfs_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { if (IS_ENABLED(CONFIG_TMPFS) && is_tmpfs) - return mount_nodev(fs_type, flags, data, shmem_fill_super); + return shmem_mount(fs_type, flags, dev_name, data); return ramfs_mount(fs_type, flags, dev_name, data); } diff --git a/mm/shmem.c b/mm/shmem.c index 2bed4761f27956..40f574c06375a4 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3547,7 +3547,7 @@ static void shmem_put_super(struct super_block *sb) sb->s_fs_info = NULL; } -int shmem_fill_super(struct super_block *sb, void *data, int silent) +static int shmem_fill_super(struct super_block *sb, void *data, int silent) { struct inode *inode; struct shmem_sb_info *sbinfo; @@ -3759,7 +3759,7 @@ static const struct vm_operations_struct shmem_vm_ops = { #endif }; -static struct dentry *shmem_mount(struct file_system_type *fs_type, +struct dentry *shmem_mount(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { return mount_nodev(fs_type, flags, data, shmem_fill_super);