0-DAY kernel build testing backend reported: sparse warnings: (new ones prefixed by >>) >> >> net/netfilter/xt_ipcomp.c:63:26: sparse: restricted __be16 degrades to integer >> >> net/netfilter/xt_ipcomp.c:63:26: sparse: cast to restricted __be32 Fix this by using ntohs without shifting. Tested with: make C=1 CF=-D__CHECK_ENDIAN__
Unified · Split
| @@ -60,7 +60,7 @@ static bool comp_mt(const struct sk_buff *skb, struct xt_action_param *par) · 59 unmodified lines | |||
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | return spi_match(compinfo->spis[0], compinfo->spis[1], | 62 | return spi_match(compinfo->spis[0], compinfo->spis[1], |
| 63 | ntohl(chdr->cpi << 16), | 63 | ntohs(chdr->cpi), |
| 64 | !!(compinfo->invflags & XT_IPCOMP_INV_SPI)); | 64 | !!(compinfo->invflags & XT_IPCOMP_INV_SPI)); |
| 65 | } | 65 | } |
| 66 | 66 | ||