linux/drivers/misc
Josh Poimboeuf efc72a665a lkdtm: Disable return thunks in rodata.c
The following warning was seen:

  WARNING: CPU: 0 PID: 0 at arch/x86/kernel/alternative.c:557 apply_returns (arch/x86/kernel/alternative.c:557 (discriminator 1))
  Modules linked in:
  CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.19.0-rc4-00008-gee88d363d156 #1
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-debian-1.16.0-4 04/01/2014
  RIP: 0010:apply_returns (arch/x86/kernel/alternative.c:557 (discriminator 1))
  Code: ff ff 74 cb 48 83 c5 04 49 39 ee 0f 87 81 fe ff ff e9 22 ff ff ff 0f 0b 48 83 c5 04 49 39 ee 0f 87 6d fe ff ff e9 0e ff ff ff <0f> 0b 48 83 c5 04 49 39 ee 0f 87 59 fe ff ff e9 fa fe ff ff 48 89

The warning happened when apply_returns() failed to convert "JMP
__x86_return_thunk" to RET.  It was instead a JMP to nowhere, due to the
thunk relocation not getting resolved.

That rodata.o code is objcopy'd to .rodata, and later memcpy'd, so
relocations don't work (and are apparently silently ignored).

LKDTM is only used for testing, so the naked RET should be fine.  So
just disable return thunks for that file.

While at it, disable objtool and KCSAN for the file.

Fixes: 0b53c374b9 ("x86/retpoline: Use -mfunction-return")
Reported-by: kernel test robot <oliver.sang@intel.com>
Debugged-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/lkml/Ys58BxHxoDZ7rfpr@xsang-OptiPlex-9020/
2022-07-20 19:24:53 +02:00
..
altera-stapl altera-stapl: Use swap() instead of open coding it 2022-05-09 15:39:45 +02:00
bcm-vk misc: bcm-vk: replace usage of found with dedicated list iterator variable 2022-04-24 17:30:27 +02:00
c2port
cardreader misc: rtsx_usb: set return value in rsp_buf alloc err path 2022-07-02 16:20:56 +02:00
cb710
cxl cxl/ocxl: Prepare cleanup of powerpc's asm/prom.h 2022-05-11 23:06:39 +10:00
echo
eeprom eeprom: at25: Rework buggy read splitting 2022-06-27 16:21:05 +02:00
genwqe
habanalabs habanalabs: use separate structure info for each error collect data 2022-05-22 21:01:21 +02:00
ibmasm
lis3lv02d spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
lkdtm lkdtm: Disable return thunks in rodata.c 2022-07-20 19:24:53 +02:00
mei mei: me: add raptor lake point S DID 2022-06-10 15:39:24 +02:00
ocxl cxl/ocxl: Prepare cleanup of powerpc's asm/prom.h 2022-05-11 23:06:39 +10:00
pvpanic misc/pvpanic: Convert regular spinlock into trylock on panic path 2022-04-29 16:54:59 +02:00
sgi-gru misc: sgi-gru: Fix spelling mistake "unexpect" -> "unexpected" 2022-03-18 14:02:15 +01:00
sgi-xp net: sgi-xp: Use netif_rx(). 2022-03-04 12:02:19 +00:00
ti-st
uacce
vmw_vmci VMCI: Add support for ARM64 2022-04-24 17:32:14 +02:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
ad525x_dpot.c
ad525x_dpot.h
apds990x.c
apds9802als.c
atmel-ssc.c misc: atmel-ssc: Fix IRQ check in ssc_probe 2022-06-10 15:29:56 +02:00
bh1770glc.c
cs5535-mfgpt.c
ds1682.c
dummy-irq.c
dw-xdata-pcie.c
enclosure.c
fastrpc.c misc: fastrpc: fix list iterator in fastrpc_req_mem_unmap_impl 2022-05-19 18:57:20 +02:00
gehc-achc.c
hi6421v600-irq.c misc: hi6421-spmi-pmic: Use generic_handle_irq_safe(). 2022-03-02 22:28:50 +01:00
hisi_hikey_usb.c
hmc6352.c
hpilo.c
hpilo.h
ibmvmc.c
ibmvmc.h
ics932s401.c
isl29003.c
isl29020.c
Kconfig misc: fastrpc: Add support to secure memory map 2022-03-18 14:11:00 +01:00
kgdbts.c kgdbts: fix return value of __setup handler 2022-03-18 14:17:56 +01:00
lattice-ecp3-config.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
Makefile misc: open-dice: Add driver to expose DICE data to userspace 2022-02-04 16:45:39 +01:00
open-dice.c misc: open-dice: Add driver to expose DICE data to userspace 2022-02-04 16:45:39 +01:00
pch_phub.c
pci_endpoint_test.c misc: pci_endpoint_test: Terminate statement with semicolon 2022-01-11 10:19:59 -06:00
phantom.c
qcom-coincell.c
sram-exec.c
sram.c
sram.h
tifm_7xx1.c
tifm_core.c
tsl2550.c
vmw_balloon.c vmw_balloon: Print errors on reset only once 2022-04-24 17:24:06 +02:00
xilinx_sdfec.c