[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250723145400.GB1036606@horms.kernel.org>
Date: Wed, 23 Jul 2025 15:54:00 +0100
From: Simon Horman <horms@...nel.org>
To: Breno Leitao <leitao@...ian.org>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Andrew Lunn <andrew+netdev@...n.ch>, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, kernel-team@...a.com
Subject: Re: [PATCH net-next v2 4/5] netconsole: use netpoll_parse_ip_addr in
local_ip_store
On Mon, Jul 21, 2025 at 06:02:04AM -0700, Breno Leitao wrote:
> Replace manual IP address parsing with a call to netpoll_parse_ip_addr
> in local_ip_store(), simplifying the code and reducing the chance of
> errors.
>
> Also, remove the pr_err() if the user enters an invalid value in
> configfs entries. pr_err() is not the best way to alert user that the
> configuration is invalid.
>
> Signed-off-by: Breno Leitao <leitao@...ian.org>
My suggestion below not withstanding, this looks good to me.
Reviewed-by: Simon Horman <horms@...nel.org>
> ---
> drivers/net/netconsole.c | 22 +++++-----------------
> 1 file changed, 5 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> index f2c2b8852c603..b24e423a60268 100644
> --- a/drivers/net/netconsole.c
> +++ b/drivers/net/netconsole.c
> @@ -751,6 +751,7 @@ static ssize_t local_ip_store(struct config_item *item, const char *buf,
> {
> struct netconsole_target *nt = to_target(item);
> ssize_t ret = -EINVAL;
> + int ipv6;
>
> mutex_lock(&dynamic_netconsole_mutex);
> if (nt->enabled) {
> @@ -759,23 +760,10 @@ static ssize_t local_ip_store(struct config_item *item, const char *buf,
> goto out_unlock;
> }
>
> - if (strnchr(buf, count, ':')) {
> - const char *end;
> -
> - if (in6_pton(buf, count, nt->np.local_ip.in6.s6_addr, -1, &end) > 0) {
> - if (*end && *end != '\n') {
> - pr_err("invalid IPv6 address at: <%c>\n", *end);
> - goto out_unlock;
> - }
> - nt->np.ipv6 = true;
> - } else
> - goto out_unlock;
> - } else {
> - if (!nt->np.ipv6)
> - nt->np.local_ip.ip = in_aton(buf);
> - else
> - goto out_unlock;
> - }
> + ipv6 = netpoll_parse_ip_addr(buf, &nt->np.local_ip);
> + if (ipv6 == -1)
> + goto out_unlock;
> + nt->np.ipv6 = ipv6;
I don't think this needs to block progress.
And if you disagree that is fine too.
But I would have expressed this as:
nt->np.ipv6 = !!ipv6;
Because nt->np.ipv6 is a bool and ipv6 is an int.
Likewise for patch 5/5.
...
Powered by blists - more mailing lists