diff options
| author | Maciej Żenczykowski <maze@google.com> | 2019-01-24 03:07:02 -0800 |
|---|---|---|
| committer | Michael Bestas <mkbestas@lineageos.org> | 2022-04-19 00:51:49 +0300 |
| commit | ae1bab40b111b3770616b4d4b4bd8ae42c69c958 (patch) | |
| tree | f71aece1ee3f9c42cae4d920585e86b5d4d4a427 /net | |
| parent | 190a838d3efd150134bfc355b9a2f70c75eff80e (diff) | |
BACKPORT: net: dev_is_mac_header_xmit() true for ARPHRD_RAWIP
__bpf_redirect() and act_mirred checks this boolean
to determine whether to prefix an ethernet header.
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Note: this is commit 3b707c3008cad04604c1f50e39f456621821c414 upstream,
but it does not trivially cherrypick to 4.9, because the function does
not yet exist, and because ARPHRD_RAWIP is not yet defined. However,
ARPHRD_RAWIP does exist in many device kernels, so by hiding it in
#ifdef/#endif clause, we fix any device kernels which merge common.
Bug: 65674744
Change-Id: I79a14d064738805f4c82612b020406cd75eb872c
Diffstat (limited to 'net')
| -rw-r--r-- | net/core/filter.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/filter.c b/net/core/filter.c index 790e912fb260..fb029c3685ef 100644 --- a/net/core/filter.c +++ b/net/core/filter.c @@ -1711,6 +1711,9 @@ static int __bpf_redirect(struct sk_buff *skb, struct net_device *dev, case ARPHRD_IPGRE: case ARPHRD_VOID: case ARPHRD_NONE: +#ifdef ARPHRD_RAWIP + case ARPHRD_RAWIP: +#endif return __bpf_redirect_no_mac(skb, dev, flags); default: return __bpf_redirect_common(skb, dev, flags); |
