From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AD24CDB482 for ; Tue, 17 Oct 2023 19:40:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CF94B80009; Tue, 17 Oct 2023 15:40:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CA91B8D0064; Tue, 17 Oct 2023 15:40:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B4AAE80009; Tue, 17 Oct 2023 15:40:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A56538D0064 for ; Tue, 17 Oct 2023 15:40:06 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 7D6F81CB4B8 for ; Tue, 17 Oct 2023 19:40:06 +0000 (UTC) X-FDA: 81355969212.04.6DC8506 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2039.outbound.protection.outlook.com [40.92.75.39]) by imf19.hostedemail.com (Postfix) with ESMTP id B7A3B1A0016 for ; Tue, 17 Oct 2023 19:40:03 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=dGDyKoxn; dmarc=pass (policy=none) header.from=outlook.com; spf=pass (imf19.hostedemail.com: domain of juntong.deng@outlook.com designates 40.92.75.39 as permitted sender) smtp.mailfrom=juntong.deng@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697571603; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=s1ZEJfJwgCo78Asz1ZD2KDfn5+bZC8UTiZ1X83PPJ98=; b=mrU82G2J56Dmcuvg+xYQgPaeQKv18/PaYlpCEN/q1AFEpx5pDIw/5VD0Y0n3glk1ZDd1Cx au+siWEJQlXsTDwS75EUUc/g0sBdx82IOktTM5lWCn3fwk0HwDJNqXgZpj+a+7H6PL2oB7 S41K/CtsxQ6wKb6KXpJDQUMcO2s1Vgg= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=outlook.com header.s=selector1 header.b=dGDyKoxn; dmarc=pass (policy=none) header.from=outlook.com; spf=pass (imf19.hostedemail.com: domain of juntong.deng@outlook.com designates 40.92.75.39 as permitted sender) smtp.mailfrom=juntong.deng@outlook.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1697571603; a=rsa-sha256; cv=pass; b=iM29lNgueJGDz7emG0RA3PkiW5aqLZYFbkG650dGfSspgs2IkEPxZOs1srv5oJArKrYIzV PXGo67yZvGQyYwg4hK0dQ8HW0idGBt7orAxAIly45Xr+/EFYIdX/BspLerIxKaNpyqpvml OPrTSMn7wSNywm1pQQpt88KWxmDBlSs= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q5sol7ZUCTRO6Z3/4Zz4xf9jlFHDKwrb5eMKrcfY0ZSkc96WjdTFonFI3AGn0hCrKJeQeb3OfbjkQS3wh73m+Dvt6Kwp+MDCQb7YC0tEyjHcnwfnvlH4WWNRo7dkZZnM5ZHIwiH+81DGYPLGvgfPHEIiyXDG5AoQhcdZhVrOOfMX7jG/AEL8pH1UE+7sUQjezORbYtx2gngJ5aNLf/F4PHDM3fB4s+JaC00DV6fhWWeRJqhYxD9BN2bXMLPwcmMoa1t/an5KZN74X8ot0kLkDmPEW0cLzgUhhjj8YtdCvQZGbLjwNatCRnk272leU0+El5pgnMN1zcdVDPQZh50PpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s1ZEJfJwgCo78Asz1ZD2KDfn5+bZC8UTiZ1X83PPJ98=; b=B15MMiuoZUyZWCvnhqdS9B3TiIvuHfMILQ7Nk4aHVJhfSWwnY8OWmXCxmeMqyErEnXtxAn5bgnCbFEO7NS4JcJBX3GqMo/uAc8iapCwFC7lZEuRx4msdnxdG0dQud0XtFVlkveK9G+V26imt95oBPIM9ZehhXznG/Sgm6wEuGSnAMPLzV4f/GZO2bWJiGWKPadz8rntrMc47lnHxXlzSA0iUTEIRISo4kapbldPdkXjaLb07uIC2vB/mXU9IV/OP9RdWjRrfzZY3tPrqRZsWyuQTVkh3QWBm5DEWeFmlBq6HI/3TYAMBkmbOQwOGbADF8+pIKl4ouxHrpXCWRWkLZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s1ZEJfJwgCo78Asz1ZD2KDfn5+bZC8UTiZ1X83PPJ98=; b=dGDyKoxnKLUpK5WSWx8bDfc2vbULOBv/FEFDqz40DbwbQJX5fNyX45hAUCNmMJczn58DE6rVg3kYD9+YbniT7TyzhDDeMHJPM8nmyI5NuCRDWqpxrYSmy/wEmuQphHfHelWFYL7gWZs16lsIFrHJMA0oymbfonAhUOHgJzuvlRRCXEvbb03oyeXxCSGPWAV+Zp8Tu2JG4fTikoCvWJfFRaWpkRm+YPRvFJsuII5Jds0iuedZWgqKIgRf+L64wJS2L5loqTt7W4B6AMjSPMkpZfuCtKgptDHy9OZJNUSwCw0G2emc9Uo2/cXSrw3ZUyl8WkEIbcyXJSa79o5LlRbaYQ== Received: from VI1P193MB0752.EURP193.PROD.OUTLOOK.COM (2603:10a6:800:32::19) by DB8P193MB0645.EURP193.PROD.OUTLOOK.COM (2603:10a6:10:151::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.36; Tue, 17 Oct 2023 19:40:00 +0000 Received: from VI1P193MB0752.EURP193.PROD.OUTLOOK.COM ([fe80::af68:c2a:73ce:8e99]) by VI1P193MB0752.EURP193.PROD.OUTLOOK.COM ([fe80::af68:c2a:73ce:8e99%3]) with mapi id 15.20.6886.034; Tue, 17 Oct 2023 19:40:00 +0000 Message-ID: Date: Wed, 18 Oct 2023 03:39:59 +0800 User-Agent: Mozilla Thunderbird From: Juntong Deng To: ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, vincenzo.frascino@arm.com, akpm@linux-foundation.org Cc: kasan-dev@googlegroups.com, linux-mm@kvack.org, "linux-kernel@vger.kernel.org" , "linux-kernel-mentees@lists.linuxfoundation.org" Subject: [RFC] mm/kasan: Add Allocation, Free, Error timestamps to KASAN report Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TMN: [n68INaFdX0AQ9ixRWTnYzMxHobQbJ5ct] X-ClientProxiedBy: LO6P123CA0001.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:338::7) To VI1P193MB0752.EURP193.PROD.OUTLOOK.COM (2603:10a6:800:32::19) X-Microsoft-Original-Message-ID: <951f648d-2dcb-4438-993a-c9fafed0128b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI1P193MB0752:EE_|DB8P193MB0645:EE_ X-MS-Office365-Filtering-Correlation-Id: bf333dce-9b20-4534-f3ea-08dbcf48d9bd X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: j1md31kUyyaT7+1p69ggEWbAqYF5o4s2dDXa/WSmHrH/WL09w/KkL++6Xz0gWnGDitUU34XBqlzj77V/rMdjj1DfGu+u1Wk3gEc9rxb6q3FeUR+Yj2Yt84btAoPvjv5/Ude9Z8fWKcxmEH51LJ0Emi33+u5iM8G69zpRi+m0RjRTfZaWlRLTyFNX0wVCqlzAimN96BRPt2xXqFUi81DPJqcJMv+YtnmwfqO3YbTXT8vdsltAGGxh4ZjrYi6nEKapsE/AQgRsKCqpqMfEzf4Oh4man6qmL+vS0O5njK19s4t6S2rqzPuP5stXMpc9Jw8ttrfDd5QVVPT8kjcZwKDC2L2TkvNMB9KsMRWImMXHhTqJ9HELOfdQBG8qiJzhyXkIbbFyNe9MpLzoZTcq7+DZIB71SdLmygzHCwVq/YNPMMy1M0HAmcws01rxDZKz1PuBR92So76S+M+5sWtr0DxIiVruZkVfwJvA5teysKFD3qyLcgCX+jtv8H5cfwQ3dv5dBCjc8EP+G7dPINdNjj1CNxF6FBFry6nuwogLxm6RS2siFLcPVHwAby9mThlSp9xV X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UFdPdHo1STFYa0Z1TEdPUkRJN0NiSzRJbHpaTzYwTnJ0YVZaUVJ4eDM5OVJN?= =?utf-8?B?NXFJdkFGZkNzclV5a3p2WlVpcWY5QTBPMkpUR25vc1p3S2J3SXF6QUNZTEZv?= =?utf-8?B?OXo0UG0rTkUyRVo4WXdzTjdIQUNlTkU3TDRJSEZYRnBjT2E1aW5zNkFhZjgz?= =?utf-8?B?eFFBY0NHVUl0ajVydWQxS2xYaHc4R0k4My95aWo5cisxMkppQ1pESDllNVVN?= =?utf-8?B?NmRLV0JGMFdLc1NKcEU1dnhSVHdKelB5RXNhZytDRGl1R3V4cFJIYWZuTmM3?= =?utf-8?B?dUdvaksyc1BmWGFqN0FTK0Z2VWhxb1VZbXUwdm1RdndRY0VHV2MzYmxGYWlh?= =?utf-8?B?ZUplZTN5WUVrQUpOZ1ZiMGRLbU00VjM4akYvZUpYNjhTRGZPNldVUURrVEhW?= =?utf-8?B?NUMxWno0SlNRWDRTKzhaQTZYeTVqSFVTRGVGZkZQL3JGa3BSNm5mWFRNWENp?= =?utf-8?B?a0tadEhPNEhJZHVITGxYU3ZZTFZ4V0NWYUZNNG1HamVSQTJnUnh6czRqSDVu?= =?utf-8?B?UmNEVnBSSm0zTGZWUDU2MCtHQnc1SVZucUxDQ0VCejVpaUFVcGhjWTZjVHEv?= =?utf-8?B?NlkyL3lmL2ZraHBlc3FFcHRNVFJ1S29NTmJlYkJhYjdzdnRxTjRweGRrRGhY?= =?utf-8?B?R1krRnMweEZXeTREbklmQ1hlLys3Skd4OHd5bXZnU1hmNy9oaVNDWmtmNmxH?= =?utf-8?B?U3ZqN0RVQWdhWXB2OXZVeFM3WXhIVjdHTmxlbTdIVEV6N3VXMGtDaUpPNk42?= =?utf-8?B?TTAzdGVGTjBRM2N2ZkNrZ3h0eENNWnBOeGkzRGllVlA4NWNuc3FlRjl3Y3Ni?= =?utf-8?B?Sm9WNVNuSUVLOForZXhOWVJFN1E3cU5LWVZrL2NmQWIydmgzaW1vLzR0Q0N2?= =?utf-8?B?elBGcFpZY3JlQ1c5dTRCNHdFT2IxWkVjSER2Y1o1ZWtjQjlLbWtJYUpCTGIw?= =?utf-8?B?OG1IbXMweEZSTFNjVmxPRElZOGNTSGpLd1FyYVpZWHc3YUxCLzBpaW1XZm1D?= =?utf-8?B?eGxEZlYvSnA2V3VaVkxMY3Vsbmk5bE5jSzhFZW9FZWgyTHVsOEhkN0pINXBy?= =?utf-8?B?eFJJTFVVS3oxd1djYU5MdU5keUdaNlpIandpcnBhV29nN3A3Mzcxa09UQ3NE?= =?utf-8?B?MVlvM1FmQ0ZTZURXVGtGNnZ0RnMwSVpRVlp1NmoyTnZhcnQva2hMRDcrdFdX?= =?utf-8?B?aUlod2hYR21VNzlsTXJBYU44S1JvOHNFbkEwbDFHcXpUbzZ6dXBDQzVGYUJp?= =?utf-8?B?aGZONkdiNEV4UkhIdXBqZGhTQy9WZXZ6MzhEa2JWYnphZkJUYWxXUkIzL2Vr?= =?utf-8?B?cEUyVXhrQ0toS3JZVHBPU3J6OXkwNnNCTEUxUEFRTks3WHpFd1lXZEFrdHdO?= =?utf-8?B?aWFFV1o0Y1NJTEVweFlRaUdPM3RiUFR0NGp0YUZDWnU3dzRFaWxLdnJXYkJQ?= =?utf-8?B?SFJtb3FxaWd4SGxpVkttRnBwOEhVQ3A5Uk9UZ3NpbGZTbThVTkF2cU5aZ0Zy?= =?utf-8?B?dWdncm9WQi80UUE0cVpCV1NwNjRWdzB0dWZVNkFwUVY1Z2E0NXJTL1ZxTFRY?= =?utf-8?B?SmNZd2JEYUhZOW9qZHArMEtPeDFEZ201TkhQMVhKTXJ4SkFvcWVuWE5RcmpP?= =?utf-8?Q?ENv95TQUg7ryBMVEkHHFq/s64UbPQM7T2ouJrOwbrGYY=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bf333dce-9b20-4534-f3ea-08dbcf48d9bd X-MS-Exchange-CrossTenant-AuthSource: VI1P193MB0752.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2023 19:40:00.5837 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8P193MB0645 X-Rspamd-Queue-Id: B7A3B1A0016 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 4g1hwi6eryx35hmzrwo8d9a9d876niiz X-HE-Tag: 1697571603-966051 X-HE-Meta: U2FsdGVkX19uqOas+NZn6jx+8C2/HR02MWzoejeZfsUGhBrEsDUVTfeYnI3BRHIVbzyk+eJf1M9yS4pYg7i6+fAhVj4SwfMspZQJr8LymPwJdG8JfBP+iSRyaRGa8I2A6yn1k+Ft1X4x0CDlxdrLuHWqF+LOGYcVC396f9jyya2kkofSH8roH43pJuey14UzOurBqVepM3r879WLBVZ9Au8wyPCAmrMkQhfi8EgIYQHColRbA9tdp129hy6AbYQ6b7+eV2aDo+YgfONqfesNhkAbHnyhVTx0Ue/+DjpxjPYdNKirt+R2XxyfPxahoGX/pKkXrSNBf8wsXRuxKgEJAQU+Of6g00law2FJcXvfnFR47IedCeuf/C7mr0WNZ8pbgdK3WKWJSnaHEnzEpmOHYjLiv2maVv8YmT5+EjhGhmrcShaTp09y4VXDeXVca1odw6iB8OrGAHEoXH5/geAwj36TRnuR0bOdo6vWPJX8pchzg/wH0YyMYKcJPxgthE2wzQOBmkE3EBoom5giiEopvGr+vnOxz8hLg2Co029iEF96c8V18LIX4cZWTwC92vNfVT34FAOEuOYI1sVNhYNiYsfSU8UO+jFPcSDcOLnqvpaWrlWTJjxFXqRtP2JtVvGV0VEbstzQxMsYkjc/CzCJS6C1IkeLmzRZbvPivVpG0wREAldZOucmePstZgOXLWtBty7djv2Vz3PnOYECnVuPa6C10GO6uso3GZtEZ+EfZeMHF7kiJxsPBjyj6GIWuQDIwdrk6ux4qE93ocCRENQ4qlSQrbna6VhTXsavqBJaUwfNulLLe75e1YCfYep3R2sKDYVSdu45k4nEwc2AexJ5R5t5O2g3nl/wRpfAqbfQRfF9Xnosr1TprqHqRu+KLYhjWji1w1X66eJHTs9crNAXhn/xUFC/yLaKEjVlPJU5fKX2oFwr9GyAm90RVdp9wVPlWhmdP2hd7qDLxKrODYW Es/EupE8 pG9PwgwyMjCiUTPXo1VAd6wqnbok+fUvV6tUUfv+BLpBy9KWmT3Jf6EYCx66Mt11A71Ia9JMO2IgNW5ywBQOorYmTc8YE8MqZvjdJdXv9cqIpxi/Eia0diKMqoQEgepzMDMCzy0BRgqsGKTg69mXL46lLzZAFxnFnTogZxXSqcv+9S+CcZPsQRwVDU51AWMj1UNDRd1J3nvPhZrehAFcp7kpQNqHuRuUcEKRg6S4mXUOXyCQ6TqjZCMJmUUk3LGxNQ9dSZbK5lDsMx3HRgQw/DweXj349wARJo4fnJykbJtl5kf7xRo+l2BXVoEYkuSXuk57iXwwZ77M4YKQ3ixSebm6mjtKR8dvy9jJspLLx+2wX2T6Ltfmumtg/ZrMNk6RdPW9qk3On0BQPSObMIdrwbNFeQxhGYn9Ky6GXxpbzmu8AIEgYkwTGwYvDOAWB6H1nhCsUBxXX84WaSyt+yI/UqSO73GgfFmE8BTdmNk4Zv1V9pGDCkatJahoZvv6yEGkwiTi5RpKmx0JThLX83aliMNl19z3yTxDUdhDSg2uKRLSqTnWEcGG9ooeR77L5SXLLnkPD3qYLLJIemAgFdcFwY2wN02nI2RTe2TDpZQ7YyseAaF0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.306202, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The idea came from the bug I was fixing recently, 'KASAN: slab-use-after-free Read in tls_encrypt_done'. This bug is caused by subtle race condition, where the data structure is freed early on another CPU, resulting in use-after-free. Like this bug, some of the use-after-free bugs are caused by race condition, but it is not easy to quickly conclude that the cause of the use-after-free is race condition if only looking at the stack trace. I did not think this use-after-free was caused by race condition at the beginning, it took me some time to read the source code carefully and think about it to determine that it was caused by race condition. By adding timestamps for Allocation, Free, and Error to the KASAN report, it will be much easier to determine if use-after-free is caused by race condition. If the free time is slightly before the error time, then there is a high probability that this is an error caused by race condition. If the free time is long before the error time, then this is obviously not caused by race condition, but by something else. In addition, I read the source code of KASAN, and it is not a difficult task to add the function of recording timestamps, which can be done by adding a member to struct kasan_track. If it is a good idea, I can do this part of the work. Welcome to discuss! Juntong Deng