Re: [PATCH] staging: rtl8723bs: modify struct field to use standard bool type

Greg Kroah-Hartman <[email protected]> Thu, 3 Apr 2025 14:54:01 +0100
Newsgroups dev.linux.lists.outreachy,dev.linux.lists.linux-staging,org.kernel.vger.linux-kernel
Message-ID <2025040304-overdrive-snugness-8b05@gregkh>
On Thu, Apr 03, 2025 at 10:33:49AM +0100, Samuel Abraham wrote:
> On Thu, Apr 3, 2025 at 6:06 AM Julia Lawall <[email protected]> wrote:
> >
> >
> >
> > On Wed, 2 Apr 2025, Abraham Samuel Adekunle wrote:
> >
> > > The struct field uses the uint values 0 and 1 to represent false and
> > > true values respectively.
> > >
> > > Convert cases to use the bool type instead to conform to Linux
> > > coding styles and ensure consistency.
> >
> > This is vague.  Ensure consistency with what?  You can point out that true
> > or false was already being used elsewhere in the code.
> >
> > >
> > > reported by Coccinelle:
> > >
> > > Signed-off-by: Abraham Samuel Adekunle <[email protected]>
> > > ---
> > >  drivers/staging/rtl8723bs/core/rtw_ap.c      | 2 +-
> > >  drivers/staging/rtl8723bs/include/sta_info.h | 2 +-
> > >  2 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c
> > > index ed6942e289a5..82f54f769ed1 100644
> > > --- a/drivers/staging/rtl8723bs/core/rtw_ap.c
> > > +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c
> > > @@ -389,7 +389,7 @@ void update_bmc_sta(struct adapter *padapter)
> > >               psta->qos_option = 0;
> > >               psta->htpriv.ht_option = false;
> > >
> > > -             psta->ieee8021x_blocked = 0;
> > > +             psta->ieee8021x_blocked = false;
> > >
> > >               memset((void *)&psta->sta_stats, 0, sizeof(struct stainfo_stats));
> > >
> > > diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h
> > > index b3535fed3de7..63343998266a 100644
> > > --- a/drivers/staging/rtl8723bs/include/sta_info.h
> > > +++ b/drivers/staging/rtl8723bs/include/sta_info.h
> > > @@ -86,7 +86,7 @@ struct sta_info {
> > >       uint qos_option;
> > >       u8 hwaddr[ETH_ALEN];
> > >
> > > -     uint    ieee8021x_blocked;      /* 0: allowed, 1:blocked */
> > > +     bool ieee8021x_blocked;
> 
> > You should also check whether this is a structure that is read from the
> > hardware.  In that case, it would be a concern if the bool field does not
> > have the same size as the uint one.
> Hello Julia
> So following the conversation here,
> https://lore.kernel.org/outreachy/[email protected]/T/#u
> I was able to compare the assembly code of the file before and after
> my patch and this were my findings
> 
> Original assembly code for
> # drivers/staging/rtl8723bs/core/rtw_ap.c:392    psta->ieee8021x_blocked = 0;
> movl  $0, 436(%r12)    #,  psta->ieee8021x_blocked
> 
> Assembly Code After Patch
> # drivers/staging/rtl8723bs/core/rtw_ap.c:392
> psta->ieee8021x_blocked = false;
> movb  $0, 434(%r12)    #,  psta->ieee8021x_blocked

So the structure size changed?  That's not good at all, and is what I
was worried about :(

Also, the tool 'pahole' might help out here to verify what exactly
changed, if you want to dig in further here.

thanks,

greg k-h