ecryptfs: fix kernel panic with null dev_name

When mounting eCryptfs, a null "dev_name" argument to ecryptfs_mount()
causes a kernel panic if the parsed options are valid. The easiest way to
reproduce this is to call mount() from userspace with an existing
eCryptfs mount's options and a "source" argument of 0.

Error out if "dev_name" is null in ecryptfs_mount()

Fixes: 237fead619 ("[PATCH] ecryptfs: fs/Makefile and fs/Kconfig")
Cc: stable@vger.kernel.org
Signed-off-by: Jeffrey Mitchell <jeffrey.mitchell@starlab.io>
Signed-off-by: Tyler Hicks <code@tyhicks.com>
This commit is contained in:
Jeffrey Mitchell 2021-02-26 15:00:23 -06:00 committed by Tyler Hicks
parent 7f06ecd3af
commit 9046625511
1 changed files with 6 additions and 0 deletions

View File

@ -492,6 +492,12 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
goto out; goto out;
} }
if (!dev_name) {
rc = -EINVAL;
err = "Device name cannot be null";
goto out;
}
rc = ecryptfs_parse_options(sbi, raw_data, &check_ruid); rc = ecryptfs_parse_options(sbi, raw_data, &check_ruid);
if (rc) { if (rc) {
err = "Error parsing options"; err = "Error parsing options";