linux/arch/s390/kernel
Christian Borntraeger 9cf8edb7a3 s390/smp: fix false positive kmemleak of mcesa data structure
I get number of CPUs - 1 kmemleak hits like

unreferenced object 0x37ec6f000 (size 1024):
  comm "swapper/0", pid 1, jiffies 4294937330 (age 889.690s)
  hex dump (first 32 bytes):
    6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
    6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b  kkkkkkkkkkkkkkkk
  backtrace:
    [<000000000034a848>] kmem_cache_alloc+0x2b8/0x3d0
    [<00000000001164de>] __cpu_up+0x456/0x488
    [<000000000016f60c>] bringup_cpu+0x4c/0xd0
    [<000000000016d5d2>] cpuhp_invoke_callback+0xe2/0x9e8
    [<000000000016f3c6>] cpuhp_up_callbacks+0x5e/0x110
    [<000000000016f988>] _cpu_up+0xe0/0x158
    [<000000000016faf0>] do_cpu_up+0xf0/0x110
    [<0000000000dae1ee>] smp_init+0x126/0x130
    [<0000000000d9bd04>] kernel_init_freeable+0x174/0x2e0
    [<000000000089fc62>] kernel_init+0x2a/0x148
    [<00000000008adce2>] kernel_thread_starter+0x6/0xc
    [<00000000008adcdc>] kernel_thread_starter+0x0/0xc
    [<ffffffffffffffff>] 0xffffffffffffffff

The pointer of this data structure is stored in the prefix page of that
CPU together with some extra bits ORed into the the low bits.
Mark the data structure as non-leak.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-06-12 16:25:58 +02:00
..
vdso32 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
vdso64 s390/time: steer clocksource on STP sync events 2016-10-28 10:09:02 +02:00
.gitignore
als.c s390/sclp: don't add new lines to each printed string 2017-02-08 14:13:20 +01:00
asm-offsets.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
audit.c
audit.h
base.S s390/kdump: fix nosmt kernel parameter 2015-06-25 09:39:26 +02:00
cache.c s390/cpuinfo: show dynamic and static cpu mhz 2016-06-13 15:58:17 +02:00
compat_audit.c
compat_linux.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h
compat_signal.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
compat_wrapper.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
cpcmd.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
crash_dump.c s390/kdump: Add final note 2017-03-28 16:54:31 +02:00
debug.c s390: convert debug_info.ref_count from atomic_t to refcount_t 2017-05-11 16:35:32 +02:00
diag.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
dis.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
dumpstack.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
early_printk.c s390/sclp: make early sclp code readable 2017-02-08 14:13:19 +01:00
early.c s390/spinlock: remove compare and delay instruction 2017-04-12 08:43:33 +02:00
ebcdic.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
entry.h s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
entry.S s390/kvm: do not rely on the ILC on kvm host protection fauls 2017-05-17 12:34:03 +02:00
fpu.c s390/fpu: improve kernel_fpu_[begin|end] 2016-08-29 11:05:01 +02:00
ftrace.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2017-05-16 09:24:44 -07:00
guarded_storage.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
head64.S s390/cpumf: simplify detection of guest samples 2017-04-05 10:11:38 +02:00
head_kdump.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
head.S s390/facilities: get rid of __ASSEMBLY__ in facility header file 2017-03-22 08:29:18 +01:00
idle.c sched/headers: Prepare to move cputime functionality from <linux/sched.h> into <linux/sched/cputime.h> 2017-03-02 08:42:39 +01:00
ipl.c s390/ipl: always use load normal for CCW-type re-IPL 2017-03-02 17:17:15 +01:00
irq.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
jump_label.c s390: kernel: Audit and remove any unnecessary uses of module.h 2017-02-17 07:40:31 +01:00
kdebugfs.c s390/debugfs: introduce top-level 's390' directory 2017-03-22 08:29:15 +01:00
kprobes.c s390: use set_memory.h header 2017-05-08 17:15:13 -07:00
lgr.c s390: kernel: make lgr explicitly non-modular 2016-10-31 17:55:42 +01:00
machine_kexec.c s390: use set_memory.h header 2017-05-08 17:15:13 -07:00
Makefile s390/debugfs: introduce top-level 's390' directory 2017-03-22 08:29:15 +01:00
mcount.S s390: move exports to definitions 2016-08-07 23:47:20 -04:00
module.c s390: add no-execute support 2017-02-08 14:13:25 +01:00
nmi.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
os_info.c s390: proper type casts for csum_partial invocations 2017-01-16 07:27:53 +01:00
perf_cpum_cf_events.c s390/cpum_cf: correct variable naming (cleanup) 2017-03-31 07:53:33 +02:00
perf_cpum_cf.c s390/cpum_cf: make hw_perf_event_update() a void function 2017-03-31 07:53:35 +02:00
perf_cpum_sf.c cpumask: make "nr_cpumask_bits" unsigned 2017-05-08 17:15:11 -07:00
perf_event.c s390/dumpstack: restore reliable indicator for call traces 2016-10-17 14:44:30 +02:00
pgm_check.S s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
process.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
processor.c s390/cpuinfo: show facilities as reported by stfle 2017-03-22 08:29:02 +01:00
ptrace.c s390/gs: add regset for the guarded storage broadcast control block 2017-04-21 12:38:56 +02:00
reipl.S s390/dump: rework CPU register dump code 2015-11-27 09:24:14 +01:00
relocate_kernel.S s390: remove "64" suffix from a couple of files 2015-03-25 11:49:34 +01:00
runtime_instr.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
setup.c s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
signal.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
smp.c s390/smp: fix false positive kmemleak of mcesa data structure 2017-06-12 16:25:58 +02:00
stacktrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
suspend.c PCI: Include <linux/pci.h>, not <asm/pci.h> 2015-06-08 07:55:03 -05:00
swsusp.S s390/sclp: don't add new lines to each printed string 2017-02-08 14:13:20 +01:00
sys_s390.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
syscalls.S s390: add a system call for guarded storage 2017-03-22 08:14:25 +01:00
sysinfo.c s390/sysinfo: provide remaining stsi information via debugfs 2017-03-22 08:29:17 +01:00
time.c s390/time: Set ->min_delta_ticks and ->max_delta_ticks 2017-04-14 13:11:20 -07:00
topology.c s390/sysinfo,topology: provide raw stsi 15,1,x data via debugfs 2017-03-22 08:29:15 +01:00
trace.c s390/diag: avoid lockdep recursion 2016-02-11 13:05:56 +01:00
traps.c s390: add missing header includes for type checking 2017-06-12 16:25:55 +02:00
uprobes.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
vdso.c s390/vdso: use _install_special_mapping to establish vdso 2017-06-12 16:25:57 +02:00
vmlinux.lds.S s390: move _text symbol to address higher than zero 2017-05-09 10:44:38 +02:00
vtime.c s390/cputime: simplify account_system_index_scaled 2017-06-12 16:25:57 +02:00