sysupgrade failed on Atheros PB44 too.

2010/6/2 <openwrt-devel-requ...@lists.openwrt.org>

> Send openwrt-devel mailing list submissions to
>        openwrt-devel@lists.openwrt.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>        https://lists.openwrt.org/mailman/listinfo/openwrt-devel
> or, via email, send a message with subject or body 'help' to
>        openwrt-devel-requ...@lists.openwrt.org
>
> You can reach the person managing the list at
>        openwrt-devel-ow...@lists.openwrt.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of openwrt-devel digest..."
>
>
> Today's Topics:
>
>   1. ar71xx sysupgrade fails sometimes on      routerstation-pro
>      (Bruno Randolf)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Wed, 2 Jun 2010 16:27:51 +0900
> From: Bruno Randolf <b...@einfach.org>
> To: n...@openwrt.org, juh...@openwrt.org
> Cc: openwrt-devel@lists.openwrt.org, ?? ???     <matsuy...@thinktube.com>
> Subject: [OpenWrt-Devel] ar71xx sysupgrade fails sometimes on
>        routerstation-pro
> Message-ID: <201006021627.51382....@einfach.org>
> Content-Type: Text/Plain;  charset="us-ascii"
>
> hi!
>
> on the routerstation-pro the mtd command of the sysupgrade script
> (ar71xx/base-files/lib/upgrade/platform.sh) sometimes fails because of
> problems with the FIS table. this sometimes results in a segfault,
> sometimes
> in an error message. i see this about every third time i try to flash an
> image.
>
> i tracked it down to these lines in mtd fis.c, both in fis_validate() and
> fis_remap():
>
>  if (!desc->hdr.name[0] || (desc->hdr.name[0] == 0xff))
>        break;
>
> when the problem happens, desc->hdr.name[0] is zero, and we break out
> early
> from the loop, causing other things to be uninitialized.
>
> in the case of fis_validate() this returns the error "Failed to validate
> the
> new FIS partition table", later. but in fis_remap() the uninitialized
> (NULL)
> pointers 'first' and 'last' are accessed later, causing the segfault.
> obviously the segfault could and should be avoided by adding something like
> the following lines to fis_remap():
>
>  if (!first || !last)
>      return -1;
>
> but the real problem must be somewhere else. and this is where i am stuck
> now... i wonder why we only sometimes get a 0 for desc->hdr.name[0]? can
> it be
> a problem with the flash driver for the ar71xx?
>
> bruno
>
> ps: i'm not the only one seeing this problem:
> https://forum.openwrt.org/viewtopic.php?id=24188
>
>
> ------------------------------
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>
>
> End of openwrt-devel Digest, Vol 54, Issue 4
> ********************************************
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to