Commit 45fc7285 authored by Mikulas Patocka's avatar Mikulas Patocka
Browse files

dm: restrict dm device size to 2^63-512 bytes



The devices with size >= 2^63 bytes can't be used reliably by userspace
because the type off_t is a signed 64-bit integer.

Therefore, we limit the maximum size of a device mapper device to
2^63-512 bytes.

Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
parent c2662b15
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -697,6 +697,10 @@ int dm_table_add_target(struct dm_table *t, const char *type,
		DMERR("%s: zero-length target", dm_device_name(t->md));
		return -EINVAL;
	}
	if (start + len < start || start + len > LLONG_MAX >> SECTOR_SHIFT) {
		DMERR("%s: too large device", dm_device_name(t->md));
		return -EINVAL;
	}

	ti->type = dm_get_target_type(type);
	if (!ti->type) {