Andrey Ryabinin
cb9e3c292d
mm: vmalloc: pass additional vm_flags to __vmalloc_node_range()
...
For instrumenting global variables KASan will shadow memory backing memory
for modules. So on module loading we will need to allocate memory for
shadow and map it at address in shadow that corresponds to the address
allocated in module_alloc().
__vmalloc_node_range() could be used for this purpose, except it puts a
guard hole after allocated area. Guard hole in shadow memory should be a
problem because at some future point we might need to have a shadow memory
at address occupied by guard hole. So we could fail to allocate shadow
for module_alloc().
Now we have VM_NO_GUARD flag disabling guard page, so we need to pass into
__vmalloc_node_range(). Add new parameter 'vm_flags' to
__vmalloc_node_range() function.
Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Konstantin Serebryany <kcc@google.com>
Cc: Dmitry Chernenkov <dmitryc@google.com>
Signed-off-by: Andrey Konovalov <adech.fo@gmail.com>
Cc: Yuri Gribov <tetra2005@gmail.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-02-13 21:21:42 -08:00
..
.gitignore
apc.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
asm-offsets.c
[PATCH] sparc32: vm_area_struct access for old Sun SPARCs.
2013-07-10 13:56:10 -07:00
audit.c
sparc64: fix sparse warnings in compat_audit.c
2014-05-18 19:01:34 -07:00
auxio_32.c
sparc32: fix sparse warning in auxio_32.c
2014-05-18 19:01:27 -07:00
auxio_64.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
btext.c
sparc64: fix sparse warning in btext.c
2014-05-18 19:01:30 -07:00
central.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
cherrs.S
chmc.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
compat_audit.c
sparc64: fix sparse warnings in compat_audit.c
2014-05-18 19:01:34 -07:00
cpu.c
sparc64: correctly recognise M6 and M7 cpu type
2014-09-09 15:24:10 -07:00
cpumap.c
sparc64: support M6 and M7 for building CPU distribution map
2014-09-09 15:24:10 -07:00
cpumap.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
devices.c
sparc32: drop tadpole specific code
2014-05-18 19:01:29 -07:00
dma.c
sparc: remove several unnecessary module.h include instances
2011-10-31 19:30:54 -04:00
ds.c
sparc64: Move request_irq() from ldc_bind() to ldc_alloc()
2014-09-16 18:31:31 -07:00
dtlb_miss.S
dtlb_prot.S
sparc64: Fix corrupted thread fault code.
2014-10-18 23:03:09 -04:00
ebus.c
sparc: delete non-required instances of include <linux/init.h>
2014-01-28 23:38:23 -08:00
entry.h
sparc64: Fix register corruption in top-most kernel stack frame during boot.
2014-10-24 09:52:49 -07:00
entry.S
sparc32: Fix exit flag passed from traced sys_sigreturn
2013-07-31 19:10:04 -07:00
etrap_32.S
sparc32: introduce support for run-time patching for all shared assembler code
2012-05-27 23:52:49 -07:00
etrap_64.S
sparc64: clear syscall_noerror on the entry to syscall, not on the exit
2012-10-14 19:26:52 -04:00
fpu_traps.S
ftrace.c
ftrace: Do not pass data to ftrace_dyn_arch_init
2014-03-07 10:06:14 -05:00
getsetcc.S
head_32.S
sparc32: drop swapper_pg_dir
2012-07-26 16:46:15 -07:00
head_64.S
sparc64: Fix register corruption in top-most kernel stack frame during boot.
2014-10-24 09:52:49 -07:00
helpers.S
sparc64: Fix perf_arch_get_caller_regs().
2010-08-08 22:07:36 -07:00
hvapi.c
sparc64: T5 PMU
2014-09-16 18:26:40 -07:00
hvcalls.S
sparc64: T5 PMU
2014-09-16 18:26:40 -07:00
hvtramp.S
sparc64: Fix register corruption in top-most kernel stack frame during boot.
2014-10-24 09:52:49 -07:00
idprom.c
sparc: Clear out unused asm/machines.h values.
2012-05-11 20:45:18 -07:00
iommu.c
sparc64: fix sparse warning in pci.c
2014-05-18 19:01:31 -07:00
iommu_common.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
ioport.c
sparc32: dma_alloc_coherent must honour gfp flags
2014-09-10 14:03:28 -07:00
irq.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
irq_32.c
sparc32: fix sparse warnings in irq_32.c
2014-04-29 01:12:25 -04:00
irq_64.c
sparc64: sparse irq
2014-10-05 16:53:40 -07:00
itlb_miss.S
ivec.S
jump_label.c
sparc: Fix even more fallout from system.h split.
2012-03-29 22:40:52 -07:00
kernel.h
sparc64: fix sparse warning in kgdb_64.c
2014-05-18 19:01:34 -07:00
kgdb_32.c
sparc: explicitly include sched.h to get task_thread_info declaration
2013-02-06 11:04:10 -08:00
kgdb_64.c
sparc64: fix sparse warning in kgdb_64.c
2014-05-18 19:01:34 -07:00
kprobes.c
sparc: Replace __get_cpu_var uses
2014-08-26 13:45:55 -04:00
kstack.h
sparc64: Run NMIs on the hardirq stack.
2010-04-14 02:04:29 -07:00
ktlb.S
sparc64: Adjust vmalloc region size based upon available virtual address bits.
2014-10-05 16:53:40 -07:00
ldc.c
sparc/ldc: create separate ldc_unbind from ldc_free
2014-12-11 18:52:45 -08:00
led.c
leon_kernel.c
sparc: leon: Fix race condition between leon_cycles_offset and timer_interrupt
2014-09-09 16:39:10 -07:00
leon_pci.c
sparc32: introduce asm-generic/io.h
2014-05-02 01:30:21 -04:00
leon_pci_grpci1.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
leon_pci_grpci2.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
leon_pmc.c
sparc32: fix sparse warnings in leon_pmc.c
2014-04-29 01:12:27 -04:00
leon_smp.c
sparc32, leon: Align ccall_info to prevent unaligned traps on crosscall
2014-12-11 18:51:56 -08:00
Makefile
sparc32: drop tadpole specific code
2014-05-18 19:01:29 -07:00
mdesc.c
sparc: Add support for seek and shorter read to /dev/mdesc
2014-07-21 21:37:06 -07:00
misctrap.S
module.c
mm: vmalloc: pass additional vm_flags to __vmalloc_node_range()
2015-02-13 21:21:42 -08:00
nmi.c
sparc: Replace __get_cpu_var uses
2014-08-26 13:45:55 -04:00
of_device_32.c
sparc32: rename sparc_irq_config to sparc_config
2012-04-15 10:28:49 -07:00
of_device_64.c
devicetree: add helper inline for retrieving a node's full name
2012-07-06 07:16:34 -05:00
of_device_common.c
sparc: fix sparse warnings in of_device_common.c
2014-04-29 01:12:27 -04:00
of_device_common.h
pci.c
sparc/PCI: Clip bridge windows to fit in upstream windows
2015-01-16 10:04:43 -06:00
pci_common.c
sparc: delete non-required instances of include <linux/init.h>
2014-01-28 23:38:23 -08:00
pci_fire.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
pci_impl.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
pci_msi.c
PCI/MSI: Rename mask/unmask_msi_irq treewide
2014-11-23 13:01:45 +01:00
pci_psycho.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
pci_sabre.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
pci_schizo.c
Driver core patches for 3.19-rc1
2014-12-14 16:10:09 -08:00
pci_sun4v.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
pci_sun4v.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
pci_sun4v_asm.S
pcic.c
sparc32: fix sparse warnings in pcic.c
2014-05-18 19:01:27 -07:00
pcr.c
sparc64: T5 PMU
2014-09-16 18:26:40 -07:00
perf_event.c
Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2014-10-15 07:48:18 +02:00
pmc.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
power.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
process_32.c
sparc32: fix sparse warning in auxio_32.c
2014-05-18 19:01:27 -07:00
process_64.c
sparc64: Fix pcr_ops initialization and usage bugs.
2014-08-11 20:45:12 -07:00
prom.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
prom_32.c
sparc: remove several unnecessary module.h include instances
2011-10-31 19:30:54 -04:00
prom_64.c
sparc64: fix sparse warning in prom_64.c
2014-05-18 19:01:31 -07:00
prom_common.c
of: Fix locking vs. interrupts
2013-06-13 22:12:14 +01:00
prom_irqtrans.c
sparc: Remove unnecessary semicolons
2011-06-07 16:06:34 -07:00
psycho_common.c
sparc: Remove unnecessary semicolons
2011-06-07 16:06:34 -07:00
psycho_common.h
sparc: drop use of extern for prototypes in arch/sparc/*
2014-05-18 19:01:29 -07:00
ptrace_32.c
sparc32: fix sparse warning in ptrace_32.c
2014-04-29 01:12:26 -04:00
ptrace_64.c
ARCH: AUDIT: audit_syscall_entry() should not require the arch
2014-09-23 16:21:26 -04:00
reboot.c
Disintegrate asm/system.h for Sparc
2012-03-28 18:30:03 +01:00
rtrap_32.S
sparc32: introduce support for run-time patching for all shared assembler code
2012-05-27 23:52:49 -07:00
rtrap_64.S
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-11-19 10:40:00 -08:00
sbus.c
sparc: kernel/sbus.c: fix memory leakage
2013-01-21 14:33:00 -08:00
setup_32.c
sparc32: fix sparse warnings in setup_32.c
2014-04-29 01:12:25 -04:00
setup_64.c
sparc64: Fix register corruption in top-most kernel stack frame during boot.
2014-10-24 09:52:49 -07:00
signal32.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
signal_32.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
signal_64.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
sigutil.h
sparc: Allow handling signals when stack is corrupted.
2011-08-20 17:14:54 -07:00
sigutil_32.c
Disintegrate asm/system.h for Sparc
2012-03-28 18:30:03 +01:00
sigutil_64.c
Disintegrate asm/system.h for Sparc
2012-03-28 18:30:03 +01:00
smp_32.c
sparc: fix decimal printf format specifiers prefixed with 0x
2014-08-06 14:41:10 -07:00
smp_64.c
sparc64: Do irq_{enter,exit}() around generic_smp_call_function*().
2014-11-07 09:50:48 -08:00
sparc_ksyms_32.c
sparc: delete non-required instances of include <linux/init.h>
2014-01-28 23:38:23 -08:00
sparc_ksyms_64.c
sparc: delete non-required instances of include <linux/init.h>
2014-01-28 23:38:23 -08:00
spiterrs.S
sstate.c
sparc: Set reboot-cmd using reboot data hypervisor call if available.
2011-08-02 21:28:52 -07:00
stacktrace.c
sparc: move symbol exporters to use export.h not module.h
2011-10-31 19:30:53 -04:00
starfire.c
sparc: explicitly cast negative phandle checks to s32
2011-01-03 20:02:06 -07:00
sun4d_irq.c
sparc32: fix sparse warnings in sun4d_irq.c
2014-04-29 01:12:25 -04:00
sun4d_smp.c
sparc: Replace __get_cpu_var uses
2014-08-26 13:45:55 -04:00
sun4m_irq.c
sun4M: add include of slab.h for kzalloc
2014-02-12 16:10:45 -05:00
sun4m_smp.c
sparc: delete __cpuinit/__CPUINIT usage from all users
2013-07-14 19:36:52 -04:00
sun4v_ivec.S
sun4v_tlb_miss.S
sparc64: sun4v TLB error power off events
2014-09-16 17:46:44 -07:00
sys32.S
sparc: Hook up renameat2 syscall.
2014-07-21 22:27:56 -07:00
sys_sparc32.c
sparc64: fix sparse warnings in sys_sparc32.c
2014-05-18 19:01:31 -07:00
sys_sparc_32.c
sparc32: fix sparse warnings in sys_sparc_32.c
2014-05-18 19:01:28 -07:00
sys_sparc_64.c
sparc64: fix sparse warnings in sys_sparc_64.c + unaligned_64.c
2014-05-18 19:01:30 -07:00
syscalls.S
sparc: hook up execveat system call
2014-12-13 12:42:51 -08:00
sysfs.c
sparc64: fix format string mismatch in arch/sparc/kernel/sysfs.c
2014-05-21 12:54:42 -07:00
systbls.h
sparc64: fix sparse warnings in sys_sparc32.c
2014-05-18 19:01:31 -07:00
systbls_32.S
sparc: hook up execveat system call
2014-12-13 12:42:51 -08:00
systbls_64.S
sparc: hook up execveat system call
2014-12-13 12:42:51 -08:00
time_32.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
time_64.c
sparc: kernel: drop owner assignment from platform_drivers
2014-10-20 16:20:15 +02:00
trampoline_32.S
sparc: delete non-required instances of include <linux/init.h>
2014-01-28 23:38:23 -08:00
trampoline_64.S
sparc64: Fix register corruption in top-most kernel stack frame during boot.
2014-10-24 09:52:49 -07:00
traps_32.c
sparc: fix sparse warning in math_{32,64}
2014-05-18 19:01:28 -07:00
traps_64.c
all arches, signal: move restart_block to struct task_struct
2015-02-12 18:54:12 -08:00
tsb.S
sparc64: Fix corrupted thread fault code.
2014-10-18 23:03:09 -04:00
ttable_32.S
sparc32: move trap table to a separate file
2012-05-19 23:27:25 -07:00
ttable_64.S
sparc64: renamed ttable.S to ttable_64.S
2012-05-19 23:26:41 -07:00
una_asm_32.S
sparc32: unaligned memory access (MNA) trap handler bug
2011-02-01 12:39:59 -08:00
una_asm_64.S
sparc: Fix .size directive for do_int_load
2011-03-16 18:19:15 -07:00
unaligned_32.c
sparc: use %s for unaligned panic
2014-07-21 21:37:06 -07:00
unaligned_64.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next
2014-06-19 07:50:07 -10:00
utrap.S
vio.c
sparc64: Add vio_set_intr() to enable/disable Rx interrupts
2014-09-30 14:40:45 -07:00
viohs.c
sparc: VIO protocol version 1.6
2014-09-30 14:17:08 -07:00
visemul.c
sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads.
2012-10-26 15:18:37 -07:00
vmlinux.lds.S
sparc64: Kill unnecessary tables and increase MAX_BANKS.
2014-10-05 16:53:40 -07:00
windows.c
sparc32: fix sparse warnings in windows.c
2014-04-29 01:12:25 -04:00
winfixup.S
sparc64: Make montmul/montsqr/mpmul usable in 32-bit threads.
2012-10-26 15:18:37 -07:00
wof.S
sparc32: introduce support for run-time patching for all shared assembler code
2012-05-27 23:52:49 -07:00
wuf.S
sparc32: introduce support for run-time patching for all shared assembler code
2012-05-27 23:52:49 -07:00