linux-stable/tools
Josh Poimboeuf 93103550a5 objtool: Fix stack offset tracking for indirect CFAs
commit d8dd25a461 upstream.

When the current frame address (CFA) is stored on the stack (i.e.,
cfa->base == CFI_SP_INDIRECT), objtool neglects to adjust the stack
offset when there are subsequent pushes or pops.  This results in bad
ORC data at the end of the ENTER_IRQ_STACK macro, when it puts the
previous stack pointer on the stack and does a subsequent push.

This fixes the following unwinder warning:

  WARNING: can't dereference registers at 00000000f0a6bdba for ip interrupt_entry+0x9f/0xa0

Fixes: 627fce1480 ("objtool: Add ORC unwind table generation")
Reported-by: Vince Weaver <vincent.weaver@maine.edu>
Reported-by: Dave Jones <dsj@fb.com>
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Reported-by: Vegard Nossum <vegard.nossum@oracle.com>
Reported-by: Joe Mario <jmario@redhat.com>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Jann Horn <jannh@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/853d5d691b29e250333332f09b8e27410b2d9924.1587808742.git.jpoimboe@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-20 08:17:01 +02:00
..
accounting tools/accounting/getdelays.c: fix netlink attribute length 2020-04-13 10:34:33 +02:00
arch tools headers: Synchronise x86 cpufeatures.h for L1TF additions 2018-08-15 18:13:01 +02:00
build tools: build: Use HOSTLDFLAGS with fixdep 2018-08-24 13:09:17 +02:00
cgroup tools: fix cross-compile var clobbering 2019-01-13 10:01:02 +01:00
firewire License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gpio tools: gpio: Fix out-of-tree build regression 2020-04-24 08:00:41 +02:00
hv Tools: hv: kvp: eliminate 'may be used uninitialized' warning 2019-09-10 10:32:17 +01:00
iio iio: iio-utils: Fix possible incorrect mask calculation 2019-07-31 07:28:53 +02:00
include tools lib: Fix builds when glibc contains strlcpy() 2020-02-05 14:18:13 +00:00
kvm/kvm_stat tools/kvm_stat: Fix kvm_exit filter name 2020-02-14 16:32:15 -05:00
laptop tools: fix cross-compile var clobbering 2019-01-13 10:01:02 +01:00
leds tools: fix cross-compile var clobbering 2019-01-13 10:01:02 +01:00
lib tools lib api fs: Fix gcc9 stringop-truncation compilation error 2020-02-28 16:36:02 +01:00
net bpf: fix uninitialized variable in bpf tools 2018-06-21 04:02:49 +09:00
nfsd License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
objtool objtool: Fix stack offset tracking for indirect CFAs 2020-05-20 08:17:01 +02:00
pci tools: PCI: Fix broken pcitest compilation 2019-11-24 08:23:34 +01:00
pcmcia License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf perf tools: Support Python 3.8+ in Makefile 2020-04-24 08:00:44 +02:00
power tools/power turbostat: Fix gcc build warnings 2020-04-13 10:34:20 +02:00
scripts tools: Let O= makes handle a relative path with -C option 2020-04-02 16:34:30 +02:00
spi tools: fix cross-compile var clobbering 2019-01-13 10:01:02 +01:00
testing selftests/ipc: Fix test failure seen after initial test run 2020-05-10 10:28:58 +02:00
thermal/tmon tools/thermal: tmon: fix for segfault 2018-05-30 07:52:28 +02:00
time
usb usbip: Fix unsafe unaligned pointer usage 2020-02-28 16:36:02 +01:00
virtio virtio: fix test build after uio.h change 2019-01-13 10:01:01 +01:00
vm tools/vm: fix cross-compile build 2020-05-02 17:24:22 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00