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

Miquel Raynal miquel.raynal at bootlin.com
Thu Jul 15 16:02:24 PDT 2021


Hi Miaohe,

Miaohe Lin <linmiaohe at huawei.com> wrote on Thu, 8 Jul 2021 21:13:59
+0800:

> From: Feilong Lin <linfeilong at huawei.com>
> 
> 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 at huawei.com>
> ---
>  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



More information about the linux-mtd mailing list