Loading net/bridge/netfilter/nft_meta_bridge.c +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ static void nft_meta_bridge_get_eval(const struct nft_expr *expr, { const struct nft_meta *priv = nft_expr_priv(expr); const struct net_device *in = pkt->in, *out = pkt->out; struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; const struct net_bridge_port *p; switch (priv->key) { Loading @@ -40,7 +40,7 @@ static void nft_meta_bridge_get_eval(const struct nft_expr *expr, goto out; } strncpy((char *)dest->data, p->br->dev->name, sizeof(dest->data)); strncpy((char *)dest, p->br->dev->name, IFNAMSIZ); return; out: return nft_meta_get_eval(expr, regs, pkt); Loading net/netfilter/nf_tables_core.c +4 −4 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, { const struct nft_payload *priv = nft_expr_priv(expr); const struct sk_buff *skb = pkt->skb; struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; unsigned char *ptr; if (priv->base == NFT_PAYLOAD_NETWORK_HEADER) Loading @@ -95,11 +95,11 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, return false; if (priv->len == 2) *(u16 *)dest->data = *(u16 *)ptr; *(u16 *)dest = *(u16 *)ptr; else if (priv->len == 4) *(u32 *)dest->data = *(u32 *)ptr; *(u32 *)dest = *(u32 *)ptr; else *(u8 *)dest->data = *(u8 *)ptr; *(u8 *)dest = *(u8 *)ptr; return true; } Loading net/netfilter/nft_bitwise.c +4 −6 Original line number Diff line number Diff line Loading @@ -30,14 +30,12 @@ static void nft_bitwise_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_bitwise *priv = nft_expr_priv(expr); const struct nft_data *src = ®s->data[priv->sreg]; struct nft_data *dst = ®s->data[priv->dreg]; const u32 *src = ®s->data[priv->sreg].data[0]; u32 *dst = ®s->data[priv->dreg].data[0]; unsigned int i; for (i = 0; i < DIV_ROUND_UP(priv->len, 4); i++) { dst->data[i] = (src->data[i] & priv->mask.data[i]) ^ priv->xor.data[i]; } for (i = 0; i < DIV_ROUND_UP(priv->len, 4); i++) dst[i] = (src[i] & priv->mask.data[i]) ^ priv->xor.data[i]; } static const struct nla_policy nft_bitwise_policy[NFTA_BITWISE_MAX + 1] = { Loading net/netfilter/nft_byteorder.c +4 −4 Original line number Diff line number Diff line Loading @@ -30,13 +30,13 @@ static void nft_byteorder_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_byteorder *priv = nft_expr_priv(expr); struct nft_data *src = ®s->data[priv->sreg]; struct nft_data *dst = ®s->data[priv->dreg]; u32 *src = ®s->data[priv->sreg].data[0]; u32 *dst = ®s->data[priv->dreg].data[0]; union { u32 u32; u16 u16; } *s, *d; unsigned int i; s = (void *)src->data; d = (void *)dst->data; s = (void *)src; d = (void *)dst; switch (priv->size) { case 4: Loading net/netfilter/nft_ct.c +19 −19 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_ct *priv = nft_expr_priv(expr); struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; enum ip_conntrack_info ctinfo; const struct nf_conn *ct; const struct nf_conn_help *help; Loading @@ -54,7 +54,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, state = NF_CT_STATE_UNTRACKED_BIT; else state = NF_CT_STATE_BIT(ctinfo); dest->data[0] = state; *dest = state; return; default: break; Loading @@ -65,26 +65,26 @@ static void nft_ct_get_eval(const struct nft_expr *expr, switch (priv->key) { case NFT_CT_DIRECTION: dest->data[0] = CTINFO2DIR(ctinfo); *dest = CTINFO2DIR(ctinfo); return; case NFT_CT_STATUS: dest->data[0] = ct->status; *dest = ct->status; return; #ifdef CONFIG_NF_CONNTRACK_MARK case NFT_CT_MARK: dest->data[0] = ct->mark; *dest = ct->mark; return; #endif #ifdef CONFIG_NF_CONNTRACK_SECMARK case NFT_CT_SECMARK: dest->data[0] = ct->secmark; *dest = ct->secmark; return; #endif case NFT_CT_EXPIRATION: diff = (long)jiffies - (long)ct->timeout.expires; if (diff < 0) diff = 0; dest->data[0] = jiffies_to_msecs(diff); *dest = jiffies_to_msecs(diff); return; case NFT_CT_HELPER: if (ct->master == NULL) Loading @@ -95,7 +95,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, helper = rcu_dereference(help->helper); if (helper == NULL) goto err; strncpy((char *)dest->data, helper->name, sizeof(dest->data)); strncpy((char *)dest, helper->name, NF_CT_HELPER_NAME_LEN); return; #ifdef CONFIG_NF_CONNTRACK_LABELS case NFT_CT_LABELS: { Loading @@ -103,15 +103,15 @@ static void nft_ct_get_eval(const struct nft_expr *expr, unsigned int size; if (!labels) { memset(dest->data, 0, sizeof(dest->data)); memset(dest, 0, NF_CT_LABELS_MAX_SIZE); return; } size = labels->words * sizeof(long); memcpy(dest->data, labels->bits, size); if (size < sizeof(dest->data)) memset(((char *) dest->data) + size, 0, sizeof(dest->data) - size); memcpy(dest, labels->bits, size); if (size < NF_CT_LABELS_MAX_SIZE) memset(((char *) dest) + size, 0, NF_CT_LABELS_MAX_SIZE - size); return; } #endif Loading @@ -122,24 +122,24 @@ static void nft_ct_get_eval(const struct nft_expr *expr, tuple = &ct->tuplehash[priv->dir].tuple; switch (priv->key) { case NFT_CT_L3PROTOCOL: dest->data[0] = nf_ct_l3num(ct); *dest = nf_ct_l3num(ct); return; case NFT_CT_SRC: memcpy(dest->data, tuple->src.u3.all, memcpy(dest, tuple->src.u3.all, nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); return; case NFT_CT_DST: memcpy(dest->data, tuple->dst.u3.all, memcpy(dest, tuple->dst.u3.all, nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); return; case NFT_CT_PROTOCOL: dest->data[0] = nf_ct_protonum(ct); *dest = nf_ct_protonum(ct); return; case NFT_CT_PROTO_SRC: dest->data[0] = (__force __u16)tuple->src.u.all; *dest = (__force __u16)tuple->src.u.all; return; case NFT_CT_PROTO_DST: dest->data[0] = (__force __u16)tuple->dst.u.all; *dest = (__force __u16)tuple->dst.u.all; return; default: break; Loading Loading
net/bridge/netfilter/nft_meta_bridge.c +2 −2 Original line number Diff line number Diff line Loading @@ -24,7 +24,7 @@ static void nft_meta_bridge_get_eval(const struct nft_expr *expr, { const struct nft_meta *priv = nft_expr_priv(expr); const struct net_device *in = pkt->in, *out = pkt->out; struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; const struct net_bridge_port *p; switch (priv->key) { Loading @@ -40,7 +40,7 @@ static void nft_meta_bridge_get_eval(const struct nft_expr *expr, goto out; } strncpy((char *)dest->data, p->br->dev->name, sizeof(dest->data)); strncpy((char *)dest, p->br->dev->name, IFNAMSIZ); return; out: return nft_meta_get_eval(expr, regs, pkt); Loading
net/netfilter/nf_tables_core.c +4 −4 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, { const struct nft_payload *priv = nft_expr_priv(expr); const struct sk_buff *skb = pkt->skb; struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; unsigned char *ptr; if (priv->base == NFT_PAYLOAD_NETWORK_HEADER) Loading @@ -95,11 +95,11 @@ static bool nft_payload_fast_eval(const struct nft_expr *expr, return false; if (priv->len == 2) *(u16 *)dest->data = *(u16 *)ptr; *(u16 *)dest = *(u16 *)ptr; else if (priv->len == 4) *(u32 *)dest->data = *(u32 *)ptr; *(u32 *)dest = *(u32 *)ptr; else *(u8 *)dest->data = *(u8 *)ptr; *(u8 *)dest = *(u8 *)ptr; return true; } Loading
net/netfilter/nft_bitwise.c +4 −6 Original line number Diff line number Diff line Loading @@ -30,14 +30,12 @@ static void nft_bitwise_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_bitwise *priv = nft_expr_priv(expr); const struct nft_data *src = ®s->data[priv->sreg]; struct nft_data *dst = ®s->data[priv->dreg]; const u32 *src = ®s->data[priv->sreg].data[0]; u32 *dst = ®s->data[priv->dreg].data[0]; unsigned int i; for (i = 0; i < DIV_ROUND_UP(priv->len, 4); i++) { dst->data[i] = (src->data[i] & priv->mask.data[i]) ^ priv->xor.data[i]; } for (i = 0; i < DIV_ROUND_UP(priv->len, 4); i++) dst[i] = (src[i] & priv->mask.data[i]) ^ priv->xor.data[i]; } static const struct nla_policy nft_bitwise_policy[NFTA_BITWISE_MAX + 1] = { Loading
net/netfilter/nft_byteorder.c +4 −4 Original line number Diff line number Diff line Loading @@ -30,13 +30,13 @@ static void nft_byteorder_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_byteorder *priv = nft_expr_priv(expr); struct nft_data *src = ®s->data[priv->sreg]; struct nft_data *dst = ®s->data[priv->dreg]; u32 *src = ®s->data[priv->sreg].data[0]; u32 *dst = ®s->data[priv->dreg].data[0]; union { u32 u32; u16 u16; } *s, *d; unsigned int i; s = (void *)src->data; d = (void *)dst->data; s = (void *)src; d = (void *)dst; switch (priv->size) { case 4: Loading
net/netfilter/nft_ct.c +19 −19 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, const struct nft_pktinfo *pkt) { const struct nft_ct *priv = nft_expr_priv(expr); struct nft_data *dest = ®s->data[priv->dreg]; u32 *dest = ®s->data[priv->dreg].data[0]; enum ip_conntrack_info ctinfo; const struct nf_conn *ct; const struct nf_conn_help *help; Loading @@ -54,7 +54,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, state = NF_CT_STATE_UNTRACKED_BIT; else state = NF_CT_STATE_BIT(ctinfo); dest->data[0] = state; *dest = state; return; default: break; Loading @@ -65,26 +65,26 @@ static void nft_ct_get_eval(const struct nft_expr *expr, switch (priv->key) { case NFT_CT_DIRECTION: dest->data[0] = CTINFO2DIR(ctinfo); *dest = CTINFO2DIR(ctinfo); return; case NFT_CT_STATUS: dest->data[0] = ct->status; *dest = ct->status; return; #ifdef CONFIG_NF_CONNTRACK_MARK case NFT_CT_MARK: dest->data[0] = ct->mark; *dest = ct->mark; return; #endif #ifdef CONFIG_NF_CONNTRACK_SECMARK case NFT_CT_SECMARK: dest->data[0] = ct->secmark; *dest = ct->secmark; return; #endif case NFT_CT_EXPIRATION: diff = (long)jiffies - (long)ct->timeout.expires; if (diff < 0) diff = 0; dest->data[0] = jiffies_to_msecs(diff); *dest = jiffies_to_msecs(diff); return; case NFT_CT_HELPER: if (ct->master == NULL) Loading @@ -95,7 +95,7 @@ static void nft_ct_get_eval(const struct nft_expr *expr, helper = rcu_dereference(help->helper); if (helper == NULL) goto err; strncpy((char *)dest->data, helper->name, sizeof(dest->data)); strncpy((char *)dest, helper->name, NF_CT_HELPER_NAME_LEN); return; #ifdef CONFIG_NF_CONNTRACK_LABELS case NFT_CT_LABELS: { Loading @@ -103,15 +103,15 @@ static void nft_ct_get_eval(const struct nft_expr *expr, unsigned int size; if (!labels) { memset(dest->data, 0, sizeof(dest->data)); memset(dest, 0, NF_CT_LABELS_MAX_SIZE); return; } size = labels->words * sizeof(long); memcpy(dest->data, labels->bits, size); if (size < sizeof(dest->data)) memset(((char *) dest->data) + size, 0, sizeof(dest->data) - size); memcpy(dest, labels->bits, size); if (size < NF_CT_LABELS_MAX_SIZE) memset(((char *) dest) + size, 0, NF_CT_LABELS_MAX_SIZE - size); return; } #endif Loading @@ -122,24 +122,24 @@ static void nft_ct_get_eval(const struct nft_expr *expr, tuple = &ct->tuplehash[priv->dir].tuple; switch (priv->key) { case NFT_CT_L3PROTOCOL: dest->data[0] = nf_ct_l3num(ct); *dest = nf_ct_l3num(ct); return; case NFT_CT_SRC: memcpy(dest->data, tuple->src.u3.all, memcpy(dest, tuple->src.u3.all, nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); return; case NFT_CT_DST: memcpy(dest->data, tuple->dst.u3.all, memcpy(dest, tuple->dst.u3.all, nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); return; case NFT_CT_PROTOCOL: dest->data[0] = nf_ct_protonum(ct); *dest = nf_ct_protonum(ct); return; case NFT_CT_PROTO_SRC: dest->data[0] = (__force __u16)tuple->src.u.all; *dest = (__force __u16)tuple->src.u.all; return; case NFT_CT_PROTO_DST: dest->data[0] = (__force __u16)tuple->dst.u.all; *dest = (__force __u16)tuple->dst.u.all; return; default: break; Loading