[dm-devel] [PATCH] dm integrity: Reject mappings too large for device
Mikulas Patocka
mpatocka at redhat.com
Thu Jun 8 21:32:33 UTC 2017
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 at redhat.com>
> Cc: Milan Broz <gmazyland at gmail.com>
Acked-by: Mikulas Patocka <mpatocka at redhat.com>
> Signed-off-by: Ondrej Mosnacek <omosnacek at gmail.com>
> ---
> 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
>
More information about the dm-devel
mailing list