mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
netfilter: nf_tables: use hook state from xt_action_param structure
Don't copy relevant fields from hook state structure, instead use the one that is already available in struct xt_action_param. This patch also adds a set of new wrapper functions to fetch relevant hook state structure fields. Signed-off-by: Pablo Neira Ayuso <[email protected]>
This commit is contained in:
parent
613dbd9572
commit
0e5a1c7eb3
24 changed files with 105 additions and 83 deletions
|
|
@ -23,7 +23,7 @@ static void nft_meta_bridge_get_eval(const struct nft_expr *expr,
|
|||
const struct nft_pktinfo *pkt)
|
||||
{
|
||||
const struct nft_meta *priv = nft_expr_priv(expr);
|
||||
const struct net_device *in = pkt->in, *out = pkt->out;
|
||||
const struct net_device *in = nft_in(pkt), *out = nft_out(pkt);
|
||||
u32 *dest = ®s->data[priv->dreg];
|
||||
const struct net_bridge_port *p;
|
||||
|
||||
|
|
|
|||
|
|
@ -315,17 +315,20 @@ static void nft_reject_bridge_eval(const struct nft_expr *expr,
|
|||
case htons(ETH_P_IP):
|
||||
switch (priv->type) {
|
||||
case NFT_REJECT_ICMP_UNREACH:
|
||||
nft_reject_br_send_v4_unreach(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook,
|
||||
nft_reject_br_send_v4_unreach(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt),
|
||||
priv->icmp_code);
|
||||
break;
|
||||
case NFT_REJECT_TCP_RST:
|
||||
nft_reject_br_send_v4_tcp_reset(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook);
|
||||
nft_reject_br_send_v4_tcp_reset(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt));
|
||||
break;
|
||||
case NFT_REJECT_ICMPX_UNREACH:
|
||||
nft_reject_br_send_v4_unreach(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook,
|
||||
nft_reject_br_send_v4_unreach(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt),
|
||||
nft_reject_icmp_code(priv->icmp_code));
|
||||
break;
|
||||
}
|
||||
|
|
@ -333,17 +336,20 @@ static void nft_reject_bridge_eval(const struct nft_expr *expr,
|
|||
case htons(ETH_P_IPV6):
|
||||
switch (priv->type) {
|
||||
case NFT_REJECT_ICMP_UNREACH:
|
||||
nft_reject_br_send_v6_unreach(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook,
|
||||
nft_reject_br_send_v6_unreach(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt),
|
||||
priv->icmp_code);
|
||||
break;
|
||||
case NFT_REJECT_TCP_RST:
|
||||
nft_reject_br_send_v6_tcp_reset(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook);
|
||||
nft_reject_br_send_v6_tcp_reset(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt));
|
||||
break;
|
||||
case NFT_REJECT_ICMPX_UNREACH:
|
||||
nft_reject_br_send_v6_unreach(pkt->net, pkt->skb,
|
||||
pkt->in, pkt->hook,
|
||||
nft_reject_br_send_v6_unreach(nft_net(pkt), pkt->skb,
|
||||
nft_in(pkt),
|
||||
nft_hook(pkt),
|
||||
nft_reject_icmpv6_code(priv->icmp_code));
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue