linux/arch/arm
Laurent Dufour 2ae416b142 mm: new mm hook framework
CRIU is recreating the process memory layout by remapping the checkpointee
memory area on top of the current process (criu).  This includes remapping
the vDSO to the place it has at checkpoint time.

However some architectures like powerpc are keeping a reference to the
vDSO base address to build the signal return stack frame by calling the
vDSO sigreturn service.  So once the vDSO has been moved, this reference
is no more valid and the signal frame built later are not usable.

This patch serie is introducing a new mm hook framework, and a new
arch_remap hook which is called when mremap is done and the mm lock still
hold.  The next patch is adding the vDSO remap and unmap tracking to the
powerpc architecture.

This patch (of 3):

This patch introduces a new set of header file to manage mm hooks:
- per architecture empty header file (arch/x/include/asm/mm-arch-hooks.h)
- a generic header (include/linux/mm-arch-hooks.h)

The architecture which need to overwrite a hook as to redefine it in its
header file, while architecture which doesn't need have nothing to do.

The default hooks are defined in the generic header and are used in the
case the architecture is not defining it.

In a next step, mm hooks defined in include/asm-generic/mm_hooks.h should
be moved here.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Pavel Emelyanov <xemul@parallels.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-06-24 17:49:41 -07:00
..
boot fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
common ARM: sa1100: convert SA11x0 related code to use new chained handler helper 2015-06-18 14:03:08 +02:00
configs ARM: multi_v7_defconfig: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760 2015-05-29 14:31:35 +02:00
crypto crypto: arm/aes - streamline AES-192 code path 2015-05-11 15:08:01 +08:00
firmware
include mm: new mm hook framework 2015-06-24 17:49:41 -07:00
kernel ARM: 8357/1: perf: fix memory leak when probing PMU PPIs 2015-05-18 21:51:28 +01:00
kvm arm64 updates for 4.2, mostly refactoring/clean-up: 2015-06-24 10:02:15 -07:00
lib Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2015-06-23 14:08:54 -07:00
mach-alpine ARM: alpine: add support for generic pci 2015-04-14 01:15:57 +02:00
mach-asm9260
mach-at91 Fourth batch of cleanup for 4.1: 2015-04-14 01:50:21 +02:00
mach-axxia
mach-bcm ARM: cygnus: fix const declaration bcm_cygnus_dt_compat 2015-03-24 15:13:23 -07:00
mach-berlin
mach-clps711x
mach-cns3xxx
mach-davinci Merge branch 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-06-23 15:50:46 -07:00
mach-digicolor
mach-dove
mach-ebsa110
mach-efm32
mach-ep93xx
mach-exynos Fix for Exynos3250 RTC wake-up interrupts after converting PMU 2015-06-01 17:05:43 +02:00
mach-footbridge
mach-gemini ARM: gemini: Fix race in installing GPIO chained IRQ handler 2015-06-18 14:03:08 +02:00
mach-highbank
mach-hisi
mach-imx ARM: imx6: gpc: don't register power domain if DT data is missing 2015-05-27 16:33:46 +08:00
mach-integrator
mach-iop13xx
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone arm: keystone: remove boilerplate code and use USE_PM_CLK_RUNTIME_OPS 2015-05-12 23:55:38 +02:00
mach-ks8695
mach-lpc32xx ARM: lpc32xx: convert to use clkdev_add_table() 2015-05-06 11:58:58 +01:00
mach-mediatek
mach-meson
mach-mmp
mach-moxart
mach-mv78xx0
mach-mvebu ARM: SoC platform updates for v4.1 2015-04-22 09:08:39 -07:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 Merge branch 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-06-23 15:50:46 -07:00
mach-omap2 fbdev changes for 4.2 2015-06-23 16:23:30 -07:00
mach-orion5x
mach-picoxcell
mach-prima2
mach-pxa Merge branch 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-06-23 15:50:46 -07:00
mach-qcom
mach-realview
mach-rockchip Revert "ARM: rockchip: fix undefined instruction of reset_ctrl_regs" 2015-05-13 15:47:03 +02:00
mach-rpc
mach-s3c24xx
mach-s3c64xx ARM: SoC platform updates for v4.1 2015-04-22 09:08:39 -07:00
mach-s5pv210 ARM: 8326/1: s5pv210: move resume code to .text section 2015-03-29 23:11:58 +01:00
mach-sa1100 ARM: sa1100: convert SA11x0 related code to use new chained handler helper 2015-06-18 14:03:08 +02:00
mach-shmobile Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma 2015-04-24 09:49:37 -07:00
mach-socfpga
mach-spear
mach-sti
mach-sunxi
mach-tegra Power management and ACPI updates for v4.1-rc1 2015-04-14 20:21:54 -07:00
mach-u300
mach-ux500
mach-versatile
mach-vexpress ARM: SoC driver updates for v4.1 2015-04-22 09:18:17 -07:00
mach-vt8500
mach-w90x900
mach-zynq
mm mm/hugetlb: reduce arch dependent code about huge_pmd_unshare 2015-06-24 17:49:41 -07:00
net ARM: net: delegate filter to kernel interpreter when imm_offset() return value can't fit into 12bits. 2015-05-10 19:21:49 -04:00
nwfpe ARM: 8322/1: keep .text and .fixup regions closer together 2015-03-29 23:11:56 +01:00
oprofile
plat-iop
plat-omap ARM, clocksource/drivers: Provide read_boot_clock64() and read_persistent_clock64() and use them 2015-04-03 08:18:23 +02:00
plat-orion ARM: orion: use clkdev_create() 2015-05-06 11:58:58 +01:00
plat-pxa ARM: plat-pxa: remove use of seq_printf return value 2015-04-15 16:35:25 -07:00
plat-samsung
plat-versatile
probes
tools
vdso ARM: 8344/1: VDSO: honor CONFIG_VDSO in Makefile 2015-04-21 15:28:02 +01:00
vfp
xen xen/arm: Define xen_arch_suspend() 2015-05-18 13:38:09 +01:00
Kconfig ARM: SoC multiplatform code changes for v4.1 2015-04-22 09:20:15 -07:00
Kconfig-nommu
Kconfig.debug ARM: SoC multiplatform code changes for v4.1 2015-04-22 09:20:15 -07:00
Makefile ARM: SoC platform updates for v4.1 2015-04-22 09:08:39 -07:00