mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
commit bc93a22a19eb2b68a16ecf04cdf4b2ed65aaf398 upstream. On a kernel without CONFIG_STRICT_KERNEL_RWX, running EXEC_RODATA test leads to "Illegal instruction" failure. Looking at the content of rodata_objcopy.o, we see that the function content zeroes only: Disassembly of section .rodata: 0000000000000000 <.lkdtm_rodata_do_nothing>: 0: 00 00 00 00 .long 0x0 Add the contents flag in order to keep the content of the section while renaming it. Disassembly of section .rodata: 0000000000000000 <.lkdtm_rodata_do_nothing>: 0: 4e 80 00 20 blr Fixes: e9e08a07385e ("lkdtm: support llvm-objcopy") Cc: stable@vger.kernel.org Cc: Kees Cook <keescook@chromium.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/8900731fbc05fb8b0de18af7133a8fc07c3c53a1.1633712176.git.christophe.leroy@csgroup.eu Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
76 lines
2.7 KiB
Makefile
76 lines
2.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for misc devices that really don't fit anywhere else.
|
|
#
|
|
|
|
obj-$(CONFIG_IBM_ASM) += ibmasm/
|
|
obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot.o
|
|
obj-$(CONFIG_AD525X_DPOT_I2C) += ad525x_dpot-i2c.o
|
|
obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o
|
|
obj-$(CONFIG_INTEL_MID_PTI) += pti.o
|
|
obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o
|
|
obj-$(CONFIG_ATMEL_TCLIB) += atmel_tclib.o
|
|
obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o
|
|
obj-$(CONFIG_ICS932S401) += ics932s401.o
|
|
obj-$(CONFIG_LKDTM) += lkdtm.o
|
|
obj-$(CONFIG_TIFM_CORE) += tifm_core.o
|
|
obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
|
|
obj-$(CONFIG_PHANTOM) += phantom.o
|
|
obj-$(CONFIG_QCOM_COINCELL) += qcom-coincell.o
|
|
obj-$(CONFIG_SENSORS_BH1770) += bh1770glc.o
|
|
obj-$(CONFIG_SENSORS_APDS990X) += apds990x.o
|
|
obj-$(CONFIG_SGI_IOC4) += ioc4.o
|
|
obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
|
|
obj-$(CONFIG_KGDB_TESTS) += kgdbts.o
|
|
obj-$(CONFIG_SGI_XP) += sgi-xp/
|
|
obj-$(CONFIG_SGI_GRU) += sgi-gru/
|
|
obj-$(CONFIG_CS5535_MFGPT) += cs5535-mfgpt.o
|
|
obj-$(CONFIG_HP_ILO) += hpilo.o
|
|
obj-$(CONFIG_APDS9802ALS) += apds9802als.o
|
|
obj-$(CONFIG_ISL29003) += isl29003.o
|
|
obj-$(CONFIG_ISL29020) += isl29020.o
|
|
obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o
|
|
obj-$(CONFIG_DS1682) += ds1682.o
|
|
obj-$(CONFIG_TI_DAC7512) += ti_dac7512.o
|
|
obj-$(CONFIG_C2PORT) += c2port/
|
|
obj-$(CONFIG_HMC6352) += hmc6352.o
|
|
obj-y += eeprom/
|
|
obj-y += cb710/
|
|
obj-$(CONFIG_SPEAR13XX_PCIE_GADGET) += spear13xx_pcie_gadget.o
|
|
obj-$(CONFIG_VMWARE_BALLOON) += vmw_balloon.o
|
|
obj-$(CONFIG_PCH_PHUB) += pch_phub.o
|
|
obj-y += ti-st/
|
|
obj-y += lis3lv02d/
|
|
obj-$(CONFIG_USB_SWITCH_FSA9480) += fsa9480.o
|
|
obj-$(CONFIG_ALTERA_STAPL) +=altera-stapl/
|
|
obj-$(CONFIG_INTEL_MEI) += mei/
|
|
obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci/
|
|
obj-$(CONFIG_LATTICE_ECP3_CONFIG) += lattice-ecp3-config.o
|
|
obj-$(CONFIG_SRAM) += sram.o
|
|
obj-$(CONFIG_SRAM_EXEC) += sram-exec.o
|
|
obj-y += mic/
|
|
obj-$(CONFIG_GENWQE) += genwqe/
|
|
obj-$(CONFIG_ECHO) += echo/
|
|
obj-$(CONFIG_VEXPRESS_SYSCFG) += vexpress-syscfg.o
|
|
obj-$(CONFIG_CXL_BASE) += cxl/
|
|
obj-$(CONFIG_ASPEED_LPC_CTRL) += aspeed-lpc-ctrl.o
|
|
obj-$(CONFIG_ASPEED_LPC_SNOOP) += aspeed-lpc-snoop.o
|
|
obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o
|
|
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_core.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_bugs.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_heap.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_perms.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_refcount.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_rodata_objcopy.o
|
|
lkdtm-$(CONFIG_LKDTM) += lkdtm_usercopy.o
|
|
|
|
KCOV_INSTRUMENT_lkdtm_rodata.o := n
|
|
|
|
OBJCOPYFLAGS :=
|
|
OBJCOPYFLAGS_lkdtm_rodata_objcopy.o := \
|
|
--rename-section .text=.rodata,alloc,readonly,load,contents
|
|
targets += lkdtm_rodata.o lkdtm_rodata_objcopy.o
|
|
$(obj)/lkdtm_rodata_objcopy.o: $(obj)/lkdtm_rodata.o FORCE
|
|
$(call if_changed,objcopy)
|