Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S942543AbcJ0Sog (ORCPT ); Thu, 27 Oct 2016 14:44:36 -0400 Received: from mail-db5eur01on0107.outbound.protection.outlook.com ([104.47.2.107]:36096 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934208AbcJ0Soc (ORCPT ); Thu, 27 Oct 2016 14:44:32 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; From: Dmitry Safonov To: CC: Dmitry Safonov , Laurent Dufour , Benjamin Herrenschmidt , Paul Mackerras , "Michael Ellerman" , "Kirill A. Shutemov" , Andy Lutomirski , Oleg Nesterov , Andrew Morton , , Subject: [PATCHv3 7/8] mm: kill arch_mremap Date: Thu, 27 Oct 2016 20:09:47 +0300 Message-ID: <20161027170948.8279-8-dsafonov@virtuozzo.com> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20161027170948.8279-1-dsafonov@virtuozzo.com> References: <20161027170948.8279-1-dsafonov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM5PR0601CA0041.eurprd06.prod.outlook.com (10.173.86.155) To DB6PR0801MB1735.eurprd08.prod.outlook.com (10.169.226.150) X-MS-Office365-Filtering-Correlation-Id: 8a66d9fb-ddd1-4a2a-0e52-08d3fe8c59f6 X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1735;2:aLSugtUbOnt3M4JQiIY3lWQwbKu1qFJw22SQwAD+1iy22D9vopIB/bc4SORo49RBP5LKs3iVbgXTvVUPE+YAxF2YRd7st43HoS04cAWosGSAa6DrwOuazv8t/vPI7D+h7DuOPbgM34sh1GwMtFiA+cmCLfLk4zB0ghLpDgIevY4DR3yzK7xcDw4Qb6KC69m+pdRcqMBwrBziDNeTGyvx8w==;3:lT1D5k3iCiSR9y6oJivimDrmpqBJFntqTBoMbs4VObAPIGfRbpBKI8KFATbrJNyi7ZYjvC2b0RlSj6PwrFrDWNGjr2xWLtHgnnm1/+q+F1NhV+5InqzmLAdKR9giEeC1ehhLQRiWQs3eL0viAzDzwg==;25:PWNcOUvOasiOPOvq9mYBK/XnXHCYZoXu6kRsXI2KWIW9KAvdl/KTKvjoGY1dsU8oR3oP9+lyXsAslnRlB/lIewFpaWRzcWQaIj3+AV+d6pJ4iS8l8Q5TmtrB/T2oXMmlOwRiufbLMzqGvidDAGf0pv3coKe9cq/1l2Tdo8jGOA/IHew/vgG3I5rps/kyGGBwmZwPTaSjIhygB952jEzo+pVXTk1H9T2aDp4AGWbnCBKvyFGmrDzuCOqiZ1oTYuq5wijL0Q9WsaWSaADiAK1rIw6KHQBQhLScWdn+GbC1howBQNHTdb7uF5VRfT65gwpCBWBmVb07EhW8uVCHF7TXg+TXxUKjFhB0906BG21H9OCgX8uzDMKOCVGbCfmJMHLMaFyfdOSgH+HYRAckfmUq2+sq7mpDv7o4tW15aN93r+CxmgqXYXJZmLDNciExJuc1 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1735; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1735;31:PyKzVMZgi6gNUqGivVeluxzNZxeAufZ0LKJQZ9tN6onp80YaK9kPbz8uCDU+cR6SAGpis2ia6FniL8sXfjo6yjtBWjyY4slqzWA9dO6x6x1HzuiI6ev0l1L+qJhqfVv1MMOEPeH3SZ+8b9lXNhpn4AosNoCObVqLvJuf6p0dT8Y9TA4eOjya3hFTID06ljHs5ZBImsWWOwFkSTYcbytF86BcfYYcASgA09jnvRrTSqfW5fQvzkPgxN6cSOtEQStH;4:O0CMEO25en2ZU6ImoGI2Hk6j0Fmhg/K9YhAVRMG1+Ijn7lAfe3YxeIxWZgvdTRCL7I99kdtg/U5X2gNqaWcgNXQhBLdmqbK7A0kDN4LL6Kjoa8RiS1BJugoG6drFfQySx8Vn7bVwr4W9gvss//eGagXMC/V0bkfpYsCt3A6OeY5JPuhy6ie4fLwtnpJFO0Z9OEG9A+i2IVpPHJK+JPyDioM7sLnLU/v1N8lkgm1PgIXjkGxp2C836E6lSf7COei+EDnzPbxbsHT+HYjrZ0xwUKjgshZdIl7iyw0HXEiVbyBjkWPhafbZnwAhwdREDJ19LXFOMG/KqAZEgvFP6icwuiaCSJyQzq9J7GHo/5SgRpXqCFqf+lUmQs454bwQwMBy1kGOWbrvn9Q8NlWC/1Vh9x3dSA9+3iTAJd6Sae5/ZVAQKvpKflMYcOD7ieZWG7gPQp5eNuHHKE48jhRTe5mTcCirqLWOW/5NnRHdAMHI7KJK/+8/k6YyWMC4FOuJ43YIa2s06clg5ZA5g97lyNwnqykxoTI6vFFj4KthcEnhJvM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(65623756079841)(104084551191319)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6042046)(6043046);SRVR:DB6PR0801MB1735;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1735; X-Forefront-PRVS: 0108A997B2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(189002)(7846002)(81156014)(97736004)(5003940100001)(305945005)(7736002)(6666003)(81166006)(66066001)(8676002)(92566002)(101416001)(110136003)(2950100002)(69596002)(68736007)(48376002)(5660300001)(77096005)(7416002)(50466002)(6916009)(47776003)(50986999)(76176999)(586003)(189998001)(2906002)(3846002)(1076002)(6116002)(106356001)(33646002)(105586002)(36756003)(19580395003)(42186005)(229853001)(50226002)(53416004)(19580405001)(2351001)(86362001)(575784001)(4326007)(2004002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1735;H:dsafonov.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0801MB1735;23:mJ/rh/Mj9kjpywL/tJCEHKNLFVkYFORxtL9DMF+?= =?us-ascii?Q?tjsYC95nPUNO560j2im0iQPJ1aKGIEpzubpJG0OmHCOyLiz8vh3WAXqSJDzu?= =?us-ascii?Q?VCBnZ/OxnndNVoVf1/xpLPL1OAJPBM0WTtZZdeOkuB8p3FnzgpCUVZHsiLG7?= =?us-ascii?Q?1WHSdpe3tNla5TRP0bS8BFU+5iAmMSPzCUfDNigdktgE9wmCBuMnh3jdYVH2?= =?us-ascii?Q?qnfEMiLtRIEFyuZkbfLTUasRd6Hw8el3Fzcem0o66JmusM9tALk6Z/djxp2F?= =?us-ascii?Q?/+tUZTNNPsPpscaJrpNaW1pTBpnvQUaK+znk5EPNcZAmL0C20OyYaU1k8Nk9?= =?us-ascii?Q?0fARQ798nQsZeXfL/aTQyIFpMFut9OG2lxcOWS3mY90Ui3YUs1ej7QtDfei0?= =?us-ascii?Q?v/Qu2xlq6VeDAoLWZ0boAzIjz4M9cz4AThe+/Bzu/CTDamzez1wU1FDLJNf3?= =?us-ascii?Q?1v/dBDZ/csylUnOTfuJkA1Dw/1rvYlUsRg76ioSB27V9dR21xBNWA/yoVbbo?= =?us-ascii?Q?/EkWUCsyqqMdV3bVDBzA32a3rldw4YSVz6UPMBCBfGlIKQLWCProBojXk8aL?= =?us-ascii?Q?QdT945GHhsGcFTGTicuXTz+o0fPHF40lTXu5OIe8f9gP4jv+nEAQ9pmSHVWn?= =?us-ascii?Q?cSLxGoQwiY2/l2CCuTvV8HvryZ7YPLqP8FlyB6XW++OW+uV6PeznJmVhtGUv?= =?us-ascii?Q?XBXwbyMnlwU14UMoWc5rJGBjDigalsxZfa+N7SqXXBT2+tHqOkJ9chLcMFgh?= =?us-ascii?Q?Pho2GHGxbFllq92sdGDk8q6BwQB/zVbN09FDK5o9HmrHQIXWx/p3M2mcvMPA?= =?us-ascii?Q?fJxjdL/eQTa3VHN0aoACAW5wfQO5KX6TtyTaTQAsBuCrB7Q8VCiDCrvOfvoZ?= =?us-ascii?Q?5+q+lwBnyY/JWxdGJccEC5MY/pGar1rhJbBGM1AVqvcI6rlSbRhikSIk8be+?= =?us-ascii?Q?5z+S2CkzSu7c4F5vowmPoX2mTB1PT0mlq/vIQTju126S0gnfsWP/9li2rbHk?= =?us-ascii?Q?E6lYEZAdLe+4ByTh/djo21TyF1DrQhkXBZyDbLjQpUvSKulrww7Wej9ril9K?= =?us-ascii?Q?o3ZPqZ46XJuJnOCqcK+ucR1TMie6Oc2/vsFp8Y/1i1SVX729nJ64pcCqzzEP?= =?us-ascii?Q?m/WK/RTdwDkmSh2Hjc2fm4rvXGuWOUfCSpZ/l9Jsw6ViYymjl7JnOBNvH5vs?= =?us-ascii?Q?I5EyWwg75BjEri1h3zBjwPlR/W+/WrjwzlOR+wVhGhGFgKt2Tgu8MXAOyu5Q?= =?us-ascii?Q?NFJPs1vyq/ORCpH7eMpM=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1735;6:geUYxY3Q/nIpMAacduZkz07fE/8h+wRtIJAhoCwupoY3/6oUhVv7of1CZfo4DWfC0+I0ko6PGMEDBLLocUDzoisQAVHc+RffXTxLe1mJtzFSBdRhnKLQvl7Lhp2xK9myp8iTiM4NGtt215ZAGUmMSqODWzr2KQTz4UsBjx/lgBCGlmL1Rn1bPePDLNPBfo1lB+hqfSEuOqFVcQu0LBd8iMmpCEpdevm8FbU0WFqdK2Y9Vnr25uchx9Xg6gYwZoZKacnLT2et+9fdWBqQq8J9CE0YISONXEeQhOLM8+xxFm8EPt0yj+uw/FusZBzq05V4NgM6//trELXa4ISGMw9TYQ==;5:P9FYoBKZnN/Aw1JMab1Ch/FVIsMDbqnBJRL5MYjaOP3qI5sjuyNeFFYQ+fhScYYn9fIhPzDBWXIpZ/DNrJdstp2ZyBCcAB0kr33/aBvBrD+2kUq55++QQtrlxDTySvMs2Ju5pC3ng1ahh9APZuwU1g==;24:+DndInQ68PPIbsPgMcNax0RyVkgo+QPSWllE01i9YNBVVI9oRv2M3Oz4qIXfjkMg2SJDJQi/+MQWxpWJxIeolsf2FhW50cwJM4DYubZhhVc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1735;7:r4pWnqVas4dbSTCf95PclCTIojWwcVBPONTdtM+AaMJSqZvjIzGBdlbKCBr/1Oomzv7PUEHQuhB3nzIyqGbVILixqbk18yajBYN6AvIb+YdLCy1rD3o2pVO84DKeS18Z+OficEFPb5a11P9A1x36/I1rszAVi6t7NLRrcJxoQJ5DtMkU7c3Ud+OvgKGyWObcPn+6cuhM/3HE5GksZuJimQ7V/iKo8R2Ce+wTq+fmP4acgMqeRbdM8dWGr6MgKHFcEddxDMyX0TnNSxfo8kKrsVzR9gc5LxpyCQnFBr+gbUxDfxNp37K4b69OTC6kWgz52J9bsp/ILtP4xz3dt5QxuNjZhnVsNaHXYU/XR8s9mU0=;20:zePSaHCH278H/Lb7LsqacSYW8lAVNtgYV1O7quSmDuPUJgahN6cy2/PZyQdQTwsBjeAEm+bg9POFMWHSkPX/GY2BvFF+Ymlrzrc5xwMYJFDBHD+WALyyb4GI8i9lowQ6lu7kQzgHzK0VWud4k/VTG0gkqjS4XpL3/UY0o7aYLb4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2016 17:11:53.7397 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1735 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 19487 Lines: 575 This reverts commit 4abad2ca4a4d ("mm: new arch_remap() hook") and commit 2ae416b142b6 ("mm: new mm hook framework"). It also keeps the same functionality of mremapping vDSO blob with introducing vm_special_mapping mremap op for powerpc. The same way it's being handled on x86. Cc: Laurent Dufour Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Michael Ellerman Cc: "Kirill A. Shutemov" Cc: Andy Lutomirski Cc: Oleg Nesterov Cc: Andrew Morton Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-mm@kvack.org Signed-off-by: Dmitry Safonov --- arch/alpha/include/asm/Kbuild | 1 - arch/arc/include/asm/Kbuild | 1 - arch/arm/include/asm/Kbuild | 1 - arch/arm64/include/asm/Kbuild | 1 - arch/avr32/include/asm/Kbuild | 1 - arch/blackfin/include/asm/Kbuild | 1 - arch/c6x/include/asm/Kbuild | 1 - arch/cris/include/asm/Kbuild | 1 - arch/frv/include/asm/Kbuild | 1 - arch/h8300/include/asm/Kbuild | 1 - arch/hexagon/include/asm/Kbuild | 1 - arch/ia64/include/asm/Kbuild | 1 - arch/m32r/include/asm/Kbuild | 1 - arch/m68k/include/asm/Kbuild | 1 - arch/metag/include/asm/Kbuild | 1 - arch/microblaze/include/asm/Kbuild | 1 - arch/mips/include/asm/Kbuild | 1 - arch/mn10300/include/asm/Kbuild | 1 - arch/nios2/include/asm/Kbuild | 1 - arch/openrisc/include/asm/Kbuild | 1 - arch/parisc/include/asm/Kbuild | 1 - arch/powerpc/include/asm/mm-arch-hooks.h | 28 ---------------------------- arch/powerpc/kernel/vdso.c | 25 +++++++++++++++++++++++++ arch/powerpc/kernel/vdso_common.c | 1 + arch/s390/include/asm/Kbuild | 1 - arch/score/include/asm/Kbuild | 1 - arch/sh/include/asm/Kbuild | 1 - arch/sparc/include/asm/Kbuild | 1 - arch/tile/include/asm/Kbuild | 1 - arch/um/include/asm/Kbuild | 1 - arch/unicore32/include/asm/Kbuild | 1 - arch/x86/include/asm/Kbuild | 1 - arch/xtensa/include/asm/Kbuild | 1 - include/asm-generic/mm-arch-hooks.h | 16 ---------------- include/linux/mm-arch-hooks.h | 25 ------------------------- mm/mremap.c | 4 ---- 36 files changed, 26 insertions(+), 103 deletions(-) delete mode 100644 arch/powerpc/include/asm/mm-arch-hooks.h delete mode 100644 include/asm-generic/mm-arch-hooks.h delete mode 100644 include/linux/mm-arch-hooks.h diff --git a/arch/alpha/include/asm/Kbuild b/arch/alpha/include/asm/Kbuild index bf8475ce85ee..0a5e0ec2842b 100644 --- a/arch/alpha/include/asm/Kbuild +++ b/arch/alpha/include/asm/Kbuild @@ -6,7 +6,6 @@ generic-y += exec.h generic-y += export.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += sections.h generic-y += trace_clock.h diff --git a/arch/arc/include/asm/Kbuild b/arch/arc/include/asm/Kbuild index c332604606dd..e6059a808463 100644 --- a/arch/arc/include/asm/Kbuild +++ b/arch/arc/include/asm/Kbuild @@ -22,7 +22,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += msgbuf.h generic-y += msi.h diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild index 0745538b26d3..44b717cb4a55 100644 --- a/arch/arm/include/asm/Kbuild +++ b/arch/arm/include/asm/Kbuild @@ -15,7 +15,6 @@ generic-y += irq_regs.h generic-y += kdebug.h generic-y += local.h generic-y += local64.h -generic-y += mm-arch-hooks.h generic-y += msgbuf.h generic-y += msi.h generic-y += param.h diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild index 44e1d7f10add..a42a1367aea4 100644 --- a/arch/arm64/include/asm/Kbuild +++ b/arch/arm64/include/asm/Kbuild @@ -20,7 +20,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += msgbuf.h generic-y += msi.h diff --git a/arch/avr32/include/asm/Kbuild b/arch/avr32/include/asm/Kbuild index 241b9b9729d8..519810d0d5e1 100644 --- a/arch/avr32/include/asm/Kbuild +++ b/arch/avr32/include/asm/Kbuild @@ -12,7 +12,6 @@ generic-y += irq_work.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += param.h generic-y += percpu.h generic-y += preempt.h diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild index 91d49c0a3118..c80181e4454f 100644 --- a/arch/blackfin/include/asm/Kbuild +++ b/arch/blackfin/include/asm/Kbuild @@ -21,7 +21,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += msgbuf.h generic-y += mutex.h diff --git a/arch/c6x/include/asm/Kbuild b/arch/c6x/include/asm/Kbuild index 64465e7e2245..1b9cbed76cdd 100644 --- a/arch/c6x/include/asm/Kbuild +++ b/arch/c6x/include/asm/Kbuild @@ -27,7 +27,6 @@ generic-y += kdebug.h generic-y += kmap_types.h generic-y += local.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += mmu.h generic-y += mmu_context.h diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild index 1778805f6380..8e98d039780c 100644 --- a/arch/cris/include/asm/Kbuild +++ b/arch/cris/include/asm/Kbuild @@ -24,7 +24,6 @@ generic-y += linkage.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += module.h generic-y += msgbuf.h diff --git a/arch/frv/include/asm/Kbuild b/arch/frv/include/asm/Kbuild index 1fa084cf1a43..2c987dc05af4 100644 --- a/arch/frv/include/asm/Kbuild +++ b/arch/frv/include/asm/Kbuild @@ -4,7 +4,6 @@ generic-y += cputime.h generic-y += exec.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += trace_clock.h generic-y += word-at-a-time.h diff --git a/arch/h8300/include/asm/Kbuild b/arch/h8300/include/asm/Kbuild index 373cb23301e3..2a63a32366f0 100644 --- a/arch/h8300/include/asm/Kbuild +++ b/arch/h8300/include/asm/Kbuild @@ -33,7 +33,6 @@ generic-y += linkage.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += mmu.h generic-y += mmu_context.h diff --git a/arch/hexagon/include/asm/Kbuild b/arch/hexagon/include/asm/Kbuild index db8ddabc6bd2..0988816dded0 100644 --- a/arch/hexagon/include/asm/Kbuild +++ b/arch/hexagon/include/asm/Kbuild @@ -28,7 +28,6 @@ generic-y += kmap_types.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += msgbuf.h generic-y += pci.h diff --git a/arch/ia64/include/asm/Kbuild b/arch/ia64/include/asm/Kbuild index 502a91d8dbbd..dc05773e1f11 100644 --- a/arch/ia64/include/asm/Kbuild +++ b/arch/ia64/include/asm/Kbuild @@ -4,7 +4,6 @@ generic-y += exec.h generic-y += irq_work.h generic-y += kvm_para.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += trace_clock.h generic-y += vtime.h diff --git a/arch/m32r/include/asm/Kbuild b/arch/m32r/include/asm/Kbuild index 860e440611c9..f09a5fdb3b77 100644 --- a/arch/m32r/include/asm/Kbuild +++ b/arch/m32r/include/asm/Kbuild @@ -5,7 +5,6 @@ generic-y += exec.h generic-y += irq_work.h generic-y += kvm_para.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += module.h generic-y += preempt.h generic-y += sections.h diff --git a/arch/m68k/include/asm/Kbuild b/arch/m68k/include/asm/Kbuild index eb85bd9c6180..1555bc189c7d 100644 --- a/arch/m68k/include/asm/Kbuild +++ b/arch/m68k/include/asm/Kbuild @@ -18,7 +18,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += mutex.h generic-y += percpu.h diff --git a/arch/metag/include/asm/Kbuild b/arch/metag/include/asm/Kbuild index 29acb89daaaa..611c0df2be39 100644 --- a/arch/metag/include/asm/Kbuild +++ b/arch/metag/include/asm/Kbuild @@ -25,7 +25,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += msgbuf.h generic-y += mutex.h generic-y += param.h diff --git a/arch/microblaze/include/asm/Kbuild b/arch/microblaze/include/asm/Kbuild index b0ae88c9fed9..cefeabae24cc 100644 --- a/arch/microblaze/include/asm/Kbuild +++ b/arch/microblaze/include/asm/Kbuild @@ -6,7 +6,6 @@ generic-y += device.h generic-y += exec.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += syscalls.h generic-y += trace_clock.h diff --git a/arch/mips/include/asm/Kbuild b/arch/mips/include/asm/Kbuild index 9740066cc631..f0ce0ae0a358 100644 --- a/arch/mips/include/asm/Kbuild +++ b/arch/mips/include/asm/Kbuild @@ -8,7 +8,6 @@ generic-y += emergency-restart.h generic-y += irq_work.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mutex.h generic-y += parport.h generic-y += percpu.h diff --git a/arch/mn10300/include/asm/Kbuild b/arch/mn10300/include/asm/Kbuild index 1c8dd0f5cd5d..27cbc0267b9c 100644 --- a/arch/mn10300/include/asm/Kbuild +++ b/arch/mn10300/include/asm/Kbuild @@ -5,7 +5,6 @@ generic-y += cputime.h generic-y += exec.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += sections.h generic-y += trace_clock.h diff --git a/arch/nios2/include/asm/Kbuild b/arch/nios2/include/asm/Kbuild index d63330e88379..e22478929719 100644 --- a/arch/nios2/include/asm/Kbuild +++ b/arch/nios2/include/asm/Kbuild @@ -30,7 +30,6 @@ generic-y += kmap_types.h generic-y += kvm_para.h generic-y += local.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += module.h generic-y += msgbuf.h diff --git a/arch/openrisc/include/asm/Kbuild b/arch/openrisc/include/asm/Kbuild index 2832f031fb11..2a2e39b8109a 100644 --- a/arch/openrisc/include/asm/Kbuild +++ b/arch/openrisc/include/asm/Kbuild @@ -36,7 +36,6 @@ generic-y += kmap_types.h generic-y += kvm_para.h generic-y += local.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += module.h generic-y += msgbuf.h diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild index f9b3a81aefcd..12b341d04f88 100644 --- a/arch/parisc/include/asm/Kbuild +++ b/arch/parisc/include/asm/Kbuild @@ -15,7 +15,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mutex.h generic-y += param.h generic-y += percpu.h diff --git a/arch/powerpc/include/asm/mm-arch-hooks.h b/arch/powerpc/include/asm/mm-arch-hooks.h deleted file mode 100644 index f2a2da895897..000000000000 --- a/arch/powerpc/include/asm/mm-arch-hooks.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Architecture specific mm hooks - * - * Copyright (C) 2015, IBM Corporation - * Author: Laurent Dufour - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef _ASM_POWERPC_MM_ARCH_HOOKS_H -#define _ASM_POWERPC_MM_ARCH_HOOKS_H - -static inline void arch_remap(struct mm_struct *mm, - unsigned long old_start, unsigned long old_end, - unsigned long new_start, unsigned long new_end) -{ - /* - * mremap() doesn't allow moving multiple vmas so we can limit the - * check to old_start == vdso_base. - */ - if (old_start == mm->context.vdso_base) - mm->context.vdso_base = new_start; -} -#define arch_remap arch_remap - -#endif /* _ASM_POWERPC_MM_ARCH_HOOKS_H */ diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c index 9ee3fd65c6e9..431bdf7ec68e 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c @@ -143,6 +143,31 @@ struct lib64_elfinfo unsigned long text; }; +static int vdso_mremap(const struct vm_special_mapping *sm, + struct vm_area_struct *new_vma) +{ + unsigned long new_size = new_vma->vm_end - new_vma->vm_start; + unsigned long vdso_pages; + + if (is_32bit_task()) + vdso_pages = vdso32_pages; +#ifdef CONFIG_PPC64 + else + vdso_pages = vdso64_pages; +#endif + + /* Do not allow partial remap, +1 is for vDSO data page */ + if (new_size != (vdso_pages + 1) << PAGE_SHIFT) + return -EINVAL; + + if (WARN_ON_ONCE(current->mm != new_vma->vm_mm)) + return -EFAULT; + + current->mm->context.vdso_base = new_vma->vm_start; + + return 0; +} + static int map_vdso(struct vm_special_mapping *vsm, unsigned long vdso_pages, unsigned long vdso_base) { diff --git a/arch/powerpc/kernel/vdso_common.c b/arch/powerpc/kernel/vdso_common.c index 047f6b8b230f..11fdf3e8acc7 100644 --- a/arch/powerpc/kernel/vdso_common.c +++ b/arch/powerpc/kernel/vdso_common.c @@ -225,6 +225,7 @@ static __init void init_vdso_pagelist(void) vdso_mapping.pages = vdso_pagelist; vdso_mapping.name = "[vdso]"; + vdso_mapping.mremap = vdso_mremap; } #undef find_section diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild index 20f196b82a6e..c1ef8252cc20 100644 --- a/arch/s390/include/asm/Kbuild +++ b/arch/s390/include/asm/Kbuild @@ -4,7 +4,6 @@ generic-y += clkdev.h generic-y += export.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += trace_clock.h generic-y += word-at-a-time.h diff --git a/arch/score/include/asm/Kbuild b/arch/score/include/asm/Kbuild index a05218ff3fe4..ff19975beb33 100644 --- a/arch/score/include/asm/Kbuild +++ b/arch/score/include/asm/Kbuild @@ -7,7 +7,6 @@ generic-y += clkdev.h generic-y += cputime.h generic-y += irq_work.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += preempt.h generic-y += sections.h generic-y += trace_clock.h diff --git a/arch/sh/include/asm/Kbuild b/arch/sh/include/asm/Kbuild index 751c3373a92c..7d1fb2c7fcba 100644 --- a/arch/sh/include/asm/Kbuild +++ b/arch/sh/include/asm/Kbuild @@ -17,7 +17,6 @@ generic-y += kvm_para.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += msgbuf.h generic-y += param.h diff --git a/arch/sparc/include/asm/Kbuild b/arch/sparc/include/asm/Kbuild index cfc918067f80..0867d5ab7f87 100644 --- a/arch/sparc/include/asm/Kbuild +++ b/arch/sparc/include/asm/Kbuild @@ -13,7 +13,6 @@ generic-y += linkage.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += module.h generic-y += mutex.h generic-y += preempt.h diff --git a/arch/tile/include/asm/Kbuild b/arch/tile/include/asm/Kbuild index ba35c41c71ff..40d22b4a01f9 100644 --- a/arch/tile/include/asm/Kbuild +++ b/arch/tile/include/asm/Kbuild @@ -19,7 +19,6 @@ generic-y += irq_regs.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += msgbuf.h generic-y += mutex.h generic-y += param.h diff --git a/arch/um/include/asm/Kbuild b/arch/um/include/asm/Kbuild index 904f3ebf4220..33c1d3e0caad 100644 --- a/arch/um/include/asm/Kbuild +++ b/arch/um/include/asm/Kbuild @@ -16,7 +16,6 @@ generic-y += irq_regs.h generic-y += irq_work.h generic-y += kdebug.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mutex.h generic-y += param.h generic-y += pci.h diff --git a/arch/unicore32/include/asm/Kbuild b/arch/unicore32/include/asm/Kbuild index 256c45b3ae34..932070cd754a 100644 --- a/arch/unicore32/include/asm/Kbuild +++ b/arch/unicore32/include/asm/Kbuild @@ -26,7 +26,6 @@ generic-y += kdebug.h generic-y += kmap_types.h generic-y += local.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += mman.h generic-y += module.h generic-y += msgbuf.h diff --git a/arch/x86/include/asm/Kbuild b/arch/x86/include/asm/Kbuild index 2cfed174e3c9..51b3d95f05e9 100644 --- a/arch/x86/include/asm/Kbuild +++ b/arch/x86/include/asm/Kbuild @@ -15,4 +15,3 @@ generic-y += cputime.h generic-y += dma-contiguous.h generic-y += early_ioremap.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h diff --git a/arch/xtensa/include/asm/Kbuild b/arch/xtensa/include/asm/Kbuild index 28cf4c5d65ef..bdade9995e36 100644 --- a/arch/xtensa/include/asm/Kbuild +++ b/arch/xtensa/include/asm/Kbuild @@ -18,7 +18,6 @@ generic-y += linkage.h generic-y += local.h generic-y += local64.h generic-y += mcs_spinlock.h -generic-y += mm-arch-hooks.h generic-y += percpu.h generic-y += preempt.h generic-y += resource.h diff --git a/include/asm-generic/mm-arch-hooks.h b/include/asm-generic/mm-arch-hooks.h deleted file mode 100644 index 5ff0e5193f85..000000000000 --- a/include/asm-generic/mm-arch-hooks.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Architecture specific mm hooks - */ - -#ifndef _ASM_GENERIC_MM_ARCH_HOOKS_H -#define _ASM_GENERIC_MM_ARCH_HOOKS_H - -/* - * This file should be included through arch/../include/asm/Kbuild for - * the architecture which doesn't need specific mm hooks. - * - * In that case, the generic hooks defined in include/linux/mm-arch-hooks.h - * are used. - */ - -#endif /* _ASM_GENERIC_MM_ARCH_HOOKS_H */ diff --git a/include/linux/mm-arch-hooks.h b/include/linux/mm-arch-hooks.h deleted file mode 100644 index 4efc3f56e6df..000000000000 --- a/include/linux/mm-arch-hooks.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Generic mm no-op hooks. - * - * Copyright (C) 2015, IBM Corporation - * Author: Laurent Dufour - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ -#ifndef _LINUX_MM_ARCH_HOOKS_H -#define _LINUX_MM_ARCH_HOOKS_H - -#include - -#ifndef arch_remap -static inline void arch_remap(struct mm_struct *mm, - unsigned long old_start, unsigned long old_end, - unsigned long new_start, unsigned long new_end) -{ -} -#define arch_remap arch_remap -#endif - -#endif /* _LINUX_MM_ARCH_HOOKS_H */ diff --git a/mm/mremap.c b/mm/mremap.c index da22ad2a5678..5f1504c6cc77 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -292,9 +291,6 @@ static unsigned long move_vma(struct vm_area_struct *vma, old_len = new_len; old_addr = new_addr; new_addr = err; - } else { - arch_remap(mm, old_addr, old_addr + old_len, - new_addr, new_addr + new_len); } /* Conceal VM_ACCOUNT so old reservation is not undone */ -- 2.10.1