diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2014-06-04 13:09:01 +0200 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2014-06-04 13:09:01 +0200 |
| commit | af5666e0f76023d9c296016024297903a4c83108 (patch) | |
| tree | 9397e7a41dd3eb0c0e14a6407a8e8f12abed4fc5 /kernel/debug | |
| parent | 1b15d2e5b8077670b1e6a33250a0d9577efff4a5 (diff) | |
| parent | 368c96640d10a145da5f258f2d2833668d4f3629 (diff) | |
Merge branches 'for-3.15/upstream-fixes' and 'for-3.16/upstream' into for-linus
Conflicts:
drivers/hid/hid-sensor-hub.c
Diffstat (limited to 'kernel/debug')
| -rw-r--r-- | kernel/debug/debug_core.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c index 99982a70dda..2956c8da160 100644 --- a/kernel/debug/debug_core.c +++ b/kernel/debug/debug_core.c @@ -49,6 +49,7 @@ #include <linux/pid.h> #include <linux/smp.h> #include <linux/mm.h> +#include <linux/vmacache.h> #include <linux/rcupdate.h> #include <asm/cacheflush.h> @@ -224,10 +225,17 @@ static void kgdb_flush_swbreak_addr(unsigned long addr) if (!CACHE_FLUSH_IS_SAFE) return; - if (current->mm && current->mm->mmap_cache) { - flush_cache_range(current->mm->mmap_cache, - addr, addr + BREAK_INSTR_SIZE); + if (current->mm) { + int i; + + for (i = 0; i < VMACACHE_SIZE; i++) { + if (!current->vmacache[i]) + continue; + flush_cache_range(current->vmacache[i], + addr, addr + BREAK_INSTR_SIZE); + } } + /* Force flush instruction cache if it was outside the mm */ flush_icache_range(addr, addr + BREAK_INSTR_SIZE); } |
