From Dave Miller:
We weren't handling a NULL 'type' argument to mount() properly,
f.e. this happens legitimately when changing the options of an
existing mount.
if (err)
goto out;
- if (!type_page) {
- err = -EINVAL;
- goto out;
+ if (type_page) {
+ is_smb = !strcmp((char *)type_page, SMBFS_NAME);
+ is_ncp = !strcmp((char *)type_page, NCPFS_NAME);
+ } else {
+ is_smb = is_ncp = 0;
}
- is_smb = !strcmp((char *)type_page, SMBFS_NAME);
- is_ncp = !strcmp((char *)type_page, NCPFS_NAME);
-
err = copy_mount_stuff_to_kernel((const void *)AA(data), &data_page);
if (err)
goto type_out;