[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<DU0P189MB19948C9F84C27D90EB1E2971C61CA@DU0P189MB1994.EURP189.PROD.OUTLOOK.COM>
Date: Wed, 24 Sep 2025 05:20:10 +0000
From: Tung Quang Nguyen <tung.quang.nguyen@....tech>
To: Dmitry Antipov <dmantipov@...dex.ru>
CC: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski
<kuba@...nel.org>, "tipc-discussion@...ts.sourceforge.net"
<tipc-discussion@...ts.sourceforge.net>, "netdev@...r.kernel.org"
<netdev@...r.kernel.org>, Jon Maloy <jmaloy@...hat.com>
Subject: RE: [PATCH] net: tipc: adjust tipc_nodeid2string() to return string
length
>Subject: [PATCH] net: tipc: adjust tipc_nodeid2string() to return string length
>
net is not for code refactoring/improvement. Please correct your patch title like this:
[PATCH net-next] tipc: adjust tipc_nodeid2string() to return string length
>Since the value returned by 'tipc_nodeid2string()' is not used, the function may
>be adjusted to return the length of the result, which is helpful to drop a few
>calls to 'strlen()' in 'tipc_link_create()'
>and 'tipc_link_bc_create()'. Compile tested only.
>
>Signed-off-by: Dmitry Antipov <dmantipov@...dex.ru>
>---
> net/tipc/addr.c | 6 +++---
> net/tipc/addr.h | 2 +-
> net/tipc/link.c | 9 +++------
> 3 files changed, 7 insertions(+), 10 deletions(-)
>
>diff --git a/net/tipc/addr.c b/net/tipc/addr.c index
>fd0796269eed..a8fd119047e4 100644
>--- a/net/tipc/addr.c
>+++ b/net/tipc/addr.c
>@@ -79,7 +79,7 @@ void tipc_set_node_addr(struct net *net, u32 addr)
> pr_info("Node number set to %u\n", addr); }
>
>-char *tipc_nodeid2string(char *str, u8 *id)
>+int tipc_nodeid2string(char *str, u8 *id)
> {
> int i;
> u8 c;
>@@ -109,7 +109,7 @@ char *tipc_nodeid2string(char *str, u8 *id)
> if (i == NODE_ID_LEN) {
> memcpy(str, id, NODE_ID_LEN);
> str[NODE_ID_LEN] = 0;
>- return str;
>+ return NODE_ID_LEN;
Using "return i;" is simpler.
> }
>
> /* Translate to hex string */
>@@ -120,5 +120,5 @@ char *tipc_nodeid2string(char *str, u8 *id)
> for (i = NODE_ID_STR_LEN - 2; str[i] == '0'; i--)
> str[i] = 0;
>
>- return str;
>+ return i + 1;
> }
>diff --git a/net/tipc/addr.h b/net/tipc/addr.h index
>93f82398283d..a113cf7e1f89 100644
>--- a/net/tipc/addr.h
>+++ b/net/tipc/addr.h
>@@ -130,6 +130,6 @@ static inline int in_own_node(struct net *net, u32 addr)
>bool tipc_in_scope(bool legacy_format, u32 domain, u32 addr); void
>tipc_set_node_id(struct net *net, u8 *id); void tipc_set_node_addr(struct net
>*net, u32 addr); -char *tipc_nodeid2string(char *str, u8 *id);
>+int tipc_nodeid2string(char *str, u8 *id);
>
> #endif
>diff --git a/net/tipc/link.c b/net/tipc/link.c index 3ee44d731700..e61872b5b2b3
>100644
>--- a/net/tipc/link.c
>+++ b/net/tipc/link.c
>@@ -495,11 +495,9 @@ bool tipc_link_create(struct net *net, char *if_name,
>int bearer_id,
>
> /* Set link name for unicast links only */
> if (peer_id) {
>- tipc_nodeid2string(self_str, tipc_own_id(net));
>- if (strlen(self_str) > 16)
>+ if (tipc_nodeid2string(self_str, tipc_own_id(net)) > 16)
> sprintf(self_str, "%x", self);
>- tipc_nodeid2string(peer_str, peer_id);
>- if (strlen(peer_str) > 16)
>+ if (tipc_nodeid2string(peer_str, peer_id) > 16)
> sprintf(peer_str, "%x", peer);
> }
> /* Peer i/f name will be completed by reset/activate message */ @@ -
>570,8 +568,7 @@ bool tipc_link_bc_create(struct net *net, u32 ownnode, u32
>peer, u8 *peer_id,
> if (peer_id) {
> char peer_str[NODE_ID_STR_LEN] = {0,};
>
>- tipc_nodeid2string(peer_str, peer_id);
>- if (strlen(peer_str) > 16)
>+ if (tipc_nodeid2string(peer_str, peer_id) > 16)
> sprintf(peer_str, "%x", peer);
> /* Broadcast receiver link name: "broadcast-link:<peer>" */
> snprintf(l->name, sizeof(l->name), "%s:%s", tipc_bclink_name,
>--
>2.51.0
>
Powered by blists - more mailing lists