Received: by 2002:a05:7412:b995:b0:f9:9502:5bb8 with SMTP id it21csp7847389rdb; Thu, 4 Jan 2024 09:24:42 -0800 (PST) X-Google-Smtp-Source: AGHT+IHwy4c89hlUnT0XCoh7NIaRL6iMsWTTCf69mTY5/htd99PyW74r/meEz0KaZkgfUlNCMRWB X-Received: by 2002:a05:6e02:3204:b0:35f:ebc7:663a with SMTP id cd4-20020a056e02320400b0035febc7663amr907603ilb.29.1704389082101; Thu, 04 Jan 2024 09:24:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704389082; cv=none; d=google.com; s=arc-20160816; b=g9miMKQh8mhVzA2FsGM781vMZC6LQHnhPLmOQvR/rKGEOlXQFR0SEbKiHr4jVQF6bJ E+6gU/Yo6ua689hFbzfvmEzDzifMalyIHugO1ip+MTh8P2o1yut9ViHCGjFl75qZbS7Z iU+k5G8QkkFi4O5NAh1fDWTRdqMcB1L6ufrETvU2qs/B3UAqiY4z99GrhcwDw0+ZAS2V 36xxaBoXTRNAjaSKUTmWh0sIsLXro5hl+pT+c052IWHzzW37IRCvjU2ax76URPzXiUy0 oiqxD6Fn38CIREUZt3EAn6gofYtasJi24bIJqNWTEFfeAi5+9IRygkJigp9WQUI6ovps HBCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=so/a1lxCzvcGANFrB9lAO1rG5GEB7K46VQGEuPYPaRc=; fh=S/J/lVY3k99TP0qCZ8h/VqQtwCuGdkk7WyHB5VNf2ks=; b=fYg/Ml0lYDOtqd0297AvIgk8AB/hvVQOkHspYlWbFtSK2J09fACvEkYQQ/s30jZwRY ZRtzrQYLy0ch132U4VeG+UJ3Pr9trHzQnoMPUE7FqS1T/tTyHFbFgfzcAh3Dig5NFe5+ 2ReNsSddyf2rEKNCnMBs9KJDrrn0/SgbO9tKr5MtqR3TXY+vHRr0S5RlrokJbUXCgw2B 1XLLapZM/SycPMPhnT9Ng/rVGmp5RdpNC8VIA6nEqhMVpYCw8VGd5035YEK6vO1EZ1dx fFnFJApGW3Ka/z0L3UTnPbfhTyy2tO4yqxOVS0pSgVCo256cJ+wokPlznXX2Bf95SmLj mpGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nb5A7FTI; spf=pass (google.com: domain of linux-kernel+bounces-17032-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-17032-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id x66-20020a636345000000b005ce02ada455si20217392pgb.656.2024.01.04.09.24.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jan 2024 09:24:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-17032-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=nb5A7FTI; spf=pass (google.com: domain of linux-kernel+bounces-17032-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-17032-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 89414285AA4 for ; Thu, 4 Jan 2024 17:24:41 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3BEC22C1B3; Thu, 4 Jan 2024 17:19:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nb5A7FTI" X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6043D28E29; Thu, 4 Jan 2024 17:19:46 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1BEE7C433C7; Thu, 4 Jan 2024 17:19:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1704388785; bh=IA55/z/VCfQyUlpRMsvuMO6NANKwsanr77HuZLv9tYw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=nb5A7FTIbIDzsGHPUXsC9IN7PSV0Ts78G88LVHRqCQKnqpIKftq9dPEMz8Ziq7Sd1 MB2jpVHGk5TvuYngc97lKbNFnpe+zARUqDyKCQcdh/1I6wcET5miHE09BKbOOiJWl6 /KKH9bDm+n2vTpnx8TO1k4Q+h8JWC72FeZkthOJbc+2MIF4/Icl74dXcLUWh9HLxd4 p1p6M6ioxXVc8KzB9JY9bG7u9C8Vzrtb2h4/tqOA4CUQb0ltmapo02Y+qsqbrdyCaH goH1VGel3TMoKi+bZj6fvjzE+Li2CA1xo/Hz5sncrUCBYAWHEkWMucILvtN8WrBGC3 +9crPZ+ivOdHg== Date: Thu, 4 Jan 2024 17:19:40 +0000 From: Simon Horman To: Bhavya Kapoor Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, linux-can@vger.kernel.org, mailhol.vincent@wanadoo.fr, rcsekar@samsung.com, pabeni@redhat.com, kuba@kernel.org, edumazet@google.com, davem@davemloft.net, mkl@pengutronix.de, wg@grandegger.com, vigneshr@ti.com, u-kumar1@ti.com Subject: Re: [PATCH] net: can: Add support for aliases in CAN Message-ID: <20240104171940.GI31813@kernel.org> References: <20240102102949.138607-1-b-kapoor@ti.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240102102949.138607-1-b-kapoor@ti.com> On Tue, Jan 02, 2024 at 03:59:49PM +0530, Bhavya Kapoor wrote: > When multiple CAN's are present, then names that are getting assigned > changes after every boot even after providing alias in the device tree. > Thus, Add support for implementing CAN aliasing so that names or > alias for CAN will now be provided from device tree. > > Signed-off-by: Bhavya Kapoor Hi Bhavya, some minor feedback from my side. ... > diff --git a/drivers/net/can/dev/dev.c b/drivers/net/can/dev/dev.c > index 3a3be5cdfc1f..ed483c23ec79 100644 > --- a/drivers/net/can/dev/dev.c > +++ b/drivers/net/can/dev/dev.c > @@ -247,12 +247,14 @@ void can_setup(struct net_device *dev) > > /* Allocate and setup space for the CAN network device */ > struct net_device *alloc_candev_mqs(int sizeof_priv, unsigned int echo_skb_max, > - unsigned int txqs, unsigned int rxqs) > + unsigned int txqs, unsigned int rxqs, > + struct device *candev) > { > struct can_ml_priv *can_ml; > struct net_device *dev; > struct can_priv *priv; > - int size; > + int size, aliasid; > + char devname[6] = "can%d"; nit: Please consider arranging local variables in Networking code in reverse xmas tree order - longest line to shortest. > > /* We put the driver's priv, the CAN mid layer priv and the > * echo skb into the netdevice's priv. The memory layout for > @@ -273,7 +275,14 @@ struct net_device *alloc_candev_mqs(int sizeof_priv, unsigned int echo_skb_max, > size = ALIGN(size, sizeof(struct sk_buff *)) + > echo_skb_max * sizeof(struct sk_buff *); > > - dev = alloc_netdev_mqs(size, "can%d", NET_NAME_UNKNOWN, can_setup, > + if (candev) { > + aliasid = of_alias_get_id(candev->of_node, "can"); > + if (aliasid >= 0) > + snprintf(devname, sizeof(devname), "%s%d", "can", aliasid); The size of devname is 6 bytes (can%d\0). This means that snprintf() will truncate devname if alias is greater than 99. Is this a concern? If so, perhaps devname could be declared to be IFNAMSIZ bytes long? Flagged by gcc-13 -Wformat-truncation > + } > + dev_dbg(candev, "Name of CAN assigned is : %s\n", devname); > + > + dev = alloc_netdev_mqs(size, devname, NET_NAME_UNKNOWN, can_setup, > txqs, rxqs); > if (!dev) > return NULL; ...