From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753336AbcKYVyl (ORCPT ); Fri, 25 Nov 2016 16:54:41 -0500 Received: from mail-db5eur01on0137.outbound.protection.outlook.com ([104.47.2.137]:63904 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751264AbcKYVyd (ORCPT ); Fri, 25 Nov 2016 16:54:33 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: mm: BUG in pgtable_pmd_page_dtor To: Vlastimil Babka References: <296bdd6b-5c9e-0fbc-8aa1-4e95d0aff031@suse.cz> <2ff6eee6-8828-821a-7dde-c2f68da697a5@suse.cz> <20161125130757.GC3439@node.shutemov.name> <2ff83214-70fe-741e-bf05-fe4a4073ec3e@suse.cz> CC: "Kirill A. Shutemov" , Dmitry Vyukov , Andrew Morton , "Kirill A. Shutemov" , Michal Hocko , Ingo Molnar , Joonsoo Kim , "linux-mm@kvack.org" , LKML , syzkaller From: Andrey Ryabinin Message-ID: Date: Fri, 25 Nov 2016 19:03:06 +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: <2ff83214-70fe-741e-bf05-fe4a4073ec3e@suse.cz> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: HE1P192CA0007.EURP192.PROD.OUTLOOK.COM (10.171.121.145) To VI1PR0801MB2062.eurprd08.prod.outlook.com (10.173.74.147) X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;2:bOp+Efl/KwvUtdQW1875aKle5LEthGFydG0WnjVxznwDlVnxrpdUUcG2vZlgZuKs8Cjd+bHy+j6kEE5mcdIZgC1XedOIiriixmbguTYhznQgZ4n/VUH4gqfd+7zw+TMMuT6xc5/148axjCxe/XWryIaMo60WR/7H1FHirOjOXBQ=;3:NNt4nCK5UJUh/veHDFqVTdIEXKn5YXkxIGOgmVNiPGEFWAfC1EV1aghCNhELncFkAbNiFdQvTcj4BjXAF8M1Tcxrz46n1wPgi9jAJ3PjD1kqxZJxNDYq/RFAadlzProt4LpqvfW679l5GYAOqxdRipTdrCm+EgLmncCATNkrrY8= X-MS-Office365-Filtering-Correlation-Id: f71607f4-6fd2-40b0-3faf-08d4154c7c76 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;25:dnqtifGObmztfGUH8R6/h3z6RgsrsptjSWyv95hqyReCrZbt6cXNgKW9g0U984A252Kzf8YLjeUDRG9Gj/p6NrkxkGrOUvtqpKwFMZuW84pX5DiM5FNKOBXwYLnfhZx8brLC/uJW+qXA/4na6xdxUXXqQRHj4Z5CMHK6TOR3FOoYJVDamndW4MFWNX8B1cXlqPpq2/uNt0xOd/tN5D1KQRDtpfFely0sL3T/giKGMIMBgk+6ZaDPHe29IEVJ8Y4OImMiNRS84tevPhmzt5Zv3n1/3zE0hmGldy5KF7MhXZQwq/viwrcJ2npGvzd2UIGiJBWGz//VDoCsBycBvOa50Vo9eL4bRZxT6MdLCHuUmOBW953PgrLoJLtvZVKNT0LBhorqO6DXRvfUWTRAJ/XjDHfJ2GbnnwMMylwtu/o4KT5xXyBbfb3So4vbXElOTMniNKijjWKMWazrnwElyxJMCH3gsS+/6O0MSXHNqI0+yBQ8Ut1dkw+lulRdeFkVGuINYLJouUN1vvjWO4IuzslrG3BQr9NtC6NiEwkq5qvnJ9C4Z1dMiIsMGUbOJ/+lJznp87VPMKsP6BI45IDqfwwx25rqjPIheCGYhAZmsu6DY8A+Z8X/VtSXRFr26K8cqadLzxa4ioY7TCkvy8qveh/oJcK+C3jwKDM2kkhbiPxNeayGCZBSGPCyc2/OHa/JGwjc0Nndnw42hE12m1QjLwpqW30X5WNp/aaK4bwS2BBQe0kYv64fhq/q0QPD0bU2qsQDSaCe+ibbhON9ZN0o1+uOJR4V+5GJ/hQ1B4/rEeLxDdw= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;31:+4nv3ury2fRtb0aHeSYuuXggur5HV3GOnewZGifbmdxzQGXv4OgwWvVAxVBdxQnesGWLQZXFiqD8Vr+Qhx+6yKq09PzvsrocUqIudyhwOHS1XB0AaqgG6Z26yfQGkoO1vJ2/HYd7UXL30fONnbRYsc08Mhi0X/pFOW+km2IjHI+OHbJ0mNvPxwyUVvciyugdSTt++Jq2oab/1WWD8H/0cTznPp1jnKMWl3aAlEjKYmbAgIHUVo80Itw+0/z0DVKOoD0SHCGb3psqLn1pkYgZjw==;20:2J2W1lXkzFtk6hnePe6S7/n+S/WZCYgX1rXrwsddyZQow1T5jJsPM6uED6Tu1MpFJxvlgIWKZwH4LAbHs3Z/3MQ3Lo3u+mvEq3rY9JAbZcxgaDlE94gp/MIwYpg5lLv+lz6FdV8Xg3YHIVNi93RxD1PwGdYw73/a4Bl143QjnZg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6045199)(6060326)(6040361)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(6061324)(2016111802025)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(6043046);SRVR:VI1PR0801MB2062;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB2062; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;4:PPnsu4ppZCvIi+FPi66iTZAWoZdfqlpcB0mLQLCsxlcVR6mNHeLThFoUuiPdfK0VBvVO7Z0wciOPn51uyQVF4ZTKhkHyjvRuxn/8+xQ7xgiTQyBpzjkK0QlIWSB83NUteQz1wer+FUFZftjFrK5gYIGRtaVv82sSBXWqWgk542iBqPCQ8NPwkh0iS62Ikpz4X8Wr8OslDMP6g3IUVjek9WUWJGgzh5ezxcTJvZYvLjYU+mISfpJGwbKxOga0LroKWE0vnzX1AIiedHcgPD0nZiT1hJy4SkXMz7X7Z/60Tb5Yu0IEVdNG5RLUL8CMZwMnM3OoCQSLqeA0r712iI3GR8bN9XHocfr70cMobIColFTAIo7hZ6mLAHgeB0vH29799f91eMIXNfl2BFLZUC3ZxkO21W0HA9M5FY6XfrXPzSACny3ph26XR7Nzu5osc0wadTuhcBQqe5flHM5cYo/Dkm4rwX03GYDu3A97GIqsC6ZYwLNQ129NLBrW2w4lAU6EaPhhhqAUUCKdZ6n8evX857FX9Z/CeWvULh6CRK9zNqmzRe6i47j4C0F3ls1abF99deZnF/uBchIZ40xzKBGtYyL0ptEhqO54zae0SEX2k/6qpt5KFalw5uXzHO9PdvAQU6QE7KJeHxXhcz5HbYg+lTYtzQ2iLqdRh+uyo2k5blM= X-Forefront-PRVS: 01371B902F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(199003)(377454003)(189002)(50466002)(39410400001)(39380400001)(7846002)(92566002)(229853002)(93886004)(2906002)(7736002)(64126003)(68736007)(47776003)(305945005)(33646002)(42186005)(7416002)(4326007)(77096006)(5660300001)(4001350100001)(81156014)(23746002)(81166006)(65826007)(83506001)(189998001)(3846002)(36756003)(65806001)(97736004)(31696002)(2950100002)(8676002)(31686004)(105586002)(6916009)(66066001)(39450400002)(39400400001)(110136003)(65956001)(6116002)(50986999)(230700001)(101416001)(86362001)(54356999)(38730400001)(76176999)(106356001)(6666003);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:qhyTSpA/18VAJm7tDtJMrq3KPmcbBAxQdLX?= =?Windows-1252?Q?zClj/ZKDVKM5zBELdyhcIacefayceSSWmWU8+bV+znBtVNY41ZPVHFWE?= =?Windows-1252?Q?MzCr3tErBVDTfljIRoNderzcoD+DHRH7Q3+nuKPwwR3bOT2mSboycHZC?= =?Windows-1252?Q?1jxDf//yzswJo7P4/T6m9ddQHH2E17djl3SW9IBWMqEAYIBv+hpWs4LR?= =?Windows-1252?Q?TTIQwRCBAIRgPR5VjrYSKUcWxk84MFiLGrggF6pMi22JgEda486UAr4X?= =?Windows-1252?Q?DG1Xq/Dlc+SBvIzeiw25PUb/oHKZntG/2qLOE+POkk+Vwh6R9cH3FW9v?= =?Windows-1252?Q?KBltZqFz1sXj9cfFjpS/qBCuAv0f85yg6zCLuUGbWkiEZ5Wig0G+9sTR?= =?Windows-1252?Q?WtxAYCp1lxzL4S/hMx4m6pj4PUIjlWnTN0TUWbOd9JxHZvM771cvXHND?= =?Windows-1252?Q?DVgBCpzGo2aw1PGCAkOgiL201PqHD/KdyKttfzc4QmhcCy9T7SjfdkTV?= =?Windows-1252?Q?X4fvJzvbxv0yXePJIusSsG5ia6u7Lsc4P6RFMnApG3e99kee9rHzYpbS?= =?Windows-1252?Q?ElMNY9X19UCiisA20EspI+Li5Ra5rwpc5+N1b74spuvlzRC+CqKzLJi6?= =?Windows-1252?Q?YaIV03lk+P/aHo4UfgiuOMS/jcXJ8zLNmxkGS9aCwU4wU5Rv+Obiz/cp?= =?Windows-1252?Q?08KFPqXKQBgEe+o/QTl+0uV+hq+Ecy4cPACvwbt6Zba2cNKvcIPTw7mP?= =?Windows-1252?Q?71dCfyGzjkzUlfcLCUFrVIhzipBfDCApMWVrB8Rn0E4JYR30x+VR73WY?= =?Windows-1252?Q?5rcZjU1rEmZPjzihJCyn6l4lA+yjY2LKwwW0vwTyzwleObWNI1cOHnRI?= =?Windows-1252?Q?4sIF53Z6rApSGMuOqFZ5ImmhMlMTzRMaT/VhTgX8kNinTavuxWK9xVeJ?= =?Windows-1252?Q?SlkrH2vD7N+WM1ZajQy55+D2OHMm/ruJZJ3YV45n0dIvWRyS9uGSTa53?= =?Windows-1252?Q?ljBZg9u/dhHH39SUIWbRkG633IZ8PLYJJ2lVlrQxrW+HWjylSohyhztz?= =?Windows-1252?Q?49Wa65WNyRDFpPLFTv3aBAGr0AV9QdNvcrNTmCmxV3XgLuc7zZl5HxoE?= =?Windows-1252?Q?GXaxTVyUpGFnNTgq+QtHt97rmFRl6Uugs0sV4KuMTRT1o2RFMz8ywMbc?= =?Windows-1252?Q?Hc6SeFvFT2vaBqNcktTF9ZtWDZOCigRYErRllS8CH5I7j3j+L6kUPusS?= =?Windows-1252?Q?0KSwNsWjXpIeH2HKmeAFE/XcFW4Sa8CXO/momfkUxe0YC8/43w9Jj7Q3?= =?Windows-1252?Q?/50RHk6QrCYElgoBMsVC59IOGPbgMmL79xr4aTidI0mVla/oadLK3o1O?= =?Windows-1252?Q?Gzto5mS5B+sNbcDpUPtp4vuBfxCrwgf8l8WG7epek70mCpLVaZG0k0wT?= =?Windows-1252?Q?jCNFEmfnLANM7ytC4qeho3OMGr4oEYh5b5BB/8W4Of4pViy0hT4tatBe?= =?Windows-1252?Q?+Ar6pIOMaEz2iwk/Gh5DkqlrMb/S8fy3gmDyNZc3gx238aJAh++eJsBY?= =?Windows-1252?Q?ZbmQCvIhsfqi/mCwLprRb0LxnMYApA6o/+OkX?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;6:/ZEQjP8BWJJ/syYwyEs5vPkZXK+qevZVSd/2Wj1n6FqKi2aP/x7Ni/GC2xRSBPTjLoF66qbIOJM2Isf+HB/d9cbwZYmlk1bjZqviZ+6lkdb8hgoxxvXzE4V/36x2mRWCXv1YQ78XfVVH0zmgWIl21dIHWwc8CCHWyWQTe+YlurGNpeYYS3if0iEDea9gz/1zIJYKGWYQggEH7wKzdnWtQRMq0cfXYqMdQmYdS+bwRgacixS6PPRwy3SxTxHM+cCWrb/m0DEjlozTtbYjdX0EQAg7mizTKEvHl2dhoQnPwTFTliSA7eM9Zh3DwqPyXOM9tpNTXNa0xkoZWRwFx/9liWRgzLTdtrnWx9MmJnsFqSRfMvWLymmTV/cAPAfmR6sd;5:jlJ+kSBjKaM6hddFhfZuVc7LiaYrLO7wz3EqlfjU8znwave4Yr2vKbdNIt6ZonWhxDlJ/hBRp9YIAW+xHrQda+KSShxmfC1cn6G9NSLUl/C/OUwyzUBImwTwhVmmGLxmSZO3qfYF/nQ3+IM+RPG2jA==;24:8J+6tNHaIkdL+AIfTKWxJ+t7d64Kc9CKkeMOSRsfvKdkI03r1shJmi7BtNfLA9WxHnq48L4p+pJll6CfNLtX2fgT5JAIDK/8FBVCFpgCoPw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2062;7:zFnZW0uWsACgE0AQgomcvaWaP7unETfg3SA4EMAfMWFimaEX964DjY8Nm0WfE1rFZwG08S1YZ4syKLKFA8yVDEvcrq1rIa4ndjPlHqETZoWU1+xN3klI38SuhY37rFCSGYKRCq6RNdkomo+kKjXQThurFVPL/NHn4tJ6+U1SFoH7dytivmr4lnBgWdzZ0u2NGZqjL7Kd/1mhaJWzCp1+lUKl36E3JvfG/CO82DTuhPcDl+I5ho4DetFe/tQzXhtXKfIvuCWlsgFsYe0XUrwzOVVsZBCzsOxquyCrzPVm/WFlFefQNyeyS0ODucMNUtcGRkmUFIF6ejvwZrX6AHntYdK0IJEPs9HzAL0TbnHDwtA=;20:HYTKboAjMmYMJAbQ8DzumiTX+3KzI2lEagDJ1ww3CuZft4zK/QQheYD9KYAYllQGOqsPL5sQZpuTwFd5N04bCZcheZRKVCZe1xOrpo3NIZju7qGWrF1bcUBJpYO2a0DbVy4JQlHlrZ4GvO+2Ot2w45qYYnn0T4112sE/WDKosRw=;23:T1/ozZ+xf5z8qQRAavgRp7HUyRpDKnY3M6Nb7GXYJ9H1telih5+uvh/zy0Fm6Bfwmj8BpZhM2vK7QKlq7XDcTFOwDYC1J5YKjwhUQUcXWfnxoRzIL86hTXCQjpFd+RfiqtCpgq3zBgEYNMMCIUj41twpS6ysco73zQHW83ZvFeZY79NtXOS6VXf82pIX6GCZ X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Nov 2016 16:02:40.0171 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2062 X-OriginatorOrg: virtuozzo.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/25/2016 05:08 PM, Vlastimil Babka wrote: > On 11/25/2016 02:07 PM, Kirill A. Shutemov wrote: >>> --- a/mm/debug.c >>> +++ b/mm/debug.c >>> @@ -59,6 +59,10 @@ void __dump_page(struct page *page, const char *reason) >>> >>> pr_emerg("flags: %#lx(%pGp)\n", page->flags, &page->flags); >>> >>> + print_hex_dump(KERN_ALERT, "raw: ", DUMP_PREFIX_NONE, >>> + 32, (sizeof(unsigned long) == 8) ? 8 : 4, >> >> That's a very fancy way to write sizeof(unsigned long) ;) > > Ah, damnit, thanks. > > ----8<---- > From 08d2ee803567c13e3de7ce7e19338fe5286cc6b8 Mon Sep 17 00:00:00 2001 > From: Vlastimil Babka > Date: Fri, 25 Nov 2016 09:08:05 +0100 > Subject: [PATCH v3] mm, debug: print raw struct page data in __dump_page() > > The __dump_page() function is used when a page metadata inconsistency is > detected, either by standard runtime checks, or extra checks in CONFIG_DEBUG_VM > builds. It prints some of the relevant metadata, but not the whole struct page, > which is based on unions and interpretation is dependent on the context. > > This means that sometimes e.g. a VM_BUG_ON_PAGE() checks certain field, which > is however not printed by __dump_page() and the resulting bug report may then > lack clues that could help in determining the root cause. This patch solves > the problem by simply printing the whole struct page word by word, so no part > is missing, but the interpretation of the data is left to developers. This is > similar to e.g. x86_64 raw stack dumps. > > Example output: > > page:ffffea00000475c0 count:1 mapcount:0 mapping: (null) index:0x0 > flags: 0x100000000000400(reserved) > raw: 0100000000000400 0000000000000000 0000000000000000 00000001ffffffff > raw: ffffea00000475e0 ffffea00000475e0 0000000000000000 0000000000000000 > page dumped because: VM_BUG_ON_PAGE(1) > > [aryabinin@virtuozzo.com: suggested print_hex_dump()] > Signed-off-by: Vlastimil Babka Acked-by: Andrey Ryabinin