lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240904105545.GO4792@kernel.org>
Date: Wed, 4 Sep 2024 11:55:45 +0100
From: Simon Horman <horms@...nel.org>
To: Breno Leitao <leitao@...ian.org>
Cc: kuba@...nel.org, davem@...emloft.net, edumazet@...gle.com,
	pabeni@...hat.com, thepacketgeek@...il.com, netdev@...r.kernel.org,
	linux-kernel@...r.kernel.org, davej@...emonkey.org.uk,
	thevlad@...a.com, max@...sevol.com
Subject: Re: [PATCH net-next 2/9] net: netconsole: split send_ext_msg_udp()
 function

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@...ian.org>

Thanks,

The nit below aside this looks good to me.

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

> @@ -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
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ