* [PATCH] x86, um: actually mark system call tables readonly
@ 2015-01-03 12:11 Daniel Borkmann
2015-01-03 21:40 ` Richard Weinberger
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Borkmann @ 2015-01-03 12:11 UTC (permalink / raw)
To: richard; +Cc: linux-kernel, H. Peter Anvin, Andrew Morton
Commit a074335a370e ("x86, um: Mark system call tables readonly") was
supposed to mark the sys_call_table in UML as RO by adding the const,
but it doesn't have the desired effect as it's nevertheless being placed
into the data section since __cacheline_aligned enforces sys_call_table
being placed into .data..cacheline_aligned instead. We need to use
the ____cacheline_aligned version instead to fix this issue.
Before:
$ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
U sys_writev
0000000000000000 D sys_call_table
0000000000000000 D syscall_table_size
After:
$ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
U sys_writev
0000000000000000 R sys_call_table
0000000000000000 D syscall_table_size
Fixes: a074335a370e ("x86, um: Mark system call tables readonly")
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
---
arch/x86/um/sys_call_table_32.c | 2 +-
arch/x86/um/sys_call_table_64.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/um/sys_call_table_32.c b/arch/x86/um/sys_call_table_32.c
index 531d426..bd16d6c 100644
--- a/arch/x86/um/sys_call_table_32.c
+++ b/arch/x86/um/sys_call_table_32.c
@@ -34,7 +34,7 @@ typedef asmlinkage void (*sys_call_ptr_t)(void);
extern asmlinkage void sys_ni_syscall(void);
-const sys_call_ptr_t sys_call_table[] __cacheline_aligned = {
+const sys_call_ptr_t sys_call_table[] ____cacheline_aligned = {
/*
* Smells like a compiler bug -- it doesn't work
* when the & below is removed.
diff --git a/arch/x86/um/sys_call_table_64.c b/arch/x86/um/sys_call_table_64.c
index 20c3649..5cdfa9d 100644
--- a/arch/x86/um/sys_call_table_64.c
+++ b/arch/x86/um/sys_call_table_64.c
@@ -47,7 +47,7 @@ typedef void (*sys_call_ptr_t)(void);
extern void sys_ni_syscall(void);
-const sys_call_ptr_t sys_call_table[] __cacheline_aligned = {
+const sys_call_ptr_t sys_call_table[] ____cacheline_aligned = {
/*
* Smells like a compiler bug -- it doesn't work
* when the & below is removed.
--
1.7.11.7
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] x86, um: actually mark system call tables readonly
2015-01-03 12:11 [PATCH] x86, um: actually mark system call tables readonly Daniel Borkmann
@ 2015-01-03 21:40 ` Richard Weinberger
2015-01-03 23:23 ` Daniel Borkmann
0 siblings, 1 reply; 3+ messages in thread
From: Richard Weinberger @ 2015-01-03 21:40 UTC (permalink / raw)
To: Daniel Borkmann; +Cc: linux-kernel, H. Peter Anvin, Andrew Morton
Am 03.01.2015 um 13:11 schrieb Daniel Borkmann:
> Commit a074335a370e ("x86, um: Mark system call tables readonly") was
> supposed to mark the sys_call_table in UML as RO by adding the const,
> but it doesn't have the desired effect as it's nevertheless being placed
> into the data section since __cacheline_aligned enforces sys_call_table
> being placed into .data..cacheline_aligned instead. We need to use
> the ____cacheline_aligned version instead to fix this issue.
__ vs. ___ oh my...
I'll pick up this patch.
Thanks a lot Daniel!
//richard
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] x86, um: actually mark system call tables readonly
2015-01-03 21:40 ` Richard Weinberger
@ 2015-01-03 23:23 ` Daniel Borkmann
0 siblings, 0 replies; 3+ messages in thread
From: Daniel Borkmann @ 2015-01-03 23:23 UTC (permalink / raw)
To: Richard Weinberger; +Cc: linux-kernel, H. Peter Anvin, Andrew Morton
On 01/03/2015 10:40 PM, Richard Weinberger wrote:
...
> I'll pick up this patch.
Thanks a lot, Richard!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-01-03 23:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-03 12:11 [PATCH] x86, um: actually mark system call tables readonly Daniel Borkmann
2015-01-03 21:40 ` Richard Weinberger
2015-01-03 23:23 ` Daniel Borkmann
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.