From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752607AbdFAQWo (ORCPT ); Thu, 1 Jun 2017 12:22:44 -0400 Received: from mail-eopbgr50126.outbound.protection.outlook.com ([40.107.5.126]:22720 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752586AbdFAQWj (ORCPT ); Thu, 1 Jun 2017 12:22:39 -0400 Authentication-Results: linux-foundation.org; dkim=none (message not signed) header.d=none;linux-foundation.org; dmarc=none action=none header.from=virtuozzo.com; From: Andrey Ryabinin To: Andrew Morton CC: Alexander Potapenko , Dmitry Vyukov , , , , Andrey Ryabinin , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Subject: [PATCH 2/4] x86/kasan: don't allocate extra shadow memory Date: Thu, 1 Jun 2017 19:23:36 +0300 Message-ID: <20170601162338.23540-2-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170601162338.23540-1-aryabinin@virtuozzo.com> References: <20170601162338.23540-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1P190CA0007.EURP190.PROD.OUTLOOK.COM (10.165.188.148) To DB5PR0801MB2727.eurprd08.prod.outlook.com (10.166.176.23) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB5PR0801MB2727: X-MS-Office365-Filtering-Correlation-Id: 4765cd36-a714-47e4-7867-08d4a90a6090 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DB5PR0801MB2727; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0801MB2727;3:lFyQoxGD5YBD47hKml0wEAqWO59XONsU68Pzgqv/QLQ8ytTJSeDdfKY/WH8QD3iQMYbvROp2deUV0EjE8Qk6ULDpNeK894K2tPx4homNOyhvfJxWg8qqeulRJ+ngIAVSsaX/89hSEgzJqL+EEd9Q3/QXCdDxBCgMv22NVzYFcTbOZEb5v0aMKYBV4kpkdlIpPJEWyzM02Iu2r1aPmUR8N0HWUEHWFl3V7fE4dM6nO74pSeb+jt7WM8GxErPaTD0lNkJYqLqqEgp3GDgnuXy5rsKkzrJoHtp7VbbFkNBVDZ4DvSVyxW/HypxbsPRDvt4bAi+ZiUjqoa8FeV2UCjo8HQ==;25:u5GhRPr5hP5dHKqw8Fy6pChPJjRO8l++/6VsZVkeHWpGc2D0qjixJGkyxqbi9rRV/jzjgWewsDW1yGFmv77kXb3gZ9C4msScT9tPTt392NkAeN8M0a9GCDMHRdgQb/D/t58LoD9tCgzAt+cCNXtjU8t2UVaar+BX0c6SCEQMgm5NlWaVg1U9vGTfFk3yW4ZS8OW4cKHqVdbTLTfQXd9+sKLiW+a/3z9CrzgUvhAAHvqn97u2UWHHdhQM/fTa+SFPPiQ1+rrhslG1yrk9CJbQtGQqF6ekZIQsVEoFZHWarvHnSxlGuCeLLK1R5/jFqp3rsqgAdJ7RPsISmSTZIfB8znuNZ1gtXbYIMWZdZDdCh9We6OUkBtO9y65/wqyb6sBXF2GFYkEcaeI78+a+Z2YoXKGKWKx5hi7hoN46l+pTXEVO1zbpeQouzngS+qc6TQ0T3DXTCXMh83Dc0D5uqX77fIby3h+L1IUAqLyKsO3JUyg= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0801MB2727;31:7rXBeu/2iqsWWf4lB+O380g7mjbIvhnPbV8Od7cnrrMiNzX9eT1IgA4fZ8n4nrc7QvoRUwbu4ihFoEhEXqq2SLHQR9D86+6l0O4n4rCzB1Ws6i7UMJpxg0RJd05noSkHiSgD1ItCOpQpeRHulBc0q+BIIsgj3CtMt3+pth5jUxxm6eoywEcfcfCq7mjlnQ2IZJxt4sx03ChdGySyQ+sLOvWYH4+RDWwByPm88aI0lsQ=;20:EuHDzsoM2LND/AdEspoVpBLL8i8bzN0nC2hcuuwtKZxX1b/rfP4LeCmYuBAC6/ie6EShYQXzFCweyjFgvODmFFdaSfmRU9rETDpDtGNtfO+LM8ZYD0IM8wG68vmGkGcLtztwyfHZdBW6srR1MKzqnp3xZfxhpnPQjg7af5klvWTsCtaP2B4uCpp3nCSVb5bsTm6lBafntquBUA4L80qe+3df2mJeEGkHi23ytWuXO3x/PU1yet8anlnHe/GRE4Zb75Z9cCITKksee/Rewv4dwWB/GPuj+CCn8XnvxpatBKhPz+n1TNkNToKmY5fokDcYyOU+ZMErvrZUj1vABVWMvnkT4FuyjzitlpKXH9fy/RguzkrKs5MdZpl28F0oMZrGmtM3Exb50AJK75ayjJTLuOFehLYgGpY6rRYnOIdLOs0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB5PR0801MB2727;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB5PR0801MB2727; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB5PR0801MB2727;4:H3SbHFF9QIZOFwGUbR6j/yLmSMnDBdOfneBe7QpF?= =?us-ascii?Q?ZGVghD62zuVobM/FiGQEOcFRgOQ5AYnF9ZYk0laCwGUYqWEIdVFaMeryKt0T?= =?us-ascii?Q?p+npA1LoCNSCfs55oy4ATffyLemAyp0Lsg5CwWmRRmB//xDOYHHu9DCuYh3m?= =?us-ascii?Q?qGy9Lt5DdJoBTGQspvGoeBXI48OkBiDoTEXIFUKbhSV5D0S2IR2tep8Xy/iZ?= =?us-ascii?Q?f9dg/hbQDDViPgy/fF7vtkeETFaJt1+fRrz2V33hFmVQkdCQdUapgAcfwpuj?= =?us-ascii?Q?+mzJM4oV0JizQnycYYUYPBQywkSJUFvdp6WrTOGnt8di+kQCRax4XP4h6Pyz?= =?us-ascii?Q?SrF4eIPsADzDa6RWg7F/U+7pcKC15JtHmFlnicKUOdqkuZmA/AWhQZRwX0Ax?= =?us-ascii?Q?Zce2ikjrU3ZvxKRlaUbiN/wNzJHKk0op0edKmJP5i60XpbNOws/Lgy1F2M2d?= =?us-ascii?Q?Aaw7rI7G8pEvDvaHUUHH/DcuyCFjxEM0xN1TQd+TX2KRleNXBaGrDWKtls5I?= =?us-ascii?Q?UPs/Z52oHbSz5AUC4bedjXatGc2BWJpnNfCDfy5nPMZYCjR+URn1kp4KT8vu?= =?us-ascii?Q?9/qTmsqtZfC4z65j87hcbyu1z3EVXt5goVn1wibRKyj6Ahp0HPQej5trfHHJ?= =?us-ascii?Q?SljcnZQnVbCCBz+i7z2YOFLTE8CHEx66HAu6g5oRzvegZSNWIlRRNCysQ84M?= =?us-ascii?Q?4Jk1QH0dcKkiilUo3/BYL/dbX6rstp1uV9a3QDxjPcFZIjEVGD8UaLwUMzxW?= =?us-ascii?Q?bzB+FTff+una48oih6sYw6pqK5zQckOomZPyuBAIH3X0kAYvNmhwgtWESeWX?= =?us-ascii?Q?z2Ju5gpmGU3C9SgQbnz1L7+SVuoVn9sBVgmh7FgKidVqA0DUE7G8lLIRXs1Y?= =?us-ascii?Q?znIsUZk/hFc3RiiFiShJeQFiLm+inc14zkgIIFaXXFl1XC58iX1Dos58a7Nj?= =?us-ascii?Q?ja0aDgf3+PUIrOI3rE+ZqNf/kMwnNHK6PmLLg+BHz5J3xX6bARztml9R1SYp?= =?us-ascii?Q?NIKUDAmtMxYVIf6oQYEopuuI5Na/IBFRDkI9NkNH0XwWG9T2H8B1lGlWpb6N?= =?us-ascii?Q?H19YpiTT4vOOUp0ynzlbYEDDFiwzpd9JnxqqCpG2jPYCkH6t6qjZcMdXG9Lc?= =?us-ascii?Q?YpH8XfgQtxFF3E2o7FtOXxJA4fMCwUZ7?= X-Forefront-PRVS: 0325F6C77B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6069001)(6009001)(39830400002)(39400400002)(39410400002)(39450400003)(81166006)(305945005)(2950100002)(1076002)(6666003)(6916009)(50986999)(7416002)(5003940100001)(7736002)(76176999)(36756003)(76506005)(86362001)(42186005)(53416004)(47776003)(5660300001)(66066001)(33646002)(6116002)(3846002)(6506006)(6486002)(48376002)(53936002)(50466002)(110136004)(38730400002)(6512007)(189998001)(50226002)(54906002)(8676002)(4326008)(478600001)(2906002)(25786009);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR0801MB2727;H:localhost.sw.ru;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB5PR0801MB2727;23:5KmWEh8nuUEJ/S9TJVEk/lsgvEg7iPvDTKBcvVg?= =?us-ascii?Q?6KphZMOhR7YCpdHAJy9d/NcBtKSi8lTDjjlRlT8UvuW2H0o3jRaOiWJSTiXE?= =?us-ascii?Q?miqpZFKsg/1SlMdgxT8Rf8daLtT15twtsloNzMekgI/MjNldnJs/MY1eheNy?= =?us-ascii?Q?tU3kYLrQS3gxU6il/ic24lRjmTLsbNVqOd/6fvxwHK7HWF5gQLkDsbtHzPSW?= =?us-ascii?Q?wZV2Kz6zpy9U3s1GgVaRFXOuTrgH1mXIsCnZKS3sfgBQzlg2i6djXI1UrN9e?= =?us-ascii?Q?+EC7jc+IEUN4lC9g4qElXrPJXzvrpkC1Qq8ydohffi70uLK4jKCz47MJBwp2?= =?us-ascii?Q?qaXwQOmFMvobQI1Q6mWk9tL044JA/qH2aFEE0Tqx28FT7E8Y015kdLDL16HM?= =?us-ascii?Q?FhdT4u/0PeFoGszX6dQV02wBkW6DNIy4s8Fg2d1C0aA8up0f54y7QdH6uwoM?= =?us-ascii?Q?r86QbxfstOzN7t7Xjh+uHdMGKxuk+2vLJ9+S8aHifMbgxzxRdX/RL8tpbdU+?= =?us-ascii?Q?fRjdFKOMmYvvtXIr340WMn5KmQE+kLXfVd8oYuxSNgZ6DxfQj2emSlTJuruH?= =?us-ascii?Q?N/vfjWGU3IoGO9+oARbFFB7KdHbR/+phzezFEMsAS1SIB5Rep858BfaittjP?= =?us-ascii?Q?7AKM6TGvS/MGYFegJXwgu8xbMBBerWV2CnA9URt1ycuYHm8aLEk390CP/nR6?= =?us-ascii?Q?6m84oGTO3wjJDxa5O++GCz7A/A7Fk7f+LG61bRjGaxTxutnd5BE26WIonYay?= =?us-ascii?Q?85d44B0iVhjFrpzwnFOHgDfBYcf0W0HulIE8OzoYgA6elMjffXCO3nMLSLk4?= =?us-ascii?Q?cvBu1An0zZOX7LgAx2CUqWtc4wZTLkUkSO2p1J6g0sywvEKpXQl3V8rz1NPW?= =?us-ascii?Q?3E2g31kcPW8t1NAj/PWIj6/t5EqoSJHV6QQOBAEsUzk9jg83pMvLPYlUCpo+?= =?us-ascii?Q?2YmcqNBhHplFL4u/A6vPk6tEPGVLwuUFmLbDWeX/YnS2DJ9qNf5/76CHDot7?= =?us-ascii?Q?2Va5AtlKMWLDyPkgyO3UdzYTal4DXL9E3hy0Tp5PWLvCGTmdiWcczLGr3adq?= =?us-ascii?Q?02EUZ+clAowCp8BkAp1yxe4/GJwWjawte4OJ4RpuKTs+tCyPAhCzYfdWPZUe?= =?us-ascii?Q?SkU4IcvT2SgU=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0801MB2727;6:bFI1coLFyHaqHV1aGmSSx2mB8rB7jOS4o94ZBYeZZ5IEE9AM2w3pDONjPAV4VXtJErIoiRauE2P7rOO0/Hxt17SiYsePW7PnjDcA8/mEFbqW6Wv+vhr1PWRztRTS2bmwvwWO8iF5NQC7fSl7iRhiziVJd3yk0sTgfKqRjFn+X3lbHP+e0se1EfYnGy851Eshdb6aAJK6V3FfOah4wzR5YtkmVbPaQFxiyS8F4ePFp7kG7wPrHhVgDCCSuynsxyNqG/QIs2t9KaoNFOyCwocz6r0YYFpKlCSKOAJj290klwGKDvQ3vu3z+t4Bjnwfoy8JBJ0DDNpbO/NyFlol5ptqU1NWAN7yP6amdPltpC3hbr+ZqEmqwjoOEdKU3KFnF8n5z1JTUml23e0HKIdWtIKD75iNauhMGvWAJZtUDab2EP0qh0h1q1sGKAUOizUEg2oBAhjZeQzafN973aYbXDf0fDeFUrkL9BVTTbcsp4fdR5n2RbdohYWC+OM4Zy3Id1+toHkubDSgJigGfApJTW3djw== X-Microsoft-Exchange-Diagnostics: 1;DB5PR0801MB2727;5:mrJKTdQVRY9o+UDYvqU/XMMnGqrp/VoX4yu+Ydy7esPycK/BXuVsujjDEFlW2G1E5jbLntbBXC13oG0B42OleomIU4W323O+xDTayN0j+buc9GbDgr3LSlevtGLCgxIiw8S5ei6h+tXURBQl8ulH887q4jPDwjmMDxE+iBsIwuV96ITR94JHpSfwf20mEYirwzhPSy/feZwzmHTilZ4qJkXwzqk/lijOvpQZu8L/rPdFC4lqfXVDJOn4Lfk80hxsaPE30nnmh/+cIiNjc3DUZ/leuYllTepD/9HKLZ5VbQcZp2Zdf/JgFB9j0zSABj/fXk20baOoiENmY+tN33NXTqKvK2I6qT+h1Xc4eTIlk7LDubyjqTiq+ABVrITI/F1khWIx3n1ebLt4BKwHdZ86EHbOTTlmIPliGTRLXJVMdLOslB1/YH7hNAAD+AIxe7VAd1hDiODbPBVm1u8SivhfBKKd5WUxaQGx5c7ubZRXkSRNN8nKdR/GfCnTE0W36hbT;24:puYVmhyrQy7fxogZbiavZG6k3z1GhGggZlxlAqNwUkMxa2M3tg+OhybAhxU5X/xyA1evRW2CcGL1QXkel7cLdq31AiHc1WtLYj6nT4rS0Mk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB5PR0801MB2727;7:YBhvj1jN40jbDNhEBZIBvV8BALUORkk0ycDu005XkrX58srbnGCB9WAai9EoQvZyj7kN1g9L9ouUB98mdHgnv0YT8j4vI1HnsUPlhLsv48SfB7YrJWVLXCJAaQ9pIdXWjJgNqpD3/UTfWFfXpJf5ABmEVpnUo1AiB+q0xsjGtuAcpw8vJ8WsFqX5bOMUj6A3ac4MTgsRSHyjS3VYYbHfs4ZUH4VVx6yEEvYLTG2lr53j2Bq0APxmMAhlEJC5WDL38Pi+OWi7JqUcJpk9oSI6CyFOGMKt5DozQgENQ2scVf9IXxo9Uba8YGtpl1W/fZH/RqmacHPTqczpCyTXW6bQxw==;20:1vyGyxQtrjnphJ1kstvaSmSQt9w9uh/KkoGIT9EIp3PLaXrtkQqHaHrlhMLIgRfutYDxmbvjJMdxSqFmncmqRMc7hfeMyutRhxMUHUhTq5dD4Y47qXsjbSOJW0ciH+ke0VwtNU+oyEjH8Z0/ILu8d80caiey90HQjTwPyOCfces= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jun 2017 16:22:18.8742 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR0801MB2727 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We used to read several bytes of the shadow memory in advance. Therefore additional shadow memory mapped to prevent crash if speculative load would happen near the end of the mapped shadow memory. Now we don't have such speculative loads, so we no longer need to map additional shadow memory. Signed-off-by: Andrey Ryabinin Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org --- arch/x86/mm/kasan_init_64.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c index 0c7d8129bed6..39231a9c981a 100644 --- a/arch/x86/mm/kasan_init_64.c +++ b/arch/x86/mm/kasan_init_64.c @@ -23,12 +23,7 @@ static int __init map_range(struct range *range) start = (unsigned long)kasan_mem_to_shadow(pfn_to_kaddr(range->start)); end = (unsigned long)kasan_mem_to_shadow(pfn_to_kaddr(range->end)); - /* - * end + 1 here is intentional. We check several shadow bytes in advance - * to slightly speed up fastpath. In some rare cases we could cross - * boundary of mapped shadow, so we just map some more here. - */ - return vmemmap_populate(start, end + 1, NUMA_NO_NODE); + return vmemmap_populate(start, end, NUMA_NO_NODE); } static void __init clear_pgds(unsigned long start, -- 2.13.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f71.google.com (mail-oi0-f71.google.com [209.85.218.71]) by kanga.kvack.org (Postfix) with ESMTP id 143F96B02C3 for ; Thu, 1 Jun 2017 12:22:23 -0400 (EDT) Received: by mail-oi0-f71.google.com with SMTP id o65so50512633oif.15 for ; Thu, 01 Jun 2017 09:22:23 -0700 (PDT) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50099.outbound.protection.outlook.com. [40.107.5.99]) by mx.google.com with ESMTPS id o13si4331210oto.26.2017.06.01.09.22.22 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Jun 2017 09:22:22 -0700 (PDT) From: Andrey Ryabinin Subject: [PATCH 2/4] x86/kasan: don't allocate extra shadow memory Date: Thu, 1 Jun 2017 19:23:36 +0300 Message-ID: <20170601162338.23540-2-aryabinin@virtuozzo.com> In-Reply-To: <20170601162338.23540-1-aryabinin@virtuozzo.com> References: <20170601162338.23540-1-aryabinin@virtuozzo.com> MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Andrew Morton Cc: Alexander Potapenko , Dmitry Vyukov , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrey Ryabinin , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org We used to read several bytes of the shadow memory in advance. Therefore additional shadow memory mapped to prevent crash if speculative load would happen near the end of the mapped shadow memory. Now we don't have such speculative loads, so we no longer need to map additional shadow memory. Signed-off-by: Andrey Ryabinin Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org --- arch/x86/mm/kasan_init_64.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c index 0c7d8129bed6..39231a9c981a 100644 --- a/arch/x86/mm/kasan_init_64.c +++ b/arch/x86/mm/kasan_init_64.c @@ -23,12 +23,7 @@ static int __init map_range(struct range *range) start = (unsigned long)kasan_mem_to_shadow(pfn_to_kaddr(range->start)); end = (unsigned long)kasan_mem_to_shadow(pfn_to_kaddr(range->end)); - /* - * end + 1 here is intentional. We check several shadow bytes in advance - * to slightly speed up fastpath. In some rare cases we could cross - * boundary of mapped shadow, so we just map some more here. - */ - return vmemmap_populate(start, end + 1, NUMA_NO_NODE); + return vmemmap_populate(start, end, NUMA_NO_NODE); } static void __init clear_pgds(unsigned long start, -- 2.13.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org