diff options
-rw-r--r-- | fs/ext4/ioctl.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index 0f2252ec274d..3d5de16f028f 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c | |||
@@ -532,9 +532,17 @@ group_add_out: | |||
532 | } | 532 | } |
533 | 533 | ||
534 | case EXT4_IOC_SWAP_BOOT: | 534 | case EXT4_IOC_SWAP_BOOT: |
535 | { | ||
536 | int err; | ||
535 | if (!(filp->f_mode & FMODE_WRITE)) | 537 | if (!(filp->f_mode & FMODE_WRITE)) |
536 | return -EBADF; | 538 | return -EBADF; |
537 | return swap_inode_boot_loader(sb, inode); | 539 | err = mnt_want_write_file(filp); |
540 | if (err) | ||
541 | return err; | ||
542 | err = swap_inode_boot_loader(sb, inode); | ||
543 | mnt_drop_write_file(filp); | ||
544 | return err; | ||
545 | } | ||
538 | 546 | ||
539 | case EXT4_IOC_RESIZE_FS: { | 547 | case EXT4_IOC_RESIZE_FS: { |
540 | ext4_fsblk_t n_blocks_count; | 548 | ext4_fsblk_t n_blocks_count; |