lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 23 Feb 2008 12:21:36 +0300
From:	Cyrill Gorcunov <gorcunov@...il.com>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	Yinghai Lu <yhlu.kernel@...il.com>, Ingo Molnar <mingo@...e.hu>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [Q] x86 - boot/header.S

[Sam Ravnborg - Sat, Feb 23, 2008 at 10:18:17AM +0100]
| On Sat, Feb 23, 2008 at 12:07:39PM +0300, Cyrill Gorcunov wrote:
| > [Yinghai Lu - Sat, Feb 23, 2008 at 12:44:49AM -0800]
| > | On Sat, Feb 23, 2008 at 12:20 AM, Cyrill Gorcunov <gorcunov@...il.com> wrote:
| > | > Hi Peter, Sam,
| > | >
| > | >  could you take a look on x86/boot/header.S:280 please?
| > | >
| > | >  # Zero the bss
| > | >         movw    $__bss_start, %di
| > | >         movw    $_end+3, %cx
| > | >         xorl    %eax, %eax
| > | >         subw    %di, %cx
| > | >         shrw    $2, %cx
| > | >         rep; stosl
| > | >
| > | >  I wonder why is $_end there instead of $__bss_stop?
| > | >  Well, accroding to vmlinux_32.lsd both _end and __bss_stop
| > | >  are the same BUT __bss_stop is more convenient methink.
| > | >  Would it be usefull to change?
| > | 
| > | we should have head32.c like head64.c
| > | and x86_32_start_kernel.
| > | 
| > | Eric's patch long time ago...
| > | 
| > | YH
| > | 
| > 
| > Hi Yinghai,
| > 
| > thanks for reply BUT that is not the point (or maybe I miss something).
| > 
| > Look, we only have head64.c - there is no head32.c at all. Both
| > vmlinux_32/64.lds defines _end exactly the same as __bss_stop. So in
| > code which DO fillup bss section with zeros the prefered name is
| > __bss_stop. The only thing I'm trying to say that it would be clean
| > naming scheme and I think it would help for further review - instead
| > of searching all over x86 files to find _end definition __bss_stop
| > tell us WHAT we are zeroing from the code.
| 
| We should introduce head32.c and then we can use the exact same function
| as 64 bit does:
| 
| /* Don't add a printk in there. printk relies on the PDA which is not initialized
|    yet. */
| static void __init clear_bss(void)
| {
|         memset(__bss_start, 0,
|                (unsigned long) __bss_stop - (unsigned long) __bss_start);
| }
| 
| This answers your Q.
| 
| I already resubmitted Eric's original patch to introduce head32.c as I also
| liked the cleanup in two Makefiles.
| 
| 	Sam
| 

thanks Sam, i just saw your patch.

		- Cyrill -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ