diff options
author | David Howells <dhowells@redhat.com> | 2018-09-11 22:20:53 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2018-09-11 22:20:53 +0100 |
commit | 307c6e5241b4b44076c016bc64d1748b93d1792b (patch) | |
tree | 6b60bd39e494ea09efdc54e57c4cad7dc80760ce /fs/hpfs | |
parent | 11da3a7f84f19c26da6f86af878298694ede0804 (diff) | |
download | linux-next-307c6e5241b4b44076c016bc64d1748b93d1792b.tar.gz |
vfs: Require specification of size of mount data for internal mounts
Require specification of the size of the mount data passed to the VFS
mounting functions by internal mounts. The problem is that the legacy
handling for the upcoming mount-context patches has to copy an entire page
as that's how big the buffer is defined as being, but some of the internal
calls pass in a short bit of stack space, with the result that the stack
guard page may get hit.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/hpfs')
-rw-r--r-- | fs/hpfs/super.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index f2c3ebcd309c..53e585b27c05 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c @@ -445,7 +445,8 @@ HPFS filesystem options:\n\ \n"); } -static int hpfs_remount_fs(struct super_block *s, int *flags, char *data) +static int hpfs_remount_fs(struct super_block *s, int *flags, + char *data, size_t data_size) { kuid_t uid; kgid_t gid; @@ -540,7 +541,8 @@ static const struct super_operations hpfs_sops = .show_options = hpfs_show_options, }; -static int hpfs_fill_super(struct super_block *s, void *options, int silent) +static int hpfs_fill_super(struct super_block *s, + void *options, size_t data_size, int silent) { struct buffer_head *bh0, *bh1, *bh2; struct hpfs_boot_block *bootblock; @@ -757,9 +759,10 @@ bail0: } static struct dentry *hpfs_mount(struct file_system_type *fs_type, - int flags, const char *dev_name, void *data) + int flags, const char *dev_name, void *data, size_t data_size) { - return mount_bdev(fs_type, flags, dev_name, data, hpfs_fill_super); + return mount_bdev(fs_type, flags, dev_name, data, data_size, + hpfs_fill_super); } static struct file_system_type hpfs_fs_type = { |