[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAHp75VcAqi-P6LF34XhYrwXH+Ejt_ZCYPMUG8VsTMD8q6w-AdA@mail.gmail.com>
Date: Fri, 15 Feb 2019 22:13:05 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: David Engraf <david.engraf@...go.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Dominik Brodowski <linux@...inikbrodowski.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Philippe Ombredanne <pombredanne@...b.com>,
Arnd Bergmann <arnd@...db.de>,
Luc Van Oostenryck <luc.vanoostenryck@...il.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RESEND] initramfs: cleanup incomplete rootfs
On Tue, Feb 12, 2019 at 3:50 PM Andy Shevchenko
<andy.shevchenko@...il.com> wrote:
> On Tue, Feb 12, 2019 at 2:12 PM David Engraf <david.engraf@...go.com> wrote:
> > On 12.02.19 at 11:43, Andy Shevchenko wrote:
> > > On Mon, Feb 11, 2019 at 2:40 PM David Engraf <david.engraf@...go.com> wrote:
> > >> On 11.02.19 at 12:40, Andy Shevchenko wrote:
>
> > >> Ok got it. When the memory behind the actual file size is clear (0x0)
> > >> the decompression doesn't complain and just ignores the padding. Any
> > >> other data will be interpreted as a new archive and thus you'll see the
> > >> error message.
> > >
> > > Correct.
> > >
> > >> Is it possible for you to fill the padding after the actual file size
> > >> with 0x00 ?
> > >
> > > Not sure. This is boot loader realm. Even if I patch U-Boot, not every
> > > boot loader will guarantee this.
> > > So, it's fragile to rely on data being 0x00 after actual archive.
> >
> > The problem is that the kernel expects another archive if there are data
> > left. If these data do not contain a valid magic the kernel prints an
> > error message which is correct.
>
> Agree.
JFYI: I had tested your another patch and it prints me the following
[ 20.672873] Initramfs unpacking failed: invalid magic at start of
compressed archive
Nevertheless, I can use the system (since revert of this patch).
> > I could make this error not critical and keep the rootfs, but it's still
> > an error and unexpected.
>
> I would rather call it a warning and continue.
>
> Perhaps something like
>
> static void warning(const char *msg)
> {
> ...print warning...
> return without assigning return value.
> }
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists