Re: [PATCH] x86, um: actually mark system call tables readonly

2015-01-03 Thread Daniel Borkmann

On 01/03/2015 10:40 PM, Richard Weinberger wrote:
...

I'll pick up this patch.


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


Re: [PATCH] x86, um: actually mark system call tables readonly

2015-01-03 Thread Richard Weinberger
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

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


[PATCH] x86, um: actually mark system call tables readonly

2015-01-03 Thread 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.

Before:

$ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
 U sys_writev
 D sys_call_table
 D syscall_table_size

After:

$ nm -v arch/x86/um/sys_call_table_64.o | grep -1 "sys_call_table"
 U sys_writev
 R sys_call_table
 D syscall_table_size

Fixes: a074335a370e ("x86, um: Mark system call tables readonly")
Cc: H. Peter Anvin 
Cc: Andrew Morton 
Signed-off-by: Daniel Borkmann 
---
 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

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