[Skiboot] [PATCH] arch_flash_arm: Don't assume mtd labels are short

Patrick Williams patrick at stwcx.xyz
Thu Nov 17 11:49:16 AEDT 2016



Patrick
Sent from my iPhone

> On Nov 15, 2016, at 9:15 PM, Joel Stanley <joel at jms.id.au> wrote:
> 
> pflash relies on arch_flash_arm parsing /proc/mtd to discover the pnor
> partition. It helpfully uses strcasestr so it can handle the string
> changing, which is what has happened as we moved to upstream compliant
> mtd device tree bindings.
> 
> We currently have a string like this:
> 
> dev:    size   erasesize  name
> mtd0: 00060000 00001000 "u-boot"
> mtd1: 00020000 00001000 "u-boot-env"
> mtd2: 00280000 00001000 "kernel"
> mtd3: 001c0000 00001000 "initramfs"
> mtd4: 01740000 00001000 "rofs"
> mtd5: 00400000 00001000 "rwfs"
> mtd6: 02000000 00001000 "1e620000.flash-controller:flash at 1"
> mtd7: 08000000 00001000 "1e630000.flash-controller:pnor at 0"
> 
> Unfortunately arch_flash_arm assumes the string will be at most 50
> characters. That's right before the label we're looking for starts so
> we ignore that line and keep searching.
> 
> Fix it by allowing for a 255 character line.
> 
> Fixes: 48ab7ce09504 (external/pflash: Add --mtd)
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
> external/common/arch_flash_arm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/external/common/arch_flash_arm.c b/external/common/arch_flash_arm.c
> index bb8800ff556d..3cdd41ded0a9 100644
> --- a/external/common/arch_flash_arm.c
> +++ b/external/common/arch_flash_arm.c
> @@ -241,7 +241,7 @@ static char *get_dev_mtd(enum flash_access access)
> {
>    FILE *f;
>    char *ret = NULL, *pos = NULL;
> -    char line[50];
> +    char line[255];

Isn't there a max path length define in a system header we could use instead?

> 
>    if (access != BMC_MTD && access != PNOR_MTD)
>        return NULL;
> -- 
> 2.10.2
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot




More information about the Skiboot mailing list