1
0
Fork 0
alistair23-linux/arch/arm
Ard Biesheuvel 050d18d1c6 ARM: 8650/1: module: handle negative R_ARM_PREL31 addends correctly
According to the spec 'ELF for the ARM Architecture' (IHI 0044E),
addends for R_ARM_PREL31 relocations are 31-bit signed quantities,
so we need to sign extend the value to 32 bits before it can be used
as an offset in the calculation of the relocated value.

We have not been bitten by this because these relocations are usually
emitted against the start of a section, which means the addends never
assume negative values in practice. But it is a bug nonetheless, so fix
it.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-02-28 11:06:15 +00:00
..
boot ARM: dts: hix5hd2: don't change the existing compatible string 2016-12-20 14:12:29 -05:00
common ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
configs ARM: SoC defconfig updates for v4.10 2016-12-15 15:41:04 -08:00
crypto crypto: arm/crc32 - accelerated support based on x86 SSE implementation 2016-12-07 20:01:24 +08:00
firmware
include ARM: 8648/2: nommu: display vectors base 2017-02-28 11:06:14 +00:00
kernel ARM: 8650/1: module: handle negative R_ARM_PREL31 addends correctly 2017-02-28 11:06:15 +00:00
kvm Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
lib Merge branches 'clkdev', 'fixes', 'misc' and 'sa1100-base' into for-linus 2016-12-14 11:13:46 +00:00
mach-alpine ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-artpec ARM: ARTPEC-6: add select MFD_SYSCON to MACH_ARTPEC6 2016-11-26 00:06:34 +01:00
mach-asm9260
mach-aspeed
mach-at91
mach-axxia ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-bcm ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-berlin ARM: 8646/1: mmu: decouple VECTORS_BASE from Kconfig 2017-02-28 11:06:12 +00:00
mach-clps711x
mach-cns3xxx
mach-davinci clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-exynos ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-footbridge clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-gemini
mach-highbank
mach-hisi ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-imx ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-integrator ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
mach-iop13xx Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mach-iop32x
mach-iop33x
mach-ixp4xx clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-keystone
mach-ks8695
mach-lpc18xx
mach-lpc32xx ARM: SoC platform updates for v4.10 2016-12-15 15:39:02 -08:00
mach-mediatek ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-meson
mach-mmp clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
mach-moxart
mach-mv78xx0
mach-mvebu ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: OMAP2+: Remove legacy mux code 2016-11-10 12:42:49 -07:00
mach-omap2 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-orion5x ARM: orion5x: remove legacy support of ls-chl 2016-11-19 09:14:28 +01:00
mach-oxnas ARM: oxnas: Add OX820 config and makefile entry 2016-11-23 09:53:55 +01:00
mach-picoxcell
mach-prima2 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-pxa ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-qcom
mach-realview ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-rockchip ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-rpc Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mach-s3c24xx ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-s3c64xx ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-s5pv210 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-sa1100 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-shmobile ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-socfpga ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-spear ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-sti ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-stm32 ARM: mach-stm32: Add a new SOC - STM32F746 2016-11-15 12:02:33 +01:00
mach-sunxi ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-tango ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-tegra ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-u300
mach-uniphier
mach-ux500 ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-versatile
mach-vexpress ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-vt8500
mach-w90x900
mach-zx ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mach-zynq ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
mm ARM: 8647/2: nommu: dynamic exception base address setting 2017-02-28 11:06:13 +00:00
net
nwfpe
oprofile
plat-iop clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
plat-omap ARM: OMAP2+: Remove legacy mux code 2016-11-10 12:42:49 -07:00
plat-orion
plat-pxa
plat-samsung virtio, vhost: new device, fixes, speedups 2016-12-15 18:13:41 -08:00
plat-versatile
probes
tools Merge branch 'syscalls' into for-linus 2016-12-14 11:14:00 +00:00
vdso
vfp cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
xen cpu/hotplug: Cleanup state names 2016-12-25 10:47:44 +01:00
Kconfig ARM: 8640/1: Add support for CONFIG_DEBUG_VIRTUAL 2017-02-28 11:06:09 +00:00
Kconfig-nommu ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM 2017-01-10 23:32:54 +00:00
Kconfig.debug
Makefile Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2016-12-15 16:06:15 -08:00