Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965403AbcJYTZA (ORCPT ); Tue, 25 Oct 2016 15:25:00 -0400 Received: from mail-he1eur01on0116.outbound.protection.outlook.com ([104.47.0.116]:30124 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934197AbcJYTY5 (ORCPT ); Tue, 25 Oct 2016 15:24:57 -0400 X-Greylist: delayed 361 seconds by postgrey-1.27 at vger.kernel.org; Tue, 25 Oct 2016 15:24:56 EDT Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=dsafonov@virtuozzo.com; From: Dmitry Safonov To: CC: <0x7f454c46@gmail.com>, Dmitry Safonov , "Laurent Dufour" , Benjamin Herrenschmidt , Paul Mackerras , "Michael Ellerman" , "Kirill A. Shutemov" , Andy Lutomirski , Oleg Nesterov , Andrew Morton , , Subject: [PATCH 7/7] mm: kill arch_mremap Date: Tue, 25 Oct 2016 18:51:06 +0300 Message-ID: <20161025155106.29946-8-dsafonov@virtuozzo.com> X-Mailer: git-send-email 2.10.0 In-Reply-To: <20161025155106.29946-1-dsafonov@virtuozzo.com> References: <20161025155106.29946-1-dsafonov@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: DB5PR0301CA0040.eurprd03.prod.outlook.com (10.167.222.178) To DB6PR0801MB1734.eurprd08.prod.outlook.com (10.169.226.149) X-MS-Office365-Filtering-Correlation-Id: 859bba33-1e0c-4bbd-3b2e-08d3fcef0a44 X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1734;2:JHdF38SMjZDR3sJJ9fPdPiLIZOC+ggdcxlbfEZUNKZGPydnC9A3r1vbvpzYONdzS2YwoQ3FeXCNLRn4GUeGiklT5PJZclHfzHtFBMsdQuowJo5K9KhDCPofF0S0Yo5u08vIpvbYxhNE8H8+UbMhgQBO2hxRmmD3X9YNgMfde+SHTk5xO7OFLIPVDRyxGvQHN7NyH7C0QdU6x3wm/LXRL8A==;3:vVKW58Wp7VvyZh6jSrRHnLbxVXcvQz4Hhj5SZc1J2M9hu7DibsrhbmJOmAe7tnXSK6qPnLErT7qVtJurgaDE9P4nnJYjmq7WnSmdUJ4kZOATP3NcykkFDIIs/xAZhQK/2U/Gerii56bGeJRmsowUIg==;25:h99WvVrO5BE5LJOSMZNvmAPS+Pr1b8U/lqdRvGulTD71yswptzHYQFu9AVFwRUrKrKX144W1p4mNLe7n1Fc0MGnOEa358S+KiHezv+iS9ma+Pq+WODDfQQsTSukhJT1P8WdBxvbDGTIAzS6m/QcXZ15hhxaEMjlul9gOw+OchbJD54X49EbmM8atnJYLrwJdnya31Unlt5IuFAgndhy/2+LxkLDmlC2eyJXUWLUHRBcuoHU+veQsIiR0P6/yDa6YJ/SXhjyv1SVUKZIC2ylD9PoIFt33HFwvYy6nwXblo3rgPoxtdEDFHyXNjRyvE8cWr+rAJ7slo09aD19xOBW96kZjBbJ0GmiXrEXp2ZlwlLS6E4sBn/c5mBUF4U5bIpUvaxRP29ATeFy0ZOirW/Dg9yHTWLukQ+5Q7gEd/lY8H7lzKv0Pc22dvBLWKuTWB0pq X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1734; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1734;31:y6fzmLNuLqeLeR7rrsiGxzH7gJRQp+YbYmqcyZb4qt+kejsceipaO/r164WyTGjLbChCP4HkdcU5bE51lCWfQFXGU3L3v7JBjRYFulOsyWknQmFjokUj/SdsAh6FGiYYI6XiDfqVWRBEpkLnBxqZOIhDXVYR5C6QCgVuaM0s42cC/GDJYbP9OlHlUFisnhkAVwIwSkOx3EbvlqAgUjzdwdhkFW5heAZJo+5OBYrg5YNzu8lmD+gtuqQv+JI7g7u7;4:bGjFwSk7CCYqbMLQgsiMFoGhdmd9oAuZ4CfBezHH80fQcYIbVj+4iUdo4X0th4DXwuq02KNe8Thr1zDFRjc++Qk6CDhyANL1JupqOapWnMqPeXiXvnQrWCI3jxeC7ON2Bh7w5svvU+Z7wAffQgUGpbQKKO+8wtJnq8MsBcArAxorDRxVJ/o3wiCTT1uDEHXjCqCpqSNIX5e9lEDZYJZaGur0Qw5niR0yYXK6jh36BWc9v+1JcuYeVyjnc3jaA0vHFc4qPAdRUYPfaHCNKwgyfs4SCaFKbefhRuPcThr5bETTpb3aqy1WYlSH+8Khv+KGDX29KVy+yZeiExG9w+ITxQnKsrEgMfNCu2JcFfA8kL1O8ofD3KJbDk3vAkErmSvlk8XsXWmJJA97LiUFjuZfXZ947WDPUkUDq9qam3fxsPMIoCj8mGExV3+jJ7KkKV2RCz0hEsUin+GtlReXL0ljUcO/b9pU4C3RNZUkk5MrqQejPNm4F0kBvSkqO5wBDsdTNMQ8/iGHvFYV+z9iZz9QmIlyERDZDp4RGNaBP2RhfixHta2ruNbOYnGho4DZZlL3 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)(6043046)(6042046);SRVR:DB6PR0801MB1734;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1734; X-Forefront-PRVS: 01068D0A20 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(189002)(199003)(229853001)(2351001)(110136003)(7416002)(2950100002)(105586002)(5660300001)(6916009)(19580395003)(5003940100001)(77096005)(305945005)(189998001)(586003)(97736004)(6666003)(69596002)(50226002)(50466002)(19580405001)(33646002)(48376002)(3846002)(4326007)(6116002)(36756003)(76176999)(50986999)(101416001)(575784001)(86362001)(92566002)(2906002)(53416004)(42186005)(8676002)(81166006)(81156014)(7846002)(68736007)(106356001)(47776003)(66066001)(7736002)(1076002)(2004002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1734;H:dsafonov.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0801MB1734;23:NRNuZaBfh7j3HRr6u3DZ1PvQToYhH+vKfkzxnSp?= =?us-ascii?Q?AxkMs31fhV/j9H3DJBhAJ5y/KxqK1+W4/4tqHMKuoeC4HgAc5H9fFBdbOxDn?= =?us-ascii?Q?0e5Cah9G/Ho2wGO0Mrfaa/Abc45GcEKNcMhxFDwq4E+WRK9snUDjy0f8K6wG?= =?us-ascii?Q?geMVxr4I3k5hCefSPmYfKsD67HZuyptm0Tfd8WX5WOG53cmCUkAwSaqzXYvK?= =?us-ascii?Q?In1puTECLTvoJ16v6F1yqdcZGB/PIE/FEKm2gix+nDUiaIoGZsd+hLlOZTcO?= =?us-ascii?Q?HJ9GzMZXi1jkl80bkUVvujnDP3UKTB0bbqLUtPgbK0q0LnNOTtbalD/7Ufba?= =?us-ascii?Q?jtfRYyV0Rw5TizMQ/XZzKP8jGZ0qB4zBaM2guEZ0es1xIoFrotKK0KN8LqEr?= =?us-ascii?Q?B/6wtXGJhy6tqrGiAOr7MwpB1MrJEnpc/EN2gxHqA4dmGRGU3MaJPZQNYQHp?= =?us-ascii?Q?VNlRmpl2r7aH4Dv1ApX/zSUx4g+wyMTqGLxBG6yVK+4d1M+vsaKVgXtbvwUO?= =?us-ascii?Q?fS3gEkhO4Rlu7xGMzpG1BgYISfvcvv2ft74dBHCKgaUC7xFAjyBNAvyUvc9R?= =?us-ascii?Q?cWFrMT2KtnHmaoFIILTnDm9zgFgMIs8bCn+nJMbp6TuEKE9xKI3jZiK8t5Iv?= =?us-ascii?Q?BZjwVUUX3DpzQSRY4FXG4w/vyWO2cm3duVJzUYXTcHedQtEAJq+UVdTivMyy?= =?us-ascii?Q?PacJEGeCDCG0g2DEyYAvkoQvneM+j7TMRdnMEEWZKxMokSD4nbmmA4rLPvR4?= =?us-ascii?Q?NAeHoE97+k//zgTlLbgwsd4wtMlV8uN7gvir9sSItVZt/GiuvhtgazcvLngJ?= =?us-ascii?Q?6KdSBWX2R5sgIT27ekzJM1XB5Ll7YIQv1KI6Tsk9w6NlYFDUdbDScDGW1a68?= =?us-ascii?Q?2+Z2XQHthyiBVITuNt+6JJJcj6+4Qjmpjh7WUfRpjmVnkqjkoCbVhGZ9uTVM?= =?us-ascii?Q?sBypkcOsy2hsLIDrGupm1WrtNwjpwClG0Bg/jtjCKWflfjkAMlioGKMnx+zg?= =?us-ascii?Q?Pkj4yOkKVTUAXRvhXG+gcXIDfMDGE8QomkBeTaW6rtcShHmvI4arKPxa6reC?= =?us-ascii?Q?AmnSW7XjztdzUs0BhtuauHk1hwtjywELzRMyKxvaR74k0idDlAgu7e5vEUXB?= =?us-ascii?Q?4OpPGd1G7/PP71HUy/wGJY3ufU6kATCn8gTHX8EujgCs2+lJBJXtjsOTfydx?= =?us-ascii?Q?plYDpUNXP8BRkeGdNqowgYHEZkOPAqNTvCKZZac129aISa0nkH4arX75dT5c?= =?us-ascii?Q?W+AKtKkhLRv5suRmiDzo=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1734;6:5AE0+s3z9uTi8d8BSWR6HYt2CNq0ldaBjCxhei3aINhqQmg2s/0Ce+5icPQq+ySl3hlSiD2Mt+u0pUzPRwzfvw/wjIhjpln12M5RFB+CpXdyV3y5+hAI2xMeSPkUSN9VBYfeDXtsu3lrst2iVRPzK0p8jfZDP8icwIuKGUhYftr0RL5q55teZCrwnNdbu1Wu4aYFtbD7J5rr6Tupyr5YRoRIXecd3m9ts2rPhOILp57/rAu3DY+7khmkLSOBnOuAD5v/jcERSAJkQ4dGb9MPYRCl53Z2DAt3G46sZS8WA7zGk0Afm9eNeA8XTwQ92a0Lg5pvs5f/meVCDNPD2QX6Pg==;5:2QMIEilDR2dKsr7RRmECIWpbfisMMxsIYgwbmff0yg/qYOMGk0JbSSBoiMWRinec1+zmbZyn5uyrqobSWvMpXnzEhYrWlGeFySwKh7CTh07U4fIWFBjRt8Ofbp9L0jbU2qly9mDEXL1ww6wPrhl3GDxnugbjIsgoNsFjQFLOzUI=;24:pne1Hrp6AZaxTOvHgkLHpGdK/NdcR7tBcZNCxEWVgDiSNWjurU3nLGNfyCfSSIr5Q8KD0+LLCJi52OAVy2FB0j0luP+ZkHnRQVSza2XM2zU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1734;7:wi7bS6sNMsYVw2hIhip3tLgdW43e7klbiCD6FS9cAVgMc1hCTBKDF0AoKj98ZRAxuXq/Dagw4OxKGUfOl9wZ1uiu0qTI2VsgcCKOl6XSGvdo7EXX6G8QldwnpWMP9cVHfWnSWXx7kNiUylOGCT92CXv1tMsEjnhK4WxZwqynpnMLC/4gZ39SlGy3usoHwwtVy1H1sDQlQsLINB9JRgMt+6cUfwFovoYpUaGnH0VUku+4shUkqelkByrdbkPchBm22ep1iPDHDBJmSgeiwZRdp6dzr2VRZqb0jz7tZguRwkKav60qxPXjMRv+Q00Nh0siNvO/hK6BXFXlyS+wvCy5uN1Im8I1S1KpicMJzHkYCUY=;20:jKQgd5uAGeyIB3wzxThyU1sEwhTSCwCoOcR5NTqfWPzp9FdtpnTzB85L9M9yIv10+Kj/M8ekV6IckG6lodLWK3ZuYf9AR0FOwHPzyDS9FZ/cxWIfIz5/yRZZitEF7TmtJxo+5tSd+XiIt3/3nTlPs8iuQdt+JFg5CwYVMNcNAW4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2016 15:53:17.9080 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1734 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 19376 Lines: 568 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. 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 | 19 +++++++++++++++++++ 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, 20 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..6b6c5558d8e9 100644 --- a/arch/powerpc/kernel/vdso.c +++ b/arch/powerpc/kernel/vdso.c @@ -143,6 +143,25 @@ 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 = is_32bit_task() ? + vdso32_pages : vdso64_pages; + + /* 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.0