From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932631AbcFIQ7s (ORCPT ); Thu, 9 Jun 2016 12:59:48 -0400 Received: from mail-am1on0102.outbound.protection.outlook.com ([157.56.112.102]:23616 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751033AbcFIQ7q (ORCPT ); Thu, 9 Jun 2016 12:59:46 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH v5 1/2] mm, kasan: improve double-free detection To: Kuthonuzo Luruo , , , , , , , References: <20160607180322.GA1782@cherokee.in.rdlabs.hpecorp.net> CC: , , From: Andrey Ryabinin Message-ID: <5759A0A9.3080301@virtuozzo.com> Date: Thu, 9 Jun 2016 20:00:25 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160607180322.GA1782@cherokee.in.rdlabs.hpecorp.net> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.10] X-ClientProxiedBy: AM3PR07CA0039.eurprd07.prod.outlook.com (10.141.45.167) To DB6PR0801MB1303.eurprd08.prod.outlook.com (10.168.11.21) X-MS-Office365-Filtering-Correlation-Id: d512c6c3-5359-40b3-226a-08d39087738c X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1303;2:Y1ZTXd21fGyp5vtcH0j1xgIqeejwKMBL0s4HYIWzhjQV3+ohA0J/yVY5HY1gWaX2m+qnPDx0JqoUU76rBdwodAAjqn/nqW9+7tdZKPZ/5PdQG5YdbUMw8pZGWVIP0IYyrdb5Xo6q7Z7Yb73oxR0Vofe2Njq6IKiPo7g0pbm1DvF1pnNu4IyFjGlyBSh7lwH0;3:FYlMoTnY8q4SxGdLZ0rYV+uQ9uJ4b/teBlZgyaO6HoVBiTE7gbomB9qFUYGhyUpn3pCRfrwupCKsxcH7tNVYudoPDgwC3ltGdG4CH2xMoHhqY5qQz7TLgdMEBHHuVIGF;25:Jq2NKaFDzdz+6Ybg+XhJD+Homp5J2vOXU9Z/tBQ9sexc3KOA9p19wsDfwFX4foA6ZG7f0IFn9ChTyn2o7m5ZANm7DAHwKHQJnIWhLCi50eFpiNwqnJPwuwJoqsd5lWRV5yLr6MS6xzjUuKnlUdu2uOA5G49F6E89Br4m76PcB4OhBoxjbx63n4aaGa5qSatottMXSbYSHBFL6tbVsa0RoewRCE5nU6adN6qLFwtwG2fQ7WUttX3ExDUR03H81+A24TwLOZNFRjG2vjTfmmsDeiFIm4/loa/b4gUU9afazYzXiJQI6BkWVEyebPqRWZ5l73YCUMloJ1HNNc7xvoZIT0gmq76EfBTFPJKY89E8+EsX+e/7nmKIsRXiK+JU0OcB0oyw/9/OmgCyHbPOs8GGfndmWkMQjT4Kqobdrgc0GdU= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1303; 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:DB6PR0801MB1303;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1303; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1303;4:5kRNqvwMv0U67yCGN2Ht++nhZZJ73aI+JHtISJk/98O84qS275tBkAzs3AUrYcHnSvGpwGoyOn3gc5K/nnJ5GjWNmBTjLf2y/IagP6JpW8xMM8HpH8Hy2WRHkTriohzL0FoBsw0Lz8wEzK/hSIJNJqdkm+aysfSTg5YZM97hRfdqT8adJO+XBSwzAsykQ4Al9lIbx5VSgrJwM5+GKSBfx+u5z7PeKCqpU/E756mx6jc7uDMJxVTOqFEGWffMgJOEusNvWuI4J3rzxhUnKJpC7aX9KIUA2oMm1KV8mQCkEn5GxsrTfERDBUroP4oWBn3D0HwyiFGyt0nBC2fMmVAoxBYVB2ZnNhQ+zRAdKjkIhgjy52pu9PDvoWthXmYY7CsN2ke+xE2E8VWzd69jcdB9lMaWzZGPK1WZiu7kG7KBU9A= X-Forefront-PRVS: 0968D37274 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(189002)(377454003)(199003)(24454002)(83506001)(23746002)(230700001)(4001350100001)(2950100001)(42186005)(80316001)(8676002)(81156014)(5008740100001)(97736004)(81166006)(59896002)(586003)(33656002)(5001770100001)(2906002)(66066001)(189998001)(101416001)(65956001)(50466002)(87266999)(54356999)(4326007)(76176999)(65816999)(106356001)(77096005)(50986999)(65806001)(47776003)(92566002)(64126003)(5004730100002)(6116002)(36756003)(2201001)(3846002)(68736007)(105586002)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1303;H:[10.30.19.223];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DB6PR0801MB1303;23:RX7+CABDN0YWjxtJus7rDflGngGxXUDrBub?= =?Windows-1252?Q?U/DD/0/vZRdUFQcb/ecTtCdngg+jMPEIvDPDhOt1zKISJivSujO+gWCh?= =?Windows-1252?Q?1AQUiVfZ9IsRjjdvtVFTt8kcWrmSmDb+DYXqmRFWlF0hc2ND4wde15tw?= =?Windows-1252?Q?Jow0kz6wenNFWVUE/r75KvnQsGcKw5qcqZ38WYgaDbVFxe0Uxx29CR8w?= =?Windows-1252?Q?ePMpA2ADeKjmq7BM0dZkeFTTbz/dbMaK/hgBDld6Dkqgd5/tQpt//0wY?= =?Windows-1252?Q?JSrCB9/d2vbxx1nRcwTi0YYPfR7CBRFUjspmAKrSmFhopepWGnLuRsvC?= =?Windows-1252?Q?V9Q0VOfhbmVG5LE/d3pF0athNqxpkgCCpxpCYHHYnm6gNMFDeg6z6DRY?= =?Windows-1252?Q?qNGgkf8F4VDd200aYf1YVl31ievCoQM3EUk2bqwcb6Rxrwj9yHNUlDeP?= =?Windows-1252?Q?90pY+jUzsSPSx077M96PG7eSxqWPSD33exiTEi4G6MYvrl9eWZo1HHht?= =?Windows-1252?Q?Xp9e/iasmqxfS8/IxtvD92Q4/7iNotXjXVwis0Xe93tKEyxigaNTL6H4?= =?Windows-1252?Q?eaud8ouscchUgHoQLRf73KJh50+p8aasNIMNbJBdsY9CB5H2TdMBOzdv?= =?Windows-1252?Q?7q9P93Y0I+eKhAe3EnNKruKbBsv5V3gTwfwGVjrzCjhXLGaFUTrbi1MV?= =?Windows-1252?Q?pTiTXfytu3cMIOb7Mf3Ezn2mwcCKxWzEfT2BUdghbPxkmpoklmmvF1nT?= =?Windows-1252?Q?Jd4jrTOcz3lkTMYnV6yzdOhDiAROwZZJzEfNrhujZkJbK3tD+pyg8D0w?= =?Windows-1252?Q?7LeTWVdeu+xKB/pGlR4F3JqpS/Hyg0V/1HYRpqbafe1tkCO8vCCiThT8?= =?Windows-1252?Q?epjw762PNkwxmLagsEPtmRDax/OiesXXz4knEQT2loKV+VN0NXnpTkRI?= =?Windows-1252?Q?QXN9bGxc0wCe+tugSfCV4IMsikf8RPOpAGy4uA/6l2AeVKUdPg4fAaDO?= =?Windows-1252?Q?kG2g8j7FApwPZW2Ob0T0d5dGm6X5r9zO7zWpvT+etDNFyB1XkG/Qhwni?= =?Windows-1252?Q?aRaiKxIHU+Scg/xu0UB5N7aS3mbax/Bi3Fj1oYnHOtkzqCS1OPuPrWgh?= =?Windows-1252?Q?g6ydDCNsz+qrf1LDjWfHtBa949eBt/3P/fzWoxxvZ4U2W7qruD4FSOdd?= =?Windows-1252?Q?I6JCarEPwvTmexXn0oocQw2m1h0g5+NVO51AKSKZn1T6GRA0AkvEWKI3?= =?Windows-1252?Q?O8L/+KN274La2TRFQt+BVw9RTrjtBlpUT7swbSTlDISx1xaH+jwhWCK5?= =?Windows-1252?Q?+en+Ur071v15oc58CH+/QS+ZBpyh5T1r0Yuw97IdOLuGc5aM=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1303;5:L0FrHUmXDU+uOPRJ12V0IhaDNdZyVqzAfv/09ZwYeobtknx7cZgMYAQoZFehi/s+eMnaLprbHWYKWrPU2WA5r7etnR7wy97kghctbhcaYAVRrHbTxLvd7RX/ABaZqBbNDZYdGR8dt5zjp0BOX2VWOg==;24:x72SRYSzKJfJQfzhh51inZrW1qBqNVFMEver+filw8RnMi+oIyzWnnWNZbvoDCtSrfcBVZwOOtjulN4reW7A37C36WmsNucyIUk1sEtegGg=;7:m16BmM0qd9PNfuXjIQk1eY6JkdSA5cjtiP83TLn2Gk5cczBwiJs6U6uVOxKrO7BNMPQXi73MJuxDtpT5hheh5YoIOS2y4qkZApylsZVmMU7sADvewqvDct0pog+yc8ALR4a4WRF8UFI7cFFL3ZdT+9bYaQilBYsPrC2VBQNB6gb7QOpPGIa4yNjKWwQHwaoeAYoXxtovIzj0R7adCMrMNFUB6N1mZzBgfRMCKaGIAvY=;20:IPhv/8ZHM1oAybU4LqOsugUmg1DAPeJ5+5I7DM9ivOlyRwYaoJ4/DeZOBPWmEQkv0Gm9XSu2q1clsDa1dgnzkH9cAP3jRPFLXgrTDL9Cbfd2hJLM89wr014nMc7uMqLAMd7k7kOKa0+5qNIADROUFKElrWRjzLSIb8RraWRITfA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2016 16:59:41.2451 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1303 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/07/2016 09:03 PM, Kuthonuzo Luruo wrote: Next time, when/if you send patch series, send patches in one thread, i.e. patches should be replies to the cover letter. Your patches are not linked together, which makes them harder to track. > Currently, KASAN may fail to detect concurrent deallocations of the same > object due to a race in kasan_slab_free(). This patch makes double-free > detection more reliable by serializing access to KASAN object metadata. > New functions kasan_meta_lock() and kasan_meta_unlock() are provided to > lock/unlock per-object metadata. Double-free errors are now reported via > kasan_report(). > > Per-object lock concept from suggestion/observations by Dmitry Vyukov. > So, I still don't like this, this too way hacky and complex. I have some thoughts about how to make this lockless and robust enough. I'll try to sort this out tomorrow.