cregit-Linux how code gets into the kernel

Release 4.15 include/linux/netfilter_ingress.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _NETFILTER_INGRESS_H_

#define _NETFILTER_INGRESS_H_

#include <linux/netfilter.h>
#include <linux/netdevice.h>

#ifdef CONFIG_NETFILTER_INGRESS

static inline bool nf_hook_ingress_active(const struct sk_buff *skb) { #ifdef HAVE_JUMP_LABEL if (!static_key_false(&nf_hooks_needed[NFPROTO_NETDEV][NF_NETDEV_INGRESS])) return false; #endif return rcu_access_pointer(skb->dev->nf_hooks_ingress); }

Contributors

PersonTokensPropCommitsCommitProp
Florian Westphal2554.35%133.33%
Pablo Neira Ayuso2043.48%133.33%
Aaron Conole12.17%133.33%
Total46100.00%3100.00%

/* caller must hold rcu_read_lock */
static inline int nf_hook_ingress(struct sk_buff *skb) { struct nf_hook_entries *e = rcu_dereference(skb->dev->nf_hooks_ingress); struct nf_hook_state state; int ret; /* Must recheck the ingress hook head, in the event it became NULL * after the check in nf_hook_ingress_active evaluated to true. */ if (unlikely(!e)) return 0; nf_hook_state_init(&state, NF_NETDEV_INGRESS, NFPROTO_NETDEV, skb->dev, NULL, NULL, dev_net(skb->dev), NULL); ret = nf_hook_slow(skb, &state, e, 0); if (ret == 0) return -1; return ret; }

Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso4646.46%342.86%
Aaron Conole2828.28%228.57%
Florian Westphal1818.18%114.29%
Eric W. Biedermann77.07%114.29%
Total99100.00%7100.00%


static inline void nf_hook_ingress_init(struct net_device *dev) { RCU_INIT_POINTER(dev->nf_hooks_ingress, NULL); }

Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso1885.71%150.00%
Aaron Conole314.29%150.00%
Total21100.00%2100.00%

#else /* CONFIG_NETFILTER_INGRESS */
static inline int nf_hook_ingress_active(struct sk_buff *skb) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso15100.00%1100.00%
Total15100.00%1100.00%


static inline int nf_hook_ingress(struct sk_buff *skb) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso15100.00%1100.00%
Total15100.00%1100.00%


static inline void nf_hook_ingress_init(struct net_device *dev) {}

Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso11100.00%1100.00%
Total11100.00%1100.00%

#endif /* CONFIG_NETFILTER_INGRESS */ #endif /* _NETFILTER_INGRESS_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Pablo Neira Ayuso14963.95%330.00%
Florian Westphal4418.88%330.00%
Aaron Conole3213.73%220.00%
Eric W. Biedermann73.00%110.00%
Greg Kroah-Hartman10.43%110.00%
Total233100.00%10100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.