summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/super.c5
-rw-r--r--mm/shmem.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/fs/super.c b/fs/super.c
index f627b7c53d2b..cfadab2cbf35 100644
--- a/fs/super.c
+++ b/fs/super.c
@@ -1300,6 +1300,7 @@ int get_tree_bdev(struct fs_context *fc,
1300 mutex_lock(&bdev->bd_fsfreeze_mutex); 1300 mutex_lock(&bdev->bd_fsfreeze_mutex);
1301 if (bdev->bd_fsfreeze_count > 0) { 1301 if (bdev->bd_fsfreeze_count > 0) {
1302 mutex_unlock(&bdev->bd_fsfreeze_mutex); 1302 mutex_unlock(&bdev->bd_fsfreeze_mutex);
1303 blkdev_put(bdev, mode);
1303 warnf(fc, "%pg: Can't mount, blockdev is frozen", bdev); 1304 warnf(fc, "%pg: Can't mount, blockdev is frozen", bdev);
1304 return -EBUSY; 1305 return -EBUSY;
1305 } 1306 }
@@ -1308,8 +1309,10 @@ int get_tree_bdev(struct fs_context *fc,
1308 fc->sget_key = bdev; 1309 fc->sget_key = bdev;
1309 s = sget_fc(fc, test_bdev_super_fc, set_bdev_super_fc); 1310 s = sget_fc(fc, test_bdev_super_fc, set_bdev_super_fc);
1310 mutex_unlock(&bdev->bd_fsfreeze_mutex); 1311 mutex_unlock(&bdev->bd_fsfreeze_mutex);
1311 if (IS_ERR(s)) 1312 if (IS_ERR(s)) {
1313 blkdev_put(bdev, mode);
1312 return PTR_ERR(s); 1314 return PTR_ERR(s);
1315 }
1313 1316
1314 if (s->s_root) { 1317 if (s->s_root) {
1315 /* Don't summarily change the RO/RW state. */ 1318 /* Don't summarily change the RO/RW state. */
diff --git a/mm/shmem.c b/mm/shmem.c
index cd570cc79c76..220be9fa2c41 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -3482,6 +3482,12 @@ static int shmem_parse_options(struct fs_context *fc, void *data)
3482{ 3482{
3483 char *options = data; 3483 char *options = data;
3484 3484
3485 if (options) {
3486 int err = security_sb_eat_lsm_opts(options, &fc->security);
3487 if (err)
3488 return err;
3489 }
3490
3485 while (options != NULL) { 3491 while (options != NULL) {
3486 char *this_char = options; 3492 char *this_char = options;
3487 for (;;) { 3493 for (;;) {