Thread (20 messages) 20 messages, 5 authors, 2021-08-23

Re: [PATCH v2 3/5] staging: r8188eu: incorrect type in csum_ipv6_magic

From: Larry Finger <hidden>
Date: 2021-08-20 21:48:40
Also in: lkml

On 8/19/21 3:17 AM, Aakash Hemadri wrote:
quoted hunk ↗ jump to hunk
Fix sparse warning:
quoted
rtw_br_ext.c:771:84:    got restricted __be16 [usertype] payload_len
rtw_br_ext.c:773:110: warning: incorrect type in argument 2
     (different base types)
quoted
rtw_br_ext.c:773:110:    expected int len
rtw_br_ext.c:773:110:    got restricted __be16 [usertype] payload_len
csum_ipv6_magic and csum_partial expect int len not __be16, use ntohs()

Signed-off-by: Aakash Hemadri <redacted>
---
  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 6a0462ce6230..d4acf02ca64f 100644
--- a/drivers/staging/r8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_br_ext.c
@@ -615,9 +615,9 @@ int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method)
  						struct icmp6hdr  *hdr = (struct icmp6hdr *)(skb->data + ETH_HLEN + sizeof(*iph));
  						hdr->icmp6_cksum = 0;
  						hdr->icmp6_cksum = csum_ipv6_magic(&iph->saddr, &iph->daddr,
-										iph->payload_len,
+										ntohs(iph->payload_len),
  										IPPROTO_ICMPV6,
-										csum_partial((__u8 *)hdr, iph->payload_len, 0));
+										csum_partial((__u8 *)hdr, ntohs(iph->payload_len), 0));
  					}
  				}
  			}
This patch is correct. Again, I like be16_to_cpu() better than ntohs(), but that 
is not a deal breaker. The kernel is split on the usage.

Larry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help