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] [day] [month] [year] [list]
Date:	Tue, 23 Jun 2009 18:53:15 -0400 (EDT)
From:	Tim Abbott <tabbott@...lice.com>
To:	Sam Ravnborg <sam@...nborg.org>
cc:	Jesper Nilsson <Jesper.Nilsson@...s.com>,
	Linux kernel mailing list <linux-kernel@...r.kernel.org>,
	Anders Kaseorg <andersk@...lice.com>,
	Waseem Daher <wdaher@...lice.com>,
	Denys Vlasenko <vda.linux@...glemail.com>,
	Jeff Arnold <jbarnold@...lice.com>,
	Mikael Starvik <mikael.starvik@...s.com>,
	David Howells <dhowells@...hat.com>
Subject: [PATCH] Shuffle INIT_TASK* macro names in vmlinux.lds.h (was Re:
 [PATCH] cris: use new macros for .data.init_task.)

On Tue, 23 Jun 2009, Sam Ravnborg wrote:

> I have concentrated on the vmlinux.lds stuff.
> And I hope Tim will look into the rest once more.
> 
> Tim - any news from your side?

I've been extremely busy and so I've not had time to rebase my patch 
series for all the architectures for the changes made to the macros in 
vmlinux.lds.h since my original patches were written.  But I will find 
time to send a new version of the prerequisite macros to the files other 
than vmlinux.lds.h tonight, since the macros are just a few small patches.

> On Tue, Jun 23, 2009 at 11:06:14AM +0200, Jesper Nilsson wrote:
> > (And it looks a bit dodgy as it uses INIT_TASK without any argument...)

Also, Jesper's comment reveals a bug in the new macros we merged into 
vmlinux.lds.h:

We recently added a INIT_TASK(align) in include/asm-generic/vmlinux.lds.h, 
but there is already a macro INIT_TASK in include/linux/init_task.h, which 
is quite confusing.  We should switch the macro in the linker script to 
INIT_TASK_DATA. (Sorry that I missed this in reviewing the patch).  Since 
the macros are new, there is only one user of the INIT_TASK in 
vmlinux.lds.h, arch/mn10300/kernel/vmlinux.lds.S.

However, we are currently using INIT_TASK_DATA for laying down an entire 
.data.init_task section.  So rename that to INIT_TASK_DATA_SECTION.

I would be worried about changing the meaning of INIT_TASK_DATA, but the 
old INIT_TASK_DATA implementation had no users, and in fact if anyone had 
tried to use it, it would have failed to compile because it didn't pass 
the alignment to the old INIT_TASK.

Signed-off-by: Tim Abbott <tabbott@...lice.com>
Cc: David Howells <dhowells@...hat.com>
---
 arch/mn10300/kernel/vmlinux.lds.S |    2 +-
 include/asm-generic/vmlinux.lds.h |    8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/mn10300/kernel/vmlinux.lds.S b/arch/mn10300/kernel/vmlinux.lds.S
index bcebcef..c96ba3d 100644
--- a/arch/mn10300/kernel/vmlinux.lds.S
+++ b/arch/mn10300/kernel/vmlinux.lds.S
@@ -61,7 +61,7 @@ SECTIONS
 	_edata = .;		/* End of data section */
   }
 
-  .data.init_task : { INIT_TASK(THREAD_SIZE); }
+  .data.init_task : { INIT_TASK_DATA(THREAD_SIZE); }
 
   /* might get freed after init */
   . = ALIGN(PAGE_SIZE);
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 92b73b6..fb20e74 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -191,7 +191,7 @@
 	. = ALIGN(align);						\
 	*(.data.cacheline_aligned)
 
-#define INIT_TASK(align)						\
+#define INIT_TASK_DATA(align)						\
 	. = ALIGN(align);						\
 	*(.data.init_task)
 
@@ -434,10 +434,10 @@
 /*
  * Init task
  */
-#define INIT_TASK_DATA(align)						\
+#define INIT_TASK_DATA_SECTION(align)					\
 	. = ALIGN(align);						\
 	.data.init_task : {						\
-		INIT_TASK						\
+		INIT_TASK_DATA(align)					\
 	}
 
 #ifdef CONFIG_CONSTRUCTORS
@@ -707,7 +707,7 @@
 #define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask)	\
 	. = ALIGN(PAGE_SIZE);						\
 	.data : AT(ADDR(.data) - LOAD_OFFSET) {				\
-		INIT_TASK(inittask)					\
+		INIT_TASK_DATA(inittask)				\
 		CACHELINE_ALIGNED_DATA(cacheline)			\
 		READ_MOSTLY_DATA(cacheline)				\
 		DATA_DATA						\
-- 
1.6.3.1

	-Tim Abbott


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