From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753546AbdK3Qls (ORCPT ); Thu, 30 Nov 2017 11:41:48 -0500 Received: from mail-db5eur01on0134.outbound.protection.outlook.com ([104.47.2.134]:26016 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752523AbdK3Qln (ORCPT ); Thu, 30 Nov 2017 11:41:43 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH v2 5/5] kasan: add compiler support for clang To: Paul Lawrence , Alexander Potapenko , Dmitry Vyukov , Masahiro Yamada , Michal Marek Cc: linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kbuild@vger.kernel.org, Matthias Kaehlcke , Michael Davidson , Greg Hackmann References: <20171129215050.158653-1-paullawrence@google.com> <20171129215050.158653-6-paullawrence@google.com> From: Andrey Ryabinin Message-ID: <8b1a30b7-9c16-ac0a-3cc1-6fb70247add0@virtuozzo.com> Date: Thu, 30 Nov 2017 19:45:10 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171129215050.158653-6-paullawrence@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: HE1PR05CA0178.eurprd05.prod.outlook.com (2603:10a6:3:f8::26) To AM4PR08MB2819.eurprd08.prod.outlook.com (2603:10a6:205:d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 67695955-fe93-4821-4e1d-08d538113b97 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603286);SRVR:AM4PR08MB2819; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;3:SDe2qZ0arYFt4LT8pUHGwlGqjbo6xjHc276KDvhjKwF+LkQuAXCUqzDrXNde3Xm8PoXF+IhTMQsFMDa6uCKsJNLYmy5ZnIMmkDBanU602nksE1DKVtQoiMje8SgUuEL0XT7akQ9U/DlPTOTZG3DY9bu5BjjKoUed8PNnGBwUtsNjFwWs+jlf2ahq1/KmKiZPmqXz7/cisuwaPEEIAGpmsetW9VlhCdl1uDnIXb2SfKLpkohewPoP/DrWUU9N+b5m;25:+w6gMAIvG1kTnepfDj8aWp0P3OL88CTg0qdnQLw/FcEUrBMTbRfQPhAm8uMD9YPjHklQo/OFhrwCljCqoJrhH+PM2vxY84h9pCsMgWF9oDvE+fD1JCRqbS/NFIvGjusgixM1tIhfnx9ZlD7ONLN97X/AcwIYdxqb0oNffpDI6mbntVcWqqePbgtf9yXlwWhA9nvG3aglomyWv6OVhxJBU0IFNTa7YS54DaWujfRv5Anjg2ldLvS9bI2JnQs1in0ckyeMwftlqL6tg4iFe2BXLwbXpuir+zYenXOxrshxUjG+H1TH6dbvpKvAm2j+jxAWT9PJIBB91CsTbxeg6JE9fQ==;31:1uUV6GYL8C//sh5gtD01rki6CIcl/NyVeBgW2v4aeo6b1ILlgwKJHpd1UQgsPzhwzP5mG863OB0yJEJvLUD+wDj5jNgUqBru5S1EgpZPUpyMFbqZIogvFkjlwayFCbpAJf4zAUBH9hcFNXWJuqywbk0t4zqTQuQQrG/XsFV1N+E/uCN7AG5Qj5Y6vPK61OiV5A/lztkneqBXLOohYOi6cn37t88u9QLg2D6JB4KM1d8= X-MS-TrafficTypeDiagnostic: AM4PR08MB2819: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:zyK/EkOk7iY26LR5DCebzLqgf0BYn0CFvy3GgkJCXaFFje8FitIiDEV++1QWiPQv/ivayOTZREAwvutfd6cPbO1O5vp7PFapnIW7FYnYRUqd8kvsF2ulbe3VXIO8J3KmrOkmhO8uuG+BAH48ljYa64c3hl5fXzNcfRpS/G8qVRYO3LoYYmnuK44POVthuY+8YkxC1kw5upAh/I5MDzHhRGsL4oCoCgm2qFVT6+Jk3aFFqMyMSYbvvJGJg3KrVcsPh/aDjOPvq3lFuapnj5PGPzGSZKsiwLwSzRiKiTVYfrnx6omeJlCWuAhf0kiIHw6rqTkRi4IjtIwnzmYceq6MdF8XiJ7Mcc2zQLeAkUkAawjBsj+qTbMTWW4RQ7W9jlqQy6zCWT2uICgKj+XMHHCuJHKwOb+D5xdo5al8u9D+Nzk=;4:FuG7YAwgqGVZhvYBrteI8sw8t3UeAkCMMCy91Fksu4ac+LYs8JxsgMzk1ZL5kW44THqi7QkSi/E/bVoPG5zEUWzbDlc4bzYEGAuoY39CcP0SWliY5pJyrry7Dgmd9q8L3m0Qh1WeA/2ZJ/lCQxl2rVDffhMYAS4X+kOj+tOVtRlVAV5ivPGe2djF6rVd9FKEM/jEOIywgzzfcxxo3CihIvP5FCczwwceg38QpIXdJIE2/OwEsXhPojoHb7J5wbc+HpMB9jrpdasqtMXZ9brUA7P8B4HxlrB/8bKFjA+f9DJQj3DHhCC5+N4W0REqGRucuGt7DKMY604NsN1VC9wgq2OC9Kd+EDgKtq8xHvkxhXE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(211936372134217)(153496737603132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231022)(920507027)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123560025)(20161123555025)(6072148)(201708071742011);SRVR:AM4PR08MB2819;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:AM4PR08MB2819; X-Forefront-PRVS: 05079D8470 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(6009001)(6049001)(366004)(346002)(376002)(189002)(199003)(24454002)(2906002)(4326008)(55236003)(53936002)(6246003)(229853002)(305945005)(53546010)(68736007)(77096006)(6486002)(8936002)(65806001)(65956001)(97736004)(54356010)(76176010)(101416001)(110136005)(50986010)(86362001)(23676004)(52116002)(52146003)(2486003)(31696002)(25786009)(54906003)(66066001)(47776003)(7736002)(36756003)(31686004)(64126003)(50466002)(16526018)(34040400001)(189998001)(33646002)(105586002)(106356001)(83506002)(65826007)(16576012)(58126008)(8676002)(81156014)(316002)(81166006)(6116002)(3846002)(478600001)(6666003)(5660300001)(230700001)(7416002)(2950100002);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?MTtBTTRQUjA4TUIyODE5OzIzOmFucXZPRklOelhYNE04NlN2QmVRZkxkdmtU?= =?utf-8?B?TnZ4S0dMKy9HeTdDZ2ZrQWZPdmpyYzJUanZWOGRmQWV0MUJhWlIrbSt3aWwv?= =?utf-8?B?bXo5REV1NFJwcmh4TmZienJmczNFRmp2TFZkSmNyeGRUR3Q4cGFJOEtrYUZy?= =?utf-8?B?dEFIaDVRMlh6b2pnVlM4WEFtMVZLZ1RkWGxnK3YzWWtic09pWExpN1lUeWZk?= =?utf-8?B?RXpIdGtyTzRUOUhOQlNEUWRMMGhLem11dnNPNXB6enZaNWxqV2lsMjFFc09U?= =?utf-8?B?UXZDcEo5eDlXQ212QkZZeHhiQ2tvbEo1WkhjZXlSVnU1MnNoZ0VyVWZ5amRy?= =?utf-8?B?Q0tzODZ0Nk5OUlZRbEM3SzgyclE5UUNJQ2lyaXU5SEozazNucWI0TnJPR0lD?= =?utf-8?B?eDE3V0h3bjN6OGxSZldQTTNzMlZQN1hlUjhBNU9NMTBKbmFRNTFhVEhRVHNm?= =?utf-8?B?YzFzbUluaXRrOXdUdTdBQVdaU1cwNGFxeTVWV1ZkS0hNV2U4NjlYRW5UOXdt?= =?utf-8?B?VEo3Z0tGNjRYNmhQVXlYNVZoTFd2Q3VWZFBGNzNLa0dRTUZrNHJrRlhsSlRK?= =?utf-8?B?c1dYaCtycEVZOXZDK1RoK3FoOVBoYnBzNmovaFpRMENtVGd5dWlObTROelNK?= =?utf-8?B?aVlxM25FZEdSVi84V3o2bVp2d3V3dXFWSVVKejQxeWNJVWxQUk9nUDdEMGxl?= =?utf-8?B?b3huWGRwdXlVSkFGMUlMalpaNmtlcURHZE5JcThXNnVpbW54aXJZcUNESjVL?= =?utf-8?B?SlRHanhrSlRYd1lMTnhKVDdKUGJiR010STJ3RjhnblM2ckVDSDNtNWRJRGNL?= =?utf-8?B?U1hvcUdBamhCcWxNbGhtM1JjcWZtUVdPUU5qV0ZuaDcxeXdrUGN1cWd0NDB3?= =?utf-8?B?TlBjcTRnVThRZlphQ2pCekVTTUR1T2JqZDZBTE5pVXB0TFZQa3lBQ3hDd1Y5?= =?utf-8?B?cEtEdTRQMXBhL2h3TVpMKyt2NjYwekJuajVSZmhpWGhpTUVEWVk4L1VBQ3NC?= =?utf-8?B?eEliMW5EZEI0MnVxQUR5Z01pTEFGcDI2ZkJCS3YrU1dEMGxZWWRPNGFmc3Vq?= =?utf-8?B?WlFhMDZVUFNUVEx4dURCQS9LUzZjdEx5eDJFUUFQdEJVSzEzMkdRVjlzYlZN?= =?utf-8?B?UmU0R1NUWVJqTkkyeS93aEl6V1Arb3ZEMlFQcGhHcWNkS1NmTmNoZ3piem9y?= =?utf-8?B?MmR2REVtUFZCUjBRMzR2NERDd2hUeldyVjFEUlpzVUNYSjZvejI0SkRNazM2?= =?utf-8?B?b1N0TjJyalozTGpBZi9kQUxWS0FialpTWW1QWmhUMG5mZ0o2Y1dOdUUwUlhZ?= =?utf-8?B?cTZjSFJ1Tnc1NkJBRWN0VEc1dFB0cHlodFhPV3lGVXU2UWEzZnhzWk9rdnR6?= =?utf-8?B?MFByRnpOZHF5VlVjbEVQSnRLMHFZOWs3V1U1S2R1RlJYcVM0VDZ6a3J1RmVl?= =?utf-8?B?R1FxWTdrMWtnRGlXUUdKYlVIakFkQWJFUVVtaEpXNzFPOTZRLzdmQzdNSjNx?= =?utf-8?B?QnZYRjhxc2I2eElJSG4rditiUHJSN1dzU3I1NFdOT2VadzNsYVY3RllNQkVM?= =?utf-8?B?bHRzQWdUbmpUUTV0VWh3bEJhT2I3WlYxeUlFS1Z5QkdFU2laNjdGUTR3WGk4?= =?utf-8?B?dUpEa2RIWTd4dEc5OTRSM3NuZEM1QzhVaWUxVWgvVlV1YndYOFhZMTFYZmNI?= =?utf-8?B?VExiMUh6Y2RwaXFlSzRzVUhjeE5udlpLNXEwaGdnSExZdGhtSFRIOFNFdlkz?= =?utf-8?B?OVlQbVBRa29heFBqUitIb0dmOThNclVqU3BnNkRsQU5pWmxTczJueWhpdEtQ?= =?utf-8?B?MDNaNFJhWGRiQ0E1c0JaWmZBaXpjcDd6ek5vaVNaVHJMaHJuSVE1Y2xIRys1?= =?utf-8?B?ZC9RMzh5UjYrOGxma0JETHRHRWpXYUduNW9hQlZrc1lXVHd3UUhUVzRseGIv?= =?utf-8?B?TlhFcHRwbFN1UW9iTGgrZmNpU0hYckVobUdtT21QYTV0TzJ6MDRrSVl4SmFp?= =?utf-8?B?RGNZbm9vaUhuVXlVQWR1Vm1kb1RDMVAvS2dQdz09?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;6:jVCO26NkhBOYygPgk8WUDnYP46p2wZ+v1jNmCMlpLnUw6x1P8RLvEukH0neGnvxF1oSeOlyCwWuGsgq/0nuBhwHTJmERNB0ltq0Ix89wv7nH8OByl+MxsMEG/+7Ak08ar8NZ3OVocsGXXwXfD6Yi7qc0b9Y7NRXIvJ9fxWwJBwq9mN3j/ElWf9ra8CJPebsLLRDX+WKAwAwP1zbbKuUYBi15WY3UbpuQoG+zxt9pRxzyXMQvdHa70A8x1CXvZnvWMRiJhXFE08pkA+vT/dNGqVkxjCqDP/1vplYdA8Hk3g6VnOMm6ac/eYmsQG0Bq1D53idvq8ivyNdayde77B+Lt7mglGXfQBYycp4PPe96y+c=;5:LFKk4JOLwmd36btJsSbOh9DCV7AHhOOlOGTa0/YEs0GCRm1clZWEhcSVyBS5vqzpPKW9SljO5dtV+SNMEH7wb9/NyZ6xNU63UzONHUrT8DawzCKWcMBwZsFRcNBa+bXyKZ8ylldacDJUCX6DCLFl/P9K0WBiSyZI5ph5QwFQfks=;24:N2jBMcfMzRKKDFxMFv0y1XEPHVLr0vb0z+iKuPdVxTYZ5FCWziCRuVn81GpokEdARCWYvnG4bGllxsPXd4B03TlzB2v1N5qMo601qPYrz50=;7:9aIzLFb9H6vDrV4xgPHIhkCx2xGwspnHgYle5V0PS5gVkSqNZlgfAlJ8tA6wTX0iQRXzPP+0a10lUpmPqdLZq3Mio8TaTAS0P7SkWi5VUkJioiVx3Xx4v0hInwQmUVAqJi0QCJt+sCCAyutFSamocjhq6ZrowP3OJNNxake+f65j5u5/uZAJWJ8zjYijMKZtp3kOTvCQio01aOrX9tpBBKp9pAhwTulzpo/edgkX7l4kcDjvBMsILvlMdktzj1rj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:vk7gxsoLp2+2jrXKq/ivk6wIXr3xn59I2It/PA3eBq29OoHk/MVE6bVX06LdxlYWku1wg1++acTLEjsBbIbpZEAIINHHo+DFicQhshjX4h7HNHLosmFQLbK+NSmCQnr+Q04KEhbZBdrHwUs6a7IH7mUihPCRzPwsmQNbmS435no= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2017 16:41:39.9570 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 67695955-fe93-4821-4e1d-08d538113b97 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 11/30/2017 12:50 AM, Paul Lawrence wrote: > For now we can hard-code ASAN ABI level 5, since historical clang builds > can't build the kernel anyway. We also need to emulate gcc's > __SANITIZE_ADDRESS__ flag, or memset() calls won't be instrumented. > > Signed-off-by: Greg Hackmann > Signed-off-by: Paul Lawrence > > --- > include/linux/compiler-clang.h | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/include/linux/compiler-clang.h b/include/linux/compiler-clang.h > index 3b609edffa8f..d02a4df3f473 100644 > --- a/include/linux/compiler-clang.h > +++ b/include/linux/compiler-clang.h > @@ -19,3 +19,11 @@ > > #define randomized_struct_fields_start struct { > #define randomized_struct_fields_end }; > + > +/* all clang versions usable with the kernel support KASAN ABI version 5 */ > +#define KASAN_ABI_VERSION 5 > + This patch should be earlier in this series. Patch 4/5 breaks clang-built kernel, because we start using globals instrumentation with wrong KASAN_ABI_VERSION. > +/* emulate gcc's __SANITIZE_ADDRESS__ flag */ > +#if __has_feature(address_sanitizer) > +#define __SANITIZE_ADDRESS__ > +#endif >