From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751064AbcKCEBZ (ORCPT ); Thu, 3 Nov 2016 00:01:25 -0400 Received: from mail-db5eur01on0047.outbound.protection.outlook.com ([104.47.2.47]:26507 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750726AbcKCEBX (ORCPT ); Thu, 3 Nov 2016 00:01:23 -0400 X-Greylist: delayed 3559 seconds by postgrey-1.27 at vger.kernel.org; Thu, 03 Nov 2016 00:01:23 EDT Authentication-Results: spf=pass (sender IP is 217.140.96.140) smtp.mailfrom=arm.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=arm.com; X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:935;Count:13 From: Huang Shijie To: CC: , , , , , , , , Huang Shijie Subject: [PATCH 2/2] arm64: hugetlb: fix the wrong address for several functions Date: Thu, 3 Nov 2016 10:27:39 +0800 Message-ID: <1478140059-13829-3-git-send-email-shijie.huang@arm.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1478140059-13829-1-git-send-email-shijie.huang@arm.com> References: <1478140059-13829-1-git-send-email-shijie.huang@arm.com> MIME-Version: 1.0 Content-Type: text/plain X-IncomingHeaderCount: 13 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:217.140.96.140;IPV:CAL;SCL:-1;CTRY:GB;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(47776003)(356003)(87936001)(626004)(586003)(48376002)(5660300001)(106466001)(50466002)(229853001)(2351001)(246002)(305945005)(7846002)(11100500001)(50986999)(5003940100001)(8676002)(76176999)(189998001)(6666003)(19580395003)(19580405001)(4326007)(104016004)(33646002)(6636002)(2906002)(26826002)(36756003)(2950100002)(110136003)(8936002)(77096005)(86362001)(92566002)(50226002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0802MB2566;H:nebula.arm.com;FPR:;SPF:Pass;PTR:fw-tnat.cambridge.arm.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD050;1:PvEAKa5qGCsH20fxvc+CTawtu70/mJPvVWtDjHtsR03209579hZWLzYjeZAcghi1NoCsdtdI8G+BoNIEXEC0lV+sTR+Dd8JVwDs9y51t53fuu+nls02SCbHbKeSHEbf6TQBx6UWjGz7MNJ7pjQjb1lgBmHXMV87z7xAuP1Mv4DJojRU0lKgsMgURdwIilKfdDpaUd1josYA/GtWeK8RkUt/iP9+LEEAzprtMEeZQtcGmoqbErEN17LTKRbxehmjhDpsm3YxOmBGT+ZjErN7WKUKq86Y/dMt/C2JBgt74ADtyjRW3GvaGCAhviqE3K1ROtL1HgTEbMXwYNlEWKhVTCcLlmH7ogX7RR6bkR42tdYXTWasNAJe/CfMroWRsawwz5NZpX0NIW7yp0Ii/o5jBB7Fl6EMJT1t+RRIfEzd/dQ+nbkrRlMOh5qbtP1dmkN44s1lC+bHN4c7KZ/4yT/ebmfF+Y+fXE7xVQ5XgyVYd6p4P5FOe2ljIQ6UgC4PT4IGrXrbTHtcdevMAuK1VSWlUd6YHeJhGXRCT2zCaibeZKwZHvS6kuH/F//jwHRYUK5PhL8d6zK5BsykjQVPH9V9vngl8hu02KX1mozk9JG03qS2lyI3wvDbDMzko4qKuvpGs X-MS-Office365-Filtering-Correlation-Id: 0ca88c31-075b-43a4-0394-08d4039108db X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2566;2:SKYHP58MHKhYcJ0jfeKhAYq+p6LKAdyvcD1/rSkHpn6iyCp+vmq25ic2sqzM3PRPCB1WP3Aw0ySAYbAgLpDynzgJH0e1fm1fp5krvD36c+yt7KfEiuI99T/2S1CpKAFnes/+0tqBSkGEOJc2Vxg4MaKYw321XZlX0yfkvEi0/4l9/qsJEExnJJv9Z1s8xlkEUdt/JctxDZG/4lbrTbwTUA==;3:uqdG4Yas8nSyXl2Ie+44ckNy3FOpk+r8guqpN+EkkKBcz4dGYQGVWsXAQ8TOCqnBKfHxK9vU0W72LP5t9CMeoPvo+kW1gwBxgt9+iQPb5KZ9G52QkUDGKAaKu4HlMHrJeuNVwNG87lvWTkfTASsnMlIG4VSlhSeVQkrt5qlyxVyQ4KcX19oqLx3s1iKUXaSCdCFOp1Nji3wq+GF6Xl+3tThTuiYznK/thR0PcNFRwFzEAzeI1zFRT5fblKxm5sV7vATLW+R300cnX1O94OJGcRniyAF59JZOIBcZizlDUuY= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:DB6PR0802MB2566; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2566;25:LLgrDD7Awx1B0jTPhoPRluQnEpl+vMZfpJxzSB+6PBSggLvpRhqr6ZSltjqe2Wsm8JhinUDNBif+NdGK2Q6J6mJd9+3Dd/h2HqhtYG+Nu92JT5rlYM2HeUjbXmRXJl38McfrDVf2b5ctgkCGBZjgOTvi5XcZ4J9aeJFSwB1P22hOOOUZJAhEOHDF3FH6JkAJkoG/3PcEQBApfNd1zpEz13Kl4rIGYuU5HpvxRbJ+n1M26fodYeqxNAh5jmT6aekiHAWAVk2V3l5kr9oHMlj3J0qFywK5tfHDMjQUpGPnQt/tRyU/r/YEi0YRss4qFGCzu6p+wRvRhVX37tzlA4u6OdjauUPGbMTQtKUw6yJmeCnkXnpLZVg1X9IWlF0BU3niqRLDpcHohi60ajprGBSPBcwJiBf+MPZkUh+OO9mOFaw=;31:KP1f5bz9roCTLTk6ddPVS1bBVtcJC+HhVootL0MkaGHsmSqiqaoLgmYavsCJg7MT9JUyzSKgVSrQThu0+iV2cLlql1a5ZtpydrrFgTi7RVqcONr78gkWyPIKj0ZKKBFxiiNI9Jaw7rXGwKdCYktblk4Wc2cjxRnS3wSDJgnpIi5mcn0UsLLLMEoqe3+or9cnvyehtcm9m0EXZc6QZVWgI0h8apX+1vfVsbXoTGvg8jNRYcYEeiBRWV4XTLY6AAVM167zrCQo4sqUNBEtnu42ng== NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2566;20:tTXqj/NBL152gtwPwApuaj1RC01tU2BRao0oi22FhsnRu01SABXUaFb3ai1M5QsDqI1Cv3sSyw1MyMS/9aApjmYqNdGhSR7F6l/AP8p2qxVBj4zf6LHNeTsjO4/MU6kYQ0Q4SGNG9r8YSLBGpeo7Sg9lbiHxlJu1Ex3iYpP6L1H14ZpHeIh3GFOCCWqgK06kqtaOK9pGb48LJI1dphY2N8dAV+Nn5Nn/7FQCf+hBfECmDyXYBBwdv+880P8ah8YE;4:CjKvnEFKUBBmlsXJGCSbLMXcWbLLBE4nBBwticE2XD8TWrZM2MqH0gcOV9CFgvOqwpaipvrKMktGZosa+aQWJoXQge/XuTTFufpzXnds84M7hJ8ItqavRwvFwXj3T/f18VhmVFAZdeDZheSSovOczVzfF2q2NyX5aAhD/nZULfsfHANf8K1Co1RYZaW1LHg1jHo88JtxrhqByiHDKAAZ0Dbj1xKp46FO85VkVouz3IKadpbZs7ieF0k7aqfTpl9Yyzsi2vV7tdaaClZK6D7/qtruepcOU7plgyw82fFPwEukCosM919kHyA/D+tGTUFNi4Ur9OXwP32y/yL0Ra/eRk5UCRtYmOAcaTm/Ol6vIiOJ7P/KjysYslZTKnnAu+vrr0puS7idFIqWWwz02BKiWq523rL01U9uD1rC/lajcRPv8QQc4mewAC152LjBIIg9JXFafNPl69jvd3BDVUVlwZqXbo3x2/VPKETBnB/zdNUMnOeEHq+RPnAJUh+DNM0yUG8zc3XRp1HwPAAnx5D/vpXdgDjHsixvSHSkRdnGyBg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13020025)(5005006)(8121501046)(13023025)(13024025)(13013025)(10201501046)(3002001)(6055026);SRVR:DB6PR0802MB2566;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0802MB2566; X-Forefront-PRVS: 011579F31F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0802MB2566;23:YG52iLW6e2jBoow6BQ537hYWrqN5AZU/0ZTR2rV?= =?us-ascii?Q?OlPMNYWYWg667u8WLZrWB5o4Hf+t9LUc/U0FCovHCH2zx1/GblLwIAOYkUVn?= =?us-ascii?Q?0OylNzS4VPXsn+O8cPNtQjnE2a+F65QHE+lTH9w6vPpR/vIGvND+bFbTVVC/?= =?us-ascii?Q?j2Jx6WpsPAADRb5qbm6AdCelKdb1Gr452WYHA7T7yQKnXYEyNs4nTj/urrJI?= =?us-ascii?Q?bHpkYtK2nD3PEcXOATNS4lb5J9G60w6UTdCrN8augiSp7WIv1fxmRJob3Yg6?= =?us-ascii?Q?+IEG1DRubLPqnyHymDOe6S3d66sY5FuCmD0hm9M2NV8Q/WVmo5F9Lvs0o/iI?= =?us-ascii?Q?UQ2eZaw+61eW3b/yD+Z6j3rKrKqHlcwP539YqMcVbEbquhkzXk4A0alEX20O?= =?us-ascii?Q?0c9UgXbx9/9UryZTv0NAqmqZEz2BUykO0ZPm3p/buTnnsDOJps0wpp8DnYJh?= =?us-ascii?Q?/kTHVKUXsuwKDALQqw/B16rk8TOeOfcyg5WdS2wkDq+ItbIGSwLlw7aC3aA1?= =?us-ascii?Q?wEDbxml3Bbr5ZDj/Wg3/fxpiq3BE42LMp/+A7qr1WdIP9UZDZgeFZJll+tUS?= =?us-ascii?Q?9ZpzWsdTyyu2IJwSNzX+MDRQJnppNuXzS/t5932WjCeI4HG0MQBfkZE6zLzH?= =?us-ascii?Q?2YTf748axgUk1e0XjxNzAI0356KvWZqfg+UuXVC1TKwO6+IQHI/GJjL4mTWE?= =?us-ascii?Q?5N6UK2SUanzHnBhdaB10qM0x2HjlgngkhyTGfm/gEQuw7f0v3sTMIlMZXiSM?= =?us-ascii?Q?Lekqo3Ss1DAXWkEEGj++i0ixFTEDD/iCUTjGxHoYuPNVnlcsKyQG7mtNfzNW?= =?us-ascii?Q?Gequswo9Wg0wxP8yM3PDbO0QojgFeCgKSyH99GLnnbOZqHn0C5OdIr0ahr4J?= =?us-ascii?Q?b8oMS7ILv9d82RE+fEfgf4iIPcZpuUPLgBrYEBVUhUc9l3PgjfaUQrU7IAru?= =?us-ascii?Q?CyRdHGhbx5UXBJu3BmOhVHEBrET4Re/RBswu+9Rhi3BNW6FNxw1cSlpCN/ur?= =?us-ascii?Q?9PrD0EdCgBUriqd0ZThPos4dfyGdnC18VCbH3/PmulxqubpPsp6/y64vC3hc?= =?us-ascii?Q?Fv+LuSa4pgQ+ughKkT8zCTZTzcScj?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2566;6:O9DR7s7nVIopEPx9E2QQY2hWx91v9p3VL2CrlULbiNvVFb6LYq/EOL00cfAf43aZD30SG+cqt74WFi7NJqCpUbWDdSC/uxFwzrksqJF8NFeXi4NdF2t0zlW9qZ+u0SKF298QF7n7qP+Ys98SBhYa5Mb2afybyuqVg0H59Ss56/joSj+toBpwn5pcUuVfEMO4ZIx/bLnTgIvUJFh0IS/28ZPYw2lbXH1K0u946GyduxRuy1FU1YqOC2AjvlFEb4GuY52ItWIU2NHA8MvJkx6Frj3f6nUD+k3ViirIQxyLnDCqjqy7Jyt2OX1Y7aFg7RC3HX26ENtfpdqV2olFCpaP1w==;5:Mx8NRKtwS0oCyEfPU8F0j0Qpi975xfdrFjlOxSwTTlZvSrdpqUnPUdb9tCr+sXpiFrpciy7Fo7x0VtvEXMPgHTsIKIiqXag6PsEieixn2SGyQbQXRC+nOgfsGI8HtOLgcKDY3g9Jt7ojnn7vS9y9Gw==;24:+JQKecnxfxYvdjLs7dOzr8Sr55LTVSO8/mKKJ3NsE5V2SDUb7GzIcWDaxiQCSGBWOtFckDp8TJhpcGq+zJM/2zajwIPQr9vAnKXOmMtfirk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0802MB2566;7:wFGdvx2ahzdTWFtH7b6NbRn2J///EU7/ZyFr7ew9eDjIDUQ/Bn4jOrNa/2inLntCtuNto9hv5sYyhAT6beaAGt/N9ahA+eKJq+SSnRsmbsrTVzfra4cKJZqYMCUEld5I5+JP7uTKY619h1mBy3SKPvmVZJjPhfmpupU5GV9zk3DXPdzNJQlFogE5nmNI/+h29CafPsu6ETx2NAemoG1n07yFcXC+i7YgX4lWPo5fWFlpum8wO7tDKrn2GnGuASt78QA9YMbFT7hHxr2BXoWLYowfZ3wTvFc5kpZiqb/M3Xb9/J/FdcH9nVFIFaXLwWRIU/mQ+OjICsTjai/TiNpZKCNvrOd5ddR6iy293sGkKCM= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2016 02:28:01.7298 (UTC) X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[217.140.96.140];Helo=[nebula.arm.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2566 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The libhugetlbfs meets several failures since the following functions do not use the correct address: huge_ptep_get_and_clear() huge_ptep_set_access_flags() huge_ptep_set_wrprotect() huge_ptep_clear_flush() This patch fixes the wrong address for them. Acked-by: Steve Capper Signed-off-by: Huang Shijie --- arch/arm64/mm/hugetlbpage.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c index 4811ef1..0e9401b 100644 --- a/arch/arm64/mm/hugetlbpage.c +++ b/arch/arm64/mm/hugetlbpage.c @@ -208,7 +208,7 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, ncontig = find_num_contig(mm, addr, cpte, *cpte, &pgsize); /* save the 1st pte to return */ pte = ptep_get_and_clear(mm, addr, cpte); - for (i = 1; i < ncontig; ++i) { + for (i = 1, addr += pgsize; i < ncontig; ++i, addr += pgsize) { /* * If HW_AFDBM is enabled, then the HW could * turn on the dirty bit for any of the page @@ -246,7 +246,7 @@ int huge_ptep_set_access_flags(struct vm_area_struct *vma, pfn = pte_pfn(*cpte); ncontig = find_num_contig(vma->vm_mm, addr, cpte, *cpte, &pgsize); - for (i = 0; i < ncontig; ++i, ++cpte) { + for (i = 0; i < ncontig; ++i, ++cpte, addr += pgsize) { changed = ptep_set_access_flags(vma, addr, cpte, pfn_pte(pfn, hugeprot), @@ -269,7 +269,7 @@ void huge_ptep_set_wrprotect(struct mm_struct *mm, cpte = huge_pte_offset(mm, addr); ncontig = find_num_contig(mm, addr, cpte, *cpte, &pgsize); - for (i = 0; i < ncontig; ++i, ++cpte) + for (i = 0; i < ncontig; ++i, ++cpte, addr += pgsize) ptep_set_wrprotect(mm, addr, cpte); } else { ptep_set_wrprotect(mm, addr, ptep); @@ -287,7 +287,7 @@ void huge_ptep_clear_flush(struct vm_area_struct *vma, cpte = huge_pte_offset(vma->vm_mm, addr); ncontig = find_num_contig(vma->vm_mm, addr, cpte, *cpte, &pgsize); - for (i = 0; i < ncontig; ++i, ++cpte) + for (i = 0; i < ncontig; ++i, ++cpte, addr += pgsize) ptep_clear_flush(vma, addr, cpte); } else { ptep_clear_flush(vma, addr, ptep); -- 2.5.5