Re: [PATCH net-next v2 4/5] netconsole: use netpoll_parse_ip_addr in local_ip_store
flat view
From: Simon Horman <horms@kernel.org>
Date: 2025-07-23 14:54:06
Also in:
lkml
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@debian.org>
My suggestion below not withstanding, this looks good to me. Reviewed-by: Simon Horman <horms@kernel.org>
quoted hunk ↗ jump to hunk
--- 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. ...