From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BF6E2C001DE for ; Mon, 7 Aug 2023 07:45:48 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 265F7868FE; Mon, 7 Aug 2023 09:45:47 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=prevas.dk header.i=@prevas.dk header.b="IJZIqmeu"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id ACBB186903; Mon, 7 Aug 2023 09:45:45 +0200 (CEST) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2071f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe13::71f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1F2A88617F for ; Mon, 7 Aug 2023 09:45:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=prevas.dk Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rasmus.villemoes@prevas.dk ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ttp0NPeAlpsGH2lk5VjydapAcs1EOGVYcgxeIHqNBVM5IlY6oThtH33X/12rznhkoxoQEsEbjq8AvW4g80RDSRzv3mkoGgT4m5jlyIxTTARMopvkzq7ZQ+MEw9wEyQdCAMhjj3QA9FVpy7YKRmOMlHTWvnaPQ4Krh4xsQjITlD16OdSFFK3PdnYpsFwDdaZ5NCL0UcjFLTTXHVB23Xd5fB6QJc376h0d0vP4FhKRJos9d+ebVlYipt48c+DSeYXUXw3d2G+OFO8yxmNR8yAGwLz2wfYD88Dgsu1XFXr6G+OziCaCJpG/vOqT3T33F0jBc2to8cxK4dCL8p8WQbSrnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6PL+F/gNX9Xq+BjWnCwhGGhvhvlCIK3iiFmYnmoicrY=; b=chXL2a4Pnj7nWq63lk6/onFoepywQEHMmZGcA25N1dvJQCfS7JpuVy3CxOBKDb+RWIctY9dvYNTnohGjeWXXEJ1yNzYC1aoBFiU9RdCMa7/BVNVsTezP8TNCJKMcDVvJLpzkE+MJuQAMfmYs7w4NevpJIpH2SSI+PgQsbRhJSqVHW8nqdtKcUVNJBo2kpQghGzXjNHHXeoOLtP2tAwa70aFvqqLmcDQ9xy/Zj4rU6ySQi0s2nz4OShLj94OYHHbQxg6MdXXqf+z3cK+yX2cNq4kdcDu/IGkgexDfzlfsb9kPO53FokS9Adh2oZq5phJi2lqXiH2Z7/QBBvooiNC/6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=prevas.dk; dmarc=pass action=none header.from=prevas.dk; dkim=pass header.d=prevas.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prevas.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6PL+F/gNX9Xq+BjWnCwhGGhvhvlCIK3iiFmYnmoicrY=; b=IJZIqmeuHMh0Zr5DWV0753+Ae8msmBqKTibfP39EIYcTY7UV8arlAg7lC498ux1FDvcld6N74sJUq7WZCU0N5pmPCvrVqVs3/i/CU4rBwgwPyzv2vM8NIFXVMwj07C/ShCo0MqCueEeIq7eL28fJ1tM+W4liuaB9gORV9BRFQJg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=prevas.dk; Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) by AS8PR10MB7661.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:637::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6652.26; Mon, 7 Aug 2023 07:45:41 +0000 Received: from DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::c3fb:2416:2628:ca95]) by DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM ([fe80::c3fb:2416:2628:ca95%6]) with mapi id 15.20.6652.025; Mon, 7 Aug 2023 07:45:41 +0000 Message-ID: Date: Mon, 7 Aug 2023 09:45:37 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH 1/2] Revert "lib: string: Fix strlcpy return value", fix callers To: Matthias Schiffer , u-boot@lists.denx.de Cc: Simon Glass , Sean Anderson , Masahisa Kojima , u-boot-amlogic@groups.io, u-boot@ew.tq-group.com References: <20230714112451.144294-1-matthias.schiffer@ew.tq-group.com> Content-Language: en-US, da From: Rasmus Villemoes In-Reply-To: <20230714112451.144294-1-matthias.schiffer@ew.tq-group.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MM0P280CA0018.SWEP280.PROD.OUTLOOK.COM (2603:10a6:190:a::32) To DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:45a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR10MB7100:EE_|AS8PR10MB7661:EE_ X-MS-Office365-Filtering-Correlation-Id: 2bfa8b53-680d-4367-e61f-08db971a4c37 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f25lMW0kbvG3fMQAc27jRzGV+H33bS9y6u9fA4tIUzxdXyHIejZcmzmo6pRbrF3SfsZWcHqXhx0Knk79m7fnY82FsrLvFuEsbaDPSLyB5shefMevCXXGq2jiVtGJFcRMVTEkpAhV3VltuML1dvXkwm1SkFnl9myYPxDnJE1hG73+/3ZfKeb0UvmASd36pRGcm/R9ncvcBS0LJ42cmpZI2MDJYZfUZ9ZE/TH7FS5wET31i2r0pzWINW1hRM6He9sIU8wuTDLEedxPITIjPNzBy4aUX/OxOVqt064wm9kTb3VfUIIZNImX4zY9DDAcOJ4J7DcAlzT1QnAYNrqZuQ0w34J5Rk/7oQ87c4GA30rkybjfCOSLhvpgCfG/KMuK6DTlI4jG7CKdYzB5BfWB4oHvSRaPSBCSbG6uJbcARXs9Xyoo1lB43BNA0ZzCf5dxbDQIdXwDyV5Ol4nDjmbZxaIPxgRU2ycgS0wwOMGvi7rBqopL5MozhsQvGiXG1DD3MlnaxtuvPosNqqxnmRjd554RO1Px/peZdADSN1vBGA5MxbaItL08JE8A59bE5HzHiizlyCVTFXUZu/RxaTCFVTD9nfwJZi5j/iUjsGt5sUl+4mXe66Aafke07NhYPKM6r6py1w+4b4ST4E6zDx5Hc9aWTEIUfXY26/q3f3gykcmqmtE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230028)(4636009)(39840400004)(366004)(396003)(346002)(376002)(136003)(186006)(1800799003)(451199021)(83380400001)(31686004)(2616005)(54906003)(38350700002)(2906002)(4326008)(5660300002)(8976002)(8936002)(316002)(44832011)(8676002)(66946007)(66476007)(66556008)(38100700002)(86362001)(966005)(6512007)(478600001)(31696002)(6666004)(6486002)(52116002)(41300700001)(36756003)(6506007)(26005)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Rm9ZVmxxZWhPS3p1cnRDUm9DaHlpTnBySTZuaytGdGdlU1o1V0didnpmc1ZD?= =?utf-8?B?N0plbzBGQllnNzkzMWQ1bnpEeWkra25IeW1Pc245Zy9MTGhRYzRqZTdkeGlC?= =?utf-8?B?UjFPYUtyQnpidFJnMzhGYlFYNTI2NC9ERUl0QjFYaGtiMnBYYTRPVXR6YXFs?= =?utf-8?B?KytiQWJ0U1JmKzdrQWgrVEVRK2Y1Rkhka0F1UlMyQWFEemowUXcwazBvSDls?= =?utf-8?B?ZTQ1Y0ZXTVA1d0tGSE1SZ1ZTL0JOSTVvbXFtWFo1VTFTTUFhVXc1eU5QbTI5?= =?utf-8?B?Q2RyTEhiSThPcTErN2pETGJvVlgzNnVLalpuKy9qRFJvQmpHb0s5UlRVb1dX?= =?utf-8?B?Mkd4blNub3dCQm9ZNnhrUFlzaXBmbjkzQndIOGwzV1QrR1I0c21VZC9RNzBo?= =?utf-8?B?WlA0LzJ6c2ZwYnQyWG1ZNUV6NDJwNkVxMENGellRbFhIbG5MRWxlRFhpTzdr?= =?utf-8?B?RHExdHJBRmxQZUN1dm0xMFdTQTUyUHovZkFqYWVucmlrQ0pweklJY2d1UHJR?= =?utf-8?B?SzFhczlVZUwzMmRqWVVjM25MMVFidit6OW02U0tOTEV5VzViQUJPUDdtTjFO?= =?utf-8?B?U0xmRmNnTG4rRmRud0pWMHhiakp3VnRIaVhzSUlvSDExZkx3Y0J4ZUJvSDhp?= =?utf-8?B?aTZsSXc0WkZxOFRBTWZQeC9hdjFoRUI4ek04K0RycldnS2plQTU4dGY1TXB3?= =?utf-8?B?SGx1ZFdybGRqZUVKZnYxT2E1QzlJUlZMMVA3RDdQWHRoUUxvbHRvNzlHcnJn?= =?utf-8?B?a0pGSG1kUVE1VGp0QXBvSG9lbStjWVVLRWZpZVo2OGNjS3VFUk1vL0FxTFVI?= =?utf-8?B?UHB6aStibnVGRTlscm1WSDREbkMwVys3Y3RPZTFGQlpTNFhxelBpeVdhbGpP?= =?utf-8?B?ZHNleTVYVWpWOEtFTVEya1F4Z284cWkydHhBMzlKV3ViSkxWa09Pa1FsbW5a?= =?utf-8?B?eTFmQUJHRG9PVHlZWDFyL1l4N1NlK1FJL3A3Q25Sc1NMcFJrVzhwR2pnbGk5?= =?utf-8?B?bHJZNEdjcmdGZ2FqL2lhc0JOMjlXZzZXZlhKUEF1L0NHU3BQcWpDQ2pwUUVa?= =?utf-8?B?TjgwMlB4S2ptT2JBTnZMMnp6K21RNitDTG54aXJpSUVlSEJjSFpnZkZlSDFn?= =?utf-8?B?Q055WEVMd0prOWFjUWdQaGFhMFM2dmo2TDUzVzBTZE53Z3NzellkZFhrRUV4?= =?utf-8?B?NmgzMUdSQTRKZWNwTjVjeTlFOEpXdE5temRna1VMTTFYdlhwRVcySTVoWjVv?= =?utf-8?B?YmgwRWVFeDNXN2FaNkRTdzVaT0NEV1dHTkRKWStiay96ZksyOHBiY1RXaTJM?= =?utf-8?B?blhIMFR5dGNkbDBsWlBHKzJTQUxlU2lmT29yWnRUMWllMGMzS2czVFIxMkF5?= =?utf-8?B?c0pLa0hPcmR5ZTNjb0RzZ3JHbGNYdkVIOHVxeitOUFNJYlAwVk5XSWNRbWdS?= =?utf-8?B?ZHRRbEhjTWVRbndrdDF2Q2VNazEzTjJ5QWcvRzI0KzdqcXgvWmJrbEtWT1B5?= =?utf-8?B?NzFVOFdNKyt5ek5JMEtTVGhYYVJoM0VIQ0dod0FWczBzRFJSL0JVNVRHWitT?= =?utf-8?B?ZEM4TE5vMDlKL0JuaXhWemVYNGpXREQ2bVFsUlVsanVoUnA5V3MyWUtKdUFz?= =?utf-8?B?TjdQT0Q5UitWMDdSVmduZlpWOTJIM2pQaVJzeHhXb3UrRE9oSjE0NFRJbDZW?= =?utf-8?B?TDdZeUt4M2VIWEFkRXV6WWdacnRlODhvRFdrT0xkM2tpaDRDUWFQSThKR255?= =?utf-8?B?S1RWcU4zMmJRYlV3RzNyNUJjSEFGQzJlOUpRMnF3TnJQMlZBNjVTREV1K2tt?= =?utf-8?B?aFpBTWF6bVZlUUhMLzd4RWdZcDVwNm81TndmZ25WMGpzcGVmOXl4R3pZUW40?= =?utf-8?B?RElNQnlPcjFzUVgxaFo2Y0lsQ1VzUGVaQmdYRFZlVGdsVkxWLy8xblZ5WDha?= =?utf-8?B?SkF1ay92Rk5XaDViSkdnNG1ybTY3QndpZXlac0RuU0p5SW1KbWl3ekpoT1lZ?= =?utf-8?B?QklVRUNub1pqbWJuUEtXRjRFNmw1Q2N1NHg0dVE2OGlaazI1dWJtc0lEVmdv?= =?utf-8?B?ZE9lRTh3ZG0vVDRyZENFVzErSnNEc2kvRjZDamhaSjRUTzJhTGhVSjl5SzdI?= =?utf-8?B?RGg1UUtweC90L09ZZ1FycUFFQzBPbjlndEZNUk9DUDRZdTB4ZXFOUXB5d09Q?= =?utf-8?B?amc9PQ==?= X-OriginatorOrg: prevas.dk X-MS-Exchange-CrossTenant-Network-Message-Id: 2bfa8b53-680d-4367-e61f-08db971a4c37 X-MS-Exchange-CrossTenant-AuthSource: DB9PR10MB7100.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2023 07:45:40.8920 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d350cf71-778d-4780-88f5-071a4cb1ed61 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DDStcnFaPhmyxqsj+XwVwf9syo4YNpP0EqsxETgsbsl1dxswTYNVVJoNWSjfwrvAu0/9dbINs6ut9djnfmNV37/Q12GqSH9n6r4/2Mn5vtg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR10MB7661 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean On 14/07/2023 13.24, Matthias Schiffer wrote: > Both the Linux kernel and libbsd agree that strlcpy() should always > return strlen(src) and not include the NUL termination. The incorrect > U-Boot implementation makes it impossible to check the return value for > truncation, and breaks code written with the usual implementation in > mind (for example, fdtdec_add_reserved_memory() was subtly broken). So while we're fixing non-standard string function behaviour, can we _please_ finally fix strncpy() so it follows C/POSIX? https://lore.kernel.org/u-boot/52bc92d4-8651-48df-3577-043aa2e16722@prevas.dk/ Note in particular the very last paragraph. To rephrase and give a concrete example, what I'm worried about is us importing some file system code that (correctly) uses strncpy() to fully initialize some memory buffer, then writes that out to disk - but with our crippled strncpy(), the result is potential garbage on-disk, which both our own read implementation (which is likely also just copied) and the kernel's may subsequently choke on. Correctness first, please. If there are any performance problems, those should be identified individually and perhaps rewritten to not use strncpy() after verifying that not zeroing the tail is ok for that call site. Rasmus