[PATCH net-next 5/9] net: netconsole: introduce variable to track body length

Breno Leitao posted 9 patches 1 year, 5 months ago
There is a newer version of this series
[PATCH net-next 5/9] net: netconsole: introduce variable to track body length
Posted by Breno Leitao 1 year, 5 months ago
This new variable tracks the total length of the data to be sent,
encompassing both the message body (msgbody) and userdata, which is
collectively called body.

By explicitly defining body_len, the code becomes clearer and easier to
reason about, simplifying offset calculations and improving overall
readability of the function.

Signed-off-by: Breno Leitao <leitao@debian.org>
---
 drivers/net/netconsole.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
index 0d924fba5814..22ccd9aa016a 100644
--- a/drivers/net/netconsole.c
+++ b/drivers/net/netconsole.c
@@ -1064,10 +1064,10 @@ static void send_msg_fragmented(struct netconsole_target *nt,
 				int msg_len,
 				int release_len)
 {
+	int header_len, msgbody_len, body_len;
 	static char buf[MAX_PRINT_CHUNK]; /* protected by target_list_lock */
 	int offset = 0, userdata_len = 0;
 	const char *header, *msgbody;
-	int header_len, msgbody_len;
 	const char *release;
 
 	if (userdata)
@@ -1096,10 +1096,11 @@ static void send_msg_fragmented(struct netconsole_target *nt,
 	memcpy(buf + release_len, header, header_len);
 	header_len += release_len;
 
+	body_len = msgbody_len + userdata_len;
 	/* for now on, the header will be persisted, and the msgbody
 	 * will be replaced
 	 */
-	while (offset < msgbody_len + userdata_len) {
+	while (offset < body_len) {
 		int this_header = header_len;
 		int this_offset = 0;
 		int this_chunk = 0;
@@ -1107,7 +1108,7 @@ static void send_msg_fragmented(struct netconsole_target *nt,
 		this_header += scnprintf(buf + this_header,
 					 sizeof(buf) - this_header,
 					 ",ncfrag=%d/%d;", offset,
-					 msgbody_len + userdata_len);
+					 body_len);
 
 		/* Not all msgbody data has been written yet */
 		if (offset < msgbody_len) {
@@ -1122,7 +1123,7 @@ static void send_msg_fragmented(struct netconsole_target *nt,
 		 * append userdata in this chunk
 		 */
 		if (offset + this_offset >= msgbody_len &&
-		    offset + this_offset < userdata_len + msgbody_len) {
+		    offset + this_offset < body_len) {
 			int sent_userdata = (offset + this_offset) - msgbody_len;
 			int preceding_bytes = this_chunk + this_header;
 
-- 
2.43.5
Re: [PATCH net-next 5/9] net: netconsole: introduce variable to track body length
Posted by Simon Horman 1 year, 5 months ago
On Tue, Sep 03, 2024 at 07:07:48AM -0700, Breno Leitao wrote:
> This new variable tracks the total length of the data to be sent,
> encompassing both the message body (msgbody) and userdata, which is
> collectively called body.
> 
> By explicitly defining body_len, the code becomes clearer and easier to
> reason about, simplifying offset calculations and improving overall
> readability of the function.
> 
> Signed-off-by: Breno Leitao <leitao@debian.org>

Thanks,

I agree that this improves the clarify of the code.

Reviewed-by: Simon Horman <horms@kernel.org>