From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Johannes Stezenbach <js@linuxtv.org>,
Matt Mackall <mpm@selenic.com>, Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/7] inflate pt1: clean up input logic
Date: Mon, 27 Feb 2006 15:47:49 +0000 [thread overview]
Message-ID: <20060227154748.GB4094@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20060227120729.GC7863@linuxtv.org>
On Mon, Feb 27, 2006 at 01:07:29PM +0100, Johannes Stezenbach wrote:
> On Mon, Feb 27, 2006, Russell King wrote:
> > On Mon, Feb 27, 2006 at 02:18:44AM +0100, Johannes Stezenbach wrote:
> > > On Sat, Feb 25, 2006 at 10:57:49PM +0000, Russell King wrote:
> > > > The email:
> > > >
> > > > http://www.ussg.iu.edu/hypermail/linux/kernel/0312.2/1024.html
> > > >
> > > > contains a full and clear explaination of the situation. The second
> > > > paragraph of that email is key to understanding the problem and makes
> > > > it absolutely clear what is trying to be decompressed as the initrd
> > > > (the corrupted compressed piggy).
> > >
> > > FWIW, I didn't it either. "Work around broken boot firmware which passes
> > > invalid initrd to kernel" would have been a simpler description.
> >
> > Sigh, I'm sick of this crap. I'm not going to debate it any further.
> >
> > > I agree that it would be nice if inflate.c would fail gracefully
> > > instead of halting,
> >
> > IT _DOES_ FAIL GRACEFULLY TODAY. WITH MATT'S PATCHES, IT _DOESN'T_.
> > THAT'S A REGRESSION. WHAT IS IT ABOUT THAT WHICH PEOPLE DON'T
> > UNDERSTAND? DO I HAVE TO SPELL IT OUT IN ONE SYLLABLE WORDS?
>
> I got that already, no need to shout. I just wanted to point
> out that from the information you provided so far it
> looks like your problem could be fixed in a more straight
> forward fashion.
>
> Problem: Boot firmware passes invalid arguments.
> Solution: Ignore invalid boot firmware arguments.
Let me try to explain - but I doubt it'll do any good because folk don't
seem to understand plain English here anymore (or at least that's what
it seems like from _my_ perspective.)
In order to detect that the arguments are invalid, you'd need to validate
the initrd.
In order to validate a compressed initrd, you'd have to trial-inflate it,
just like gunzip -t.
(a) gunzip -t is able to work because it has setjmp/longjmp, so when it
runs out of data, it can sanely exit from the data reading function
when it encounters insufficient data.
The kernel does not have such functionality, and it has been determined
long ago that the kernel shall not have such functionality - it was
discussed at the time when this problem first came up and the resounding
answer was precisely as I state.
(b) if we have to have separate code to validate a compressed image, that is
a complete waste of code and resources - we already have something which
tests whether a compressed image is valid by inflating it - called
lib/inflate.c.
So, your suggestion isn't a really a solution when the simple solution
is to keep the original _simple_ fix for a buggy integration of the gzip
inflate code.
> > > but why can't you just use CONFIG_BLK_DEV_INITRD=n?
> >
> > Because you might want to use an initrd for real (for installation
> > purposes) and therefore distributions (eg Debian) want it turned on?
>
> If you use a distribution kernel which contains one, you
> could simply add "noinitrd" to the kernel command line
> to ignore it, no?
Tell that to all the people who have complained in the past about it.
> > Okay, this does it - I'm ignoring further discussion on this stupid
> > idiotic topic which is soo bloody difficult for others to understand.
>
> I don't understand your aggressiveness, there must be a dark
> secret behind all this. Or maybe it's just the season
> for flame wars.
I'm completely and utterly pissed off with this thread, having to almost
go back to kindergarten type explainations to get the point across.
_That's_ what has been soo infuriating about this whole saga.
And what's even more stupid is the attitude that required fixes can be
thrown out of the kernel, and then a massive argument is required to
re-explain wtf they're necessary.
Are we doomed to have to repeatedly explain why bug fixes are necessary?
If that's the case, let's pack up this Linux kernel thing because we're
on a route to insanity.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
next prev parent reply other threads:[~2006-02-27 15:48 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0.399206195@selenic.com>
2006-02-24 20:12 ` [PATCH 1/7] inflate pt1: lindent and manual formatting changes Matt Mackall
2006-02-24 20:12 ` [PATCH 2/7] inflate pt1: kill legacy bits Matt Mackall
2006-02-24 20:12 ` [PATCH 3/7] inflate pt1: clean up input logic Matt Mackall
2006-02-24 22:19 ` Russell King
2006-02-25 6:51 ` Matt Mackall
2006-02-25 8:49 ` Russell King
2006-02-25 8:55 ` Russell King
2006-02-25 9:04 ` Andrew Morton
2006-02-25 9:09 ` Russell King
2006-02-25 14:54 ` Matt Mackall
2006-02-25 18:05 ` Russell King
2006-02-25 21:04 ` Matt Mackall
2006-02-25 21:22 ` Russell King
2006-02-25 21:47 ` Matt Mackall
2006-02-25 21:58 ` Russell King
2006-02-25 22:37 ` Matt Mackall
2006-02-25 22:57 ` Russell King
2006-02-27 1:18 ` Johannes Stezenbach
2006-02-27 8:32 ` Russell King
2006-02-27 12:07 ` Johannes Stezenbach
2006-02-27 15:47 ` Russell King [this message]
2006-02-27 9:06 ` Matt Mackall
2006-02-25 22:25 ` John Reiser
2006-03-07 23:26 ` H. Peter Anvin
2006-03-10 18:55 ` Matt Mackall
2006-02-24 20:12 ` [PATCH 4/7] inflate pt1: start moving globals into iostate Matt Mackall
2006-02-24 20:12 ` [PATCH 7/7] inflate pt1: eliminate memzero usage Matt Mackall
2006-02-24 20:12 ` [PATCH 5/7] inflate pt1: cleanup Huffman table code Matt Mackall
2006-02-24 21:52 ` John Reiser
2006-02-24 22:06 ` Matt Mackall
2006-02-24 20:12 ` [PATCH 6/7] inflate pt1: internalize CRC calculation, cleanup table calculation Matt Mackall
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=20060227154748.GB4094@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=akpm@osdl.org \
--cc=js@linuxtv.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mpm@selenic.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome