android_kernel_samsung_msm8976/arch/arm
Russell King 6060e8df51 ARM: I-cache: flush executable mappings in flush_cache_range()
Dirk Behme reported instability on ARM11 SMP (VIPT non-aliasing cache)
caused by the dynamic linker changing protection on text pages to write
GOT entries.  The problem is due to an interaction between the write
faulting code providing new anonymous pages which are incoherent with
the I-cache due to write buffering, and the I-cache not having been
invalidated.

a4db94d plugs the hole with the data cache coherency.  This patch
provides the other half of the fix by flushing the I-cache in
flush_cache_range() for VM_EXEC VMAs (which is what we have when the
region is being made executable again.)  This ensures that the I-cache
will be up to date with the newly COW'd pages.

Note: if users are writing instructions, then they still need to use
the ARM sys_cacheflush API to ensure that the caches are correctly
synchronized.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-12-04 14:58:51 +00:00
..
boot
common ARM: 5735/1: sa1111: CodingStyle cleanups 2009-10-02 22:32:33 +01:00
configs Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 2009-11-12 14:57:15 -08:00
include/asm ARM: Reduce __flush_dcache_page() visibility 2009-12-04 14:58:50 +00:00
kernel ARM: 5793/1: ARM: Check put_user fail in do_signal when enable OABI_COMPAT 2009-11-23 17:28:23 +00:00
lib
mach-aaec2000
mach-at91 at91: at91sam9g20ek modify dual slot evaluation kit 2009-11-16 16:57:50 +01:00
mach-bcmring ARM: 5748/1: bcmring: fix build warning messages 2009-10-07 13:13:01 +01:00
mach-clps711x
mach-davinci ARM: includecheck fix: mach-davinci, board-dm365-evm.c 2009-09-28 18:06:20 +01:00
mach-ebsa110
mach-ep93xx ARM: 5779/1: ep93xx/micro9.c: fix implicit declaration of function __raw_readl and IOMEM 2009-11-05 20:20:56 +00:00
mach-footbridge
mach-gemini
mach-h720x
mach-integrator ARM: integrator: allow Integrator to be built with highmem 2009-10-25 22:44:30 +00:00
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx ixp4xx: arch_idle() documentation fixup 2009-09-21 19:20:03 +02:00
mach-ixp23xx
mach-ixp2000
mach-kirkwood [ARM] Kirkwood: disable propagation of mbus error to the CPU local bus 2009-11-13 12:14:23 -05:00
mach-ks8695 ARM: 5780/1: KS8695: Fix macro definition bug in regs-switch.c 2009-11-05 20:21:25 +00:00
mach-l7200
mach-lh7a40x
mach-loki
mach-mmp [ARM] pxa: fix missing underscores in mfp-pxa910.h 2009-11-13 16:25:47 +08:00
mach-msm
mach-mv78xx0 [ARM] properly report mv78100 stepping A1 2009-11-05 23:03:19 -05:00
mach-mx1
mach-mx2 MXC: fix reset for mx31, mx35 and mx27 SoCs 2009-10-13 10:24:10 +02:00
mach-mx3 MXC: fix reset for mx31, mx35 and mx27 SoCs 2009-10-13 10:24:10 +02:00
mach-mx25 mx25: Add missing copyright / license header 2009-10-02 09:14:18 +02:00
mach-mxc91231
mach-netx
mach-nomadik
mach-ns9xxx const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
mach-omap1 omap1: Fix DSP public peripherals support for ams-delta 2009-10-22 14:47:42 -07:00
mach-omap2 OMAP: cs should be positive in gpmc_cs_free() 2009-11-18 10:34:33 -08:00
mach-orion5x
mach-pnx4008
mach-pxa [ARM] pxa/spitz: fix compile regression on spitz 2009-11-22 09:32:43 -06:00
mach-realview RealView: Add sparsemem support for the RealView PBX platform 2009-11-05 10:10:36 +00:00
mach-rpc
mach-s3c24a0/include/mach
mach-s3c2400
mach-s3c2410 ARM: S3C2410: Fix sparse warnings in arch/arm/mach-s3c2410/gpio.c 2009-10-28 18:34:56 +00:00
mach-s3c2412
mach-s3c2440 ARM: S3C2440: mini2440: Fix spare warnings 2009-10-28 18:34:51 +00:00
mach-s3c2442
mach-s3c2443
mach-s3c6400 ARM: S3C64XX: Tidy definition and comments in s3c_dma_has_circular() 2009-11-09 23:45:47 +00:00
mach-s3c6410 ARM: SMDK6410: Allocate more GPIO space for WM1190-EV1 2009-11-09 23:40:21 +00:00
mach-s5pc100
mach-sa1100 ARM: 5752/1: SA1100: fix building of h3100 2009-10-07 13:13:01 +01:00
mach-shark
mach-stmp37xx
mach-stmp378x
mach-u300 ARM: 5787/1: U300 COH 901 331 fixes 2009-11-16 16:15:49 +00:00
mach-versatile ARM: 5720/1: Move MMCI header to amba include dir 2009-09-22 20:49:04 +01:00
mach-w90x900
mm ARM: I-cache: flush executable mappings in flush_cache_range() 2009-12-04 14:58:51 +00:00
nwfpe
oprofile ARM: 5764/1: bcmring: add oprofile pmu support 2009-10-17 20:10:22 +01:00
plat-iop Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop 2009-10-02 22:31:04 +01:00
plat-mxc spi: add SPI driver for most known i.MX SoCs 2009-09-23 07:39:43 -07:00
plat-omap omap: fix unlikely(x) < y 2009-11-18 10:33:41 -08:00
plat-orion
plat-pxa [ARM] pxa: ensure mfp is in correct range in mfp_{read,write} 2009-11-17 00:50:10 +08:00
plat-s3c
plat-s3c24xx ARM: S3C24XX: Fix warnings in arch/arm/plat-s3c24xx/gpio.c 2009-10-28 18:34:45 +00:00
plat-s3c64xx ARM: S3C64XX: DMA: Free node for non-circular queues 2009-11-09 23:51:19 +00:00
plat-s5pc1xx
plat-stmp3xxx
tools [ARM] Update mach-types 2009-11-25 22:17:36 +00:00
vfp
Kconfig
Kconfig-nommu
Kconfig.debug
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next 2009-09-23 15:37:02 -07:00