All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 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.