From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933529AbdGSPjt (ORCPT ); Wed, 19 Jul 2017 11:39:49 -0400 Received: from mail-he1eur01on0076.outbound.protection.outlook.com ([104.47.0.76]:25952 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933175AbdGSPjp (ORCPT ); Wed, 19 Jul 2017 11:39:45 -0400 Authentication-Results: ezchip.com; dkim=none (message not signed) header.d=none;ezchip.com; dmarc=none action=none header.from=mellanox.com; Subject: Re: [PATCH] lib/strscpy: avoid KASAN false positive To: Andrew Morton , Andrey Ryabinin Cc: Linus Torvalds , Dave Jones , Alexander Potapenko , Dmitry Vyukov , kasan-dev@googlegroups.com, Linux Kernel Mailing List , Chris Metcalf References: <20170718171523.32208-1-aryabinin@virtuozzo.com> <96a21da7-1258-0ada-298f-e0388849402a@virtuozzo.com> <20170718150441.fe789a065bd97d7dd67e8b36@linux-foundation.org> From: Chris Metcalf Message-ID: <8cf46473-062e-1b7c-1756-aea57daa8e65@mellanox.com> Date: Wed, 19 Jul 2017 11:39:32 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170718150441.fe789a065bd97d7dd67e8b36@linux-foundation.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [216.156.69.42] X-ClientProxiedBy: BN6PR1101CA0015.namprd11.prod.outlook.com (2603:10b6:405:4a::25) To AM4PR0501MB2754.eurprd05.prod.outlook.com (2603:10a6:200:5b::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6a46cb2d-19a0-42ca-1c45-08d4cebc5fea X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:AM4PR0501MB2754; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;3:DE2HUYl8fl2zIFaM/HNoWeUt6LTrbEnp/ksgZTtAg+uU1EVEzpg0MAdRRRI4v4gGH9v6X1NaD6Izk9qLPfSaJ0oty4upMBsCdX4p06ACfVJNi7bOqwUhdO5KaAHycczzMsuNSaFrrnDB9Z9kYy/xc0Y35A9Vs1YktJ+Biqtl0I2r4fyY5b8uH/6OJstEPNDZLDryRsQGsQKGG+q10SmnfM+4yBbWIJgOq1ObK+V7t2jAFW9lEvEi+32laErqdN6WdUTU8ekFcirCw2oqxskqZI/Q3Oibz1CFOaySsjh6UWRkBhXckasKS5OnsizR3xmGK4NBHrw8ae1Hkr1rOcln/yzUNuCRa+Y+e21b9l5Unmn9RmBVhn7bGQM/mRfJSoaYYAr9SBlBGCAKhh3a4cXPbtQZGQDKnW2gkt018G7xJEwf2/rbNTuT1CGoUdK4UjgioJFYLKPmPcXq+pd4YAU37I6SAFwHGkgGXy55qSBW6cACQBixcQ99aqph2MnpsvTISuxNKZHtRFqvPf6gestrbXXFGf+M8qD/MvVvVe55uNaXTJ0LB175+PM+GXIVrXathAxqzmMPGg4WZlJFvef7g6GZqVmvtgKwZKhRHn2hqHTuZ/fjIoknHdRT+BCeY+4L0xAadaHSCNQvTMWEoa610rZCJlhXw4gfsgDnrs8cKwvoERTN69LemtQf/nzYAvseOLzxDTehEI5hSyRNxhHypfQf0Uf9uotUqb7prGlwiRR722Fw6E1S21ZdpP3lEjdm2N4JdO1vMz01EKE8sq51vA== X-MS-TrafficTypeDiagnostic: AM4PR0501MB2754: X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;25:ydf87L4HaD4Pr1TSqZ5YLA+o4oviZJnabRKn/XXf+7qyPRwgZ32L9CMQl1SBTqbdnZ4I0m5BFXO87IBPAqD/fiolzIyQPaBa3QXhuORwneX2i6Ot+41mNCB5PTKADZYzPY2dAA7SHpGgT2EUSX3ys0VqfXVHdgK6D2apofyrG4eTaTWfdsJUFoKxx6tYoSiJvPwfnBisBKxTBpTsxOBm5RfQHzc5kTm8luQ2CAXb3rpQ+Z48Q8YGrCbUeDnUvYG3bgCdhzKOTgCPwgFXzwz1p5Wjx4j7hbaFWKzCrQxgMgZ6cJliellcmCozCSCNqDbHH//E5qP5wTBpwbhuTNmaE/e3sXWQ/SFVsfWkhS1cQrnAnOI+PzGmwlhbN8sWcjgHEjiArsN/NGslmLxz7NGUbKg/EOnKmwwVmEx6ffUweH2hWU+AnIuE9Aa+PxjU7Nbyln1KLNpycTe60i/eR+0k4E8XPmi2GpmQzD71l++bs4TnDz51XwIgNoUdIKg8sDANMs1O5J9LdROqR27S7L7Ko6XdHW1p1Ni4Fy8ssocs5HNOYBGTM1iUu5CeaRKtwV/1z0jiqMg3qfVl+eAJ44sk7U8Wr1bBBjZ4EbMnyFziOsQzsC3GOkQKsd0gUGh2KazQazNRcsZHogOFgHPWuCt4ViczUN+G3Rnv0VADOcKtWeEEyW7VCcQPQvGGDDU7DEtcBO53Y6QZ2Ol97yLSFzSaea1pBJ8Ld0U+LvcbE5HpZyaL7oX81sIMc08jr7yoK7DAYKPgsDkKkaVSiCPZOafIBAoSyDLwTWPIK+FbXiUNaNRgezV//sIf4iijD2QDkwEAjX18mQSfYqmcsymPEZYzPF67klMuaHzYpzdLHnp8Dk1FH1ufZ2yRd/1qKk7rt8HFr7NDTT4zxCniJM7FhzhS6AcHXPHqw/LTFeW9ovXdUmU= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;31:zneGlobYGFQ2hnzDfb+gi8U1mBqJXxV7w+HWbX7zh5CwJnPBxqQkvbLiluc2glFnXWyRrDOQ7djuPuY4L0h5vRgU7/ybZIhl4/uBE+pXpK0vM133dh63V/LPyb/gEYRA2g6JuDcaPJqxzTXdWs4Ic7NflZYXLZ42wHkL7X+P1CNUB98jkFVPJW5HZ883tBK2rvUa8qO0EeItHheiDmu8Z/mAiNSxcMEf0EfPmPz5EQ6nwWOma/uyWwfVtXcHt+YHRh3cfItRaxojEYK7LdTnNv36pwtIsiPM1NbN59nG9npIbHN4XO4xUprGEaxjq1UzB5OjT8O08kkoKoOimRy6qcCGGNgicLA8gKRtnV8NFv9W8SC7MhprUHP2VCRTHfJOlKw77PO97ONrACgfhP0pjwWA10dtzBsJmQ0TyFNCYrZIHAFUiG+7CdFs/9xvg1C+4AgKjZ9sa9TYtjk1Y5LZJilKHEe3fdl9J5tSk5LMCnZKlAk1kdywKb8aAN2z5LEThmeNOZRktV3TQhiqZtjJ9amLmSX48j6lRAzCbSYEImMdIfUIgm1YpgH7Y9L1x6/JS0p5ixkRuj2Gb18qow4ERosmjmKxKhsRWRyf+LhpR2AwyV1HBm0HFYIinfm0sPclvAK053oV5Aq+jQ6ywP+GlfS5YTCmbfM50onZasG7DW/zpz1DQMRrqvnrR6WHuMyOpJPPcmXCpCfsj7znHZCMFg== X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;20:UHZPUkH0ddGQtT/NZB7MkHEHehBxqFxH2x8rlefgcvWZdzapBdP+7OuXeVgYD4Gc91SyBfbZ5K5Bqk4tADCXrbQzb57cR1vhUz0XtcnOLfjuNsHvfvO+cUnuw2YOxnZt8LbPBsVOlVpPD3EE33G/Zr/fde46DSJAbcxu2oZi7FnMlL2G8oY7UGLo2zJzMNr2ZsldLnR3e7mFND026Hf5ij1VCBboEow4FlMXf8SDMpP1dVM4u/JpRS9H4urp85tGgNyiTyQbVvwvV60tyTjCAvJa0FkU04s2E2rG8lDoz5P+RnxIZX59bkD/5AALUpMv6XmNnCqIk7lE7cMWNLQL0URPb6b3XF/+cY5OYFOKmMp1WqWmpH9/d5p6z3KyY8KD8sY4/UPBPaPRl6kKj1hhdvybJZYEOFOGijnnkb09dyqH4L+u3O0P5yHsxC14jH4A2HboPn67x+oujorl4JQaivLklgE44BXX7Zln0hvDHUE/mdPw6kY6DqLNL/v/A+GU X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(171992500451332)(788757137089); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM4PR0501MB2754;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM4PR0501MB2754; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA1MDFNQjI3NTQ7NDpMSzlUWmZ1WHFNTXV3WkQ1RkF0d1B3NERJ?= =?utf-8?B?L29OSHVOR0NPdHBnTmxxcmRMQVhOWm55eGRwekJtNkt0OGsxbHRGUCt5dG16?= =?utf-8?B?SVlKcmdSdDEzNTVrWkdyUWttVkxSRXF5YWU3ak1iZ1ZWZUx2YURqdWkrN1pW?= =?utf-8?B?TCtGdE9uamJjSnFxeVhxWWt5ZDRkbHFjQVgwam9jc1pxczhST251YUUvYmFK?= =?utf-8?B?SVNpaGhFOGp0SjZEdmhWU1ptVWpDU1RhUGNXVXRxOW5oSG9ocVZ3WmZlajY2?= =?utf-8?B?SDBGczZPb2FIdW1KTzFDYmx5blFpNGlIRFAya0VBanQwZHF6QTc0YnZ3MWh5?= =?utf-8?B?Q2ZaZUdqektYVndjOWZ5ZWRGT3krM1NRYjh0QTJjMTIvcEpJOXFWR0pDQ1Fj?= =?utf-8?B?TmdicmNOV0dvUU9nbjRKeW9aakNvSnFYZzc2TFVnUnhoL0hiUlBxeVBYdGpG?= =?utf-8?B?dWxVUzZDcVpGNHpTV0xuemtxclJxVGFrblMyWVBZV3pkMlB0c3JVSUlKSVhR?= =?utf-8?B?aVBPWGdCTGZCb1JHY2hncTVERmFzbUp4bHZ6TVFmK085ZUxESHUrWi92TG9X?= =?utf-8?B?akdZc0xrcFRmSmQvRVBzc3F5K0ZkQjl0YWdubXRHUkhzZVhGc2hRd3ZTbGNY?= =?utf-8?B?czZVdmdZcFF1clR3K2RIVXBxcThIQzhQMmVsbndKQ0xMN1NRWnlHWEpsTDd3?= =?utf-8?B?bmVJejVvOFJkaU82NFdid1R3eUlsNks2bkF5eDE2Z2Jld0l6RDM3NWJjMlZC?= =?utf-8?B?RkxjSjBnRlg5eVpGMCtwVlltaEtmaHdUTWhiVDRPdU1QakpocUVlMkVTNXZM?= =?utf-8?B?NCtOLzFyYlpMR0tGZ1prWFlNZUVNVndib0hPdStyUm5xdjRTaUU0NUpRdUVG?= =?utf-8?B?YTkrYURoMmtibHIzcTJJREQ5Z0xJSWk0V1h6UStpY05abnoxdGVXbUkyRWZC?= =?utf-8?B?UmhEZkxLRVg0dmR2Q0dkK2ZySnoycUZFN1FTb01Od3dTSWxQSHE1bThLbWRC?= =?utf-8?B?d1lKZEorR0MyaG5TQnEreU90ZWRpN3FpVXJlMUpwUjlnK25qUW0vYll5ajdJ?= =?utf-8?B?RHV5MFgxbWNWRGQ2OUo0dXdnVGJWcllFQVhFVmZnU054RXdOb0tLNHBpN05B?= =?utf-8?B?bm5zZ0xyZThTckV4Z0tIdTFlczU0R28ycUlxdFV0M3lranFxSkVNS3BSS0p5?= =?utf-8?B?NWFQZy9LMUZEUWRicE9vaHFUeVFwQWgzRTgyTWVyY1pjeVVwcWZ0MDh1dEJU?= =?utf-8?B?ME5GUjY4WWJhRTlJVTR2aFhoZVIvYzlGanBGcmtxMHNqZTFndlBpcGdoVVRI?= =?utf-8?B?ZkU2anBWUHpXUi9Fa2lkM1FxUU5oQVA3ckc4cHNIUVA0YzQ3QnppcTNmUnFh?= =?utf-8?B?U0k3ZHRQV2xOcjhKMXJxazliYStnYlNaN0grTkZSSjBLTjFzZEF3cXlpZlc4?= =?utf-8?B?R2M2cWRkY0xxaDc3N1JSYkpMZGFBT1dhQU1mR1NodjZKcG9wMEx0VjB3bmhE?= =?utf-8?B?RGJJMFRGc1p1VXNsb2ZUNThZN3VQeGVwNDY0N1BhVzV2V0RUQVZpSHc4TUMz?= =?utf-8?B?Wk9KQmE4RGFXU1ZIUVFoUFlic0g0WkhqOEUxU3dobHlEeEdiL2granJKUEp1?= =?utf-8?B?RDNsSWt0ZFROUFF2b2cwRGt5eXAvYzVXKysrZG03UXlydGFEVnFMMHl3NzBS?= =?utf-8?B?c3pNSGw5ZkZ4eDQ4b2l5Z1RVZDlkWmkrcEhZT245eFI5a240YytZdHNXQnVD?= =?utf-8?B?K0dGVHNtY0YwTjlMRitNZkc4eXg5akZ0K1dnRTJKY1BVT2ZZSjRQdkIzYy9G?= =?utf-8?Q?BKCUdmKLrJjl1r?= X-Forefront-PRVS: 0373D94D15 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6049001)(6009001)(39450400003)(39410400002)(39860400002)(39840400002)(39850400002)(39400400002)(377454003)(24454002)(229853002)(76176999)(54356999)(6666003)(7350300001)(38730400002)(42186005)(3260700006)(25786009)(31686004)(107886003)(6246003)(189998001)(2906002)(36756003)(33646002)(6306002)(53936002)(50986999)(2950100002)(54906002)(3846002)(966005)(86362001)(66066001)(4001350100001)(478600001)(65806001)(23676002)(47776003)(5660300001)(50466002)(230700001)(81166006)(7736002)(305945005)(83506001)(64126003)(6116002)(31696002)(65826007)(4326008)(53546010)(77096006)(93886004)(6486002)(8676002)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR0501MB2754;H:[10.15.7.183];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA1MDFNQjI3NTQ7MjM6bXdWRXFWK0I5KzdSRXBHYVlLUXhVKzRU?= =?utf-8?B?bXdFWFdOZVNoMUFPam5yenlxWWFFOEtxMVg1anB1c0p2OWh1S2oxbkNlVGkw?= =?utf-8?B?ZkNuK1hDSkJ2T2labGdhbEpwbnYxVEpDcm5YTzZzM0VMQS95NnhZclI3L3JT?= =?utf-8?B?b3Brd0xZam1RZ2plVHYrM1BXVXlIbnVFcUd3UXJaaGQrcm9yZ084LzlSZzBu?= =?utf-8?B?UE93UjMzeXJUcllhSnJuSlcwazU1N0dOTHZyeWpwdkFWZHh2SDIvMWo0K0kz?= =?utf-8?B?SjQwMnhzakN2bkh6alJIM09meHl2R0Z5c0NWWmMybVBmZ25raC9GTENYZTl1?= =?utf-8?B?YS9SSDJUNFlYZFU4Y05sSnI1OGJjYW9CM2YybnptSTFhS2pRVzcySXhGdFd1?= =?utf-8?B?QS9ua2VmNG9ORmVhem14QXIwNXRHRUtRcVBvVjhvdlJrRldwaTZ1OEE1U3Mv?= =?utf-8?B?TVMrdWF4bllGSUxSaThGRktSaTZGZytWeTE4TmM4UDh1blBjZUk2dHd1bWhx?= =?utf-8?B?T0h4dlJ4d011dWE5VXlRVXJrSERwcEFQSmgveUVtMHNCclRoSUZiK2E1RWZO?= =?utf-8?B?SVNEQmxPTndibVplSVRRUXY0dXAyd3g3Y1ZXYlNmb250cm4rV2x4eEE3OTFJ?= =?utf-8?B?cm5HNFZnc1BSek5jYXVjVkJmRWlROG4wSWRCYkpCYnZJNU1LWTllTXlycWwr?= =?utf-8?B?TFpYZDRWUnhhSmswSEFFaHhoaE9USWlIMkwvTzJqTmlMdW1VSlkwY0xKYzFL?= =?utf-8?B?L3I5Vlp1amdkTUdpWFdub0dMRXlmamZEMndYSHl3SHZ5dmVIdGlBYzlqNUtO?= =?utf-8?B?NDB2VmRoTEVPRi95Z2FKcWR2ZGhUdDI1VDN2WlpCRWh3VHV4V0ozUXFzSVln?= =?utf-8?B?MUhwMVVVRkpPQUJsSDd6YmFOVDVEZHVOVVloZVoycFBZNXF0WG5SSnUvbUVZ?= =?utf-8?B?SlhYYjE2SXhLS0ZtRytCODhGVWZyTHpTOXdYdFlSTnFMS3NrQUJSRU9WN0J2?= =?utf-8?B?bEUzUzY5YW1GNFUvL3Q0b3QxenpIR3BHUEk1aEJoem53TXNXZDYrdnN5UFdQ?= =?utf-8?B?RlJOemhkTnhEbG4rQmdOaFdlQ3p2QloxV2hjUjJnaU9IV3liamUwdHEzTk5k?= =?utf-8?B?dlFabVJMT2p3QWVVVnhDT2thanJIeTgrSDJXdTBsZjJkMXpnb0d5OWI1dVdz?= =?utf-8?B?NEJRNjZFL2JXcVRxdFRwTjVHdkJYZXRxb0NpczMwbE90NEE0Uk1yTm84Q3FI?= =?utf-8?B?V1JvcHJVOWJ3dUgrQWdob0RmUkcyK2piN0Fid0tibG9xcGk1djVaVHRqT1oz?= =?utf-8?B?TSt1RTBmYTFHQ0V6WUx0THlxdkpYSjFidUdpVHN5aDRQdmhVK2hQUWVLWWlH?= =?utf-8?B?NU5tMmh5MSsrL0tocFF4QmhFZkJ0TjJrYVFralh2a1FxUTdKb1pKL1dHb2JK?= =?utf-8?B?NzNKSWJTTFhYZUs4TmNVZ25TQTM5Qk1nVTlHVVVoWkJvaUUyT0pDdFpxU3Qy?= =?utf-8?B?bzBLSm53MFB3SW5tbnpJcys5eVZKb1pKeE9JS2tKL3p0SVNBZkR6cnMzbndD?= =?utf-8?B?K2dZYXZEZ3VZSVQrTUhGMmxGK2xSUVVTbmV1TmpQYURxekhhLzhzOFphdk9M?= =?utf-8?B?eEtuVERFQUF6dWFWUzM5RVNLUWlyR3FCMElEenJtRGdPQStFSU1YZExHZS9V?= =?utf-8?B?THByZXYrSXBNV3lTMlJKTnA3RUI0VnZReUc0S1ZQR1k3V1pvVlQ2THdiVUkv?= =?utf-8?B?Zy9MOGFzZzdFVVFoQUJrNFZ6Y0FtWURabHFNVzdPZDVVSUtGY21NYlltVDdw?= =?utf-8?B?R3lkOG4xOER1dGc5WjJtV2Rtd3MzeU9KcXRUM0Jzb3BrM2M4V1NpT1BZV0lC?= =?utf-8?B?Q1RzdFhsbHZabnZiVkx6OExVZ2RQUEl6bkQwdHlXSk5FM3Z3cER5QjFCMUFD?= =?utf-8?B?Vy9EamRzMkxrYmd2RS83RU41YUprZXJGc21BVWlWcDEvbVYxVHhiaGxRbmVE?= =?utf-8?B?OW1tZ1lJRUtFQk54OSt0cWswc3dsbURnQUVoMy9RPT0=?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjA1MDFNQjI3NTQ7NjpwTThUQ2s0b3dneXN3cXpaQ0JmemZaU1FJ?= =?utf-8?B?SzNzTWppQlU2cDRpVzEyWFZVUVo4RHhTN2o2cklXU1FrYlh6WXFMVFA0OE94?= =?utf-8?B?c21pdXVoV016dTZDbEhRaFplNUpDb0puYjJEeDBRdURYQjZJSTZ5dnQrVHdD?= =?utf-8?B?TnlXNnJ3eUo2M0x6WklJc3dVanVqVllTVTU2SjZOS3F4Z0FrVzFRSlI3VU1B?= =?utf-8?B?QWVVeEJOemVVc0pIcVUzbWpTWWxpcU9XSGdsVzZRbXJ2YVJxRkJ0OGI3bG9Q?= =?utf-8?B?bjhHWUZmT2Zmeksya3JPSUpDclMwajN3cFNxVXI5bXlGbXJvaVBhRGJTdk5H?= =?utf-8?B?UHd2RTVUUWowSHV0WVc2ZnExQXVwZHg0T3FkbjBmZkFpRmwzZDVFck9VWUNR?= =?utf-8?B?WEtEM2taVGo3S1NtNWIzYXlkYVloMHpMU3Z6QjhrZlQ4UHkzWmhQcTdtUVJQ?= =?utf-8?B?NVNPNXZDdU4zc21aT0t6TER0ZWJtKzlteDZYK3A1RlhyRHcwcXdubmJCN2pB?= =?utf-8?B?QVQxVFdGRzFRZjR4YkhHSzhUTHlzbnFCaDRrQlE3Q093QVNhRTFDN1BnNzdr?= =?utf-8?B?bm9BUGxFRkxLOGl1eGJxbDhVZFJzRGVvMXk5S2UrNVgwQ0NPSzlONDRONVdv?= =?utf-8?B?VWRzT0ZwV3hEQnR3UGU5bTBERk5MbnpJaU00SWVMV0dWS1ZVRGtYUlFPaWRx?= =?utf-8?B?WnNoaDF5VXJCY0tpWDRhMWxycEd2dkpWSXMvV1ZUMjdlVjFrbWpRaDczaXJJ?= =?utf-8?B?TGtldXdOSXpvRXVkdURVM24yRUJkdkFuUlN4VDZvVjJVMlY5dnRrV2thZzRm?= =?utf-8?B?bWthaTJ6SXNLcG5yNk9NSzE1Z0M4ZjdRRFl4YmV2MjkyRTh2SDc1U1BGakV5?= =?utf-8?B?SnY0R1lMU0hmUStmK1B3MGdiamNTUnJDaERnV2lKWUJLck9JbXYzZGQwYkRK?= =?utf-8?B?UTNVc0RoY1lKSG9wZEVYSU5HbVQvQ2V4QUZYRTZOQ2VzWHJIOTBhNkR5d2dY?= =?utf-8?B?azEyKzkyMUhXZ3JZMkJwNHNzdTd5Zkw4cW1nZllJNzZkcmxoQmNoNHhMc2h2?= =?utf-8?B?bkFTbzFGVVU1TWQyK3IrVGYvUXlRcm9UTzRtcFI0QjlJV1FQWjhjdUtFNGwy?= =?utf-8?B?SmNVL1hVRE9vZzBuYnc4YlhyeGt1MXVGQzV6ckhzZEZnNmlwa1RLTWFadERW?= =?utf-8?B?TndzVGFGYVlzeGlQVjI4WW1QZU5tcU9uZDNScUFwTDYxcWtMUTNJN0lLOUd1?= =?utf-8?B?VHl4UzYxRU1HSkR1VEpZYW8ybU5nTUxrMWxoZG5DK3RIVUxwaEdMSjFMYzZh?= =?utf-8?B?Tm0vc2lOQWdGTDNPWDF2YmpWdGU2R3RWWTlrMitac1RPU2dWQ3dFcUNSVDli?= =?utf-8?Q?DCjUtG/h5?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;5:cptoSJQhjqbfcCYtt25N98pggOvrf9yD+2zj4cnik3vN2kTUjSrQTlTWFP4Eqo/de2qErMZlE1LAlZIh8TMrlqNQNvnE2rBs31d7kNzD1jbhfFnyKVqTnwiVAn8YZRedhhBkovZQmDPKk1J18c+UANLFP/hQ2c6efik/M5JOMblJVO5Xrgro3R0j3zIdWfN+pSuexQ/bxOPLs2C9/zl4JWx5FjwjzJxoP6xbKoR/TkbupQSGR1Lj42X3oDBQg78dJAyh3CR2s0nWHKgwg6u09KtfLHgq8iSBdwseBXiseGaOYsTnNvfONzor+nb2QSCbPr3bOk9HTqS1raNEzD/YYrAwRAAq0C5Pn5gM+xeaBNwpkk7KzOZHbnkwBrm5S3wiK8U300EQ5ragMhtFM+Oz4hwGmD9Qyv7ZEtCixmdOSUWruBOuGmdY5BNZ4VOAmv/h8FRiEOo57ha8x8P7AF7forJsFaWyNOkGktEudnLzLQZqE8efpwohns4VWIvPkZ4r;24:AdISaC9QWdGCQ+XLtQ50VZXHQq+mBwKFOQBmPfVgawI/nKzXIk+0KqjToKPokCQkSNBTlK8juVJIwuZ1+eE+I4bUR40yoRhvzXOh7rhNE9w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM4PR0501MB2754;7:mS9P1Z5LryCPTMGgvDegVh3gobHQDkYAQ6U9qa0o9uRarvq3rpm+gh6Zuw/FMbVzItL+nIr+JD5US6lrClx+PFwM1zOG/ESNoxhlTNQ1n53dREA0x+3ekZRMA+U2b1wNu6dsbdJGXaVUO2BOiiYwgndAG9AsymYiNiIpGTaqXMc/FrjhX9TVkpa5iFNRdwAeEaViHjRMCpD1GApMEZiODdGHiawCs3muzeoWutqiP3FUMDg5toAhQNcxLMKB0250/IbGoywVQbs/FWGaye0HO4os7COwwcLHEnRSa6kDFMlT8TuOWpOIe3ShqppCP74JWl+4RuOR4PtLuT3JJOWlypaQLttz7q6SPi3Fdii3mKgdXMFPLzgtO7OLIpaLXLAtF+WZ7TsI01lT1FXD+JJ7gdjx+0/LAAj9wnl00x6KOh1vf8nHLYVn3LSGOSE4po70qSCBoV+ysCDfmNoKZy3nynAvMzSW7nabqiGCgrOT8paqFqYrodCAh06qGkMrgnMBYkWcKytZ1nUVmp7e6gjOtMq2JCcsl9G9wMWg2niUocmzFEWeUlP1FnqFT5niS1v9WWcy1xF9ogI0c/h9m7hYz5yWxMotK0K2M4Mdk80ZXQWvHDsqNRFaljnmsMzpsAHC4lWRDGKWIaoxoLE88DaAJjDL2XUXdMqBUbgZT5k1BWwKOooiy/GzO/wVkvUWfWc57CqfXb+92L/6lzIcZK9MTPMf6AYyklMfJWZRptwkOyTg/6h+buotv4H4sjbKBx7s3dTthijHRSzQKK3AyawDgkeIyDdcWw4tFDFQhd8iRL0= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jul 2017 15:39:41.0112 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0501MB2754 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/18/2017 6:04 PM, Andrew Morton wrote: > On Wed, 19 Jul 2017 00:31:36 +0300 Andrey Ryabinin wrote: > >> On 07/18/2017 11:26 PM, Linus Torvalds wrote: >>> On Tue, Jul 18, 2017 at 1:15 PM, Andrey Ryabinin >>> wrote: >>>> No, it does warn about valid users. The report that Dave posted wasn't about wrong strscpy() usage >>>> it was about reading 8-bytes from 5-bytes source string. It wasn't about buggy 'count' at all. >>>> So KASAN will warn for perfectly valid code like this: >>>> char dest[16]; >>>> strscpy(dest, "12345", sizeof(dest)): >>> Ugh, ok, yes. >>> >>>> For strscpy() that would mean making the *whole* read from 'src' buffer unchecked by KASAN. >>> So we do have that READ_ONCE_NOCHECK(), but could we perhaps have >>> something that doesn't do a NOCHECK but a partial check and is simply >>> ok with "this is an optimistc longer access" >>> >> This can be dont, I think. >> >> Something like this: >> static inline unsigned long read_partial_nocheck(unsigned long *x) >> { >> unsigned long ret = READ_ONCE_NOCHECK(x); >> kasan_check_partial(x, sizeof(unsigned long)); >> return ret; >> } >> > (Cc Chris) > > We could just remove all that word-at-a-time logic. Do we have any > evidence that this would harm anything? The word-at-a-time logic was part of the initial commit since I wanted to ensure that strscpy could be used to replace strlcpy or strncpy without serious concerns about performance. It seems unfortunate to remove it unconditionally to support KASAN, but I haven't looked deeply at the tradeoffs here. -- Chris Metcalf, Mellanox Technologies http://www.mellanox.com