Messages in this thread | | | Subject | Re: [PATCH v3 2/5] staging: r8188eu: cast to restricted __be32 | From | Larry Finger <> | Date | Mon, 23 Aug 2021 09:24:18 -0500 |
| |
On 8/23/21 3:44 AM, Aakash Hemadri wrote: > On 21/08/21 09:48PM, Aakash Hemadri wrote: >> Fix sparse warning: >>> rtw_br_ext.c:836:54: warning: cast to restricted __be32 >> >> dhpch->cookie is be32, change it's type. >> >> Suggested-by: Larry Finger <Larry.Finger@lwfinger.net> >> Signed-off-by: Aakash Hemadri <aakashhemadri123@gmail.com> >> --- >> drivers/staging/r8188eu/core/rtw_br_ext.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c b/drivers/staging/r8188eu/core/rtw_br_ext.c >> index f6d1f6029ec3..f65d94bfa286 100644 >> --- a/drivers/staging/r8188eu/core/rtw_br_ext.c >> +++ b/drivers/staging/r8188eu/core/rtw_br_ext.c >> @@ -649,7 +649,7 @@ struct dhcpMessage { >> u_int8_t chaddr[16]; >> u_int8_t sname[64]; >> u_int8_t file[128]; >> - u_int32_t cookie; >> + __be32 cookie; >> u_int8_t options[308]; /* 312 - cookie */ >> }; >> >> @@ -671,7 +671,7 @@ void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb) >> (udph->dest == __constant_htons(SERVER_PORT))) { /* DHCP request */ >> struct dhcpMessage *dhcph = >> (struct dhcpMessage *)((size_t)udph + sizeof(struct udphdr)); >> - u32 cookie = be32_to_cpu((__be32)dhcph->cookie); >> + u32 cookie = be32_to_cpu(dhcph->cookie); >> >> if (cookie == DHCP_MAGIC) { /* match magic word */ >> if (!(dhcph->flags & htons(BROADCAST_FLAG))) { >> -- >> 2.32.0 >> > > David Laight suggested to use get_unaligned_be32, I am not sure if it's > the right thing to do because as far as I understand get_unaligned_be32 > byteshifts the argument. > > Can someone please confirm if this change is okay? >
It is not needed. variable dhcph->cookie is 4-byte aligned. Usind the unaligned version would just add cpu cycles and arrivw at the same point!
Larry
| |