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
| ||
|
Message-ID: <20240906-spirited-versatile-cougar-2babed@devvm32600> Date: Fri, 6 Sep 2024 01:48:15 -0700 From: Breno Leitao <leitao@...ian.org> To: Simon Horman <horms@...nel.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 8/9] net: netconsole: split send_msg_fragmented On Wed, Sep 04, 2024 at 12:16:36PM +0100, Simon Horman wrote: > On Tue, Sep 03, 2024 at 07:07:51AM -0700, Breno Leitao wrote: > > Refactor the send_msg_fragmented() function by extracting the logic for > > sending the message body into a new function called > > send_fragmented_body(). > > > > Now, send_msg_fragmented() handles appending the release and header, and > > then delegates the task of sending the body to send_fragmented_body(). > > I think it would be good to expand a bit on why here. > > > Signed-off-by: Breno Leitao <leitao@...ian.org> > > --- > > drivers/net/netconsole.c | 85 +++++++++++++++++++++++----------------- > > 1 file changed, 48 insertions(+), 37 deletions(-) > > > > diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c > > index be23def330e9..81d7d2b09988 100644 > > --- a/drivers/net/netconsole.c > > +++ b/drivers/net/netconsole.c > > @@ -1066,45 +1066,21 @@ static void append_release(char *buf) > > scnprintf(buf, MAX_PRINT_CHUNK, "%s,", release); > > } > > > > -static void send_msg_fragmented(struct netconsole_target *nt, > > - const char *msg, > > - const char *userdata, > > - int msg_len, > > - int release_len) > > +static void send_fragmented_body(struct netconsole_target *nt, char *buf, > > + const char *msgbody, int header_len, > > + int msgbody_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; > > - > > - if (userdata) > > - userdata_len = nt->userdata_length; > > - > > - /* need to insert extra header fields, detect header and msgbody */ > > - header = msg; > > - msgbody = memchr(msg, ';', msg_len); > > - if (WARN_ON_ONCE(!msgbody)) > > - return; > > - > > - header_len = msgbody - header; > > - msgbody_len = msg_len - header_len - 1; > > - msgbody++; > > - > > - /* > > - * Transfer multiple chunks with the following extra header. > > - * "ncfrag=<byte-offset>/<total-bytes>" > > - */ > > - if (release_len) > > - append_release(buf); > > + int body_len, offset = 0; > > + const char *userdata = NULL; > > + int userdata_len = 0; > > > > - /* Copy the header into the buffer */ > > - memcpy(buf + release_len, header, header_len); > > - header_len += release_len; > > +#ifdef CONFIG_NETCONSOLE_DYNAMIC > > + userdata = nt->userdata_complete; > > + userdata_len = nt->userdata_length; > > +#endif > > I think that dropping the userdata parameter of send_msg_fragmented() ought > to part of an earlier patch or separate patch. It doesn't seem strictly > related to this patch. I agree with you. Let me separate it in a different patch, then. Thanks for the review, --breno
Powered by blists - more mailing lists