Message ID | 20161017221037.1781185-1-arnd@arndb.de |
---|---|
State | Superseded |
Headers | show |
Hi Arnd, On Tue, 18 Oct 2016 00:10:13 +0200 Arnd Bergmann <arnd@arndb.de> wrote: > A rework of UBI that just appeared in linux-next during the merge > window introduced caused the recover_peb to use a variable that > is never initialized as seen from this gcc warning: > > drivers/mtd/ubi/eba.c: In function ‘recover_peb’: > drivers/mtd/ubi/eba.c:744:40: error: ‘vid_hdr’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > > It seems clear that the change to the function arguments was missing > the initialization that I'm now adding back to restore the > way the function was working before. Thanks for the fix, but Geert already sent a patch for this bug a few days ago. Regards, Boris > > Fixes: 3291b52f9ff0 ("UBI: introduce the VID buffer concept") > Cc: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: Richard Weinberger <richard@nod.at> > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > --- > drivers/mtd/ubi/eba.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c > index 95c4048..2e152be 100644 > --- a/drivers/mtd/ubi/eba.c > +++ b/drivers/mtd/ubi/eba.c > @@ -719,7 +719,7 @@ static int try_recover_peb(struct ubi_volume *vol, int pnum, int lnum, > struct ubi_vid_io_buf *vidb, bool *retry) > { > struct ubi_device *ubi = vol->ubi; > - struct ubi_vid_hdr *vid_hdr; > + struct ubi_vid_hdr *vid_hdr = ubi_get_vid_hdr(vidb); > int new_pnum, err, vol_id = vol->vol_id, data_size; > uint32_t crc; >
diff --git a/drivers/mtd/ubi/eba.c b/drivers/mtd/ubi/eba.c index 95c4048..2e152be 100644 --- a/drivers/mtd/ubi/eba.c +++ b/drivers/mtd/ubi/eba.c @@ -719,7 +719,7 @@ static int try_recover_peb(struct ubi_volume *vol, int pnum, int lnum, struct ubi_vid_io_buf *vidb, bool *retry) { struct ubi_device *ubi = vol->ubi; - struct ubi_vid_hdr *vid_hdr; + struct ubi_vid_hdr *vid_hdr = ubi_get_vid_hdr(vidb); int new_pnum, err, vol_id = vol->vol_id, data_size; uint32_t crc;
A rework of UBI that just appeared in linux-next during the merge window introduced caused the recover_peb to use a variable that is never initialized as seen from this gcc warning: drivers/mtd/ubi/eba.c: In function ‘recover_peb’: drivers/mtd/ubi/eba.c:744:40: error: ‘vid_hdr’ may be used uninitialized in this function [-Werror=maybe-uninitialized] It seems clear that the change to the function arguments was missing the initialization that I'm now adding back to restore the way the function was working before. Fixes: 3291b52f9ff0 ("UBI: introduce the VID buffer concept") Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Richard Weinberger <richard@nod.at> Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- drivers/mtd/ubi/eba.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)