[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