diff options
| author | Jakub Kicinski <[email protected]> | 2022-05-18 19:34:25 -0700 | 
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2022-05-18 19:34:26 -0700 | 
| commit | 7dc02d7f0832236cc3b7f9fc0ca085aed70b79d2 (patch) | |
| tree | 6b74e0915d71d427ab637aba3bacab87082d61d5 /net/core/dev.c | |
| parent | 6fd45e79e8b93b8d22fb8fe22c32fbad7e9190bd (diff) | |
| parent | 9e539c5b6d9c5b996e45105921ee9dd955c0f535 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
Pablo Neira Ayuso says:
====================
Netfilter fixes for net
1) Reduce number of hardware offload retries from flowtable datapath
   which might hog system with retries, from Felix Fietkau.
2) Skip neighbour lookup for PPPoE device, fill_forward_path() already
   provides this and set on destination address from fill_forward_path for
   PPPoE device, also from Felix.
4) When combining PPPoE on top of a VLAN device, set info->outdev to the
   PPPoE device so software offload works, from Felix.
5) Fix TCP teardown flowtable state, races with conntrack gc might result
   in resetting the state to ESTABLISHED and the time to one day. Joint
   work with Oz Shlomo and Sven Auhagen.
6) Call dst_check() from flowtable datapath to check if dst is stale
   instead of doing it from garbage collector path.
7) Disable register tracking infrastructure, either user-space or
   kernel need to pre-fetch keys inconditionally, otherwise register
   tracking assumes data is already available in register that might
   not well be there, leading to incorrect reductions.
* git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf:
  netfilter: nf_tables: disable expression reduction infra
  netfilter: flowtable: move dst_check to packet path
  netfilter: flowtable: fix TCP flow teardown
  netfilter: nft_flow_offload: fix offload with pppoe + vlan
  net: fix dev_fill_forward_path with pppoe + bridge
  netfilter: nft_flow_offload: skip dst neigh lookup for ppp devices
  netfilter: flowtable: fix excessive hw offload attempts after failure
====================
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/core/dev.c')
| -rw-r--r-- | net/core/dev.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 1461c2d9dec8..2771fd22dc6a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -681,11 +681,11 @@ int dev_fill_forward_path(const struct net_device *dev, const u8 *daddr,  	const struct net_device *last_dev;  	struct net_device_path_ctx ctx = {  		.dev	= dev, -		.daddr	= daddr,  	};  	struct net_device_path *path;  	int ret = 0; +	memcpy(ctx.daddr, daddr, sizeof(ctx.daddr));  	stack->num_paths = 0;  	while (ctx.dev && ctx.dev->netdev_ops->ndo_fill_forward_path) {  		last_dev = ctx.dev;  |