From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754206AbcKIQwt (ORCPT ); Wed, 9 Nov 2016 11:52:49 -0500 Received: from mail-db5eur01on0094.outbound.protection.outlook.com ([104.47.2.94]:2944 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752877AbcKIQws (ORCPT ); Wed, 9 Nov 2016 11:52:48 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: KASAN & the vmalloc area To: Mark Rutland , Dmitry Vyukov , Andy Lutomirski References: <20161108190302.GH15297@leverpostej> CC: Laura Abbott , Ard Biesheuvel , , From: Andrey Ryabinin Message-ID: <8abab822-4d93-a336-b00f-7aa9b1f47f8c@virtuozzo.com> Date: Wed, 9 Nov 2016 19:53:05 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161108190302.GH15297@leverpostej> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM5PR0501CA0001.eurprd05.prod.outlook.com (10.164.187.11) To VI1PR0801MB2062.eurprd08.prod.outlook.com (10.173.74.147) X-MS-Office365-Filtering-Correlation-Id: 11d85ed0-cd59-4c67-a798-08d408c0d468 X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;2:rLwQ4Gk3VsjbMm5UOtB10Z+WwjD7mG+bU4fBMo73KuilpuIQiDDhURX0t29VY51Xe6qmbzrKNSCqyIWEQAgXA6LTlknWkkD+EGx88e4U1Uy+zkMGXfAjqLMdolNFRmw3hrAGLSLb9//UQfMcoDMv+Lg5gpjRZGZEuCdr0PELEtnF9QKHyOIu4BIctVhazsopmLgssjR4ibs4zssadpwkCw==;3:PqNEiRCxQbeqrtWrc/80dswc+tJFmGYVWrHNArTwMcyhwNfbUO2wiS2GIKoztBqikp6DySOaNr2LWReham8kdPZpzPgzeQ6JL9vBiunzB37Tj7CNCAtXt/epR8F3wyrve7o6blESRQcwgFNxhkrfIA==;25:S6GjXIlwK8uUZSZtz+B1T68LZVQ1wvGfLbit6Lxg5B+W5A7afuGcHItjHWRPwpgtbb7gaRu7T487WcUvfcw+WcLHY7QKyHBFMqslGTi790V2kvQiHXmthHkwk5N8ZvvZeN5qORmj0p/8/rc1Vnax+qVM9FTvzCGq7ii5oRA5Ry664857wmsfeh5fIOtNqYpuB0IPvbapvfcdGMIfvEkBtnRL8UoeS2IpyEjDORBkQ9bA0QtYSUdWNUiv/YVJYdqYGv/+PLD+0MlkMBT6QBCWC3FeZ1fqYs7b8bKrgFo3Yq9s4G6M7v+IG80Gy4E5go4mEjmMXkL8gFttzhh2miMPoIaKROvqw6p2OFMcZMxytzajJcsdd9fOOTTcH8HVJksmXIMSyiLh5iLJS1ImoFbJsMxFVM61tGpvzxk+iLiqKVrDwfE+wFNwJL5wS8qNXHoZ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;31:m8whE+R4vCpCv4NX2Lcr5DqveC9NSzACF4Y6m7WHqYn2qsgYzyZu7HYDbU3PECIo5dokXqGJt6/WvdWattAJdbSpg3xaf3vXpuqvu+VHuu9zZ+4ilDKfLWPVoyst+lofQrF1CGCIg74bg40WpkBUvJJbMBJuhrdNzoyDfad5ybHOhNhEu7D5ijq6JaTz19fWkOhVq7WBVfX1cZ47oToVrofSbrShvyAbfmVt6ytr/cwrOZBJ6YvGDu60ZYwkM6Z0kHqXWbFJTSgfPIJfIlYisA==;20:rFjyhLxaPqtLEnAWu5XL6crvmw4q6KMRwmXDhpas8+2Xjy69hg3Y6zWl5UhO37+T9rXvILuv3JqFhCE0CihVXMXuGn7kHuvCi79lRKaCQwZmC4bwS+jQu33D8ET/gYsoEukY3OTGEKGh1RZPiYL0FB1iwJ2mlg1cWiMXtBkCziEzP2Uoen+0ISSfdaAFNLid1zTkRveBXEfEyLjBJFcIez5pFyl4h5zdaQpQr6j9VeAtdZZWeeYu6ffTjQMpO3lC X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(258649278758335)(42068640409301); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6042046)(6043046);SRVR:VI1PR0801MB2062;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;4:tDHC7MPWX6/yQ6ZnZq5jstIwmq/UsIEsrrDh+iknPYrNsHd/lzJepcdveQT4H/Odtutfdt6Tl3eV6GTLW20hezo9IVH0LF0JU4hBgrVvlIjGW2aG5VL3iUJ70A4NYs8ck0HXE+2cbEBhF/rJkqU5U+aDTetzDbXs1fScDFAbd6qLiC9VSaZRnYgc5yWwBEq7Nq0Y11+VqB3f8XFPKBQzU6Vy+Kom8Pl202zkiwnyVgrZsgssKY+KdTYX40VKGCwhmsttK3pyaHwvcWFeqMbv2i79gShmG8Q6C5nhecpnaqmuEe5HeIf7LODw77YdDk5D9NWpwFuIdEhY8pLwJAZOVAQBE1ZUmRzHKzA8MrXcvMTAOB9VJKgzlG/vqvaN6/FwyiVIWCz6QwWM2PQ+h0oFV64dpIsR7s/KiyX+SFtQ4r6h6CYM5lagP3x8jkH1zkqHuoLlCepGSDAixG+M9t+UTNv7hfR0fpfM0zGgnCExBxecv9OQN91WiUxVYigqkMX3EvPArZS6XESRt9krM0ziqA== X-Forefront-PRVS: 0121F24F22 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(199003)(377454003)(24454002)(189002)(36756003)(33646002)(23746002)(92566002)(77096005)(83506001)(4326007)(305945005)(2950100002)(6666003)(66066001)(65806001)(47776003)(7846002)(65956001)(2906002)(65826007)(5660300001)(7736002)(64126003)(31696002)(105586002)(189998001)(8676002)(76176999)(54356999)(81166006)(101416001)(50466002)(86362001)(81156014)(106356001)(4001350100001)(68736007)(31686004)(230700001)(50986999)(42186005)(3846002)(5001770100001)(6116002)(586003)(97736004);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB2062;H:[10.30.19.223];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0801MB2062;23:KLcZ/GZljW6IpNcsqgYv9XrdloYQu6l48Nu?= =?Windows-1252?Q?5ZrxO/5uokYYP4N+zSBdT79Yp5KB0W680P9orFh1Yvp8hery8cUW4csn?= =?Windows-1252?Q?zaiKMpl+TR7IC//A7qqoZoHpxjbBdU0uAz1oECIaag0FcKQSCG+hnOA9?= =?Windows-1252?Q?Rk1ZdfVrKSDaCd9TW0rhf+ilKTWI/YigzAIypfpDbV3i/Idy9cC8+MB4?= =?Windows-1252?Q?NfbhYZlmkfa0RBveeLY3TkLpY6/qqJMHrI2ukdsoqJkAuPWnMtyvxce9?= =?Windows-1252?Q?Q1IuUX95sDsa9qi1MOWnUZ37LPmLKEYT8Cdd9Pdm+eyaAQcnxORBorsN?= =?Windows-1252?Q?EK3QaH727T/EtIheIqXr5TfqNixcxpZvxG6O3WiBCVD0wWPCaVmXLSNY?= =?Windows-1252?Q?KvY7Eex3xdDw/ylPhXrTkQ4Owj93nC9gLQKdYlE7lIwxVZpKxSoXfcwt?= =?Windows-1252?Q?gFZRmf3/bFeqe3+oxSbIVIDnip3qhueuf06O+sENIj70TlRqHonOhCrn?= =?Windows-1252?Q?BoZ0fQMSNX9hJPSS5/JNht5N1k33QIgrPTPgwag7cgSJ/q3/u1xKouFS?= =?Windows-1252?Q?Kpo9Y5KWbs+Tsl+KGUTFbUAPtBI8hmkmtegPWepxXxFDjJyGcL1qFHz1?= =?Windows-1252?Q?g0f+kT14uCMBDGlWU5qvLgrdp5MBOLSYyXV2yYQEGn4pJwd7IrZV7PSw?= =?Windows-1252?Q?eyZD9O65kl/bPCIWWdk7BGUmEMLKxDrSfd1K39sJmSS+/hqxSi/FA4ii?= =?Windows-1252?Q?kKY83Z+gWCtaT4BSAHHg8mUjIoxtKLJ0xD/ADtKt0VyGfuyFHWI6EeMb?= =?Windows-1252?Q?f1waPF6gcy2viTEtZQA7/TpTMU6564z2x9I0tI14Yv3leu2fAUNDRnF1?= =?Windows-1252?Q?sp4CBi/alCLoEbmTG6B4pZONseM2NB6cVwrL7DU7odGwzEqImrC1u9m7?= =?Windows-1252?Q?HcjTDHOqwPNixs1TaXxKRewZaps9Dks1GidyHJGv/fpIlXSnpDK1YJp5?= =?Windows-1252?Q?L6HskYZ1Lkna6QGq46mxVlrt7tB/BdddbvRGNFFJz2xfXzP7GXnK68Gk?= =?Windows-1252?Q?4mwJNY95Nv3nEtWNCsAWsgbKxxw377NkYATL2aRnQAavnSvAw7+Wn6jl?= =?Windows-1252?Q?hzSZFYGEJoaHOZQeraDAVoAVTfpgHUqcE68Kqg40uFLJBJU0rMRO7ThR?= =?Windows-1252?Q?Jk+n5zPGVATOJ02wQa7zTZDyr0flCjYJ+dVO3n9mSyfMPGMMknDA2mOY?= =?Windows-1252?Q?GD6b3yu3s1Md4EvBBwxqwcn/R61ymsMDVCsN7dzGrwINyU2NDanvcDzA?= =?Windows-1252?Q?8EWNpdLXy81q58oFoRnSXkedYCEZdgnsIY+sQgA9jkLM449o9VkkW2qI?= =?Windows-1252?Q?q03lzT43+gbuV?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;6:JR8STCZFzQFgZfVg8Lasgq5Q4ykviFJv5338Ho4P+AX+T5XfHgXBBw9ZOpKjSnEexaNRH1j+1ChjGKw3Q7pMdOhn2flJ+o7rlMeGkmafkSpPolrnoK6r+jMvLNEK/jGBy2Sa5anGvRRgWS2KQ6P9tlLkIkDzoPQYOned8w/E9qbHpWxxsuEI5jNQX8Q/nVJfS4dOLO5YCn2OUd81FfcZ1Zq/nah0VSjpcvUIZKDqAuLLmI8FJVC+RhM9BfTFi+p9tM8CfDoglBcQpuS9OC/2ODFgxuBl0OAA7EW90uEGOfnmn3payBOyXoUzxGyx6AHZpIeqKcNL3rCwaz0ckPxUng==;5:DrUb0prind5aE6jCAkaWmkxfalzX2Z18WJA8LzmrYcSL0Z7dKq+QRyQg2QbbZFG2CM8iEdH/xXQQ0wvO7ML/SbNeOrv0ym/ks8zD650IIb/63t5DNyChPigapneDzatql1WTigEAXl6Df6h3AMUldA==;24:DvP2wn+C9WXrJFuYD+E9HjaX7ds8QHP6B3R6PaYEl+FdOR0bVQRZDOB1Ee3Gp13Mc6zVziFc0kX2IcxCP5q1Z7AcQbPiIMCZr0EIkLPdIW4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;7:zCwdODLka3wCWg4LgBSt13cD2r6Y8wyx2bIVjb4fF5vge6imGmWxOk4nmGToQW/BTpt/PCM5GPeX0CCTS8w81maqrMDfMtcuTQ53qscq8cEBVdAimWPBpwuPGMDoV3PBVo8LITJy/PSfQP+C0UTOVXLGN6l3/tv3flFzStDbVRN8hD9on8224swHI5Xwkb/dRKkm8Caksn7VhVO1wTAxEohMwG8+BuPRDcGLEeWhm/LnfNBR7pxvACp8GgA6AFKuLQiZBjb4HH4Ee6Lb5lKytL+tJHkWCZs7s1E2YDyo4AZoCEG2uJaS0GdrB35y+tjJFSfoDn0UaT5JxYNHmJ/FViGLr1lGhQoO7hWdAJyOF+o=;20:ft9wtEHUBm/efgasrjkSO2czUoWnJBMZFyW4RtTVwXRlMUjdNR3cW6A32VpFjARKf/HjwTWjbvQcANYzJX6RvfA2GMd5vDAB58abmaSHMpJQqU/DPkOyYslMXPYWUv+V4Ohaf3SnXnXh70qRypSD4KVxBQk9K0pVvnfEQ5O/5+s= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2016 16:52:45.0028 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2062 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/08/2016 10:03 PM, Mark Rutland wrote: > Hi, > > I see a while back [1] there was a discussion of what to do about KASAN > and vmapped stacks, but it doesn't look like that was solved, judging by > the vmapped stacks pull [2] for v4.9. > > I wondered whether anyone had looked at that since? > Sadly, but I didn't have much time for this yet, so it's in an initial state. > I have an additional reason to want to dynamically allocate the vmalloc > area shadow: it turns out that KASAN currently interacts rather poorly > with the arm64 ptdump code. > > When KASAN is selected, we allocate shadow for the whole vmalloc area, > using common zero pte, pmd, pud tables. Walking over these in the ptdump > code takes a *very* long time (I've seen up to 15 minutes with > KASAN_OUTLINE enabled). For DEBUG_WX [3], this means boot hangs for that > long, too. > I didn't look at any code, but we probably could can remember last visited pgd and skip next pgd if it's the same as previous. Alternatively - just skip kasan_zero_p*d in ptdump walker. > If I don't allocate vmalloc shadow (and remove the apparently pointlesss > shadow of the shadow area), and only allocate shadow for the image, > fixmap, vmemmap and so on, that delay gets cut to a few seconds, which > is tolerable for a debug configuration... > > ... however, things blow up when the kernel touches vmalloc'd memory for > the first time, as we don't install shadow for that dynamically. > > Thanks, > Mark. > > [1] https://lkml.kernel.org/r/CALCETrWucrYp+yq8RHSDqf93xtg793duByirurzJbLRhrz=tcA@mail.gmail.com > [2] https://lkml.kernel.org/r/20161003092940.GA691@gmail.com > [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/464191.html >