Re: [PATCH] mtd: fix size in mtd_info_user to support 64-bit

From: Miquel Raynal
Date: Thu Jul 15 2021 - 19:02:30 EST


Hi Miaohe,

Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote on Thu, 8 Jul 2021 21:13:59
+0800:

> From: Feilong Lin <linfeilong@xxxxxxxxxx>
>
> The size in struct mtd_info_user is 32-bit, which will cause errors
> when obtaining the size of large-capacity MTD devices, such as TLC
> NAND FLASH-2048Gb.

Besides the fact that such devices are far from being supported by the
Linux kernel, this change would basically break userspace, it cannot
enter as-is...

> Fixes: 69423d99fc18 ("[MTD] update internal API to support 64-bit device size")
> Signed-off-by: Feilong Lin <linfeilong@xxxxxxxxxx>
> ---
> include/uapi/mtd/mtd-abi.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/uapi/mtd/mtd-abi.h b/include/uapi/mtd/mtd-abi.h
> index b869990c2db2..efe0b53b10c1 100644
> --- a/include/uapi/mtd/mtd-abi.h
> +++ b/include/uapi/mtd/mtd-abi.h
> @@ -128,7 +128,7 @@ struct mtd_write_req {
> struct mtd_info_user {
> __u8 type;
> __u32 flags;
> - __u32 size; /* Total size of the MTD */
> + __u64 size; /* Total size of the MTD */
> __u32 erasesize;
> __u32 writesize;
> __u32 oobsize; /* Amount of OOB data per block (e.g. 16) */

Thanks,
Miquèl