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:	Tue, 5 Feb 2008 20:22:36 +0100
From:	Sam Ravnborg <sam@...nborg.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
	"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org
Subject: Re: [git pull] x86 updates

On Tue, Feb 05, 2008 at 10:47:07AM -0800, Linus Torvalds wrote:
> 
> 
> Ingo, Thomas,
>  should we not do this?
> 
> Otherwise, it seems we generate a section that isn't allocated?
> 
> I think toolchain should add the right flags automatically for sections 
> that start with ".[ro]data" and ".text", but not for the kernel-specific 
> ".init.*" sections.

With a bit of help from the bin-utils people (Alan Modra) I recently
discovered that the linker generate sections with different names
when the flags differs, so fogetting "aw" casues the linekr to generate
a section named .init.data.1 (or some other number).
But I nevet got to investigate if ld does something magically
with these autogenerated section names.
But I added a check in modpost and it should warn about the
code below.

I would prefer the use of
__CPUINITDATA
__FINITDATA

as defined in linux/init.h but otherwise - yes it should be fixed.
With the use of __CPUINITDATA we can kill the ifdef too.

	Sam

So something like this (untested - sorry):
I sneaked an extra ENTRY() in just to clean up a bit.

diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index 4f283ad..09b38d5 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -250,18 +250,13 @@ ENTRY(secondary_startup_64)
 	lretq
 
 	/* SMP bootup changes these two */
-#ifndef CONFIG_HOTPLUG_CPU
-	.pushsection .init.data
-#endif
+	__CPUINITDATA
 	.align	8
-	.globl	initial_code
-initial_code:
+	ENTRY(initial_code)
 	.quad	x86_64_start_kernel
-#ifndef CONFIG_HOTPLUG_CPU
-	.popsection
-#endif
-	.globl init_rsp
-init_rsp:
+	__FINITDATA
+
+	ENTRY(init_rsp)
 	.quad  init_thread_union+THREAD_SIZE-8
 
 bad_address:
--
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