[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

Subsystems: arm64 port (aarch64 architecture), the rest

STALE3908d

6 messages, 5 authors, 2016-02-02 · open the first message on its own page

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: broonie@kernel.org (Mark Brown)
Date: 2016-01-28 12:18:28

asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/include/asm/page.h | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h
index 9b2f5a9d019d..9553c39e0655 100644
--- a/arch/arm64/include/asm/page.h
+++ b/arch/arm64/include/asm/page.h
@@ -19,6 +19,8 @@
 #ifndef __ASM_PAGE_H
 #define __ASM_PAGE_H
 
+#include <linux/personality.h>
+
 /* PAGE_SHIFT determines the page size */
 /* CONT_SHIFT determines the number of pages which can be tracked together  */
 #ifdef CONFIG_ARM64_64K_PAGES
-- 
2.7.0.rc3

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: broonie@kernel.org (Mark Brown)
Date: 2016-01-28 12:44:17

On Thu, Jan 28, 2016 at 12:18:28PM +0000, Mark Brown wrote:
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.
Argh, sorry - this causes problems further down the line with linking
vdso.lds due to enums getting into the linker script and upsetting the
linker (there are several compile errors today so it was masked).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160128/30ed13da/attachment.sig>

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2016-01-28 14:14:26

On Thu, Jan 28, 2016 at 12:44:17PM +0000, Mark Brown wrote:
On Thu, Jan 28, 2016 at 12:18:28PM +0000, Mark Brown wrote:
quoted
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.
Argh, sorry - this causes problems further down the line with linking
vdso.lds due to enums getting into the linker script and upsetting the
linker (there are several compile errors today so it was masked).
You can move the include further down after the #ifndef __ASSEMBLY__

-- 
Catalin

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: Thierry Reding <hidden>
Date: 2016-01-28 14:46:10

On Thu, Jan 28, 2016 at 02:14:26PM +0000, Catalin Marinas wrote:
On Thu, Jan 28, 2016 at 12:44:17PM +0000, Mark Brown wrote:
quoted
On Thu, Jan 28, 2016 at 12:18:28PM +0000, Mark Brown wrote:
quoted
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.
Argh, sorry - this causes problems further down the line with linking
vdso.lds due to enums getting into the linker script and upsetting the
linker (there are several compile errors today so it was masked).
You can move the include further down after the #ifndef __ASSEMBLY__
Indeed, here's what I've been using to successfully complete ARM64 test
builds:
--- >8 ---
diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h
index 9b2f5a9d019d..ae615b9d9a55 100644
--- a/arch/arm64/include/asm/page.h
+++ b/arch/arm64/include/asm/page.h
@@ -39,6 +39,7 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/personality.h> /* for READ_IMPLIES_EXEC */
 #include <asm/pgtable-types.h>
 
 extern void __cpu_clear_user_page(void *p, unsigned long user);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160128/d01a1452/attachment-0001.sig>

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: Will Deacon <hidden>
Date: 2016-02-02 16:48:18

On Thu, Jan 28, 2016 at 03:46:10PM +0100, Thierry Reding wrote:
quoted hunk
On Thu, Jan 28, 2016 at 02:14:26PM +0000, Catalin Marinas wrote:
quoted
On Thu, Jan 28, 2016 at 12:44:17PM +0000, Mark Brown wrote:
quoted
On Thu, Jan 28, 2016 at 12:18:28PM +0000, Mark Brown wrote:
quoted
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.
Argh, sorry - this causes problems further down the line with linking
vdso.lds due to enums getting into the linker script and upsetting the
linker (there are several compile errors today so it was masked).
You can move the include further down after the #ifndef __ASSEMBLY__
Indeed, here's what I've been using to successfully complete ARM64 test
builds:
--- >8 ---
diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h
index 9b2f5a9d019d..ae615b9d9a55 100644
--- a/arch/arm64/include/asm/page.h
+++ b/arch/arm64/include/asm/page.h
@@ -39,6 +39,7 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/personality.h> /* for READ_IMPLIES_EXEC */
 #include <asm/pgtable-types.h>
 
 extern void __cpu_clear_user_page(void *p, unsigned long user);
I see this has ended up in linux-next, but I'm not sure whether or not
it's actually queued someplace for 4.6. Any ideas?

If not, I can take it (or some derivative) through arm64 as a fix for
-rc3.

Will

[PATCH] arm64: asm: Explicitly include linux/personality.h in asm/page.h

From: akpm@linux-foundation.org (Andrew Morton)
Date: 2016-02-02 19:39:08

On Tue, 2 Feb 2016 16:48:18 +0000 Will Deacon [off-list ref] wrote:
On Thu, Jan 28, 2016 at 03:46:10PM +0100, Thierry Reding wrote:
quoted
On Thu, Jan 28, 2016 at 02:14:26PM +0000, Catalin Marinas wrote:
quoted
On Thu, Jan 28, 2016 at 12:44:17PM +0000, Mark Brown wrote:
quoted
On Thu, Jan 28, 2016 at 12:18:28PM +0000, Mark Brown wrote:
quoted
asm/page.h uses READ_IMPLIES_EXEC from linux/personality.h but does not
explicitly include it causing build failures in -next where whatever was
causing it to be implicitly included has changed to remove that
inclusion.  Add an explicit inclusion to fix this.
Argh, sorry - this causes problems further down the line with linking
vdso.lds due to enums getting into the linker script and upsetting the
linker (there are several compile errors today so it was masked).
You can move the include further down after the #ifndef __ASSEMBLY__
Indeed, here's what I've been using to successfully complete ARM64 test
builds:
--- >8 ---
diff --git a/arch/arm64/include/asm/page.h b/arch/arm64/include/asm/page.h
index 9b2f5a9d019d..ae615b9d9a55 100644
--- a/arch/arm64/include/asm/page.h
+++ b/arch/arm64/include/asm/page.h
@@ -39,6 +39,7 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/personality.h> /* for READ_IMPLIES_EXEC */
 #include <asm/pgtable-types.h>
 
 extern void __cpu_clear_user_page(void *p, unsigned long user);
I see this has ended up in linux-next, but I'm not sure whether or not
it's actually queued someplace for 4.6. Any ideas?

If not, I can take it (or some derivative) through arm64 as a fix for
-rc3.
It's not actually needed any more because Kirill has tweaked the patch
which triggered this build error.

However I think the change still makes sense as a standalone thing -
your call.


From: Andrew Morton <akpm@linux-foundation.org>
Subject: arm: arch/arm/include/asm/page.h needs personality.h

VM_DATA_DEFAULT_FLAGS uses READ_IMPLIES_EXEC, so page.h should include
personality.h to provide this.

This was needed for "mm: warn about VmData over RLIMIT_DATA".

Cc: Russell King <redacted>
Cc: Will Deacon <redacted>
Cc: Konstantin Khlebnikov <redacted>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 arch/arm/include/asm/page.h |    2 ++
 1 file changed, 2 insertions(+)

diff -puN arch/arm/include/asm/page.h~arm-arch-arm-include-asm-pageh-needs-personalityh arch/arm/include/asm/page.h
--- a/arch/arm/include/asm/page.h~arm-arch-arm-include-asm-pageh-needs-personalityh
+++ a/arch/arm/include/asm/page.h
@@ -17,6 +17,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <linux/personality.h>	/* For READ_IMPLIES_EXEC */
+
 #ifndef CONFIG_MMU
 
 #include <asm/page-nommu.h>
_
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help