On Mon, 5 Jun 2017, Ondrej Mosnacek wrote: > 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> Acked-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > 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