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: <ef088d6-cec1-9758-cc0-55fb66ca952@inria.fr>
Date: Sat, 5 Apr 2025 04:41:37 -0400 (EDT)
From: Julia Lawall <julia.lawall@...ia.fr>
To: Greg KH <gregkh@...uxfoundation.org>
cc: Erick Karanja <karanja99erick@...il.com>, outreachy@...ts.linux.dev, 
    philipp.g.hortmann@...il.com, linux-staging@...ts.linux.dev, 
    linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] staging: rtl8723bs: Initialize local variables at
 declaration



On Sat, 5 Apr 2025, Greg KH wrote:

> On Sat, Apr 05, 2025 at 06:14:49AM +0300, Erick Karanja wrote:
> > Optimize variable initialization by integrating the initialization
> > directly into the variable declaration in cases where the initialization
> > is simple and doesn't depend on other variables or complex expressions.
> > This makes the code more concise and readable.
> >
> > Signed-off-by: Erick Karanja <karanja99erick@...il.com>
> > ---
> >  .../staging/rtl8723bs/hal/rtl8723bs_xmit.c    | 56 ++++++-------------
> >  1 file changed, 16 insertions(+), 40 deletions(-)
> >
> > diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > index 5dc1c12fe03e..ebe9562a9606 100644
> > --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
> > @@ -120,13 +120,10 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
> >   */
> >  s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
> >  {
> > -	struct xmit_priv *pxmitpriv;
> > +	struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
> >  	u8 queue_empty, queue_pending;
> >  	s32 ret;
> >
> > -
> > -	pxmitpriv = &padapter->xmitpriv;
> > -
> >  	if (wait_for_completion_interruptible(&pxmitpriv->xmit_comp)) {
> >  		netdev_emerg(padapter->pnetdev,
> >  			     "%s: down SdioXmitBufSema fail!\n", __func__);
> > @@ -168,10 +165,10 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
> >   */
> >  static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv)
> >  {
> > -	s32 err, ret;
> > +	s32 err = 0, ret;
> >  	u32 k = 0;
> > -	struct hw_xmit *hwxmits, *phwxmit;
> > -	u8 idx, hwentry;
> > +	struct hw_xmit *hwxmits = pxmitpriv->hwxmits, *phwxmit;
> > +	u8 idx, hwentry = pxmitpriv->hwxmit_entry;
>
> These lines are NOT more understandable and readable at all, sorry.  You
> are mixing pre-initialized variables with not-initialized ones, making
> this harder to read and maintain over time.
>
> Which would you want to come back to in 5 years to try to understand
> what is going on?
>
> Keep it simple please.

This is another deficiency of Coccinelle.  It doesn't really see the case
where there are multiple declarations on a single line, since it is
generally more valuable to be able to work on them individually.

I guess the first change above would be ok though.

julia

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ