Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp2053108rdh; Sat, 25 Nov 2023 11:35:38 -0800 (PST) X-Google-Smtp-Source: AGHT+IGoa+9lunkfdPgdC4bfeSD+LNw/j6PpNOqUEGV61hYXUTSZDOXlXzRzzxo8AuemcvftJzjH X-Received: by 2002:a05:6a20:4f13:b0:187:f58d:daf2 with SMTP id gi19-20020a056a204f1300b00187f58ddaf2mr7857231pzb.58.1700940937734; Sat, 25 Nov 2023 11:35:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700940937; cv=none; d=google.com; s=arc-20160816; b=a3D3RBEjRhOKT++Y+RvhU+PTPaYxuF+D+62aJtUo6gQpdHCYgUcfmBorxKYauSO0VU hfyOdGsc0WtSVummNfgoqaCdN6T+3Xbg+zeicefONOLG1KW1AwjfnXNyWjbDyK1jZucb Udbr9c9k5UihUQygSeXy9PbuDJVSgUcGtZ2ZFPWSuJeBkVW7DXrLQsECErbJxsuSaDK/ 7nZXZvDChlpExpF24JXzLe1wMHf51QU0yTlc6/TM8TwOzofHbjQK0Jcrzn4qQROfE2TH DRiWdSWMyH3Z6WZ+Ol+1lY/S9N+lQ5ZfoTgm1WsgmpyDn8aq3vbwoO1zwx9R2MvQkTVb eanA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:sender:dkim-signature; bh=fvpRpebtOuuuOLoBCqRcmSoaph+K+iYloqfsNNDdRyQ=; fh=tZgZcWA9nGfoXPMIBuIyBtPgXRW37la4PYa3xYZmpSU=; b=bdEP/XKw8vpcRybuYVcVElASw7JsZ9CAAoPBqAmuB/ewvx9pQMkYpqR8OLnX7fMlAn n98Y6fGNKkr+qZ8Kg8iaNQ1IQWvBxm0xfucsPkQByRLUMLhjRdLrNqeBao2Q0kf4uobx GPRZy3V/zIok0L5M/4oPMs+3EsBtoEb/cW3Yn88AVksXGJzn28N59mKY2rEKgLIoL7ZR 7J4V/Dn5LCEchJhE25L5uwWg2AecoaBeBiuahhr6m1hadK8EWNNhXYnhsTDoBdcmu0m0 OE+DeB7JY+MtgnOUlCxImaNeBqY5hIyzZdIlMcJrGwuZdkd7qhwxq0vOfl3az+2ktp83 ltTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=MrCbG7bg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id b19-20020a63d313000000b00577f4d85fdbsi6523525pgg.548.2023.11.25.11.35.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Nov 2023 11:35:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=MrCbG7bg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 76CCA804F622; Sat, 25 Nov 2023 11:35:36 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229969AbjKYTf0 (ORCPT + 99 others); Sat, 25 Nov 2023 14:35:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37572 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229589AbjKYTfZ (ORCPT ); Sat, 25 Nov 2023 14:35:25 -0500 Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D324A3 for ; Sat, 25 Nov 2023 11:35:32 -0800 (PST) Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-6b1d1099a84so2786377b3a.1 for ; Sat, 25 Nov 2023 11:35:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700940932; x=1701545732; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=fvpRpebtOuuuOLoBCqRcmSoaph+K+iYloqfsNNDdRyQ=; b=MrCbG7bgIiIHtReu1xVLsWFxssogIJPi/3pwRtixHhInyFmXQb/pG1mWjy5PJL28Zo SDjRqjE5kw06Rk23pnwqBcdDfTel41P+SUphySqr07d0btVqyaVrDyAdPXzwH75BJjV4 t9VbLslLKfmNYMakVlAEGEXoQRBNRLRoKgrNpzvnvoIndkvPw+QFZ34bBoq20N8LvcKv wxd0z+lALcUwFZ9q4LaCu9eTpqT+9EHwBWwEBx5EJwf3PgKISqaRYQmI6RKNNyKK3gHj z3IJpu0CdlmPmukeLcDo7QdWKJvJTmnspqd6HN2bkUKF9u/dXpd37d2IVSv7XBBmDQZJ l79A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700940932; x=1701545732; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fvpRpebtOuuuOLoBCqRcmSoaph+K+iYloqfsNNDdRyQ=; b=d4kXzfWo7nlxRGlvnW6L31x/r/OAczVnEpWr3L8qU0KqXlhSPI0Ri0+tkJJTTLQjsr sv0oEw8KsPifpbe37euzVEGus7/Sf6a2W4pROjLQEnOQnYOxGeKB0GqTzc3+DpXYj1Ec kd42DLOHLypmmeOicvPJYYbuhgCdgtvqQmjG/33c8p0WMLB+Ovs+mFin+5RU9sm5vQ0l cn9CaEdVsM3pxJ7g9DDXAa/CU1rqlLeRppnWbFbRc37n0KRPLftTWnovvyKiI+Mpq66A DHv+6qV54Hx6qhN3TQwoI3aN4W+mJRw8FnMWRX+4FIBabG1XOMSXe/RMEYtv4rVcgb0K fh4w== X-Gm-Message-State: AOJu0Yy8R4sYL8bhQqeMAYFi/kAXTRvOafH8W3fScTgacvbXbyPkBJUl x7HCMYjTTWXZHVuVWRlmVlk= X-Received: by 2002:a05:6a00:8f0c:b0:6cc:298:eb30 with SMTP id ji12-20020a056a008f0c00b006cc0298eb30mr5011994pfb.29.1700940931799; Sat, 25 Nov 2023 11:35:31 -0800 (PST) Received: from localhost (dhcp-72-253-202-210.hawaiiantel.net. [72.253.202.210]) by smtp.gmail.com with ESMTPSA id p6-20020a056a0026c600b006c3402c5442sm4687663pfw.84.2023.11.25.11.35.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Nov 2023 11:35:31 -0800 (PST) Sender: Tejun Heo Date: Sat, 25 Nov 2023 09:35:34 -1000 From: Tejun Heo To: Mirsad Todorovac Cc: linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Konstantin Khlebnikov , Aditya Kali Subject: Re: [RFC PATCH v2 1/1] kernfs: replace deprecated strlcpy() with strscpy() Message-ID: References: <20231122212008.11790-1-mirsad.todorovac@alu.unizg.hr> <4a01cd1d-c9c9-4946-add4-1acf6998a24a@alu.unizg.hr> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4a01cd1d-c9c9-4946-add4-1acf6998a24a@alu.unizg.hr> X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sat, 25 Nov 2023 11:35:36 -0800 (PST) Hello, On Thu, Nov 23, 2023 at 12:37:03AM +0100, Mirsad Todorovac wrote: ... > 141 static int kernfs_path_from_node_locked(struct kernfs_node *kn_to, > 142 struct kernfs_node *kn_from, > 143 char *buf, size_t buflen) ... > 172 /* Calculate how many bytes we need for the rest */ > 173 for (i = depth_to - 1; i >= 0; i--) { > 174 for (kn = kn_to, j = 0; j < i; j++) > 175 kn = kn->parent; > 176 len += strscpy(buf + len, "/", > 177 len < buflen ? buflen - len : 0); > 178 len += strscpy(buf + len, kn->name, > 179 len < buflen ? buflen - len : 0); > 180 } > 181 > 182 return len; > 183 } ... > This is safe, for we see that in case of count == 0 strscpy() just like > strlcpy() turns to a virtual NOP. The conversion itself isn't dangerous but it changes the return value of the function. The comment is not updated and the callers are still assuming that the function returns full length when the buffer is too short. e.g. Take a look at cgroup_show_path(). All those paths seem safe but the code is more more confusing because the conversions are half-way. I'm not necessarily against the conversion but the benefit to risk / churn ratio doesn't seem too attractive. If you wanna push this through, please make the conversion complete including the comments and the callers and include a short summary of the changes and why they're safe in the commit message. Thanks. -- tejun