Message ID | 20200616115902.3966-1-heiko.thiery@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/1] spl: fix ext4fs_mount return code handling | expand |
On Tue, Jun 16, 2020 at 01:59:03PM +0200, Heiko Thiery wrote: > From: Thomas Schaefer <thomas.schaefer at kontron.com> > > - Despite other ext4 filesystem functions, ext4fs_mount returns > 0 in case of error. > - This leads to u-boot crash in case that an SD card > with valid partition table but without ext4 filesystem created > in a partition is found on SD card. > - Fix this by returning a proper error code of '-1' from spl_load_image_ext > function in case of ext4fs_mount error. > > Signed-off-by: Thomas Schaefer <thomas.schaefer at kontron.com> > [hthiery: slightly reword the commit message] > Signed-off-by: Heiko Thiery <heiko.thiery at gmail.com> > --- > common/spl/spl_ext.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c > index 3898041d10..c8d137ed98 100644 > --- a/common/spl/spl_ext.c > +++ b/common/spl/spl_ext.c > @@ -32,6 +32,7 @@ int spl_load_image_ext(struct spl_image_info *spl_image, > #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT > printf("%s: ext4fs mount err - %d\n", __func__, err); > #endif > + err = -1; /* ext4fs_mount returns 0 in case of error! */ > goto end; > } Looking over the code, we should return -1 directly here, goto end isn't going to provide more useful information as we don't have a "real" error code to tell the user. With that change please add: Reviewed-by: Tom Rini <trini at konsulko.com> and post v2, thanks!
diff --git a/common/spl/spl_ext.c b/common/spl/spl_ext.c index 3898041d10..c8d137ed98 100644 --- a/common/spl/spl_ext.c +++ b/common/spl/spl_ext.c @@ -32,6 +32,7 @@ int spl_load_image_ext(struct spl_image_info *spl_image, #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT printf("%s: ext4fs mount err - %d\n", __func__, err); #endif + err = -1; /* ext4fs_mount returns 0 in case of error! */ goto end; }