aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/entry_32.S
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2015-04-10 14:13:40 -0400
committerIngo Molnar <mingo@kernel.org>2015-04-11 04:40:02 -0400
commit54cfa458b492fcf76d653698d362743bcb329055 (patch)
tree9e76e62d5ae7f2c11078d8241bbad5a43802d3a4 /arch/x86/kernel/entry_32.S
parenta37f34a325d90856314ccd4994e1070dcc6bdcc4 (diff)
x86/asm/entry/32: Tidy up JNZ instructions after TESTs
After TESTs, use logically correct JNZ mnemonic instead of JNE. This doesn't change code: md5: c3005b39a11fe582b7df7908561ad4ee entry_32.o.before.asm c3005b39a11fe582b7df7908561ad4ee entry_32.o.after.asm Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> Acked-by: Andy Lutomirski <luto@kernel.org> Cc: Alexei Starovoitov <ast@plumgrid.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Kees Cook <keescook@chromium.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Will Drewry <wad@chromium.org> Link: http://lkml.kernel.org/r/1428689620-21881-1-git-send-email-dvlasenk@redhat.com [ Added object file comparison. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/entry_32.S')
-rw-r--r--arch/x86/kernel/entry_32.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 02bec0f1d1e1..1c309763e321 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -435,7 +435,7 @@ sysenter_after_call:
435 TRACE_IRQS_OFF 435 TRACE_IRQS_OFF
436 movl TI_flags(%ebp), %ecx 436 movl TI_flags(%ebp), %ecx
437 testl $_TIF_ALLWORK_MASK, %ecx 437 testl $_TIF_ALLWORK_MASK, %ecx
438 jne sysexit_audit 438 jnz sysexit_audit
439sysenter_exit: 439sysenter_exit:
440/* if something modifies registers it must also disable sysexit */ 440/* if something modifies registers it must also disable sysexit */
441 movl PT_EIP(%esp), %edx 441 movl PT_EIP(%esp), %edx
@@ -463,7 +463,7 @@ sysenter_audit:
463 463
464sysexit_audit: 464sysexit_audit:
465 testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT), %ecx 465 testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT), %ecx
466 jne syscall_exit_work 466 jnz syscall_exit_work
467 TRACE_IRQS_ON 467 TRACE_IRQS_ON
468 ENABLE_INTERRUPTS(CLBR_ANY) 468 ENABLE_INTERRUPTS(CLBR_ANY)
469 movl %eax,%edx /* second arg, syscall return value */ 469 movl %eax,%edx /* second arg, syscall return value */
@@ -475,7 +475,7 @@ sysexit_audit:
475 TRACE_IRQS_OFF 475 TRACE_IRQS_OFF
476 movl TI_flags(%ebp), %ecx 476 movl TI_flags(%ebp), %ecx
477 testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT), %ecx 477 testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT), %ecx
478 jne syscall_exit_work 478 jnz syscall_exit_work
479 movl PT_EAX(%esp),%eax /* reload syscall return value */ 479 movl PT_EAX(%esp),%eax /* reload syscall return value */
480 jmp sysenter_exit 480 jmp sysenter_exit
481#endif 481#endif
@@ -513,7 +513,7 @@ syscall_exit:
513 TRACE_IRQS_OFF 513 TRACE_IRQS_OFF
514 movl TI_flags(%ebp), %ecx 514 movl TI_flags(%ebp), %ecx
515 testl $_TIF_ALLWORK_MASK, %ecx # current->work 515 testl $_TIF_ALLWORK_MASK, %ecx # current->work
516 jne syscall_exit_work 516 jnz syscall_exit_work
517 517
518restore_all: 518restore_all:
519 TRACE_IRQS_IRET 519 TRACE_IRQS_IRET
@@ -615,7 +615,7 @@ work_notifysig: # deal with pending signals and
615#ifdef CONFIG_VM86 615#ifdef CONFIG_VM86
616 testl $X86_EFLAGS_VM, PT_EFLAGS(%esp) 616 testl $X86_EFLAGS_VM, PT_EFLAGS(%esp)
617 movl %esp, %eax 617 movl %esp, %eax
618 jne work_notifysig_v86 # returning to kernel-space or 618 jnz work_notifysig_v86 # returning to kernel-space or
619 # vm86-space 619 # vm86-space
6201: 6201:
621#else 621#else