From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751979AbcGPAXv (ORCPT ); Fri, 15 Jul 2016 20:23:51 -0400 Received: from mail-db5eur01on0096.outbound.protection.outlook.com ([104.47.2.96]:51381 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751657AbcGPAXs (ORCPT ); Fri, 15 Jul 2016 20:23:48 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; From: Andrey Ryabinin To: CC: , , , , , , Andrey Ryabinin Subject: [PATCH] mm-kasan-switch-slub-to-stackdepot-enable-memory-quarantine-for-slub-fix Date: Fri, 15 Jul 2016 19:50:23 +0300 Message-ID: <1468601423-28676-1-git-send-email-aryabinin@virtuozzo.com> X-Mailer: git-send-email 2.7.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: VI1PR06CA0027.eurprd06.prod.outlook.com (10.162.116.165) To AM5PR0801MB1300.eurprd08.prod.outlook.com (10.167.216.151) X-MS-Office365-Filtering-Correlation-Id: ed694e1c-a038-4ef0-1772-08d3acd00ad8 X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1300;2:F/Vxc9psT5SQoHy84c1OL8G7y+WX8knRPnlW8PAZdcuuKEff4zg5kjVecNuWUvu7hrVqqJ53S7WPq5SrsbJ5JkZLTQSlxzkz7hsBn/It9O/GrNswokFozlXFTmfdPG0UsLmedPpgZM53S9EG1nI1Kmj2aJOUji01Z0UeuCUlVvzV4rSP8yPSygBy0IpkJtBs;3:8m9K2/Qcjib59xVzL6ijcV0H06CuvImqlw+I3r+U1umwYSwf1ol+g92iBybH2IqTUaLSJ3pTc+8Wm8d4z2UV9FrSO0iUCBXaQoFvFBVkhYO1gI9PuXCCUtKAyU3V3YmW X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1300; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1300;25:UxSKeoQf6LDRji5kW12pYRw7QKvfwVIE2wEwPfi9rb5VaiX2FJRsmvWBGugw3KXNoB4lS5DVc4JtvT6+g3FGLG1seARGvvOctgqo6S0PcSNEgcOcoqx2g4uBspuRmQTacqhC/taknESbc7uqsAw/t45noR9ibc7cfjMJVoJmrn0Lw7M2xLeIaRqQXCWQ0yR/MHzXyLiYDWSOiru5HUK51loAAs0mKud7GlXuSngP7mbs3mNa9S4HcDWldOKPFn4AL2KTlqFWqQvIYZiOy3Xl6GoBlV5BzwWjswEfP6dUuSUY+RJb9oaOve9SD8+N+0MVuzjKyKt2s0MG3IGB9SuazXKzInXTiiOhavcOLH38P7UVbYm7TNaR9zV3evbcDaJcLVycekqHnYU3P4tDMKJigLsn6fCWhHd0R2lzXs28VaiEqvdZOvoh/RlXNFpN05CONyReAO1wIwds9MXsN5N+QCJx+ftpiU2TS07CGhn7L6M9QkZvKS8O3+axzNKMNPiTw4U0YDqTNpiu2XVgE4OLjvfOA4KuzXjXsa8UWdehgCI3qTm1mZOvNqumS6rJzuDt6gasLNV8NovYWrCgYJxtL+DrUMMkkiaihtWwsQR2cadZZ1Ebx0w75Ct0suol7S3m/DA4JgzycF/HCmSSxlqcaa1s2VgUpks2jLL9+5+YwmbVVHxSEOpcA8m/D0JPdmkRXMe+Xx+LY1PcHJ4jzplrCEZ/n06LC8fBnMqUtwtmlDs=;31:upjiT2CKoeNKfGBg+cbER5iT9BzYUAx6rb0Y9whUWza94ob7XpuHImOwPz7JrD3D7Km/tZXaHjL2gJKUjRNLTH3ZdK2t1CteGxmIvrRfeuH+Fl5Q5IHOLNjQ1zEaKUzaF4zHDni9E+0vfzAdxFnl/HTTvNwi+Fkr5y9jeT2w8X1qtv7ygWNPB87m4RYOBO57wcm2C16nGPFr9tT8wLRE+A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:AM5PR0801MB1300;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0801MB1300; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1300;4:ddV9bcm1Kg5JjJhyq07yg5qdrTwMQAo2/dUBN7nSrFvp1z1n5mzpZMpJa8pW5pdAefErd9h6HetLFBboE7B/0/l71u1lgIsi4ErOhliU6oZuBOqyryFtudFTqGfppUWInWI2lVUOfrNfimnZcar86yt+4YQAjk8ny/+/YLQWGGdX1hkqyyfV9+fpTQhuURvYEgl4e0FlFCpO3UtxVK1+6nEleYD3WgPhPvfvb3kQxnZNJevrlayWrYrXo37jg+wK3HcLH8J595fDiONJIMUjatL7+ocwqM0BgQ/lVvJg/zS5YepYnXEEkh8dN0bW99OQd825FtqEKDMdgvAdnEsm090JtdUb6GRQ4uRntSCYsG5GiK6JtjhcAHmJgfUKb3Pjz9hQadG/cWTimuLHajAlK1QJ8zQvCKY1pXlkJLF/w2U= X-Forefront-PRVS: 00046D390F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(199003)(189002)(4326007)(47776003)(50466002)(189998001)(105586002)(19580395003)(76506005)(48376002)(33646002)(36756003)(7846002)(4001430100002)(42186005)(68736007)(81166006)(69596002)(50226002)(92566002)(106356001)(66066001)(81156014)(305945005)(19580405001)(7736002)(2351001)(53416004)(229853001)(586003)(230783001)(50986999)(77096005)(101416001)(86362001)(8676002)(110136002)(97736004)(6116002)(2906002)(3846002)(107886002)(5003940100001);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0801MB1300;H:localhost.sw.ru;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0801MB1300;23:VF38DHgLZBUSMbtKlgYXCWyR2SxkedBp29obk1A?= =?us-ascii?Q?nVWsRMVtL2/84vY6fntCDDxZNjkLf8IRBaMrN1bxYDhNgHa4rkZsHEjYHyAI?= =?us-ascii?Q?/qGqbwtJZ+SmYJ7Kb/d7nSDg8PV4SaGAz6xnZcmv+AzGRvRTihYLCIztihWX?= =?us-ascii?Q?Ku+5OrMx0HS4Ge8xifwp/epK3chA3qBOzIHZki1pxQCGnbMNe/1eEklHoQqC?= =?us-ascii?Q?XFZfI8mKgB4AvkvHdaiSQyglsIRqQNzOCmW2zhapZqEEYXTZRfIA5MPg3Jfj?= =?us-ascii?Q?uygLt2eD+1XSfVJT6eMC8fGLS2pEicPhJZ+ShdWy7PUHDNOIwyx3R5yWXzSK?= =?us-ascii?Q?54c99UKOwPgriK36KCI6sbFZ0a5NlF/A/pe/O8AdFGt52Bc3EdyGRKYL3Op1?= =?us-ascii?Q?eh3VUviWm5actTz0B4gcwv2WSHO1mJwrPhY3g9DYj/kyePfmtP/ihOxPs2P1?= =?us-ascii?Q?mFFXectSlxh9/scFbhkYDy7R7/pX7vjymCStaa92Hr+5G/4daJMshdG7bXBl?= =?us-ascii?Q?ckLVT+DSf4RZr3hXh7Pn4kIkaIG3fZq6ZOS41qhdi3GaSEvd4kHJjL4wM/BS?= =?us-ascii?Q?0zKwbfDvwq66jJRaCkgzG228A1GosYl3+AFbaJ/7abEX2N3cDo0ghMVjJxOt?= =?us-ascii?Q?oWZn8LJnhVyTc9gOKElefP15gCinP9czDAI0GcDtkqaNu312neT1tH2jw5GY?= =?us-ascii?Q?3e/kOmQnnELNwDJEkkFB1ye8VOZCt1X8/A1In3zXp1dgjxtmVV3nxuYfOsD1?= =?us-ascii?Q?zVTRgw/5aXaQHBHbmDRWtLEyucnZ95WqWW1wa4Iz1htDsIk3GsLf+TN9glc9?= =?us-ascii?Q?El1Xyv5P8Fd01Q3Dn/3E3WXK/RyZF2WA4d/kCiC5LMYNnl/LcL7iabm5Rtq9?= =?us-ascii?Q?dfdB75GAqfPxzM00BD7bStIC6TI3V2r8yswg/XkzDKbzCLMp/SydB5GPQr6K?= =?us-ascii?Q?TDZqhoQ87ReZ46hptbw0fUaI8GCx5NwRK7JEzOameGQhZcJoWRTqOCguPIA/?= =?us-ascii?Q?Kz1RL6cDP7AGtRcVffoMVO/XlqcNEB3kPv6Bw1WNzVdnCADRAmM+EXDBooHy?= =?us-ascii?Q?wq0BcNCK9D4i691Pco0Jgcbxkjn7bnXYOtmLp+577KlH7xF758caROU/ZJcO?= =?us-ascii?Q?nxCrTyhQ64UP91a61T7vlgMI5S/4S5VVDPaV5Kb7AQQJ2E6r7LbWcxZEGnoz?= =?us-ascii?Q?VdI0dScm6jvvBx6A=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1300;6:zmkOi2m+uh8Bcr1CmBmO8bUAzhbhE5TWwAqYvEvqZfRbctxV74lDPAZaDN36NPkXGcPq4u04PQQfGz0BctWPNE5SNh9ITfZRa3OD0hLkNyYIieOSq0Nv66pOpe1wj7tud5kmDvh46nAnkmudEG/kITL0KGYvRffoP88I81kAvJNw/vGcAB3WB3/VzEJyrQ462P7cZxcpV+NVFwUeJJX02qGyug+dwul5pGPxakGoK1CkXsLYfgj4An10DXP59zqNxpaoYwNC8udmAPu87nB3xm2woywS0D8bxUDoFc1WqmBAFu12QvArSBAX4Xm2vr3K;5:OOMG3a6oixSBc3ZXLWjVtXuD8j4EDRoa4o5cYp7lOhaM8Y1BSx8Md8qPB58gLkMS5gkx7rgZzhA3QaUK9A0CDwe4NpVgpA7a+O637m3ry0g8bI3EmuQDfpbTj/3pmX4Pq8v+geyQLxrbdoNT8pw0NQ==;24:JYOZDESVb7SVIeMQjPhd/RFvmPhWJPIMJmCw1kJ/PHW3FiQShNEzPLfzdLZTTSo/2/40G9RJIq+0jAFtve0GVZlO1StMCDtYpw3cUfVjN3I=;7:Vv1qYQW1mmzjDPqjXq992P/IBpWmLtPABEnCNzUecPZSsTG2VxTCOxCa04708bar498Sqgerbe4w+sDwEzzPtwNrO+tbu1Bu+Rdl8YyN7mGCvJmit16XoixCG8Elu8tK1bjbBVGYxde/PUR9ZfcVXkJo4+7MVrfZQsOqQprSKDXgvDvwUvZrrtyJovAFK3RBZDBPETodu77b2G3QH51um6yiU2p6HIN+lWUDVSFFVKB45YHiLpFOSQaQ/7E6pWtn SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0801MB1300;20:outGTLFY+E6RlkFWTqTCkPUQFNJk1WLpH3Wu3ftK0bu73lSviUJ+MWddKe31UPAHX/ltg8nic2r8o4usPp9vhTAX2PyCJovQQJfSQGddivkdX0ejubDJosU8HiGHPU1FPCpS7T+fPw3BGtXwvNhzGFIQWiMfeV6MPaLJsQOjLU8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2016 16:49:51.4672 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1300 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org - Remove CONFIG_SLAB ifdefs. The code works just fine with both allocators. - Reset metada offsets if metadata doesn't fit. Otherwise kasan_metadata_size() will give us the wrong results. Signed-off-by: Andrey Ryabinin --- mm/kasan/kasan.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/mm/kasan/kasan.c b/mm/kasan/kasan.c index d92a7a2..b6f99e8 100644 --- a/mm/kasan/kasan.c +++ b/mm/kasan/kasan.c @@ -372,9 +372,7 @@ void kasan_cache_create(struct kmem_cache *cache, size_t *size, unsigned long *flags) { int redzone_adjust; -#ifdef CONFIG_SLAB int orig_size = *size; -#endif /* Add alloc meta. */ cache->kasan_info.alloc_meta_offset = *size; @@ -392,25 +390,20 @@ void kasan_cache_create(struct kmem_cache *cache, size_t *size, if (redzone_adjust > 0) *size += redzone_adjust; -#ifdef CONFIG_SLAB - *size = min(KMALLOC_MAX_SIZE, - max(*size, - cache->object_size + - optimal_redzone(cache->object_size))); + *size = min(KMALLOC_MAX_SIZE, max(*size, cache->object_size + + optimal_redzone(cache->object_size))); + /* * If the metadata doesn't fit, don't enable KASAN at all. */ if (*size <= cache->kasan_info.alloc_meta_offset || *size <= cache->kasan_info.free_meta_offset) { + cache->kasan_info.alloc_meta_offset = 0; + cache->kasan_info.free_meta_offset = 0; *size = orig_size; return; } -#else - *size = max(*size, - cache->object_size + - optimal_redzone(cache->object_size)); -#endif *flags |= SLAB_KASAN; } -- 2.7.3