diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-15 22:42:40 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-15 22:42:40 -0500 |
commit | 7c225c69f86c934e3be9be63ecde754e286838d7 (patch) | |
tree | ff2df419b0c4886b37407235f7d21215e4cf45e4 /arch/x86/kernel | |
parent | 6363b3f3ac5be096d08c8c504128befa0c033529 (diff) | |
parent | 1b7176aea0a924ac59c6a283129d3e8eb00aa915 (diff) |
Merge branch 'akpm' (patches from Andrew)
Merge updates from Andrew Morton:
- a few misc bits
- ocfs2 updates
- almost all of MM
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (131 commits)
memory hotplug: fix comments when adding section
mm: make alloc_node_mem_map a void call if we don't have CONFIG_FLAT_NODE_MEM_MAP
mm: simplify nodemask printing
mm,oom_reaper: remove pointless kthread_run() error check
mm/page_ext.c: check if page_ext is not prepared
writeback: remove unused function parameter
mm: do not rely on preempt_count in print_vma_addr
mm, sparse: do not swamp log with huge vmemmap allocation failures
mm/hmm: remove redundant variable align_end
mm/list_lru.c: mark expected switch fall-through
mm/shmem.c: mark expected switch fall-through
mm/page_alloc.c: broken deferred calculation
mm: don't warn about allocations which stall for too long
fs: fuse: account fuse_inode slab memory as reclaimable
mm, page_alloc: fix potential false positive in __zone_watermark_ok
mm: mlock: remove lru_add_drain_all()
mm, sysctl: make NUMA stats configurable
shmem: convert shmem_init_inodecache() to void
Unify migrate_pages and move_pages access checks
mm, pagevec: rename pagevec drained field
...
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/cpu/intel.c | 15 | ||||
-rw-r--r-- | arch/x86/kernel/espfix_64.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/traps.c | 5 |
3 files changed, 1 insertions, 21 deletions
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index b720dacac051..b1af22073e28 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c | |||
@@ -187,21 +187,6 @@ static void early_init_intel(struct cpuinfo_x86 *c) | |||
187 | if (c->x86 == 6 && c->x86_model < 15) | 187 | if (c->x86 == 6 && c->x86_model < 15) |
188 | clear_cpu_cap(c, X86_FEATURE_PAT); | 188 | clear_cpu_cap(c, X86_FEATURE_PAT); |
189 | 189 | ||
190 | #ifdef CONFIG_KMEMCHECK | ||
191 | /* | ||
192 | * P4s have a "fast strings" feature which causes single- | ||
193 | * stepping REP instructions to only generate a #DB on | ||
194 | * cache-line boundaries. | ||
195 | * | ||
196 | * Ingo Molnar reported a Pentium D (model 6) and a Xeon | ||
197 | * (model 2) with the same problem. | ||
198 | */ | ||
199 | if (c->x86 == 15) | ||
200 | if (msr_clear_bit(MSR_IA32_MISC_ENABLE, | ||
201 | MSR_IA32_MISC_ENABLE_FAST_STRING_BIT) > 0) | ||
202 | pr_info("kmemcheck: Disabling fast string operations\n"); | ||
203 | #endif | ||
204 | |||
205 | /* | 190 | /* |
206 | * If fast string is not enabled in IA32_MISC_ENABLE for any reason, | 191 | * If fast string is not enabled in IA32_MISC_ENABLE for any reason, |
207 | * clear the fast string and enhanced fast string CPU capabilities. | 192 | * clear the fast string and enhanced fast string CPU capabilities. |
diff --git a/arch/x86/kernel/espfix_64.c b/arch/x86/kernel/espfix_64.c index 7d7715dde901..e5ec3cafa72e 100644 --- a/arch/x86/kernel/espfix_64.c +++ b/arch/x86/kernel/espfix_64.c | |||
@@ -57,7 +57,7 @@ | |||
57 | # error "Need more virtual address space for the ESPFIX hack" | 57 | # error "Need more virtual address space for the ESPFIX hack" |
58 | #endif | 58 | #endif |
59 | 59 | ||
60 | #define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_ZERO) | 60 | #define PGALLOC_GFP (GFP_KERNEL | __GFP_ZERO) |
61 | 61 | ||
62 | /* This contains the *bottom* address of the espfix stack */ | 62 | /* This contains the *bottom* address of the espfix stack */ |
63 | DEFINE_PER_CPU_READ_MOSTLY(unsigned long, espfix_stack); | 63 | DEFINE_PER_CPU_READ_MOSTLY(unsigned long, espfix_stack); |
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index b7b0f74a2150..989514c94a55 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c | |||
@@ -42,7 +42,6 @@ | |||
42 | #include <linux/edac.h> | 42 | #include <linux/edac.h> |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | #include <asm/kmemcheck.h> | ||
46 | #include <asm/stacktrace.h> | 45 | #include <asm/stacktrace.h> |
47 | #include <asm/processor.h> | 46 | #include <asm/processor.h> |
48 | #include <asm/debugreg.h> | 47 | #include <asm/debugreg.h> |
@@ -749,10 +748,6 @@ dotraplinkage void do_debug(struct pt_regs *regs, long error_code) | |||
749 | if (!dr6 && user_mode(regs)) | 748 | if (!dr6 && user_mode(regs)) |
750 | user_icebp = 1; | 749 | user_icebp = 1; |
751 | 750 | ||
752 | /* Catch kmemcheck conditions! */ | ||
753 | if ((dr6 & DR_STEP) && kmemcheck_trap(regs)) | ||
754 | goto exit; | ||
755 | |||
756 | /* Store the virtualized DR6 value */ | 751 | /* Store the virtualized DR6 value */ |
757 | tsk->thread.debugreg6 = dr6; | 752 | tsk->thread.debugreg6 = dr6; |
758 | 753 | ||