hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/net/netfilter/nft_byteorder.c
....@@ -30,11 +30,11 @@
3030 const struct nft_byteorder *priv = nft_expr_priv(expr);
3131 u32 *src = &regs->data[priv->sreg];
3232 u32 *dst = &regs->data[priv->dreg];
33
- union { u32 u32; u16 u16; } *s, *d;
33
+ u16 *s16, *d16;
3434 unsigned int i;
3535
36
- s = (void *)src;
37
- d = (void *)dst;
36
+ s16 = (void *)src;
37
+ d16 = (void *)dst;
3838
3939 switch (priv->size) {
4040 case 8: {
....@@ -61,11 +61,11 @@
6161 switch (priv->op) {
6262 case NFT_BYTEORDER_NTOH:
6363 for (i = 0; i < priv->len / 4; i++)
64
- d[i].u32 = ntohl((__force __be32)s[i].u32);
64
+ dst[i] = ntohl((__force __be32)src[i]);
6565 break;
6666 case NFT_BYTEORDER_HTON:
6767 for (i = 0; i < priv->len / 4; i++)
68
- d[i].u32 = (__force __u32)htonl(s[i].u32);
68
+ dst[i] = (__force __u32)htonl(src[i]);
6969 break;
7070 }
7171 break;
....@@ -73,11 +73,11 @@
7373 switch (priv->op) {
7474 case NFT_BYTEORDER_NTOH:
7575 for (i = 0; i < priv->len / 2; i++)
76
- d[i].u16 = ntohs((__force __be16)s[i].u16);
76
+ d16[i] = ntohs((__force __be16)s16[i]);
7777 break;
7878 case NFT_BYTEORDER_HTON:
7979 for (i = 0; i < priv->len / 2; i++)
80
- d[i].u16 = (__force __u16)htons(s[i].u16);
80
+ d16[i] = (__force __u16)htons(s16[i]);
8181 break;
8282 }
8383 break;