public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] x86/entry: Fixlets after the big entry series
@ 2015-10-13  0:32 Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso Andy Lutomirski
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Andy Lutomirski @ 2015-10-13  0:32 UTC (permalink / raw)
  To: x86, linux-kernel
  Cc: Brian Gerst, Denys Vlasenko, Linus Torvalds, Borislav Petkov,
	Andy Lutomirski

Patch 1 fixes some style problems that Borislav noticed.  Patch 2
deletes unused macros at Ingo's request.  Patch 3 fixes the UML
build.  (I haven't confirmed that UML *works*, but that should be
easy to check.)

Andy Lutomirski (3):
  selftests/x86: Style fixes for unwind_vdso
  x86/asm: Remove the xyz_cfi macros from dwarf2.h
  um: Fix build after x86 syscall changes

 arch/x86/include/asm/dwarf2.h             | 93 -------------------------------
 arch/x86/um/asm/syscall.h                 |  4 ++
 tools/testing/selftests/x86/unwind_vdso.c |  6 +-
 3 files changed, 8 insertions(+), 95 deletions(-)

-- 
2.4.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso
  2015-10-13  0:32 [PATCH 0/3] x86/entry: Fixlets after the big entry series Andy Lutomirski
@ 2015-10-13  0:32 ` Andy Lutomirski
  2015-10-14 15:29   ` [tip:x86/asm] selftests/x86: Style fixes for the 'unwind_vdso' test tip-bot for Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 2/3] x86/asm: Remove the xyz_cfi macros from dwarf2.h Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 3/3] um: Fix build after x86 syscall changes Andy Lutomirski
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Lutomirski @ 2015-10-13  0:32 UTC (permalink / raw)
  To: x86, linux-kernel
  Cc: Brian Gerst, Denys Vlasenko, Linus Torvalds, Borislav Petkov,
	Andy Lutomirski

checkpatch is really quite bad for user code like this, but it
caught two legit style issues.

Reported-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 tools/testing/selftests/x86/unwind_vdso.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/x86/unwind_vdso.c b/tools/testing/selftests/x86/unwind_vdso.c
index 5992ff24ab83..00a26a82fa98 100644
--- a/tools/testing/selftests/x86/unwind_vdso.c
+++ b/tools/testing/selftests/x86/unwind_vdso.c
@@ -134,7 +134,7 @@ _Unwind_Reason_Code trace_fn(struct _Unwind_Context * ctx, void *opaque)
 
 static void sigtrap(int sig, siginfo_t *info, void *ctx_void)
 {
-	ucontext_t *ctx = (ucontext_t*)ctx_void;
+	ucontext_t *ctx = (ucontext_t *)ctx_void;
 	struct unwind_state state;
 	unsigned long ip = ctx->uc_mcontext.gregs[REG_EIP];
 
@@ -192,7 +192,9 @@ int main()
 		 * affected by libc/19006 (https://sourceware.org/PR19006).
 		 */
 		printf("[WARN]\tsyscall(2) didn't enter AT_SYSINFO\n");
-	} if (get_eflags() & X86_EFLAGS_TF) {
+	}
+
+	if (get_eflags() & X86_EFLAGS_TF) {
 		printf("[FAIL]\tTF is still set\n");
 		nerrs++;
 	}
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] x86/asm: Remove the xyz_cfi macros from dwarf2.h
  2015-10-13  0:32 [PATCH 0/3] x86/entry: Fixlets after the big entry series Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso Andy Lutomirski
@ 2015-10-13  0:32 ` Andy Lutomirski
  2015-10-14 15:29   ` [tip:x86/asm] " tip-bot for Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 3/3] um: Fix build after x86 syscall changes Andy Lutomirski
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Lutomirski @ 2015-10-13  0:32 UTC (permalink / raw)
  To: x86, linux-kernel
  Cc: Brian Gerst, Denys Vlasenko, Linus Torvalds, Borislav Petkov,
	Andy Lutomirski

They are currently unused, and I don't think that anyone was ever
particularly happy with them.  They had the unfortunate property
that they made it easy to CFI-annotate things without thinking about
them -- when pushing, do you want to just update the CFA offset, or
do you also want to update the saved location of the register being
pushed?

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/include/asm/dwarf2.h | 93 -------------------------------------------
 1 file changed, 93 deletions(-)

diff --git a/arch/x86/include/asm/dwarf2.h b/arch/x86/include/asm/dwarf2.h
index 09133ba032b3..b7a1ab865d68 100644
--- a/arch/x86/include/asm/dwarf2.h
+++ b/arch/x86/include/asm/dwarf2.h
@@ -81,97 +81,4 @@
 
 #endif
 
-/*
- * An attempt to make CFI annotations more or less
- * correct and shorter. It is implied that you know
- * what you're doing if you use them.
- */
-#ifdef __ASSEMBLY__
-#ifdef CONFIG_X86_64
-	.macro pushq_cfi reg
-	pushq \reg
-	CFI_ADJUST_CFA_OFFSET 8
-	.endm
-
-	.macro pushq_cfi_reg reg
-	pushq %\reg
-	CFI_ADJUST_CFA_OFFSET 8
-	CFI_REL_OFFSET \reg, 0
-	.endm
-
-	.macro popq_cfi reg
-	popq \reg
-	CFI_ADJUST_CFA_OFFSET -8
-	.endm
-
-	.macro popq_cfi_reg reg
-	popq %\reg
-	CFI_ADJUST_CFA_OFFSET -8
-	CFI_RESTORE \reg
-	.endm
-
-	.macro pushfq_cfi
-	pushfq
-	CFI_ADJUST_CFA_OFFSET 8
-	.endm
-
-	.macro popfq_cfi
-	popfq
-	CFI_ADJUST_CFA_OFFSET -8
-	.endm
-
-	.macro movq_cfi reg offset=0
-	movq %\reg, \offset(%rsp)
-	CFI_REL_OFFSET \reg, \offset
-	.endm
-
-	.macro movq_cfi_restore offset reg
-	movq \offset(%rsp), %\reg
-	CFI_RESTORE \reg
-	.endm
-#else /*!CONFIG_X86_64*/
-	.macro pushl_cfi reg
-	pushl \reg
-	CFI_ADJUST_CFA_OFFSET 4
-	.endm
-
-	.macro pushl_cfi_reg reg
-	pushl %\reg
-	CFI_ADJUST_CFA_OFFSET 4
-	CFI_REL_OFFSET \reg, 0
-	.endm
-
-	.macro popl_cfi reg
-	popl \reg
-	CFI_ADJUST_CFA_OFFSET -4
-	.endm
-
-	.macro popl_cfi_reg reg
-	popl %\reg
-	CFI_ADJUST_CFA_OFFSET -4
-	CFI_RESTORE \reg
-	.endm
-
-	.macro pushfl_cfi
-	pushfl
-	CFI_ADJUST_CFA_OFFSET 4
-	.endm
-
-	.macro popfl_cfi
-	popfl
-	CFI_ADJUST_CFA_OFFSET -4
-	.endm
-
-	.macro movl_cfi reg offset=0
-	movl %\reg, \offset(%esp)
-	CFI_REL_OFFSET \reg, \offset
-	.endm
-
-	.macro movl_cfi_restore offset reg
-	movl \offset(%esp), %\reg
-	CFI_RESTORE \reg
-	.endm
-#endif /*!CONFIG_X86_64*/
-#endif /*__ASSEMBLY__*/
-
 #endif /* _ASM_X86_DWARF2_H */
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] um: Fix build after x86 syscall changes
  2015-10-13  0:32 [PATCH 0/3] x86/entry: Fixlets after the big entry series Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso Andy Lutomirski
  2015-10-13  0:32 ` [PATCH 2/3] x86/asm: Remove the xyz_cfi macros from dwarf2.h Andy Lutomirski
@ 2015-10-13  0:32 ` Andy Lutomirski
  2015-10-14 15:30   ` [tip:x86/asm] um/x86: " tip-bot for Andy Lutomirski
  2 siblings, 1 reply; 7+ messages in thread
From: Andy Lutomirski @ 2015-10-13  0:32 UTC (permalink / raw)
  To: x86, linux-kernel
  Cc: Brian Gerst, Denys Vlasenko, Linus Torvalds, Borislav Petkov,
	Andy Lutomirski

I didn't realize that um didn't include x86's asm/syscall.h.  Re-add
a missing typedef.

Reported-by: Richard Weinberger <richard@nod.at>
Fixes: 034042cc1e28 ("x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h")
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/um/asm/syscall.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/x86/um/asm/syscall.h b/arch/x86/um/asm/syscall.h
index 9fe77b7b5a0e..81d6562ce01d 100644
--- a/arch/x86/um/asm/syscall.h
+++ b/arch/x86/um/asm/syscall.h
@@ -3,6 +3,10 @@
 
 #include <uapi/linux/audit.h>
 
+typedef asmlinkage long (*sys_call_ptr_t)(unsigned long, unsigned long,
+					  unsigned long, unsigned long,
+					  unsigned long, unsigned long);
+
 static inline int syscall_get_arch(void)
 {
 #ifdef CONFIG_X86_32
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [tip:x86/asm] selftests/x86: Style fixes for the 'unwind_vdso' test
  2015-10-13  0:32 ` [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso Andy Lutomirski
@ 2015-10-14 15:29   ` tip-bot for Andy Lutomirski
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Andy Lutomirski @ 2015-10-14 15:29 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: bp, linux-kernel, torvalds, hpa, mingo, peterz, luto, dvlasenk,
	tglx, bp, brgerst

Commit-ID:  893a3ec27e1dae62a904f78d53244001979748a6
Gitweb:     http://git.kernel.org/tip/893a3ec27e1dae62a904f78d53244001979748a6
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Mon, 12 Oct 2015 17:32:12 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 14 Oct 2015 16:56:28 +0200

selftests/x86: Style fixes for the 'unwind_vdso' test

Checkpatch is really quite bad for user code like this, but it
caught two legit style issues.

Reported-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/3335040bdd40d2bca4b1a28a3f8b165361c801b7.1444696194.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 tools/testing/selftests/x86/unwind_vdso.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/x86/unwind_vdso.c b/tools/testing/selftests/x86/unwind_vdso.c
index 5992ff2..00a26a8 100644
--- a/tools/testing/selftests/x86/unwind_vdso.c
+++ b/tools/testing/selftests/x86/unwind_vdso.c
@@ -134,7 +134,7 @@ _Unwind_Reason_Code trace_fn(struct _Unwind_Context * ctx, void *opaque)
 
 static void sigtrap(int sig, siginfo_t *info, void *ctx_void)
 {
-	ucontext_t *ctx = (ucontext_t*)ctx_void;
+	ucontext_t *ctx = (ucontext_t *)ctx_void;
 	struct unwind_state state;
 	unsigned long ip = ctx->uc_mcontext.gregs[REG_EIP];
 
@@ -192,7 +192,9 @@ int main()
 		 * affected by libc/19006 (https://sourceware.org/PR19006).
 		 */
 		printf("[WARN]\tsyscall(2) didn't enter AT_SYSINFO\n");
-	} if (get_eflags() & X86_EFLAGS_TF) {
+	}
+
+	if (get_eflags() & X86_EFLAGS_TF) {
 		printf("[FAIL]\tTF is still set\n");
 		nerrs++;
 	}

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [tip:x86/asm] x86/asm: Remove the xyz_cfi macros from dwarf2.h
  2015-10-13  0:32 ` [PATCH 2/3] x86/asm: Remove the xyz_cfi macros from dwarf2.h Andy Lutomirski
@ 2015-10-14 15:29   ` tip-bot for Andy Lutomirski
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Andy Lutomirski @ 2015-10-14 15:29 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: torvalds, dvlasenk, hpa, bp, tglx, peterz, linux-kernel, luto,
	mingo, brgerst

Commit-ID:  af22aa7c766d50712b9afeca53e9e4208ce6284c
Gitweb:     http://git.kernel.org/tip/af22aa7c766d50712b9afeca53e9e4208ce6284c
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Mon, 12 Oct 2015 17:32:13 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 14 Oct 2015 16:56:28 +0200

x86/asm: Remove the xyz_cfi macros from dwarf2.h

They are currently unused, and I don't think that anyone was
ever particularly happy with them.  They had the unfortunate
property that they made it easy to CFI-annotate things without
thinking about them -- when pushing, do you want to just update
the CFA offset, or do you also want to update the saved location
of the register being pushed?

Suggested-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1447bfbd10bb268b4593b32534ecefa1f4df287e.1444696194.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/asm/dwarf2.h | 93 -------------------------------------------
 1 file changed, 93 deletions(-)

diff --git a/arch/x86/include/asm/dwarf2.h b/arch/x86/include/asm/dwarf2.h
index 09133ba..b7a1ab8 100644
--- a/arch/x86/include/asm/dwarf2.h
+++ b/arch/x86/include/asm/dwarf2.h
@@ -81,97 +81,4 @@
 
 #endif
 
-/*
- * An attempt to make CFI annotations more or less
- * correct and shorter. It is implied that you know
- * what you're doing if you use them.
- */
-#ifdef __ASSEMBLY__
-#ifdef CONFIG_X86_64
-	.macro pushq_cfi reg
-	pushq \reg
-	CFI_ADJUST_CFA_OFFSET 8
-	.endm
-
-	.macro pushq_cfi_reg reg
-	pushq %\reg
-	CFI_ADJUST_CFA_OFFSET 8
-	CFI_REL_OFFSET \reg, 0
-	.endm
-
-	.macro popq_cfi reg
-	popq \reg
-	CFI_ADJUST_CFA_OFFSET -8
-	.endm
-
-	.macro popq_cfi_reg reg
-	popq %\reg
-	CFI_ADJUST_CFA_OFFSET -8
-	CFI_RESTORE \reg
-	.endm
-
-	.macro pushfq_cfi
-	pushfq
-	CFI_ADJUST_CFA_OFFSET 8
-	.endm
-
-	.macro popfq_cfi
-	popfq
-	CFI_ADJUST_CFA_OFFSET -8
-	.endm
-
-	.macro movq_cfi reg offset=0
-	movq %\reg, \offset(%rsp)
-	CFI_REL_OFFSET \reg, \offset
-	.endm
-
-	.macro movq_cfi_restore offset reg
-	movq \offset(%rsp), %\reg
-	CFI_RESTORE \reg
-	.endm
-#else /*!CONFIG_X86_64*/
-	.macro pushl_cfi reg
-	pushl \reg
-	CFI_ADJUST_CFA_OFFSET 4
-	.endm
-
-	.macro pushl_cfi_reg reg
-	pushl %\reg
-	CFI_ADJUST_CFA_OFFSET 4
-	CFI_REL_OFFSET \reg, 0
-	.endm
-
-	.macro popl_cfi reg
-	popl \reg
-	CFI_ADJUST_CFA_OFFSET -4
-	.endm
-
-	.macro popl_cfi_reg reg
-	popl %\reg
-	CFI_ADJUST_CFA_OFFSET -4
-	CFI_RESTORE \reg
-	.endm
-
-	.macro pushfl_cfi
-	pushfl
-	CFI_ADJUST_CFA_OFFSET 4
-	.endm
-
-	.macro popfl_cfi
-	popfl
-	CFI_ADJUST_CFA_OFFSET -4
-	.endm
-
-	.macro movl_cfi reg offset=0
-	movl %\reg, \offset(%esp)
-	CFI_REL_OFFSET \reg, \offset
-	.endm
-
-	.macro movl_cfi_restore offset reg
-	movl \offset(%esp), %\reg
-	CFI_RESTORE \reg
-	.endm
-#endif /*!CONFIG_X86_64*/
-#endif /*__ASSEMBLY__*/
-
 #endif /* _ASM_X86_DWARF2_H */

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [tip:x86/asm] um/x86: Fix build after x86 syscall changes
  2015-10-13  0:32 ` [PATCH 3/3] um: Fix build after x86 syscall changes Andy Lutomirski
@ 2015-10-14 15:30   ` tip-bot for Andy Lutomirski
  0 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Andy Lutomirski @ 2015-10-14 15:30 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: torvalds, dvlasenk, bp, luto, peterz, linux-kernel, brgerst, hpa,
	tglx, mingo, richard

Commit-ID:  612bece654ff6cd43160e201985be826e96b8bcb
Gitweb:     http://git.kernel.org/tip/612bece654ff6cd43160e201985be826e96b8bcb
Author:     Andy Lutomirski <luto@kernel.org>
AuthorDate: Mon, 12 Oct 2015 17:32:14 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 14 Oct 2015 16:56:28 +0200

um/x86: Fix build after x86 syscall changes

I didn't realize that um didn't include x86's asm/syscall.h.
Re-add a missing typedef.

Reported-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 034042cc1e28 ("x86/entry/syscalls: Move syscall table declarations into asm/syscalls.h")
Link: http://lkml.kernel.org/r/8d15b9a88f4fd49e3342757e0a34624ee5ce9220.1444696194.git.luto@kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/um/asm/syscall.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/x86/um/asm/syscall.h b/arch/x86/um/asm/syscall.h
index 9fe77b7..81d6562 100644
--- a/arch/x86/um/asm/syscall.h
+++ b/arch/x86/um/asm/syscall.h
@@ -3,6 +3,10 @@
 
 #include <uapi/linux/audit.h>
 
+typedef asmlinkage long (*sys_call_ptr_t)(unsigned long, unsigned long,
+					  unsigned long, unsigned long,
+					  unsigned long, unsigned long);
+
 static inline int syscall_get_arch(void)
 {
 #ifdef CONFIG_X86_32

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-14 15:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-13  0:32 [PATCH 0/3] x86/entry: Fixlets after the big entry series Andy Lutomirski
2015-10-13  0:32 ` [PATCH 1/3] selftests/x86: Style fixes for unwind_vdso Andy Lutomirski
2015-10-14 15:29   ` [tip:x86/asm] selftests/x86: Style fixes for the 'unwind_vdso' test tip-bot for Andy Lutomirski
2015-10-13  0:32 ` [PATCH 2/3] x86/asm: Remove the xyz_cfi macros from dwarf2.h Andy Lutomirski
2015-10-14 15:29   ` [tip:x86/asm] " tip-bot for Andy Lutomirski
2015-10-13  0:32 ` [PATCH 3/3] um: Fix build after x86 syscall changes Andy Lutomirski
2015-10-14 15:30   ` [tip:x86/asm] um/x86: " tip-bot for Andy Lutomirski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox