From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: David Disseldorp <ddiss@suse.de>
Cc: Christian Brauner <brauner@kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 2/2] initramfs_test: test header fields with 0x hex prefix
Date: Wed, 21 Jan 2026 18:30:32 +0200 [thread overview]
Message-ID: <aXD_KOVfZigByV5n@smile.fi.intel.com> (raw)
In-Reply-To: <20260122031702.5e2e73c8.ddiss@suse.de>
On Thu, Jan 22, 2026 at 03:17:02AM +1100, David Disseldorp wrote:
> On Wed, 21 Jan 2026 15:15:54 +0200, Andy Shevchenko wrote:
> > On Wed, Jan 21, 2026 at 08:42:05PM +1100, David Disseldorp wrote:
> > > On Wed, 21 Jan 2026 00:18:31 +0200, Andy Shevchenko wrote:
> > > > On Wed, Jan 21, 2026 at 07:32:33AM +1100, David Disseldorp wrote:
> > > > > cpio header fields are 8-byte hex strings, but one "interesting"
> > > > > side-effect of our historic simple_str[n]toul() use means that a "0x"
> > > > > prefixed header field will be successfully processed when coupled
> > > > > alongside a 6-byte hex remainder string.
> > > >
> > > > Should mention that this is against specifications.
>
> I've added this and will send as v2.
Thanks!
> > > > > Test for this corner case by injecting "0x" prefixes into the uid, gid
> > > > > and namesize cpio header fields. Confirm that init_stat() returns
> > > > > matching uid and gid values.
> > > >
> > > > This is should be considered as an invalid case and I don't believe
> > > > we ever had that bad header somewhere. The specification is clear
> > > > that the number has to be filled with '0' to the most significant
> > > > byte until all 8 positions are filled.
> > > >
> > > > If any test case like this appears it should not be fatal.
> > >
> > > Yes, the test case can easily be changed to expect an unpack_to_rootfs()
> > > error (or dropped completely). The purpose is just to ensure that the
> > > user visible change is a concious decision rather than an undocumented
> > > side effect.
> >
> > Can you say this clearly in the commit message? With that done I will have
> > no objections as it seems we all agree with the possible breakage of this
> > "feature" (implementation detail).
>
> Sure, I think it'd make sense to put the v2 test patches as 1/2 in your
> series such that your subsequent hex2bin() patch modifies the test to
> expect error. E.g.
Yes! Thanks for providing a PoC. Maybe you can do it as a formal patch that
I can simply take into my next version?
--
With Best Regards,
Andy Shevchenko
prev parent reply other threads:[~2026-01-21 16:30 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 20:32 [PATCH 0/2] initramfs_test: test header fields with 0x hex prefix David Disseldorp
2026-01-20 20:32 ` [PATCH 1/2] initramfs_test: add fill_cpio() format parameter David Disseldorp
2026-01-21 13:17 ` Andy Shevchenko
2026-01-20 20:32 ` [PATCH 2/2] initramfs_test: test header fields with 0x hex prefix David Disseldorp
2026-01-20 22:18 ` Andy Shevchenko
2026-01-21 9:42 ` David Disseldorp
2026-01-21 13:15 ` Andy Shevchenko
2026-01-21 16:17 ` David Disseldorp
2026-01-21 16:30 ` Andy Shevchenko [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aXD_KOVfZigByV5n@smile.fi.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=brauner@kernel.org \
--cc=ddiss@suse.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.