Re: [PATCH net-next 2/9] net: netconsole: split send_ext_msg_udp() function
From: Simon Horman <horms@kernel.org>
Date: 2024-09-04 10:55:50
Also in:
lkml
On Tue, Sep 03, 2024 at 07:07:45AM -0700, Breno Leitao wrote:
The send_ext_msg_udp() function has become quite large, currently spanning 102 lines. Its complexity, along with extensive pointer and offset manipulation, makes it difficult to read and error-prone. The function has evolved over time, and it’s now due for a refactor. To improve readability and maintainability, isolate the case where no message fragmentation occurs into a separate function, into a new send_msg_no_fragmentation() function. This scenario covers about 95% of the messages. Signed-off-by: Breno Leitao <leitao@debian.org>
Thanks, The nit below aside this looks good to me. Reviewed-by: Simon Horman <horms@kernel.org>
quoted hunk ↗ jump to hunk
@@ -1090,23 +1116,8 @@ static void send_ext_msg_udp(struct netconsole_target *nt, const char *msg, release_len = strlen(release) + 1; } - if (msg_len + release_len + userdata_len <= MAX_PRINT_CHUNK) { - /* No fragmentation needed */ - if (nt->release) { - scnprintf(buf, MAX_PRINT_CHUNK, "%s,%s", release, msg); - msg_len += release_len; - } else { - memcpy(buf, msg, msg_len); - } - - if (userdata) - msg_len += scnprintf(&buf[msg_len], - MAX_PRINT_CHUNK - msg_len, - "%s", userdata); - - netpoll_send_udp(&nt->np, buf, msg_len); - return; - } + if (msg_len + release_len + userdata_len <= MAX_PRINT_CHUNK) + return send_msg_no_fragmentation(nt, msg, userdata, msg_len, release_len);
nit: This appears to be fixed in the following patch,
but the above line could be wrapped here.
/* need to insert extra header fields, detect header and body */ header = msg; -- 2.43.5