From: "H. Peter Anvin" <hpa@zytor.com>
To: Matt Domsch <Matt_Domsch@dell.com>
Cc: Alon Bar-Lev <alon.barlev@gmail.com>, Andi Kleen <ak@suse.de>,
Andrew Morton <akpm@osdl.org>,
linux-kernel@vger.kernel.org, johninsd@san.rr.com
Subject: Re: [PATCH] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit (ping)
Date: Mon, 28 Aug 2006 13:43:11 -0700 [thread overview]
Message-ID: <44F3555F.6060306@zytor.com> (raw)
In-Reply-To: <20060828201223.GE13464@lists.us.dell.com>
Matt Domsch wrote:
> On Mon, Aug 28, 2006 at 12:00:37PM -0700, H. Peter Anvin wrote:
>> Matt Domsch wrote:
>>> No reason. I was just trying to be careful, not leaving data in the
>>> upper bits of those registers going uninitialized. If we know they're
>>> not being used ever, then it's not a problem. But I don't think
>>> that's the source of the command line size concern, is it?
>>>
>> No, it's treating the command line as a fixed buffer, as opposed to a
>> null-terminated string. This was always a bug, by the way.
>
> OK, I'll look at fixing that, and using %esi throughout.
>
There is a lot of weirdness in this code; it's broken in an enormous
amount of ways (sorry, Matt). This comment, for example:
pushl %esi
cmpl $0, %cs:cmd_line_ptr
jz done_cl
movl %cs:(cmd_line_ptr), %esi
# ds:esi has the pointer to the command line now
... doesn't handle the old boot protocol, and doesn't at all deal with
the fact that cmd_line_ptr is an absolute address, and not at all
relative to SETUPSEG, which is the normal value for %ds at this point.
For the old protocol, this is a 16-bit pointer which is relative to
INITSEG (not SETUPSEG), but this code just completely ignores it.
I'll hack up a patch for this.
-hpa
next prev parent reply other threads:[~2006-08-28 20:43 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-05 13:37 [PATCH][TAKE 4] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit Alon Bar-Lev
2006-05-05 14:09 ` H. Peter Anvin
2006-05-05 14:28 ` Alon Bar-Lev
2006-05-05 14:35 ` H. Peter Anvin
2006-05-05 18:10 ` John Coffman
2006-05-05 18:17 ` H. Peter Anvin
2006-05-05 21:48 ` John Coffman
2006-05-05 21:57 ` H. Peter Anvin
2006-05-06 3:57 ` John Coffman
2006-05-06 5:11 ` H. Peter Anvin
2006-05-06 10:31 ` Alon Bar-Lev
[not found] ` <44AD583B.5040007@gmail.com>
[not found] ` <44AD5BB4.9090005@zytor.com>
[not found] ` <44AD5D47.8010307@gmail.com>
[not found] ` <44AD5FD8.6010307@zytor.com>
[not found] ` <9e0cf0bf0608031436x19262ab0rb2271b52ce75639d@mail.gmail.com>
[not found] ` <44D278D6.2070106@zytor.com>
[not found] ` <9e0cf0bf0608031542q2da20037h828f4b8f0d01c4d5@mail.gmail.com>
[not found] ` <44D27F22.4080205@zytor.com>
2006-08-25 23:57 ` [PATCH] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit (ping) Alon Bar-Lev
2006-08-27 18:28 ` Andi Kleen
2006-08-27 18:50 ` H. Peter Anvin
2006-08-27 19:16 ` Andi Kleen
2006-08-27 19:32 ` H. Peter Anvin
2006-08-27 20:54 ` Andi Kleen
2006-08-27 21:39 ` H. Peter Anvin
2006-08-28 3:28 ` John Coffman
2006-08-28 6:02 ` Alon Bar-Lev
2006-08-28 6:41 ` Alon Bar-Lev
2006-08-28 7:31 ` H. Peter Anvin
2006-08-28 12:19 ` Alon Bar-Lev
2006-08-28 18:28 ` H. Peter Anvin
2006-08-28 18:46 ` Matt Domsch
2006-08-28 19:00 ` H. Peter Anvin
2006-08-28 20:12 ` Matt Domsch
2006-08-28 20:29 ` Alon Bar-Lev
2006-08-28 20:33 ` H. Peter Anvin
2006-08-28 20:43 ` H. Peter Anvin [this message]
2006-08-30 16:49 ` Alon Bar-Lev
2006-08-30 16:56 ` Andi Kleen
2006-08-30 17:06 ` Alon Bar-Lev
2006-08-30 17:31 ` Andi Kleen
2006-08-30 17:51 ` Alon Bar-Lev
2006-08-30 18:59 ` H. Peter Anvin
2006-08-30 19:06 ` Andi Kleen
2006-08-30 19:07 ` H. Peter Anvin
2006-08-30 19:23 ` Alon Bar-Lev
2006-08-30 19:33 ` H. Peter Anvin
2006-08-30 18:58 ` H. Peter Anvin
2006-08-28 19:24 ` Alon Bar-Lev
2006-08-28 20:32 ` H. Peter Anvin
2006-08-29 0:13 ` [PATCH] Fix the EDD code misparsing the command line H. Peter Anvin
2006-08-29 1:24 ` Petr Vandrovec
2006-08-29 1:36 ` H. Peter Anvin
2006-08-29 1:51 ` [PATCH] Fix the EDD code misparsing the command line (rev 2) H. Peter Anvin
2006-08-27 19:59 ` [PATCH] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit (ping) Alon Bar-Lev
2006-05-05 22:02 ` [PATCH][TAKE 4] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit Alon Bar-Lev
[not found] <6OyEf-3Zm-5@gated-at.bofh.it>
[not found] ` <6PCwg-3mz-43@gated-at.bofh.it>
[not found] ` <6PDBU-5Qb-25@gated-at.bofh.it>
[not found] ` <6PDBU-5Qb-23@gated-at.bofh.it>
2006-08-31 17:32 ` [PATCH] THE LINUX/I386 BOOT PROTOCOL - Breaking the 256 limit (ping) Bodo Eggert
2006-08-31 17:40 ` H. Peter Anvin
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=44F3555F.6060306@zytor.com \
--to=hpa@zytor.com \
--cc=Matt_Domsch@dell.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=alon.barlev@gmail.com \
--cc=johninsd@san.rr.com \
--cc=linux-kernel@vger.kernel.org \
/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