From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751169AbdL1QSl (ORCPT ); Thu, 28 Dec 2017 11:18:41 -0500 Received: from mail-he1eur01on0105.outbound.protection.outlook.com ([104.47.0.105]:13952 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750854AbdL1QSj (ORCPT ); Thu, 28 Dec 2017 11:18:39 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [lkp-robot] [x86/cpu_entry_area] 10043e02db: kernel_BUG_at_arch/x86/mm/physaddr.c To: Dmitry Vyukov , Thomas Gleixner Cc: kernel test robot , Ingo Molnar , Andy Lutomirski , Boris Ostrovsky , Borislav Petkov , Brian Gerst , Dave Hansen , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , "H. Peter Anvin" , Josh Poimboeuf , Juergen Gross , Linus Torvalds , Peter Zijlstra , Will Deacon , LKML , tipbuild@zytor.com, LKP , Alexander Potapenko , kasan-dev References: <20171226020335.GA3172@yexl-desktop> From: Andrey Ryabinin Message-ID: Date: Thu, 28 Dec 2017 19:18:33 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR07CA0027.eurprd07.prod.outlook.com (2603:10a6:7:66::13) To HE1PR08MB2826.eurprd08.prod.outlook.com (2603:10a6:7:2e::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69a9facf-c3f0-4c82-5dee-08d54e0ea42c X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060);SRVR:HE1PR08MB2826; X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;3:IlJfdla+5cWqoOyjTBVYE0fZ4dLpXqGDZUR1MfSiVt9tSM+OLRMtX8X6YQQXHo5U8APSonC6X86yKh6wdNuvqIqq8Y/UO/GOIHulJL6y30hacth4sG586OUumh7BBUhK8YQy1gYAlpnDCpfW15ozJ9i9+ohR9buYc4qDvy9bMyVxGCEyPYH/VwsXe27nNzRMrVsf8Mbxjd6I1XtgUbKEmguKQMbgqlhWSiU0wVdzvywbRagUdmX58rBetFJUzI6r;25:SPtzeG2nqrWhnaqIsk0t0zihvlXCwiHTnCxsVG3SW6t2vPuHaU1ja81hWXrHxssHr+yyZBlqQ32ZTNq+TsTSdUr6EC4QiFZhnmWOgysOP4DZsWU4VPSM/g6IlReliDApOMS4D6VuhpDyQ9RxBViJCWHrECPEySlwEhtvNIAadz5g5/zRmojOJmpJjAbi8BNXof9tLxe4XYSoNfYIMWoKAH5Mj2vyiprfu0dYnoGPYMHPGu9khqNX0QVJosPsDUEfJc38qyPg8T7isbgy/SIeaslzE1yHELF3Zzm/rCT91pdyqV1xy7Qhp1pmCFCnChxtaa75KwapyFdqIao5LfGQjQ==;31:CXecHMDgFQRZY+9bTiBpbCm87hnnbZ7EInyvzxynL3A9nRhiu5Y2sMmyNAtCyIe8KgtubVhdZEcF7u/WODYCBfDs5AGKNr9Q/1CBV3dO7Lhwq2eJwpuRf0zXXQSwGA/CHChG++TmNfI3n3MkiVSgEVrUwPT9pRcxjqIPpeVmmjG02/cJUH+6D+vkqeaIN6VMScbnD1ryXPnkwA6Kb7MKU1BvBumQC+lapsCyA5MERKE= X-MS-TrafficTypeDiagnostic: HE1PR08MB2826: X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;20:1nt30YHkeN1es4RNl2+0fWQnbaVvN+Yi4KAqC6DVqqxARM0o131QLtFLOUcBzS+bcCsBsQjdESRhM/bWTci13ADnmDsWNBq2SkPSuUp56F32GkBJhm3IZ+d1uPanLTZh2hHu68SUvtqT/zUqP6aJVxJ45gANNEJlxSElVlBEs8zxi52w/EQqoikQklMiBFh34Fqyoup21YjSDsTM6dLHEYYOIqpG0/rzY3uzvztOq8mmusDSBr3JYjB7zQTD5FyNtuvp38WaPB93mmJ2ZcXtdkWCBv5vqWbqq6dgTTQx7N5ogdexrMgZW/gVbRGgq890xaZHLXBmG/N41DGSUDS2/HkOSpizn3QhwodmF9heUv+fHxAPtL3U1sEyh9ZS7WWSlWQkWiHshdije4ouMVs7Xr93CecuPm6pe/mKMPkSwtk=;4:HShS3AEJsVWfkN1gltoQ1QLr3ohjPsR59vtA55IkiFvjWC7JES9m9nQ2fFmTZ+n6ukC5HV5LFko8Oz5LG6wZbxNt95NTsXhRtg+FqyfaMPhJgECUSS/0s/tV25c2U9K26wpugCvmygQORcTzakCYhgUA5VXzIA9X0wNkQeJNnwmlPzPkyX1LDIdZrZht/86YwOR2RxQDcXegUsPDqoLHq52iMbpVfm7F1bNpZjdaXFqGYfBR9eLyLa37On+CRFn7inwJ1SLxkuWk5l07VlzmWAaHMns7aHgxgQkMUdrW9ykjvxeDSYWIsK/kW5xqexaZ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(17755550239193); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231023)(944501075)(6041268)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011);SRVR:HE1PR08MB2826;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:HE1PR08MB2826; X-Forefront-PRVS: 05352A48BE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(376002)(346002)(39380400002)(39850400004)(366004)(396003)(24454002)(199004)(189003)(47776003)(50466002)(77096006)(2950100002)(6486002)(230700001)(36756003)(4326008)(97736004)(2906002)(25786009)(86362001)(53936002)(31686004)(7416002)(93886005)(478600001)(105586002)(39060400002)(64126003)(59450400001)(229853002)(106356001)(6116002)(3846002)(65826007)(5660300001)(6246003)(55236004)(386003)(16526018)(68736007)(52146003)(2486003)(23676004)(58126008)(110136005)(54906003)(31696002)(76176011)(53546011)(52116002)(8936002)(66066001)(65956001)(65806001)(8676002)(7736002)(81156014)(81166006)(305945005)(16576012)(316002)(83506002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR08MB2826;H:[172.16.25.12];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4TUIyODI2OzIzOjd5T3BTSVhaa3k1NXR2bUJ1aERnYzZxU3U1?= =?utf-8?B?Znk0L2hoNE9hak5zcXRNQnU1Q2NEa1ltbDRwVnUvdjJZMWlhZXdvM2w4ODUy?= =?utf-8?B?RGR1bmgwNlo3ZUtuR2lsS3ljQ0hCbUpSMTg4bk1PdnNkemFOQ0IxZFVyUVVI?= =?utf-8?B?UWc4dEs0MlJpai9XNnZOWFFmSWZMamhNRjd0M2lxMCtFNVYyQXBpRGtNUUI4?= =?utf-8?B?aDZVcWM1aDVheHBab3hSQTBEOEhmSjM0bmhPKy9HVlRyRFpCMUNKUUZTWC9C?= =?utf-8?B?TWMwRHZuR2hsTmhpZmtWN0lic2VHazVteTZlbXNreXYwazNSeEhIeGluOC9C?= =?utf-8?B?SXcrLyt6TzdyUDN0SjROeFc0Ylp2V21Ic2dLMXB3Rm8rdXF3aUU2ZUd2N3U1?= =?utf-8?B?aXlJS08yRU4xM3dWenFkbFVkNDN1YmxScDZFb3NqY2t0RTRLRlh1MnNYUE1t?= =?utf-8?B?SDhPamtnMGx2K2Z6aTVWQjFjSDFLd0dINnE3NU9hQXBxdzhlTkh5SGJNSVhP?= =?utf-8?B?VG91dE9xRG0wWXN2b2toZTBab1puZnFISWk1VTNMUmc2TDNudFRsY1Fkbnp5?= =?utf-8?B?Wnd6Y1VYNk1sN0gvaGN2Wm8yL0oxRmdyQkFseTJYUjNuVldmeDBjVUNzb0xG?= =?utf-8?B?amd3d0J4SU93U3pZSGdRQ1hTdGRpOFNHTmNYdTd3OXhlMzlLZzV1WUFaaE9p?= =?utf-8?B?eURsU2RmZkpmeXkyc0dCczY2eHJ4TUJFUE1BcDI5aUtxWUh2N01TWDRUZExK?= =?utf-8?B?bk1DRHhQUHRpV1NqOWtheXIxeCtTR0dPR005dTdUTllGRWJZYnBGdTduaXNL?= =?utf-8?B?U2VoQ3JqTEJLTCtzdFBtWEx2NUtFYWMvL2JRTlhOQXR3czdzUnc1MmJObGYv?= =?utf-8?B?Q3BBem8wek1UdVBjSjNLSW9OZmMvVmhCQ3ByRVlaRmliK1FZZEZqWUR4YTFx?= =?utf-8?B?T2pMcXRhSDdMSHB0MVI5ckxEZTFybEtUcHVvbk54TXFwaXBFeW9yL3BWL2l6?= =?utf-8?B?b2FDaFprVytFMS9POEhuWWwxMWRvQXZjc2J0RkF5ZFN2UDVVT0RyV050VkdJ?= =?utf-8?B?RlFHTW9DY05KUDFkSkNTbEYwVVgwaENvdkpDTnRyWUhQUVBaTDk4eG56b0xP?= =?utf-8?B?YzI2TDk1UmhhcWpjcklsTEd0Vmg1TVcwYkMyK2JrV2JSdlBaZ0RYUW1RaGgy?= =?utf-8?B?cUYvNnZ4SDZUS002eEtLcHE0SDJUaTRnY1pETGFYSmw4cWRwUEFFdkF5QjVH?= =?utf-8?B?UEhUWUtFS3NGbDc3RHdQOHJoV0dCVTVROWE5OVJYTkh2aTlNVWlaWGV0MzFD?= =?utf-8?B?WnZhNlhUSThHSG4rQU9yR3ZsSkpzcHhtbHBZVkpMTktzYXJ5cUhaMEFNamxE?= =?utf-8?B?Q3lyN0xOUE5GTVJ2d3pvT0VjSk1LK1dvdWswU2lpeHNHMFoyam1LUG8zWWNK?= =?utf-8?B?VFN3SVVsQVVHV3VrWGwwR3FPZ2pXbFJXbmZsRCs1VjBBZ0o4S0xRTVA4ZVdw?= =?utf-8?B?ZkcxeW9PbVpQRjh0ME9ML2N1N3Qrb1gyR1Rnd2RCS1hydHVaTmsrRTMvZHVU?= =?utf-8?B?aW1vYkVZVllTSzhlK3FvZGFRTkNKSDFaYVFaNmNoTjNSN3V3a25Ra2F0ZElU?= =?utf-8?B?cFBLRm5mUS8va2JQY3pFUlVwU2hsSm4wOVlPcjhtWThRTDFsQ3dQZ1h6dm52?= =?utf-8?B?SnBoUG5zL0xBUUsyWjlSemozd2pCS2o4RGtUYzFKRjE1OVVnb0t5QTN0dDh1?= =?utf-8?B?NzJjSFUyckNuM25seDBzTjN4cW5jcHhySGNFbDNBK2RTZXVzSzkxUS9LcUh0?= =?utf-8?B?T1hQbXkxSFlzNkwwWkRlejhMay9iTzFOSWFIVXhldDBRQWZsR3RjSmdTNjgy?= =?utf-8?B?Qmg0dWcyK1gvQlFteUJsVHlDWHNmL0hLdmtHenJ4ZG42S0xWUWV0NlVXeWVn?= =?utf-8?B?S3hWOFR1UXZXSkNUOEVmU0VrbVlsMlRBU24rZktsaWpZbE9ieGJMNmJWaU95?= =?utf-8?Q?xWGJrG?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;6:MbNM2QTDGTZJNi0a+2pFza68SI/SmMvhDfVrf5zmiMAFC8Yr8dsbS1//Ovqw2ni+mdPQ6BdJEY4To7zmvE8rnod58gYp7U2yI/tpaAp/m95732DVeEUzvzLv9tfh02dArQ0zJCAPjXAoOc8J8jBp76GH1mEmSNk0X4pCJ1dCLT2HLY/VoGsGuhqFtRllVGsadealkWrkhJaA6y3/XIsTfsgTaAv/PIfnnWQ2tRMuWMbFHMEneSqY6JjMuc+n49vV1ffAdFKdLHKQh/E0zt2pPiJrSkPm/xobilWgZ9SV/+GLvzrZCIZNKRO8LcL0SFSQsXncA4/7x4gkhU7Xi1uVALWljIHYYaXu6mO3Py8C6jo=;5:LVxz6zwWuZJS03shm1lmFywkfabz0bh7ekeYkfBWDHk2So3SPFHrS1reHOehpX6t+4FP7jAXLdYqATfWIe4GCDDVn4l8gGqZbb6Xrhcnm+2xmdJnHn3S/1Yn5NluyxrAa1e8Bypk7CGTUG0omEcYClHhIjCdAkhqgYAOB77tJQM=;24:DRlSja+mraDgJ1KHFVh5NgdQn5Ro5frAedXUjnVQYo+a+qieKI9DJc+o7gG+YD6Onk+c5rBjwQMuaYK7ArppPvNj2dlpCzwnnE2okf2mox4=;7:O9yY9z22UFKq7glm+/QZ/vNt27TVwWrDMgin8QFjqFlhuuIkllZdGn5DdTaHIEc6ZViWX3q1ozANjCO+u5h7TZMiBSfrRjt1xOZlvaaQBNM5VURReR5Mia5qgm/2UbTIvFPVgH4UUoBPr+15kGIIBO4PAnHuBKE0PBKCShPQfZS8VUwVDajmscMtiMwgRCqLizEIhcZctVwF7VC5zTaPK4AtymnK9eS303CWeKuyKomlLrl0aN1ogS83XfEkSdHB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR08MB2826;20:1D1RjU0ryDWro9/ekHiUXS2A7q6rBsRt9TwaOCgll3aUWRv76+ctlaCHtc4dIqtQlZ+hNKVlU6K0v67BgsBZ6fwI+ahLA9fBvJk2MO6wd8eKxUSgd7DueoQNci/UzI29EYPO9ePe7GtOPUPv2O/omR05MCLvMu7qEbJby2t+3GI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2017 16:18:32.5860 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69a9facf-c3f0-4c82-5dee-08d54e0ea42c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2826 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/28/2017 02:54 PM, Dmitry Vyukov wrote: > On Thu, Dec 28, 2017 at 12:51 PM, Thomas Gleixner wrote: >> On Wed, 27 Dec 2017, Dmitry Vyukov wrote: >>> On Wed, Dec 27, 2017 at 7:05 PM, Thomas Gleixner wrote: >>>> So this dies simply because kasan_populate_shadow() runs out of memory and >>>> has no sanity check whatsoever. >>>> >>>> static __init void *early_alloc(size_t size, int nid) >>>> { >>>> return memblock_virt_alloc_try_nid_nopanic(size, size, >>>> __pa(MAX_DMA_ADDRESS), BOOTMEM_ALLOC_ACCESSIBLE, nid); >>>> } >>>> >>>> kasan_populate_pmd() >>>> { >>>> ..... >>>> >>>> p = early_alloc(PAGE_SIZE, nid); >>>> entry = pfn_pte(PFN_DOWN(__pa(p)), PAGE_KERNEL); >>>> >>>> I've instrumented the whole thing and early_alloc() returns NULL at some >>>> point and then __pa(NULL) dies in the VIRTUAL_DEBUG code. Well, it would >>>> die with VIRTUAL_DEBUG=n as well at some other place. >>>> >>>> Not really a problem caused by the patch above, it's merily exposing a code >>>> path which relies blindly on "enough memory available" assumptions. >>>> >>>> Throwing more memory at the VM makes the problem go away... >>> >>> Hi Thomas, >>> >>> We just need a check inside of early_alloc() to properly diagnose such >>> situation, right? >> >> At least you want to panic with a proper out of memory message. But letting >> the thing die at a random place is a bad idea. > > Thanks. I will cook a patch (if Andrey won't beat me to it). > We probably should panic only if PAGE_SIZE allocation failed. PUD_SIZE,PMD_SIZE allocations have failure fallback. I would suggest add 'bool panic' param to early_alloc() and call memblock_virt_alloc_try_nid() if it's true.