From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751532AbeAWKoy (ORCPT ); Tue, 23 Jan 2018 05:44:54 -0500 Received: from mail-ve1eur01on0126.outbound.protection.outlook.com ([104.47.1.126]:25586 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751255AbeAWKog (ORCPT ); Tue, 23 Jan 2018 05:44:36 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH] kasan: add __asan_report_loadN/storeN_noabort callbacks To: Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Kostya Serebryany , Evgeniy Stepanov , Andrew Morton References: <891fbd1fe77f46701fb1958e77bdd89651c12643.1516383788.git.andreyknvl@google.com> From: Andrey Ryabinin Message-ID: Date: Tue, 23 Jan 2018 13:44:48 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <891fbd1fe77f46701fb1958e77bdd89651c12643.1516383788.git.andreyknvl@google.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR05CA0191.eurprd05.prod.outlook.com (2603:10a6:3:f9::15) To AM4PR08MB2819.eurprd08.prod.outlook.com (2603:10a6:205:d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b3a08365-d4dc-43fe-5045-08d5624e498d X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:AM4PR08MB2819; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;3:Pf4AQI6Qv4ljF292OxxzSVePV3Du4dcnt4pKTFNI99cK6z4PcjP3fGPOGR9DU+SlQy+o5tV62MjYkueny9yYgCwV3ah2w5m9wHGcJE5wd1XgXvmIW3O0vCp/KkWLAo2jibY964F4sSMo3z+2AFuKgr7XRzAMAN5RZ8pVZmfd3NWTy1zbwd+BcVS0OpkYcbUDGNzbyqOvc0wYTp7Rqoo1k7y37WbirBpfnD/VLs0hRF2ZMng7QrZ0E5fzYvogiByE;25:z6Umw898PNEe3gkezWcNxVlF3oYxUNPET5d/+PIm6p9mpCIdLw7AdWqvS2+0eTuDrdi4CCNS60XgkcarO8DMVAC9TOfPi51RnN1XrKV44a0hkhdUJrAZWFNbRPmy3VGPRyrkWZmL4P4Trq4hPWeQenV22+FZKSv0SORi9jhNtDqTwXJeCjs6jUrAFS9B5hKQVyGlXViT5CA6dvpQqDEH+ongsHQaKfXfxJHtBbQNXnbrZ316JnLhVW0tNsnaFkBtuG/eOluh1B+UVoYDv7TxyoJwkTWAfXWunLlWe0JmHgcVZAGQ/Y2Uqzl7FToTTO9niCP9lyfnkgGeVUdDjTJXdQ==;31:cynwh61ElJBDtBo2rOyxOCnbWbLRTBTOTimvUPgB9QxDA5AkqgR8xUovKShfFEXmqcv+zgj416B8/3mYQ3jLPQ4azj61LDAXsPSv5JlmU+VKM0znWkSV6w0TWTJZcwyajg3Php9l6b0UXXDJuBvZ+o1Xh7vdBCyJpmJB4MV0cgXBz/nftumVtvptcKQ4WwFgY/P+ac68Ex0RyaPGUQX6XCCnr9y8+xn7BdtqFy1pcio= X-MS-TrafficTypeDiagnostic: AM4PR08MB2819: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:D0g1+i0EPqR3VaMjqhgK8KQ9HTEEtA0sF+QiUEbBL3G+gVuLM3xDOwjaTdYy7io3IowX22ZJ9fqaYXPHVItWn9qaAHdCfulpK3cJJCBl+ORzYkVhXZe+2DyJVaPqI8/9ZGowyAwjYOKbxa76vHQRiHAcYG6PE1LJlEhQEL7R+Q3lUxHKpr8gt91vqi2PqWJLnyTd+LZf44dCD6ULGGLxBZ/UNey9KpcB2i2e9lOgCaRzeQF8gJtXAe0LyGHtxn1kZ3JBj0672qWy6z3MMtXwtnbT+8SHGKzM0tl/U0/ez33rsM1eC7ycL3FB1FBk5nbXLjwHfVkqoPulUl9Zr4x9kzOoe+h8730BqZTSgqsfc9k8MMTkGHMqAe7rSHUgWgIIUM9EgQPrjEmLch+VIIdd4ggP8DSMMFZ0FJnqQx6w3bQ=;4:8n8P45O1GtZdhiI6DRqfs60Q5tcQbZf9MubEdr/UndlTK63C95DQQElwzsOmH4KUahTIeBzSK/E1l1p4FoZrTdHegz9Qawa9j5cyINKwhsHgHnuyMf68kE/90wlzhBa9FTtq89So6BZX92ncaCdus/tGiTgkqSuNKzqwL9PinpMlocgyOHT8DHP2Q0Vr23lE+F0KndshF0ZGL9srPn8IwrIJb13QstDCFxX6yzdhytAIgjqo5RnsMsCViPleG47nFOZRrXRxeKMXnn65ighj3taMuyb+tXXocrUnaLbFDA4C5PthkEBnho0d4R+bcYuM90fMYutG8I2c5QRHYe7HKhXGOyEXHex+Uc6zpehkeIdjfzPI8wkCn0koUt/4Vxya X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(2884558487581)(262104967686372); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231023)(2400081)(944501161)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(20161123564045)(6072148)(201708071742011);SRVR:AM4PR08MB2819;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:AM4PR08MB2819; X-Forefront-PRVS: 05610E64EE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6049001)(366004)(346002)(376002)(396003)(39380400002)(39840400004)(51444003)(189003)(199004)(16576012)(110136005)(50466002)(305945005)(97736004)(23676004)(58126008)(2486003)(52146003)(316002)(54906003)(52116002)(31696002)(76176011)(966005)(386003)(53546011)(55236004)(47776003)(229853002)(8936002)(83506002)(105586002)(66066001)(64126003)(65806001)(65956001)(478600001)(16526018)(81156014)(8676002)(81166006)(5660300001)(53936002)(6486002)(230700001)(6306002)(25786009)(2906002)(106356001)(68736007)(77096007)(86362001)(3846002)(6116002)(6246003)(36756003)(26005)(31686004)(7736002)(6666003)(2950100002)(65826007)(4326008);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR08MB2819;H:[172.16.25.12];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA4TUIyODE5OzIzOk1iOWViWEhjU0lHYzRRVk0vbER5YXZyMU9z?= =?utf-8?B?SkZWVmFVc1o4amczMEhlWDA5WnU0dkExMGZZN0xqTDZLcVdPMkN1WCtkVUIv?= =?utf-8?B?N2dxWlpVN2pvMi9SSVljOEE2V0hXajNDNVJGY2FEZlpJeVQvaWtSWWxGZmRX?= =?utf-8?B?a2NibjhZM1g3VThVRE1DM0psTWhoVXdzTzFCWFNrNGhOSVZ5K1B1K2hlc2xw?= =?utf-8?B?SytLZVFLcnF5eURjV0pNWGNEc2xLVHp2cSttK25PT3JhcHNhaVN2LzhvVjd6?= =?utf-8?B?bS9lSXFmY0QrbzdNbUxjMDlleHVrMlV5R1BTSzZHOWtNZThGQU1OUk1hb1R0?= =?utf-8?B?NmtuT1EySUNXQ0h4MklpbVVjajF4MnVaSGZ5bnVIeks3MWEzZVNKUzV2RktE?= =?utf-8?B?M25FbUhFekJtRkpMK3U5N3VUTHU1L2Q2aU5QK0pLZUZJNEVodWU5OGRTdUMr?= =?utf-8?B?S2krVDlsMVNpYTAwaHNBYTZOMHBzK0N5NnVpcU1NMTM0L2JBajdacVIxMi83?= =?utf-8?B?VzhsakNBT2NycUU1eVZtUDIvN2N1ZnpBeHR0YVAyS1pYdDgxR21DY2JVbUNn?= =?utf-8?B?UndDdzdjTzNHbEFGbUQxRnNtcEhycmEvcHJWb0QzeG1Qa0szb3FDSnE5eFVy?= =?utf-8?B?V09mS0NPNU9wNzJjNGRvUmE0VXRSY2JtMFlPZ2R6Qk4zaWk4bm1mcnV2anp4?= =?utf-8?B?a0YzTXdHVU1lcURLY09GSTIwOHI1ZFV5cWJ3ZW9QS2V3SmR2cmdNVVhzRVhK?= =?utf-8?B?Vm4xQ0g0amtneUd4bVhVUXFtd2JVWHdJNGVoTTF3b1lDRWRLVUlQWEw3MVdw?= =?utf-8?B?RitSRURIL3oyemsxN3JocGg3bDdGRCtabTJjM09hU2ZDQ3FnSkNxVXV1bEFD?= =?utf-8?B?WGwrQWJGY21xZjVUUG53UjBiN1d4TWdscm9iSkVKYTBVdFZzM1pMNVhIT0ph?= =?utf-8?B?WWZGL0ZmbGdZbEx4OFhzZlZ5eFV6aEk4OWhTWmRVSlNLVUgxVnVLYmNQVVhz?= =?utf-8?B?WFNmdVJwMVZmbEZmbkRwazUySXpJZERXdG04VFVvNnZsbWpnWHRlUXJTZGJm?= =?utf-8?B?eG9kOHlmVVVaNVdZdG12c3F1UXhULzFKemJqQ3hTd3ZDeU80a2dodSs3aEpT?= =?utf-8?B?L3lTRjVOTHlJdWFXSWhQTGJPQjVrSnBGYWRwRUZma2ZoTFIxL2dBNzZhRXpU?= =?utf-8?B?c1N5VElOL0RkeXEydldsU3hoaVFaTU5iV3A2dWJFdWRHM2ZGVm1NUytveFA2?= =?utf-8?B?aG9wUUUybm5NcWVnTUVmbC9OS0xhelJoeDVtNWNyVFlmazJ3dnN4QmtQMS9Z?= =?utf-8?B?SHRGOEdxZXRYd1U1ekZTN0pWSFI0M3hETk5oUWlibjVJUlplY050Wis3U1Rh?= =?utf-8?B?cmg4VjNEYnd3alNlYmhJNkxiVVAvaDBRMHIvckQ1MnF5aForMjA2N01iYThp?= =?utf-8?B?MzhKMmRZU2UwTDRvdEloVkRuckl1NkFua0V0TTdYQjh3eVA0c2IwVy9sUXlO?= =?utf-8?B?aTVld0dnMm5KalB5TFF1Ym9MbUZGR2NEYmFjV1o5YWplRFV2bW1OZE5PM2po?= =?utf-8?B?TTBvR09ZR3JPcFMwM0ZWY1BWVzFGaTFjVUp5K1RwaEk3TzJIQWlOYS9CVHdE?= =?utf-8?B?QnVneFJrWWduM2dVYmFIaHRUU0Y3anlhaHZJYTJkQTBNYWxVNUxUeWNYUUgr?= =?utf-8?B?bi80Z2dPVS8wdUZYWmhXM2hWb0RBNlVTNFNxZ1ZRdkV0TGNmM2dsOEFINDhy?= =?utf-8?B?UDNFOGUrWFdjTHh6SE5CYTE4RlNWOFNtNU9lb3lBRXl3UTBpWVlxWVpyOXg2?= =?utf-8?B?aFhZR2VBcnZBcmVHVzFzZWwvS29iUmEzQmdoM0lJcXYrVlBrTkF5WDMzVkUz?= =?utf-8?B?eExBaDJvY1o4eURERDJRRlNyZlU4N3VQQ2JkZGRWVGR6Z2hSYXRRMW9JQnNk?= =?utf-8?Q?zSzW2mN66jfJOpRIEuZfjXk/10jOxM=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;6:1txGw0vd/5OXXl4lmfDt/tYwb4+ZcZpqpEeyS3+B/JK1KOClaUghkKXgkDEp2xzQkWYIgdVOROgPAIBbdz9jLwwOWT9ete84M2vlY6zabdAI08zGCPOcr/53ZzVaS0ovNya/pf+VklUGSvWJ7lDCjt456zLFTYHHMuWmWNGDIu3FW45ckUFVB88PjQwY5Ko15unmNdY3yycRVRuXF4oYpPU7//j8kjlUw54ZpKmWPBUuJXUgmXizdq2Rbs+fFmSIqFIL/7okMspa21AS4cohPYS2bttNJzXjkYCFnV++ikQqeT8hfhNn5pWVPMdxnjsKTaK8cA8SihFHJM5iIqqldsVyGTh2pchYw6CpbS3JEg0=;5:cj+Ecd9jMWOq4PnpKDh7OShhDxKa8oUQUaVwTN8wkfctdnlyItRlOyglkKfVa25eUIV8eO7Zq6zyM2utWPAnLxkNdxlo+G2rLrWEbZexfQM4og+5dk7p9yXETtTMr6ATtXY6e2LdlNfGd/HFF8z677q9P/essToxa0dkypZXt5w=;24:HdV89d4O/Bs33HBPHmV8psS7fUegJPPmFRMi1eY4KWFeooVVkLGfpTXjSuY/Zr0/LPd/saNio4SG1VkM0AXwxhpwqgLYWieSkYSqwbx/QqU=;7:1m+KgxoajiGB01q7jgXxIBEsgeexzT4lMQANGb7x/Kj40hXx5n9XuE4HevlFKVmtZ+0P/QttAv7+zQQZUVKT+KnsWOZzud1afcEoVSNAnbYjvKZBlR/se4+wJO05PaQ186X70Hz2VkQTO2nrrF9uFiID1zGzEPYAECHA+TFqD4SUb+YWoNg8wi2SWy6uEN+4ScJt5PFBzm9EtKJtLtFXevmym+HZJi1GUgB7nYp3yyA4ogoEYgefQBbRFRVMJeW6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:AIhM3yggqoQ2dAnA/NNkmKqWL4wexiVWXPNuccTOvnMWOz+BJPiDBy6dE8XR8g9bMLGHZzGpORCpPoTqs8FkuppsvnmIA9SkBaokE7kFvMec/nXUu4ZSKbktkspmcinz0LXbjC9XvFBBXe4DlHe1c6JXfq/eEFY4S6dAGn+9JoA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 10:44:31.7043 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b3a08365-d4dc-43fe-5045-08d5624e498d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR08MB2819 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/19/2018 08:44 PM, Andrey Konovalov wrote: > Instead of __asan_report_load_n_noabort and __asan_report_store_n_noabort > callbacks Clang emits differently named __asan_report_loadN_noabort and > __asan_report_storeN_noabort (similar to __asan_loadN/storeN_noabort, whose > names both GCC and Clang agree on). > > Add callback implementation for __asan_report_loadN/storeN_noabort. > This made me wonder why this wasn't observed before. So I noticed that inline instrumentation with -fsanitize=kernel-addresss is broken in clang, and clang never calls __asan_report*() functions. I see that you guys fixed this just yesterday https://reviews.llvm.org/D42384 . But it seems that you didn't fix the rest of "if (CompileKernel)" crap. Clang generates "__asan_report_[load,store]N*" instead of "__asan_report_[load,store]_n*" only because of this idiocy: const std::string SuffixStr = CompileKernel ? "N" : "_n"; See https://github.com/llvm-mirror/llvm/blob/ca19eaabd75f55865efd321b7a6f1d4ba3db8bc8/lib/Transforms/Instrumentation/AddressSanitizer.cpp#L2250 Note that SuffixStr is used *only* for __asan_report_* callbacks, which makes no sense because we never ever had __asan_report* callbacks with "N" suffix. So I think that you should just fix the llvm here. And there is probably one more "if (CompileKernel)" crap in runOnModule() which breaks globals instrumentation.