From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751381AbeAWJfH (ORCPT ); Tue, 23 Jan 2018 04:35:07 -0500 Received: from mail-eopbgr10118.outbound.protection.outlook.com ([40.107.1.118]:26708 "EHLO EUR02-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751169AbeAWJfD (ORCPT ); Tue, 23 Jan 2018 04:35:03 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=aryabinin@virtuozzo.com; Subject: Re: [PATCH v2] kasan: don't emit builtin calls when sanitization is off To: Andrew Morton , Andrey Konovalov Cc: Masahiro Yamada , Michal Marek , Alexander Potapenko , Dmitry Vyukov , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, Kostya Serebryany , Evgeniy Stepanov , Nick Desaulniers , Stephen Hines , Pirama Arumuga Nainar , Manoj Gupta , Greg Hackmann , Arnd Bergmann References: <8ffecfffe04088c52c42b92739c2bd8a0bcb3f5e.1516384594.git.andreyknvl@google.com> <20180122182047.1da66312c5d94cb4632efabd@linux-foundation.org> From: Andrey Ryabinin Message-ID: <9e61ea96-e10e-e200-e88d-51fc202c36c9@virtuozzo.com> Date: Tue, 23 Jan 2018 12:35:13 +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: <20180122182047.1da66312c5d94cb4632efabd@linux-foundation.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1PR09CA0076.eurprd09.prod.outlook.com (2603:10a6:7:3d::20) To AM4PR08MB2819.eurprd08.prod.outlook.com (2603:10a6:205:d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4ee37779-536f-4d70-8883-08d5624491fe X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534164)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603307)(7153060)(7193020);SRVR:AM4PR08MB2819; X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;3:+AQ9HO3kfw6486NU+tP0sGg6pt67/lIZiLlvnkgFTmy9pBoa2GFZJpq8gRtBJUlR9NCjhHie5d4KSQAavhDWomCMYuid0bi14D4139ODJyzs0oql/gX+R2eK1HhoAwv8DSh/WvMmbcInNi6CV97fV05r53FtJDg1KNPUaKnQ3bhv2efDsA5L12k8ir1jRP79Til1uFTn5Rg/LWVSUn5a0V80BlXLgtCMLpU6NlmdRAjxS3VvdGoHRlH7xarUjRdz;25:K6XvRHujF5XKo+7W9Vs4nBYfSaTq6n+JLtPOUhApnZtTePL509ch/a4dLxGzaNscKhd1OYRYhFfkrKhYliwe+o8FC5DcK7NF/522EbnUDp31wsNcp9lRDyidCyyBjdcF20BUYT8JOsklvvKJYsWmgPs4eNViH6W9hxD7VHzCnR7VZdQUVuvHujWjv7Fd+qE1kCPbNsajb0ohXe8tPmnd0NWA7pmcGJ2bV5BA71hZ6uhdDIiD1JfRKkIYXdC928ygLm2BToAmCIJE1wlZ8LV0UMRIajSiSUvTg5Dap19yx2bFM+KkU/CqArW5CY0u8Fr4Ku1oHn7ZpGTxSsz9pbCY5A==;31:sjduOnVCLnyUaogXm4PcVPQLGS0LavwaIjtxeA7nF3dAfmKrWlPmVTQN2ncKEPMDjemjFRDwpaCmDHdznRkV//xaPd8yMIYZ56dzhu1DDzMJEm24XZQH4rBk63bs8h3ylgyvHSzuPbq6xl4na0bbICP1j18aNOqA73aJFgxJsOUSCERmRnb3ieBXUzX0mI+ZxJu97+N85Fyr75Yx1ND2pZjADs9EeuWsUQ6HgerG+Y0= X-MS-TrafficTypeDiagnostic: AM4PR08MB2819: X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:U8E5NeYmS9OuiYRmW6ddlGdxEddZvy9XUTU6UA4/SavIZJJK/DfDysk7VIpnRuTlnF/uaUmfgFLPp9Ev75EsU21/SBsNH4lXD49YVWPZBCSFSXp/qKDC2FIr4LRmFpN8FxKMzj3grL1MRgnVBZeTN20J4u+A80ICnWkVcsu3MrUvN3xau1dd3Azq8Kb5vn7swDXNtrSBj/ZSzBC6yj/WT4R3EQgpgOG30JPSCSpVgM0g9z3tCAXY/JbB1TuZELP8ztEs0B7fQ76S7sr/HOb7warFvdDOLFUqocJx53TxeL6Pv8P39q9FkgsVPx7l6JQUuzGdWrvD7RoOEGh1LpFF17IqKnP7oUPCSyYzX7sdXIOWKVOG9XjII5Z5wKQI4CrhSY/+8Dv1TAQN1OcE4YqZwEMGon2hHGFhM/uaL7RQRSo=;4:9uyPOieBr61flLKz0b3Ejr4TUcbtmHGkgYfJvOzsFXZk+Yh60mlHku0O3AhSxpb+r+LZtTq3B6FKKEwLsBu3rgBY0Bu+raclPs9KhhZRWnojnglgVkHdEQxVFWvPg/g/pxzKNgjRsBAC3lXOcPX7qfHSiHuZlN5Ug0JMTExWfe191BRC205Pcfy9Y0QgzudllsZXT946b/WA7IicjXF1g+LHNtP8mA4X4PCHVo+gh40AZ93w7664BqUrwMA7w5i6/03smisSdJNVNfM1knD/9knOVCk6OWfkAQ4dwHI+qh0cfivu2IhvZiz3H4KWm2xYqofrM4KL7JtCv03MVVGgRC+vTanUsIp9wreVv2TBAzhjt54stskPyhmpVu+o3Y9i X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(20558992708506)(211936372134217)(153496737603132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(5005006)(8121501046)(3231023)(2400081)(944501161)(3002001)(10201501046)(93006095)(93001095)(6041288)(20161123564045)(20161123558120)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(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)(396003)(346002)(376002)(39380400002)(39840400004)(199004)(189003)(16576012)(110136005)(50466002)(305945005)(97736004)(23676004)(58126008)(2486003)(52146003)(316002)(54906003)(7416002)(52116002)(31696002)(386003)(76176011)(53546011)(55236004)(47776003)(229853002)(83506002)(105586002)(66066001)(64126003)(65806001)(65956001)(478600001)(16526018)(8936002)(81156014)(8676002)(81166006)(5660300001)(53936002)(6486002)(230700001)(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;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA4TUIyODE5OzIzOlB3SEdpU3U3bGNwVFlYZGhPaUdURE9KTGRO?= =?utf-8?B?NnlGUE1ER1lXQlpmdzZ6eHhxMjhGVG50eCs0RWtQZGlQLzZlSVRMU3ZxRDFX?= =?utf-8?B?OFFMaGo4RXBjQXZCT3kyRzFzbFdCTGZhTmNKUCtaQnJiRE5wb2Y5UWZENUV1?= =?utf-8?B?Y3o1NGk1ZmJ2Wno4YlJyZUZIOXk2S1lyQTlJV1BUNnc1Umplc01pcjlHS0dN?= =?utf-8?B?QXNCbmxIMWdwSXRQbFI4cUl1L2tYc081OUQ1dHhaTU5tOFF5bVJEMkE1eUpO?= =?utf-8?B?RkJxQklOcG9KZjlDVUpxd1NtSkNFRXNwWlNGZHVWV1RKVjdTNkE4SUcvVXpP?= =?utf-8?B?RHNZWGZPYU5KNU8yUlNvR0Npc0ZTY1NkcVdzQjlCTWR1WUVFSEVjaFRRbFB2?= =?utf-8?B?TlhVN1BidzBWakhjOU1GaHRjRG9iamdESnoyWGNLVE5icS9lNWNjT0twR2JE?= =?utf-8?B?WlAyNlFlZjk0V1VHc2RoTVFCbEQyTGljQTlaaCtyRVNiWFRvdlY1Z2JEVURm?= =?utf-8?B?V29MM3Nab3BncGxlSDdmdjFuTHlBVnBVMFowUmRzM3M4SnYwY2tJOWw4NGtn?= =?utf-8?B?UlFHNFNvUGJNQkFsa0l1U1JQOFpVeGRpYS9HVy96eWs0c1ltUERnNG9pTnFE?= =?utf-8?B?TXl3YzhZSTV4b0gvVWo0WGNycnptSE8zdnN3bXdIZyswVHcydkVYdGZUVlpa?= =?utf-8?B?aWJZNkt0eFkyL2lkWVVqSEk5Z1N6Z3AxRGZ5Um90d1J3cVFXcXR6TmZDNXJM?= =?utf-8?B?QjVic1pMVFg4bzRQSWhEUnhtZXU0bWM4WVovWi8zQWpIeUpYcC85dDVtdDRV?= =?utf-8?B?SUhqNEo4Ukh2M1E1RUdXR1p1cWtYQ0E5NmY4RmJsMG5XZW9VdVVCTDdkazhX?= =?utf-8?B?RENhZm9MWHVwdU54cDJQVFdZZHNkM0dyc2RXV3RHZ2NjSi8yU0RlWmtqdEVU?= =?utf-8?B?TjF1bXlaVXArQzd6eUlMd1NUc1IxZldLbks0YVVOL08vV0dtdHM5TVROSk8r?= =?utf-8?B?dGZFdnNIaksxRmJyeFFaRDlvWFFNOTdPaGdOUW5ZWXM1WGNMUzgzMVRtKzZU?= =?utf-8?B?MTNQMU9sSkpmbHExc2hqYVNuZVliamlOWVk5Z05abFBLZ0FSbHBxWEZwb3o2?= =?utf-8?B?U0FFaW9SdW83cmlDYkJYSjRNSHpyd2ZKRmowaFhIcU4wWWFVM0dpZlQ4U2hn?= =?utf-8?B?NisweEMraE1OanhVY0ZSRnBVQVFrZUM0bzF5bUNZMnRlVm5qL2NrRENlM3BD?= =?utf-8?B?UWgvZU1kMDI0YVpDc1pwMytPaTZOTlF3cDFqUWdFY05hVVIwbFFVQy93VUp6?= =?utf-8?B?Q1pnNWRPTWQvMk56aXNwMDRGbG0zMUFGZ1RIbkdzbCtzU1diZnl2d0JsQVJW?= =?utf-8?B?aFFxTHdBMlJsVTJaZ2t6cERiQTdDZlhMVjdNb1JMaXVIZVNJV3A5ZW5zY0g4?= =?utf-8?B?YVlUT0VxZTlVV3F3ekZUYk8wZG1lYUl6Y2d2eU1IMUVVcmswWEFzampXNGJL?= =?utf-8?B?VURyWlRNL3dHQS93aGRXYXBBcGtHcXdpdDkvbDhDMnNCQVhmS01FSUZZREgx?= =?utf-8?B?UTYxUzg3elZocG80aHl1c1g0U2FKRzByaXE2SWNrUFBacHlqUEtCZ3l4SG10?= =?utf-8?B?Vm95eW1jQ3FIQ3VnS1dUUVRFUXJ1a2Z6N1IzYWFLN3V6bkQwRWx5bUNhZkhk?= =?utf-8?B?NWxaUjQzN2U0MGZIRWhzNmZ0b1lHZHFWeUtoS1Uvc296aGFIbjg2QlJ5SHZZ?= =?utf-8?B?bXBqMjNrTjd0ODY5VG0zMUZYbVNwYkF0RWI1c2RndHFub3ZLc05yN1cvNFNH?= =?utf-8?B?eFBZNHNEdStIOUE0WlZ0VndVenVTbFA2Uy83NDEwdEs0anl5Tm9Iendlc2JE?= =?utf-8?Q?CUk4nvIwEBd82nPFMOa9xIrKHRhuCjJx?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;6:w9xr0CjrNhw4I8l4AKWYG4CyWBHkngnMs/s9FkoNtEAzpTbIcubzoNUhr9PD8s6iRxKzKg0eBACjMwvfo4Y5fJTHY/bVElpNWcwv38LqZHAnlzaM4VkUTfYXzaOJIoSfMMBnfVtsJzhMfDk5KWFYF0hhdzibvGKvCP+uA8bEPLh1tg02V4cXCTA6SUP5I+VX4iv8onn6sX+PzptJr3EyiEzVluX058N4y4M78BczGd2QYM8t4o7jMb0Cv99hjKgLS/ZaEJN1zvl4xB8owsBdnwyyGSQ3X2HUbbOmFd1zTeseK3CJfS1zz0U12SqNv5gHF6FPGW4+p1RnqW1fpXZj3uOXkBVnCfyWCgD4IFIwNps=;5:9jxIjaPBpNsBkq/dNTwX7IOKhOjlUAo72U/F3j+qiLswW4eJZCiU3VEGSE4mqlkWWFepCFQ+4TYQ8XSs1wtFFNWZuyu/DExNpu8jQ4MDJU15wrqb2W7WLMauxs8jL4fGs31BrclvhIafVCmHfUWtHUWxjVR2kHfr8FtTUctOOS4=;24:/u7JWI/CN5zRgTI2yj7fEtsfcOw/XmsCp3iO5HXqdHJOO4fr2bFZokeY+s2e+Ophkic5DaVRQ0RZ77HJ/k6jj226c+snhrmSVVdjdETRgtA=;7:DrdziihRWJC25LYwRwxO6gEuqJYbpTQiYlAwy0yDaM1PpxPCBypoRNaeAYNYfkALp30Q6v/rslWKuBfFGYrn8OlZxdR7lSvxTDlM0cqaQPrA4S9M5T9WIk3GTdOWqo+wW4t0ouv4HZwdgWWdLveTUVVaS40BFQPXp5Jx9IhLULU8YFE+Hn0dKyyeWZLOiZ+AdD+fqUo4tCfG6yyT6BQZfYtnkknWuhu9wV8DnJQqqBeNP5q3zX7TrHy3dSlO/Mrr SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR08MB2819;20:GRfrlbVl8ZJbNKBAQfMhwFPOIPY0ZlQMJPynhl3zBa1wDWM2Yu0rCT/1hma85C5YfHmyIZ+6kW7StGQf2PM+u55LjD2fVWbqsifrIkkjbR/slxzLWs5wwtZ5cY6g2oHS9aOyXbMi+9yTvIIach408Z4BkzR8CVDH4QCj50FkINA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 09:34:57.7749 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4ee37779-536f-4d70-8883-08d5624491fe 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/23/2018 05:20 AM, Andrew Morton wrote: > On Fri, 19 Jan 2018 18:58:12 +0100 Andrey Konovalov wrote: > >> With KASAN enabled the kernel has two different memset() functions, one >> with KASAN checks (memset) and one without (__memset). KASAN uses some >> macro tricks to use the proper version where required. For example memset() >> calls in mm/slub.c are without KASAN checks, since they operate on poisoned >> slab object metadata. >> >> The issue is that clang emits memset() calls even when there is no memset() >> in the source code. They get linked with improper memset() implementation >> and the kernel fails to boot due to a huge amount of KASAN reports during >> early boot stages. >> >> The solution is to add -fno-builtin flag for files with KASAN_SANITIZE := n >> marker. > > This clashes somewhat with Arnd's asan-rework-kconfig-settings.patch. > Could you two please put heads together and decide what we want for a > final result? > > Meanwhile I'll "fix" the reject with > > +ifdef CONFIG_KASAN_EXTRA > CFLAGS_KASAN += $(call cc-option, -fsanitize-address-use-after-scope) > +endif > Looks correct.