diff options
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/ioctl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index edf5f0093f22..ed3edc283255 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
@@ -1474,6 +1474,10 @@ static noinline int btrfs_ioctl_resize(struct file *file, | |||
1474 | } | 1474 | } |
1475 | new_size = old_size - new_size; | 1475 | new_size = old_size - new_size; |
1476 | } else if (mod > 0) { | 1476 | } else if (mod > 0) { |
1477 | if (new_size > ULLONG_MAX - old_size) { | ||
1478 | ret = -EINVAL; | ||
1479 | goto out_free; | ||
1480 | } | ||
1477 | new_size = old_size + new_size; | 1481 | new_size = old_size + new_size; |
1478 | } | 1482 | } |
1479 | 1483 | ||