[PATCH] dm integrity: Reject mappings too large for device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Before this patch, dm-integrity would successfully create mappings with
the number of sectors greater than the provided data sector count.
Attempts to read sectors of this mapping that were beyond the provided
data sector count would then yield run-time messages of the form
"device-mapper: integrity: Too big sector number: ...".

This patch fixes this by emitting an error when the requested mapping
size is bigger than the provided data sector count.

Cc: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Cc: Milan Broz <gmazyland@xxxxxxxxx>
Signed-off-by: Ondrej Mosnacek <omosnacek@xxxxxxxxx>
---
 drivers/md/dm-integrity.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c
index 7910bfe50da4..4ab10cf718c9 100644
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -3040,6 +3040,11 @@ static int dm_integrity_ctr(struct dm_target *ti, unsigned argc, char **argv)
 		ti->error = "The device is too small";
 		goto bad;
 	}
+	if (ti->len > ic->provided_data_sectors) {
+		r = -EINVAL;
+		ti->error = "Not enough provided sectors for requested mapping size";
+		goto bad;
+	}
 
 	if (!buffer_sectors)
 		buffer_sectors = 1;
-- 
2.11.0

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux