Re: [PATCH v2 1/3] staging: rtl8723bs: Modify struct rx_pkt_attrib attribute bdecrypted
Dan Carpenter <[email protected]> Thu, 3 Apr 2025 15:13:29 +0300
| Newsgroups | dev.linux.lists.outreachy,dev.linux.lists.linux-staging,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Apr 02, 2025 at 09:41:57PM +0100, Greg KH wrote: > On Wed, Apr 02, 2025 at 10:34:22PM +0200, Julia Lawall wrote: > > > > > > On Wed, 2 Apr 2025, Greg KH wrote: > > > > > On Wed, Apr 02, 2025 at 08:16:42PM +0300, Erick Karanja wrote: > > > > Standardize boolean representation by ensuring consistency, > > > > replace instances of 1/0 with true/false where boolean logic is implied, > > > > as some definitions already use true/false. > > > > This improves code clarity and aligns with the kernel’s bool type usage. > > > > > > > > Signed-off-by: Erick Karanja <[email protected]> > > > > --- > > > > drivers/staging/rtl8723bs/core/rtw_recv.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c > > > > index a389ba5ecc6f..fd04dbacb50f 100644 > > > > --- a/drivers/staging/rtl8723bs/core/rtw_recv.c > > > > +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c > > > > @@ -1358,7 +1358,7 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame > > > > u8 *mgmt_DATA; > > > > u32 data_len = 0; > > > > > > > > - pattrib->bdecrypted = 0; > > > > + pattrib->bdecrypted = false; > > > > > > but bdecrypted is a u8, not a boolean type. So setting it to "false" > > > does not seem correct here, right? > > > > Is false different than 0? > > Does C guarantee that? I can never remember. I don't think it > guarantees that a 'bool' will only be 8 bits, or am I mistaken there > too? > These patches are fine. This does come from the hardware but the patches don't change the layout of the struct, just the right hand side of the assignment. The C standard doesn't specify the size of _Bool. It just has to be unsigned and at least one bit large. The surprising thing about _Bool type is that it doesn't truncate anything. So you can do: "_Bool x = y & BIT(20);" and it works, but if we use unsigned char then we would have to add a !!. "unsigned char x = !!(y & BIT(20));" Btw, true/false are not keywords in C. They're defined in include/linux/stddef.h. The main review here is if there is a typo where we accidentally type true instead of false. regards, dan carpenter