* [GIT PULL] Additional x86 fixes for v3.4-rc1
@ 2012-03-22 21:38 H. Peter Anvin
0 siblings, 0 replies; only message in thread
From: H. Peter Anvin @ 2012-03-22 21:38 UTC (permalink / raw)
To: Linus Torvalds
Cc: stable, Andrew Morton, Dmitry Adamushko, H. Peter Anvin,
Ingo Molnar, Linus Torvalds, Linux Kernel Mailing List,
Matt Fleming, Oleg Nesterov, Roland McGrath, Thierry Reding,
Thomas Gleixner
Hi Linus,
The following changes since commit 28f23d1f3b6a6078312b6e9585e583cc7326fe22:
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2012-03-22 09:44:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
The head of this tree is 29a2e2836ff9ea65a603c89df217f4198973a74f.
--------------------
In order, these patches:
1. addresses a long-standing related when a kernel-spawned process
gets a signal on an i386 kernel compiled without CONFIG_VM86.
2. fixes the newly introduced build warning in arch/x86/boot.
3. fixes a typo in the i386 system call table which affects building
some libcs.
--------------------
Dmitry Adamushko (1):
x86-32: Fix endless loop when processing signals for kernel tasks
H. Peter Anvin (1):
x86, boot: Correct CFLAGS for hostprogs
Thierry Reding (1):
x86-32: Fix typo for mq_getsetattr in syscall table
arch/x86/boot/Makefile | 6 +++---
arch/x86/kernel/entry_32.S | 17 ++++++++++-------
arch/x86/syscalls/syscall_32.tbl | 2 +-
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 3e02148..5a747dd 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -37,9 +37,9 @@ setup-y += video-bios.o
targets += $(setup-y)
hostprogs-y := mkcpustr tools/build
-HOSTCFLAGS_mkcpustr.o := -I$(srctree)/arch/$(SRCARCH)/include
-HOST_EXTRACFLAGS += -I$(objtree)/include -I$(srctree)/tools/include \
- -include $(srctree)/include/linux/kconfig.h
+HOST_EXTRACFLAGS += -I$(srctree)/tools/include $(LINUXINCLUDE) \
+ -D__EXPORTED_HEADERS__
+
$(obj)/cpu.o: $(obj)/cpustr.h
quiet_cmd_cpustr = CPUSTR $@
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 79d97e6..7b784f4 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -98,12 +98,6 @@
#endif
.endm
-#ifdef CONFIG_VM86
-#define resume_userspace_sig check_userspace
-#else
-#define resume_userspace_sig resume_userspace
-#endif
-
/*
* User gs save/restore
*
@@ -327,10 +321,19 @@ ret_from_exception:
preempt_stop(CLBR_ANY)
ret_from_intr:
GET_THREAD_INFO(%ebp)
-check_userspace:
+resume_userspace_sig:
+#ifdef CONFIG_VM86
movl PT_EFLAGS(%esp), %eax # mix EFLAGS and CS
movb PT_CS(%esp), %al
andl $(X86_EFLAGS_VM | SEGMENT_RPL_MASK), %eax
+#else
+ /*
+ * We can be coming here from a syscall done in the kernel space,
+ * e.g. a failed kernel_execve().
+ */
+ movl PT_CS(%esp), %eax
+ andl $SEGMENT_RPL_MASK, %eax
+#endif
cmpl $USER_RPL, %eax
jb resume_kernel # not returning to v8086 or userspace
diff --git a/arch/x86/syscalls/syscall_32.tbl b/arch/x86/syscalls/syscall_32.tbl
index ce98e28..e7e67cc 100644
--- a/arch/x86/syscalls/syscall_32.tbl
+++ b/arch/x86/syscalls/syscall_32.tbl
@@ -288,7 +288,7 @@
279 i386 mq_timedsend sys_mq_timedsend compat_sys_mq_timedsend
280 i386 mq_timedreceive sys_mq_timedreceive compat_sys_mq_timedreceive
281 i386 mq_notify sys_mq_notify compat_sys_mq_notify
-282 i386 mq_getsetaddr sys_mq_getsetattr compat_sys_mq_getsetattr
+282 i386 mq_getsetattr sys_mq_getsetattr compat_sys_mq_getsetattr
283 i386 kexec_load sys_kexec_load compat_sys_kexec_load
284 i386 waitid sys_waitid compat_sys_waitid
# 285 sys_setaltroot
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-03-22 21:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-22 21:38 [GIT PULL] Additional x86 fixes for v3.4-rc1 H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®