1
0
Fork 0
alistair23-linux/arch/powerpc/kernel
Alexander Potapenko be7635e728 arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections
KASAN needs to know whether the allocation happens in an IRQ handler.
This lets us strip everything below the IRQ entry point to reduce the
number of unique stack traces needed to be stored.

Move the definition of __irq_entry to <linux/interrupt.h> so that the
users don't need to pull in <linux/ftrace.h>.  Also introduce the
__softirq_entry macro which is similar to __irq_entry, but puts the
corresponding functions to the .softirqentry.text section.

Signed-off-by: Alexander Potapenko <glider@google.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrey Konovalov <adech.fo@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Konstantin Serebryany <kcc@google.com>
Cc: Dmitry Chernenkov <dmitryc@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-03-25 16:37:42 -07:00
..
vdso32 powerpc: enable UBSAN support 2016-01-20 17:09:18 -08:00
vdso64 powerpc: enable UBSAN support 2016-01-20 17:09:18 -08:00
.gitignore
Makefile powerpc/ftrace: Use $(CC_FLAGS_FTRACE) when disabling ftrace 2016-03-07 14:53:55 +11:00
align.c powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
asm-offsets.c powerpc/cache: add cache flush operation for various e500 2016-03-04 23:44:51 -06:00
audit.c
btext.c
cacheinfo.c powerpc: Fix missing L2 cache size in /sys/devices/system/cpu 2015-04-11 20:49:28 +10:00
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc/cache: add cache flush operation for various e500 2016-03-04 23:44:51 -06:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
cpu_setup_ppc970.S
cputable.c powerpc/cache: add cache flush operation for various e500 2016-03-04 23:44:51 -06:00
crash.c powerpc/book3e/kdump: Enable crash_kexec_wait_realmode 2015-10-27 18:13:27 -05:00
crash_dump.c powerpc: Remove superfluous bootmem includes 2014-11-10 09:59:26 +11:00
dbell.c powerpc/powernv: Fixes for hypervisor doorbell handling 2015-03-20 14:51:53 +11:00
dma-iommu.c powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask 2015-07-13 10:10:55 +10:00
dma-swiotlb.c powerpc/iommu: Support "hybrid" iommu/direct DMA ops for coherent_mask < dma_mask 2015-07-13 10:10:55 +10:00
dma.c powerpc/dma: dma_set_coherent_mask() should not be GPL only 2015-10-28 14:20:50 +09:00
eeh.c powerpc/eeh: eeh_pci_enable(): fix checking of post-request state 2016-03-09 11:33:30 +11:00
eeh_cache.c powerpc/eeh: Cache normal BARs, not windows or IOV BARs 2016-03-09 09:58:17 +11:00
eeh_dev.c powerpc/eeh: powerpc/eeh: Support error recovery for VF PE 2016-03-09 09:58:23 +11:00
eeh_driver.c powerpc/eeh: Don't remove passed VFs 2016-03-09 09:58:27 +11:00
eeh_event.c
eeh_pe.c powerpc/eeh: Create PE for VFs 2016-03-09 09:58:19 +11:00
eeh_sysfs.c powerpc/eeh: Fix PE state format 2014-11-27 09:32:58 +11:00
entry_32.S powerpc/kernel: Change the do_syscall_trace_enter() API 2015-07-29 11:56:11 +10:00
entry_64.S powerpc: Fix unrecoverable SLB miss during restore_math() 2016-03-16 15:23:02 +11:00
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S powerpc/book3e: support CONFIG_RELOCATABLE 2015-10-27 18:13:27 -05:00
exceptions-64s.S powerpc/kernel: Combine vec/loc for STD_EXCEPTION_PSERIES 2015-12-17 22:40:58 +11:00
fadump.c powerpc/fadump: rename cpu_online_mask member of struct fadump_crash_info_header 2016-01-20 17:09:18 -08:00
firmware.c
fpu.S powerpc: Add the ability to save FPU without giving it up 2016-03-02 23:34:49 +11:00
fsl_booke_entry_mapping.S powerpc/fsl: Force coherent memory on e500mc derivatives 2015-08-07 23:00:01 -05:00
ftrace.c powerpc/ftrace: Add support for -mprofile-kernel ftrace ABI 2016-03-07 14:53:55 +11:00
head_8xx.S powerpc/8xx: rewrite set_context() in C 2016-03-11 17:20:11 -06:00
head_32.S
head_40x.S
head_44x.S powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
head_64.S powerpc/book3e-64: Use hardcoded mttmr opcode 2016-03-16 15:22:16 +11:00
head_booke.h
head_fsl_booke.S powerpc/cache: add cache flush operation for various e500 2016-03-04 23:44:51 -06:00
hw_breakpoint.c powerpc/hw_breakpoint: Fix oops when destroying hw_breakpoint event 2016-03-03 22:06:08 +11:00
ibmebus.c
idle.c
idle_6xx.S
idle_book3e.S
idle_e500.S powerpc/e500mc: Remove dead L2 flushing code in idle_e500.S 2015-06-02 21:37:19 -05:00
idle_power4.S
idle_power7.S powerpc/mm: Move hash related mmu-*.h headers to book3s/ 2016-03-03 21:19:21 +11:00
io-workarounds.c powerpc/mm: Differentiate between hugetlb and THP during page walk 2015-10-12 15:30:09 +11:00
io.c
iomap.c
iommu.c powerpc/iommu/powernv: Release replaced TCE 2015-06-11 15:16:49 +10:00
irq.c powerpc, irq: Use access helper irq_data_get_affinity_mask() 2015-09-15 17:06:28 +02:00
isa-bridge.c
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c powerpc: Fix kgdb on little endian ppc64le 2016-02-18 00:03:26 +11:00
kprobes.c
kvm.c powerpc: Remove redundant breaks 2015-08-06 15:10:20 +10:00
kvm_emul.S
l2cr_6xx.S
legacy_serial.c
machine_kexec.c
machine_kexec_32.c
machine_kexec_64.c powerpc/book3e-64: Enable kexec 2015-10-27 18:13:30 -05:00
mce.c powerpc/mce: fix off by one errors in mce event handling 2015-05-12 19:44:01 +10:00
mce_power.c powerpc: Add POWER9 cputable entry 2016-02-22 20:47:48 +11:00
misc.S
misc_32.S powerpc32: Remove one insn in mulhdu 2016-03-11 17:20:12 -06:00
misc_64.S powerpc: Simplify module TOC handling 2016-01-21 14:10:56 +11:00
module.c powerpc/module: Only try to generate the ftrace_caller() stub once 2016-03-07 14:53:53 +11:00
module_32.c powerpc/module: Only try to generate the ftrace_caller() stub once 2016-03-07 14:53:53 +11:00
module_64.c Merge branch 'topic/mprofile-kernel' into next 2016-03-11 11:20:15 +11:00
msi.c powerpc: Remove MSI-related PCI controller ops from ppc_md 2015-06-02 11:47:45 +10:00
nvram_64.c don't open-code generic_file_llseek_size() 2015-12-09 13:00:45 -05:00
of_platform.c powerpc/eeh: Do probe on pci_dn 2015-03-24 13:15:52 +11:00
paca.c powerpc: Create a helper for getting the kernel toc value 2016-03-07 14:53:52 +11:00
pci-common.c powerpc/pci: export pcibios_free_controller() 2015-10-15 20:31:57 +11:00
pci-hotplug.c powerpc/pci: Remove VFs prior to PF 2016-03-09 09:58:15 +11:00
pci_32.c powerpc: Remove more traces of bootmem 2014-11-19 21:41:51 +11:00
pci_64.c powerpc updates for 3.19 2014-12-11 17:48:14 -08:00
pci_dn.c powerpc/eeh: powerpc/eeh: Support error recovery for VF PE 2016-03-09 09:58:23 +11:00
pci_of_scan.c PCI/MSI: Initialize MSI capability for all architectures 2015-11-24 17:45:18 -06:00
pmc.c
ppc32.h
ppc_ksyms.c powerpc32: move xxxxx_dcache_range() functions inline 2016-03-11 17:20:12 -06:00
ppc_ksyms_32.c powerpc32: Remove clear_pages() and define clear_page() inline 2016-03-11 17:20:11 -06:00
ppc_save_regs.S
proc_powerpc.c
process.c powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
prom.c powerpc/prom: Use of_get_next_parent() in of_get_ibm_chip_id() 2015-10-28 12:08:32 +09:00
prom_init.c powerpc: Add missing calls to va_end() 2015-12-17 23:23:22 +11:00
prom_init_check.sh
prom_parse.c
ptrace.c powerpc: Add rN aliases to the pt_regs_offset table. 2015-11-26 22:11:17 +11:00
ptrace32.c
reloc_32.S
reloc_64.S
rtas-proc.c powerpc: LLVM complains about forward declaration of struct rtas_sensors 2014-11-10 09:59:32 +11:00
rtas-rtc.c
rtas.c powerpc/rtas: Make enter_rtas() private 2015-12-17 22:40:56 +11:00
rtas_flash.c
rtas_pci.c powerpc: move find_and_init_phbs() to pSeries specific code 2015-04-11 20:49:09 +10:00
rtasd.c param: convert some "on"/"off" users to strtobool 2016-03-17 15:09:34 -07:00
setup-common.c
setup_32.c locking/lockdep: Eliminate lockdep_init() 2016-02-09 12:03:25 +01:00
setup_64.c locking/lockdep: Eliminate lockdep_init() 2016-02-09 12:03:25 +01:00
signal.c powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
signal.h powerpc: Fix misspellings in comments. 2016-03-01 19:27:20 +11:00
signal_32.c powerpc fixes for 4.4 #2 2015-12-14 20:40:32 +11:00
signal_64.c powerpc fixes for 4.4 #2 2015-12-14 20:40:32 +11:00
smp-tbsync.c
smp.c powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
stacktrace.c powerpc: Implement save_stack_trace_regs() to enable kprobe stack tracing 2016-01-11 14:27:28 +11:00
suspend.c
swsusp.c powerpc: create flush_all_to_thread() 2015-12-02 19:34:40 +11:00
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S
sys_ppc32.c
syscalls.c powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
sysfs.c powerpc/dscr: Add some in-code documentation 2015-06-07 19:29:15 +10:00
systbl.S powerpc: Add a proper syscall for switching endianness 2015-03-28 22:03:40 +11:00
systbl_chk.c powerpc: Standardise on NR_syscalls rather than __NR_syscalls. 2015-11-26 22:11:17 +11:00
systbl_chk.sh powerpc: Standardise on NR_syscalls rather than __NR_syscalls. 2015-11-26 22:11:17 +11:00
tau_6xx.c
time.c powerpc: Remove broken GregorianDay() 2015-12-16 12:54:04 +11:00
tm.S powerpc/kernel: Rename PACA_DSCR to PACA_DSCR_DEFAULT 2015-06-07 19:29:00 +10:00
trace_clock.c powerpc/ftrace: add powerpc timebase as a trace clock source 2015-08-06 16:36:23 +10:00
traps.c powerpc updates for 4.6 2016-03-19 15:38:41 -07:00
udbg.c powerpc: Remove the celleb support 2015-04-07 17:15:13 +10:00
udbg_16550.c powerpc: Fix bad NULL pointer check in udbg_uart_getc_poll() 2014-11-12 13:47:20 +11:00
uprobes.c
vdso.c powerpc: Standardise on NR_syscalls rather than __NR_syscalls. 2015-11-26 22:11:17 +11:00
vecemu.c
vector.S powerpc: Add the ability to save VSX without giving it up 2016-03-02 23:34:50 +11:00
vio.c powerpc: use for_each_sg() 2015-06-24 17:49:38 -07:00
vmlinux.lds.S arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections 2016-03-25 16:37:42 -07:00