aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/mm/extable.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-11-26 23:42:21 -0500
committerDavid S. Miller <davem@davemloft.net>2016-11-26 23:42:21 -0500
commit0b42f25d2f123bb7fbd3565d003a8ea9e1e810fe (patch)
tree77856ad061e97e86027df1fa6efdf20a9fe309b5 /arch/x86/mm/extable.c
parente5f12b3f5ebb8a6ffd3864a04f687ea0ef78a48a (diff)
parentd8e435f3ab6fea2ea324dce72b51dd7761747523 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
udplite conflict is resolved by taking what 'net-next' did which removed the backlog receive method assignment, since it is no longer necessary. Two entries were added to the non-priv ethtool operations switch statement, one in 'net' and one in 'net-next, so simple overlapping changes. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/x86/mm/extable.c')
-rw-r--r--arch/x86/mm/extable.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
index 79ae939970d3..fcd06f7526de 100644
--- a/arch/x86/mm/extable.c
+++ b/arch/x86/mm/extable.c
@@ -135,7 +135,12 @@ void __init early_fixup_exception(struct pt_regs *regs, int trapnr)
if (early_recursion_flag > 2)
goto halt_loop;
- if (regs->cs != __KERNEL_CS)
+ /*
+ * Old CPUs leave the high bits of CS on the stack
+ * undefined. I'm not sure which CPUs do this, but at least
+ * the 486 DX works this way.
+ */
+ if ((regs->cs & 0xFFFF) != __KERNEL_CS)
goto fail;
/*