diff options
Diffstat (limited to 'block/ioctl.c')
| -rw-r--r-- | block/ioctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/block/ioctl.c b/block/ioctl.c index 9cfa2e1ecb24..309760b7e37f 100644 --- a/block/ioctl.c +++ b/block/ioctl.c | |||
| @@ -72,7 +72,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
| 72 | bdevp = bdget_disk(disk, part); | 72 | bdevp = bdget_disk(disk, part); |
| 73 | if (!bdevp) | 73 | if (!bdevp) |
| 74 | return -ENOMEM; | 74 | return -ENOMEM; |
| 75 | mutex_lock(&bdevp->bd_mutex); | 75 | mutex_lock_nested(&bdevp->bd_mutex, BD_MUTEX_PARTITION); |
| 76 | if (bdevp->bd_openers) { | 76 | if (bdevp->bd_openers) { |
| 77 | mutex_unlock(&bdevp->bd_mutex); | 77 | mutex_unlock(&bdevp->bd_mutex); |
| 78 | bdput(bdevp); | 78 | bdput(bdevp); |
| @@ -82,7 +82,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
| 82 | fsync_bdev(bdevp); | 82 | fsync_bdev(bdevp); |
| 83 | invalidate_bdev(bdevp, 0); | 83 | invalidate_bdev(bdevp, 0); |
| 84 | 84 | ||
| 85 | mutex_lock(&bdev->bd_mutex); | 85 | mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_WHOLE); |
| 86 | delete_partition(disk, part); | 86 | delete_partition(disk, part); |
| 87 | mutex_unlock(&bdev->bd_mutex); | 87 | mutex_unlock(&bdev->bd_mutex); |
| 88 | mutex_unlock(&bdevp->bd_mutex); | 88 | mutex_unlock(&bdevp->bd_mutex); |
