No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Shmulik Ladkani 1f754ad077 net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device
[ Upstream commit 70cf3dc7313207816255b9acb0dffb19dae78144 ]

There's no skb_pull performed when a mirred action is set at egress of a
mac device, with a target device/action that expects skb->data to point
at the network header.

As a result, either the target device is errornously given an skb with
data pointing to the mac (egress case), or the net stack receives the
skb with data pointing to the mac (ingress case).

E.g:
 # tc qdisc add dev eth9 root handle 1: prio
 # tc filter add dev eth9 parent 1: prio 9 protocol ip handle 9 basic \
   action mirred egress redirect dev tun0

 (tun0 is a tun device. result: tun0 errornously gets the eth header
  instead of the iph)

Revise the push/pull logic of tcf_mirred_act() to not rely on the
skb_at_tc_ingress() vs tcf_mirred_act_wants_ingress() comparison, as it
does not cover all "pull" cases.

Instead, calculate whether the required action on the target device
requires the data to point at the network header, and compare this to
whether skb->data points to network header - and make the push/pull
adjustments as necessary.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Shmulik Ladkani <sladkani@proofpoint.com>
Tested-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-04 19:18:45 +01:00
arch powerpc: Fix __clear_user() with KUAP enabled 2020-01-04 19:18:37 +01:00
block iocost: over-budget forced IOs should schedule async delay 2019-12-31 16:46:19 +01:00
certs
crypto KEYS: asymmetric: return ENOMEM if akcipher_request_alloc() fails 2019-12-31 16:46:07 +01:00
Documentation dt-bindings: Improve validation build error handling 2020-01-04 19:18:11 +01:00
drivers net: phy: aquantia: add suspend / resume ops for AQR105 2020-01-04 19:18:45 +01:00
fs xfs: fix mount failure crash on invalid iclog memory access 2020-01-04 19:18:43 +01:00
include uaccess: disallow > INT_MAX copy sizes 2020-01-04 19:18:42 +01:00
init
ipc
kernel hrtimer: Annotate lockless access to timer->state 2020-01-04 19:18:41 +01:00
lib ubsan, x86: Annotate and allow __ubsan_handle_shift_out_of_bounds() in uaccess regions 2019-12-31 16:44:25 +01:00
LICENSES
mm mm: vmscan: protect shrinker idr replace with CONFIG_MEMCG 2019-12-31 16:46:07 +01:00
net net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device 2020-01-04 19:18:45 +01:00
samples samples: pktgen: fix proc_cmd command result check logic 2019-12-31 16:43:45 +01:00
scripts scripts/kallsyms: fix definitely-lost memory leak 2020-01-04 19:18:23 +01:00
security tomoyo: Don't use nifty names on sockets. 2020-01-04 19:18:42 +01:00
sound ASoC: soc-pcm: check symmetry before hw_params 2019-12-31 16:45:42 +01:00
tools selftests: vm: add fragment CONFIG_TEST_VMALLOC 2020-01-04 19:18:31 +01:00
usr
virt KVM: arm/arm64: Properly handle faulting of device mappings 2019-12-31 16:46:24 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap ARM: SoC fixes 2019-11-10 13:41:59 -08:00
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-11-22 14:28:14 -08:00
Makefile Linux 5.4.7 2019-12-31 16:46:36 +01:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.