From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752136AbdGRVcE (ORCPT ); Tue, 18 Jul 2017 17:32:04 -0400 Received: from mail-eopbgr20116.outbound.protection.outlook.com ([40.107.2.116]:63247 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751962AbdGRVcC (ORCPT ); Tue, 18 Jul 2017 17:32:02 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=virtuozzo.com; Subject: Re: [PATCH] lib/strscpy: avoid KASAN false positive To: Linus Torvalds Cc: Andrew Morton , Dave Jones , Alexander Potapenko , Dmitry Vyukov , kasan-dev@googlegroups.com, Linux Kernel Mailing List References: <20170718171523.32208-1-aryabinin@virtuozzo.com> From: Andrey Ryabinin Message-ID: <96a21da7-1258-0ada-298f-e0388849402a@virtuozzo.com> Date: Wed, 19 Jul 2017 00:31:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [84.47.128.244] X-ClientProxiedBy: AM5PR0601CA0040.eurprd06.prod.outlook.com (2603:10a6:203:68::26) To VI1PR0801MB2733.eurprd08.prod.outlook.com (2a01:111:e400:7b7c::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 443c6fef-2cf7-46fd-2f09-08d4ce246b61 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:VI1PR0801MB2733; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;3:5pPja9lWLPJckVMccCxBp8OF36IV8enp/zy+b4ZUgMpXl2OsrXlaxLwEK/g/b2IEikN8HGCcwFHzxwz8lm3szlaNsmf6hvrNG67B49edMYmhpIS6BIAhdzc/wBMMfDBal1GEppMRu3IcFuW65hOx9sm8L1T7X2NqSQKEJZrSC0zrK8N0AvpA4gUksuaadq3U0zYQkzPeV83AYhRQPkB6d/vcVq8B7/ylbxfUQmIGDuOvje0w64SpwwfyVo80NPe3jDJiZ+tloO1VxNRqzZpjhFGbw/azrnHiWVH0P0oXoLhtNlRbhEc/UvbvVQ3bSnWO6sC+SvPcK1u0IV1C8DBHiRKWEabKQ+CqsBEU4JprRmGaAQ9VLz7Sr+sJWyejbPidue+ky4GxVLcyww3naG2gxhubH4Z73fThTTWT/lGTWOAtUpZh3CL61xnONjpu62hU12Gvk5TaMx4w9b+YXlyXGax6SE75Qr9pza/CDa3C6QIusyoC9BTdsdZNQXohx3FoT5qsMoeJJseVaVxGdq+ZhDsBZaNz5094Al2d8VL/U78eTKZucZl2FrTIoSxJfwa6ly6dO8Ahl03wD7qXn+Mgw9b/q3asZf4JQpdjpKxdwTUxTMgiGD3F+hMZtgN77aRhDWh4X9VpuJI20knn4lm8GMzhfz7aD2fCOeD2YW+3qYduP45+fxzkVO592EhFT7WxyBcqwsEkPt/N7BFUA9ERaT2pAqrtTuy0mu5zs/z/GmA= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2733: X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;25:vU+1s08QbeDJVChx5P15AuRs4rq1E8OlsSGmXQ4iKQNw6gy6XSdgg5B94sBrZYMqZ0omJkTnVkqkeboi3/hMjP1Vp0nv2/1y3IsORck6FV0mMmwhso5XJHRm5yoyuPa04R7QE4Jgvg5sA2ZJbJx/b8jS1HR+srIny1y/pw058JDrTAlNZdM58KgswcfSsC2734tyS2p1MyV5M6QFh2+1vwNx1KduVC6pU2fHRWs9y9blODU/Y+ob+1a2jM4bBESzvHsr7/2AHWnd5G60U1BtGBVIFN0PQv56R1VEaf4WTLJtg4pD5oZCaISD/5E03P61koSqapTt7aFRJZ7hWry2Ird8CCUpcpTvF/+xs/DO5Rf62Uw7y84PJK2nr/fDHk3jwnE3imk8laeTlKHTqD64kVUbBY4Z84zWOhdFE7wWhOAVnf3vggHijH9vfx1zUaonyot49+zJic8L8MppbaQkXRZLZIjTAVGQjs8RtVB7CWOW5y3F7V7XE5wGS0yqfjyndYl844Hv5Rf0s8dSxlI6/IN4SIdZbZBABQx5KGSuuzqOvhxgOIo4EjSLmG2LBhmzL9ZNF6gahfMqXBp2HjQTbCZbQVx+pReLU30naYJqjFxNRuDy+Kj6O2m/MR/GR6c0ZTJTKDlmLZIIysecUrFxDznYbnY4R6FJAkRt2LAj+JFCHml5XOzPHRlISXLzQDSNAOCAKOZLU/ZWOjzmThTJspByFkgoC5yGX+JQaAd7wnpo0T2Y7ekAwAMmMDBqX4bsf2J3RCW/eL8Guvn05aazOPBJXDhp7k7tFOnr3g9mOPYEU9J2+6zAJbTJbRpXsxT19yZ6eRD2MbrlIYORCdSwYGG3qEvaeiVtz8qsNlAiJSp/foBiFCNyOYzvEJIxxqnwesB+DE/BL7wacvTGRA3/nmr4NlU0RrlJEbRg+uq6TAg= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;31:BRfkE1GQfXvfa7Q0TbYysBovnwN1af8eqqVULyg3p7KhN0WIbxoRNjPbU7k6oWJ4jNajYOcIoUZ7k1NtBERlRcBQdaW/ASzFLmwmIEUYOkQjJdvrSyrqgNYiyb3aaR6z6ITPYn2/dpRECazvcdq76Mw2j04vMZ67T9yUDODVBudy03qGCFnh1c/nMsks1icG7P3ZIuG1ULEzav3D3dYFTd1oYYAbue+/VWN9633i3PLwe7YHjmaHYIlzq7gjDOOAjqnsKFJXZau5mP5/XQfh2HIRVBr7hyFe4/TfVv2vuWpPy5TWU2zZgDhGZwL/b3LoLxckT79EO1ON94fpX07hMh5MrEC72fd7fyYa6bDwDYaoYFdtCUt0QcdNUgQVEU5cKsv+hsZCdnoCYWCFKO5HfKuJK+g9n1FUYMTgO/BJw98IfRQQRthFVLL3dO3rJOEJAVcSS/1o3GqtcuGmK36iSjKUZYeWFWviLu1egljScesejoakor9DW5KHFH+8v+WlMrAEdl0MQPMUS6jBU5R2VrYpJrK+2qNyTTnEvbzMISDCFMitiBrKZg2GJX/KNDvg/tQTe4Xbjl7LBDPSaIaNal/pkvI1SjHMsgqtWCiqtAsp2+TcMZLb4wigo3o/AXTUoBDxJnw4Et+Rketya64+FPrrsc6B3hqn+olyoXXa5tD4Sl1m3jRMRslTPBYnTNRmSfdFWGHvRP50iAzS+8hPLA== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;20:AsOLeXZ9eOtXhAYMQ6wFX9cB8F6PAF03Iu6lHZrYozO2PcZC+ksIsuD8+9uBiAt1f5nbq0qwypnYIAgRWgCENpBF8IH1iaTlbkbOA/263nmH86I9e7XTVQZBRQNhwEufKV8th02oR3hvwyPGjSZb92PN7frEl+unBhl7hBP8wJlruD9H9UByX0hAEC7vZLzOnr9Ke3dliyghdtcpInmFuQk2xSUHbH6H+nGxNjsEm0iF8Nvc1M7gCBUrfXd3Oy8CfRl9csON2Tf1ir6Ox3x7k21QpxdP5wYIqYDzM4VqmBcfUNwKDRhW3BNqwdZwnuE1RMsYUeykw5KAi9XvYhK/sqoMHHQYuukg+eiIlDxXQ96F7ix+9f1YiMtKVN9p8xRuDu1XkwE3tgnSpM+sfyQkrvCFuLmzV6e2bypfPqjomU0= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:VI1PR0801MB2733;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:VI1PR0801MB2733; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjI3MzM7NDpScFlJaHlRR0FGVGkvdUFyV2tmUjNrNjlG?= =?utf-8?B?bi9PbDJOOG4rci8wdWFxdEdjWWg4QUd4UmdwdXF5UjhBN2dVYXJhOEFPdzVC?= =?utf-8?B?UXA1ekN6ZVc5d1hnVlc4TTVCV3V5R0xhcTNienVIU1ZaMFYvVFdtSWVmSzhV?= =?utf-8?B?Rm5GSC9yR0dzWTJsRFZpS3VFc2g4RFh3dmRDSUE3aTlqZGQ2ejFVVXRzZ1Zt?= =?utf-8?B?MmxpbHlyOTdWY1c3WFplOXYwaEVEaTJndFZ6MUlFZ3A4RFk4L0RFL1lmMFd1?= =?utf-8?B?VDBPNTQ4c29Pd1pBS3pndzJvV1FWSmR5T2hBbGJWTjlPUnJhbGlOSmtwTHlS?= =?utf-8?B?K1h4WGFwSktVRGROUlNUOXBNVldYVksxNS9SYThKd1RzejRVdW5FUnVpZmZK?= =?utf-8?B?T216K1BSS2RaVHBaUTNCeGQ2dWpvRzBkNWk4VWlWVzUvYmcvUXB1dFNXcDVH?= =?utf-8?B?UVR0MXlyZDVNalB6MENTcTdSWEFxVUkwRjR0emR1aEZPZy9iQ1hWSmlMaXV1?= =?utf-8?B?M0NjTUUvNHI2RWhNc0J5clBwWmxXbkdBVTI1aFRTQzYxalBXNGw2MlJVRUtR?= =?utf-8?B?enMrWm1KRHNNWStFWlVvQjhEbCtCZzRsTzdKNVFsNGx6L3E4dmVOZmpVSnpr?= =?utf-8?B?bzVsclNHNGkreW1DQzNuTGFDYWJOSUtROENyL0dUVWdtc3NrYnFEbkUwbHcw?= =?utf-8?B?MkpsWUxUZURBT3lOOUtuSW8wa2xHQlk1QkloYzcrZEJwSHpLK25Zc29GclRO?= =?utf-8?B?ODFkbUZsL0NYODl0Q2sxalRXaHE0MGluMkNRWHhNUG1XUWlDelVMV1lhSGpT?= =?utf-8?B?em5pc3VtY0NUMTkvMXBLTmxSbStRVzFIci84d05NNEw5K0VCb3hod1RGU0Z2?= =?utf-8?B?ZFE2cmIvd0pwbDBwU2lqTmJ4REdrSUhMYUJuOHZHYVVKbHB5RnlUcWpyNXcz?= =?utf-8?B?NW9ZQkpHSWtvVkxrVEZNc2RML1IzSktRSE1vci9CVEtjZ2dSS0NISGdTdHpI?= =?utf-8?B?R1pLbFFKWDlZNEhXUlBJdzRSS2J4WFJBYlRLbCtIRTU5d1FmWUxyRVNsMTRW?= =?utf-8?B?d29LVTQrZzMzeWM3SGNndjFOS283T0cweHFiOG96VUlBZmZaZng5dzBpTGFn?= =?utf-8?B?aDUvN0QzTU9FblBjQ1FCQXpSM1U5QnV3MkF6b29hU21BQlJ4cGt1ckw4d3Q1?= =?utf-8?B?SFdwN2t3NFpFRDcyUk5kWFJkZmtvV29zREEvNm5OeFlhRjJPUEh0K2l5ZFVa?= =?utf-8?B?bVlSZFM5ZWorYzJQSFNqK3h0WDJsWTAvRUdSZGp5Vnd0VFFHN1lESTZVVWxB?= =?utf-8?B?bWhQUjMwUDdzOFNGNm43QkszbVJFQlV5VndGQXdla2NsRmJuNDFrRS9LMFdC?= =?utf-8?B?YUFYeEZVZks2ejBaa1RRejl0VlFNYXBxOVBjeVZsTnNxa1J2cEk5WTFRNHJD?= =?utf-8?B?czYzbXdHQnJRRjRlMzBBdEZSZU91SlVQQTRYMmJFUVdxLzBvUHVwYlNRYlBO?= =?utf-8?B?TXdLQXNLVGgxbHFoMlBUaHFpa3pCQUh2RXZyL1FrUytlREhzVyszcjFOakJW?= =?utf-8?B?RlhZVWhCUDZFRzU2bFZXbUhLeHBHMkx3dUdBN1M3NkhBZG9YL0t6KzFtYXUy?= =?utf-8?B?ZEZydkRldmJnV2RJR05LVEYyYlQyVjBDdWVld0RzYWtyMWRGN0NrZ1NOQT09?= X-Forefront-PRVS: 037291602B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6049001)(6009001)(39450400003)(39400400002)(39410400002)(39840400002)(24454002)(377454003)(189998001)(2950100002)(2906002)(6916009)(6666003)(86362001)(8676002)(81166006)(7736002)(33646002)(23676002)(5660300001)(230700001)(31696002)(65826007)(25786009)(93886004)(36756003)(4326008)(6116002)(3846002)(64126003)(54906002)(305945005)(31686004)(110136004)(6246003)(53936002)(50466002)(83506001)(53546010)(478600001)(7350300001)(54356999)(65806001)(229853002)(50986999)(66066001)(76176999)(4001350100001)(6486002)(77096006)(38730400002)(47776003)(42186005);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0801MB2733;H:[10.52.82.106];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjI3MzM7MjM6VDhFa2JDYWpMbHd4TEJySzlLdFg1R25Q?= =?utf-8?B?VlZyWWE0ek56VWpTZ2xUMU9JdUYwU1c0T0tsVHFXWmc5NDM0OXZsYkYrL213?= =?utf-8?B?OHdYL0xRRW5obmpLTWEyZVVST2N3UzRucHhTYWx3WnBFVjVXZTFKcnFsQ1p4?= =?utf-8?B?Y3hoR3NBcEZubURGYjMySFhzaVFiRllLeSs3bE9MYUpJMlFzL3U0cktEYTRW?= =?utf-8?B?Szk2OGs1YzJxMmJIK1Z4eXlTN0NKMTF1SjY2VE5vNGxKcGd1RVdnUDNRL3ZR?= =?utf-8?B?SjlTVW1xTThTbDZYOExQelVOcDdGOGxWQ0ZpcHFqeGtKZ2tuZkdXSXBqcUVn?= =?utf-8?B?YUdpUE1obVVoTWlZSmNtdXBTbXRZSGluQzcvQkJSK0JVTjRmY0EwbDBBWjlC?= =?utf-8?B?TWd0b0t3UzQxNmlGYnAxeWJHTlErb0lvbU5WTnRkN1JSZllJWGJHMUUyKy94?= =?utf-8?B?WGQ5QUtDN3Q1NS90aTlLaDNBR0lQcEdHMkR1Q0lZcVMra09DVzdLMU9BQ3V3?= =?utf-8?B?R0twY2p3R2h0eGVSTy9iamxhTTY2cHdKN09Gc1BMdUJnYWpIbDEvNTdkd2kr?= =?utf-8?B?b3pacjZHZXd1YStac0FSQWJFOENVVFg4UHZCZXlzWEFUb3k1N0hJK01ibG12?= =?utf-8?B?b2ZDNndFOUJ6YlJMSk5sSU5YdFdQdkN4VFlsbUFvcGNTdFZmQ0U2ZEx6K1hj?= =?utf-8?B?RUZYaXdHdUFTalhpSTB6Yk0vR24rTTRaQzUzMFhPK1VCRjh5S01DN0kxOTha?= =?utf-8?B?RmhEWDdzZjB0R1RGdStUUUtBTXFod3ZpNENocGh5OVlPazhBNU12UTk2SEk3?= =?utf-8?B?N09NdTVpaE8rRUpmNVFlYzFnQ3VHbkNNb3JUVElrZTNDejlKUW5JWTMvaU5X?= =?utf-8?B?d2I1QkdCcFlJTXZnSlhOWlFyVkFhSElsYmQ0c0Z4S1NyZk5Mcy8rTzBUUlZp?= =?utf-8?B?UjBkaldzV2VUN28yMzhPS0hRT2VxR1V6a21OMHpPMWdVY1NrQnJPbnJEZTdZ?= =?utf-8?B?bTN1S3dQeHk3ODZRUXFyM1lDaUtzM0huOXVXNHpaVnVHMjdweHEyN3o2bTMw?= =?utf-8?B?S25JQjViVHNHZjVvWXNJQmt2OVZnVkVVRmg0eC9iRjVFV1Q4ZFJjVy96RWhk?= =?utf-8?B?ODNCSGw3Q010ajIvZHAvNHBaWFlkQUVIbEZ6TTZtUWcrOGxUdkR0Vlc0eUV6?= =?utf-8?B?QVlxMnRIS1duemRUaXV4Y2o5bU9vN3laOFNHTEhrZWFxb3NyWHBZMGFYYkJ4?= =?utf-8?B?VlNjemI1bFZtZHZVQlFYZzBSNkdTUS96aWl1WnlSZGtyQkFXNVFuNFVlOXFO?= =?utf-8?B?eGl1L3ZOTFNjUlk4L3pqS3ZaQlpPUWd1U2gvRmNDWmNTYUlWWDltR3J3U1hV?= =?utf-8?B?OS9GMTlmbW41YWRuZ1RWRFM5RWtQeWZKcTdBVG90a1VhbzJNTTdrTTNTVnZv?= =?utf-8?B?UnlRUE1sRU12ZU5zNkZQdmVLZE1vbi9TYkU2UW5sYTUyeUN5dmxUQ01pV2R2?= =?utf-8?B?TjkwOFhlV2tRazA3NDVFSkVnT1pSUENkWElJMitaZHR4QzFNYmtzMkdXRnhu?= =?utf-8?B?YXd0SHYxd2wxNlpXMWlWOUJnY1R1YVU3ZUxhbVhtak1VaEdLL0FMcjdmVFU5?= =?utf-8?B?UERiZXoraEYrSytMcXZsbzVLR21EejltVDJwVHAzTzhzVTQzd1FrUS8zdXJY?= =?utf-8?B?a0l5eHBYa0JNQjJWUCtoU2xOUXg4VHRJSlJXZVBJZ1lWU0YxYmRpbmRRL3Vs?= =?utf-8?B?M1NWTlJLZ05TbjF5KzlZbCtSRktLS2tWNytIOEdoRFJoWDc5OGYxNGZmQWds?= =?utf-8?B?TmIwOWJDVkdraENnemNpZ2RuTWhMZzVDbXhPWUpuK0JjZEVydz09?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjI3MzM7NjpQb1lmQXhCWlhlVmgxUzBxeG5nWHVSR2Zj?= =?utf-8?B?UXNrTXJYbGZrYTBkVFN1TS9jcDlIVUN5Y0xTRHM0WC9FclJyZzllRjd3bjFY?= =?utf-8?B?WGtLTTRtYnE1YnZVZ0RqNFlpWWlyNXk5cU1OYkVvT0JXMDh4d2J4d0E2S3Yx?= =?utf-8?B?aCtNSmg4MVBKSVl1RmgyS1d0bnN2UnJ4aUZDOVhBQkVlTFJQQzRWVWxkRCs5?= =?utf-8?B?TGhORFVpZ1hzVnQveXh6OFBaQTlEN3licVlzRGwzL1E1OTB0ZnJqYVZ5T2dz?= =?utf-8?B?K2hhaU8yR3RFK1FKTG9aRnVIRURGR0luMkdIZFJnRk5scFNLZ0ZmVkZrQTdw?= =?utf-8?B?L2ZRQk1sdUFiZnBZMDJ5UlRxSW4rMUFwL3d6QXJBdGF6UURDMmtCanhTVFYr?= =?utf-8?B?M0lPSWVRQ0Q1b21la2FRc2xsUG5WdldVUmRkb1Z4ZHpydktaYVFGeUV5Ty9B?= =?utf-8?B?ZUc2WSthem1kdSsxWjYwWkY4S2RReVh0R0VoQm9HaGVQaHNFSTRweVlKZVNJ?= =?utf-8?B?aUFWVGlmYTVSZFY0L1lPVDZOR1JxWFJ0TzNqTWgzSjlqUStWL280SVcrMTl3?= =?utf-8?B?aSs5SHEyQkljM01KTkVENEtqVXc2Q2hsc2JmdFRLcWVzcXFnTXFGdTVOenFH?= =?utf-8?B?SDRJQkJkSXdINFlGM3kwUW9rbjVHaUZ0T3pxZW81S0VhUGM3cXdsakFDWTZT?= =?utf-8?B?Q1NmaEIvV2RJQVVMKzVxSHpreSszcFZXYm9wU2I1Z0lvSE8wbmRUWVorUWl0?= =?utf-8?B?K0ovSGtFOW1HcDdlaDRVZzYrQXNlWitiQmp6US9WMXByR040LzBjaHQ5OTRU?= =?utf-8?B?V0VXTXZVRmFaajY1MklZUG10cE9STjdhNitPcXFZcTFVS3g5THFxSmJpQk9C?= =?utf-8?B?aEFCZzJ3RnRNd2Q0Q0ErYlZnQ2I1RDRzSHpmbmNjZHF3QitLcmo3TnJsRldw?= =?utf-8?B?NWFjcWIrcmtIZ0hYb0pMc2JSYXJ6RjlCbFJNb1JCanc3SWljaTVsdEg4Q00y?= =?utf-8?B?VmtTd2lmNS94WFpPOG5rVlJuU3hxZXpFRW5qcVBBR0VZREg2aENhUEtqcmtL?= =?utf-8?B?amdHTStVV3Fhc3RqVUdtbnFoVElHVmJVSjNZNkRVdVo5M0xLNnQvdWdHZWlJ?= =?utf-8?B?TmVtSG4xY1RUencwakdOc1hkVHozOG1oNm9ITjJXYmhrd1JwTEZsR1QzbThV?= =?utf-8?B?YmlMTUI0ckhnOUh5RjYrcVE4NDFQc1JIcUUrdHRqMTNKdVJEdk5HSWRGUkR4?= =?utf-8?B?ZVh4SXRscjhtcktYeTdWTHZ3Vi85NnhCRVltVG1WT3R4MkNmRzN0UTZBbDRE?= =?utf-8?Q?dpza4WRgXKbG2fKftyrv/fjsiWF9naAKk=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;5:3j7VS86eb6LkLu/Wtmcmbxi3ldpwDCx69UZcI1YcakbnK6OGSWfRWECS0cdPN6ttKJoXknYiSYlOGTlKO91T3UgXk/fuv0zRzE4928t2klc2BOAaUq+qZZ6sLXUSRjKSRjgQYkx7sJvKClJPjvfg62xlhzg5j26rr/p18nDBMHx5OptbzJiAI6384b6NJGa4U2XYXoM7G/gyzIycNV/kGWGFPj021Ats8LVrWe3dqu5nKOLrpr9E6sBvJKbL3nbmL8lpGku0CYy/iPNTuYNjhQfoFE/hDChJ506D9o1wJQaO8YB9rQjMdXupJWJ/wZs8Kab2jTCz5ETWEJbgOFUEkYPh9R7MsnHyQ+Y8reX+5Z7e+gedQwO2eIMWoTOor9qhWnmMaT2HPKbS6gmUGEjQyQGxfhagJ+uQz96jQ0HnxyS+iErDpqIsw7cIV1XEe8BZOeOaUO5C+uA92HWVxOkn+SUa9T4fROnyCaJIpHB/9PDtVC4m3/i4m2jZmIlJqbZE;24:7Yk5Qc5FV59gpPZXDXwbSCJU8gsNvSmI2SPgXZdL6lQ9vrlViBh3hGQcPMGhctlwBVBTkS0rXKJBXdZVfCC8igpCpuNMciRFn9sCBgEps1E= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;7:UNVGJSR/ABEftyPAU6kwR8sbYoL+52sYCYcZ0nz6Ub3KFdJxncTRpUzVlgdqbo12sjRclCxI0d6i+5ZsDxDwZIeWma46Wp0o3Uz+mvGngQqfb6mB95Ae1MdvHrk/Rie3cglBZ8oiQXdArg0r8WPSjDs/CIg52pnCAcZ7SJhI8sFvt8FsaNTyZcnjeFLHLfCvW3kmmwviTwjiSGi+zBUf4GYFC38LDj/wYSAFxC4LoB02r/bTYeNBSuQZy9BQxSSr58v5RqMagXLYLrojXuQgXqijzxLQjEY9fSCC3Cu5JkJGQ3O0sUcsljuwJUXMpUwCOnY0waWWGWNXNNVyp+g7gqPW4/u1ELoggoYcThQyDdaMhv0Cw+DlKcdtVod2T+t6ce08pT/K4ngxI0Hg6bn5nBbJGflQMMDS2YD+rYO6aXtU+rvoI3UrhN2fj8q9Sym2E0kVkMFXDsNJI7C+fPmavwGKfbnkICIv3VaZLu9t32iafbv7HHjpkjqXb5XNras9sEUFaFDBAVgutLFcN9cfhR5e5O1CmTNQa+8Xi/g3sIIXIvuqe0YLzS1m3HkZKHx8vCEpTZIE84NMAtZNXHFwcDZq+QDqi0mEkRp/lKAfG1GMX0798OGcVV2ZGF4+6iW7DFodt7J5scQiRmRbuVdiDMWPrW0XqIDLUjz/AY07/9WF8Qhw6lm+8wZK+0aWmmqKM3WpJ42i1bzdDnspQ0BpMJEgUpuWkTXATjVnD0/kbLdvT7i2km2da2ST8sEOaFChPH3e745mVAE/d+HCeVzoapc2WtjnhLZZg2PFLwwmAa0= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0801MB2733;20:983thsqEgSuv5fvZW5NWIwjxYD7N6EEJZutLuD/KUSQLkWG+t0QK/wMehvpFnVzh3fU1KxS+ACAgg616M46ABSlgvn4YlKr3ygCBWlPkCzzlaf6wM8dS5aqQ9nnbkWwgvag1DOkcvuzWEEsuXqHJf6IUadp+GRCZA27jgO6J4Qc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2017 21:31:57.3945 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2733 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; } Where kasan_check_partial() will warn only if the kasan shadow has a negative value. Positive values 1-7 in the shadow would mean a partial oob access, that should be ignored. > We have that for the dcache case too, although there the code does > that odd kasan_unpoison_shadow() instead. > Yes, it marks memory as valid, so it can be accessed without warning. We can do this the same in strscpy(), but the disadvantage of this approach is that memory becomes accessible for everyone, not just for the code that does optimistic reads. Thus it would be possible to miss some off-by-ones (quite usual bug for strings).