On Mon, Jan 12, 2026 at 09:56:05AM +0100, Ahmad Fatoum wrote:
> md -s /dev/mmappable.device will read out-of-bounds if the byte count to
> read exceeds the device size.
> 
> Limit the size read from the memmap to fix this.
> 
> Signed-off-by: Ahmad Fatoum <[email protected]>
> ---
>  commands/md.c    | 4 ++++
>  common/ratp/md.c | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/commands/md.c b/commands/md.c
> index f3758f571fb2..401538d4d8be 100644
> --- a/commands/md.c
> +++ b/commands/md.c
> @@ -25,6 +25,7 @@ static int do_mem_md(int argc, char *argv[])
>       loff_t  start = 0, size = 0x100;
>       int     r, now;
>       int     ret = 0;
> +     struct stat st;
>       int fd;
>       char *filename = "/dev/mem";
>       int mode = O_RWSIZE_4;
> @@ -54,6 +55,9 @@ static int do_mem_md(int argc, char *argv[])
>               return 1;
>       }
>  
> +     if (!fstat(fd, &st) && st.st_size != FILE_SIZE_STREAM)
> +             size = min(size, st.st_size);

This should take start into account.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

Reply via email to