Commit 58f9d52f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from Jakub Kicinski:
 "Including fixes from bpf and netfilter.

  Current release - new code bugs:

   - af_packet: make sure to pull the MAC header, avoid skb panic in GSO

   - ptp_clockmatrix: fix inverted logic in is_single_shot()

   - netfilter: flowtable: fix missing FLOWI_FLAG_ANYSRC flag

   - dt-bindings: net: adin: fix adi,phy-output-clock description syntax

   - wifi: iwlwifi: pcie: rename CAUSE macro, avoid MIPS build warning

  Previous releases - regressions:

   - Revert "net: af_key: add check for pfkey_broadcast in function
     pfkey_process"

   - tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd

   - nf_tables: disallow non-stateful expression in sets earlier

   - nft_limit: clone packet limits' cost value

   - nf_tables: double hook unregistration in netns path

   - ping6: fix ping -6 with interface name

  Previous releases - always broken:

   - sched: fix memory barriers to prevent skbs from getting stuck in
     lockless qdiscs

   - neigh: set lower cap for neigh_managed_work rearming, avoid
     constantly scheduling the probe work

   - bpf: fix probe read error on big endian in ___bpf_prog_run()

   - amt: memory leak and error handling fixes

  Misc:

   - ipv6: expand & rename accept_unsolicited_na to accept_untracked_na"

* tag 'net-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (80 commits)
  net/af_packet: make sure to pull mac header
  net: add debug info to __skb_pull()
  net: CONFIG_DEBUG_NET depends on CONFIG_NET
  stmmac: intel: Add RPL-P PCI ID
  net: stmmac: use dev_err_probe() for reporting mdio bus registration failure
  tipc: check attribute length for bearer name
  ice: fix access-beyond-end in the switch code
  nfp: remove padding in nfp_nfdk_tx_desc
  ax25: Fix ax25 session cleanup problems
  net: usb: qmi_wwan: Add support for Cinterion MV31 with new baseline
  sfc/siena: fix wrong tx channel offset with efx_separate_tx_channels
  sfc/siena: fix considering that all channels have TX queues
  socket: Don't use u8 type in uapi socket.h
  net/sched: act_api: fix error code in tcf_ct_flow_table_fill_tuple_ipv6()
  net: ping6: Fix ping -6 with interface name
  macsec: fix UAF bug for real_dev
  octeontx2-af: fix error code in is_valid_offset()
  wifi: mac80211: fix use-after-free in chanctx code
  bonding: guard ns_targets by CONFIG_IPV6
  tcp: tcp_rtx_synack() can be called from process context
  ...
parents 73503963 638696ef
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: Analog Devices ADIN1200/ADIN1300 PHY

maintainers:
  - Alexandru Ardelean <alexandru.ardelean@analog.com>
  - Alexandru Tachici <alexandru.tachici@analog.com>

description: |
  Bindings for Analog Devices Industrial Ethernet PHYs
@@ -37,7 +37,8 @@ properties:
    default: 8

  adi,phy-output-clock:
    description: Select clock output on GP_CLK pin. Two clocks are available:
    description: |
      Select clock output on GP_CLK pin. Two clocks are available:
      A 25MHz reference and a free-running 125MHz.
      The phy can alternatively automatically switch between the reference and
      the 125MHz clocks based on its internal state.
+9 −14
Original line number Diff line number Diff line
@@ -2474,21 +2474,16 @@ drop_unsolicited_na - BOOLEAN

	By default this is turned off.

accept_unsolicited_na - BOOLEAN
	Add a new neighbour cache entry in STALE state for routers on receiving an
	unsolicited neighbour advertisement with target link-layer address option
	specified. This is as per router-side behavior documented in RFC9131.
	This has lower precedence than drop_unsolicited_na.
accept_untracked_na - BOOLEAN
	Add a new neighbour cache entry in STALE state for routers on receiving a
	neighbour advertisement (either solicited or unsolicited) with target
	link-layer address option specified if no neighbour entry is already
	present for the advertised IPv6 address. Without this knob, NAs received
	for untracked addresses (absent in neighbour cache) are silently ignored.

	This is as per router-side behaviour documented in RFC9131.

	 ====   ======  ======  ==============================================
	 drop   accept  fwding                   behaviour
	 ----   ------  ------  ----------------------------------------------
	    1        X       X  Drop NA packet and don't pass up the stack
	    0        0       X  Pass NA packet up the stack, don't update NC
	    0        1       0  Pass NA packet up the stack, don't update NC
	    0        1       1  Pass NA packet up the stack, and add a STALE
	                        NC entry
	 ====   ======  ======  ==============================================
	This has lower precedence than drop_unsolicited_na.

	This will optimize the return path for the initial off-link communication
	that is initiated by a directly connected host, by ensuring that
+3 −3
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ static char *type_str[] = {
	"AMT_MSG_MEMBERSHIP_QUERY",
	"AMT_MSG_MEMBERSHIP_UPDATE",
	"AMT_MSG_MULTICAST_DATA",
	"AMT_MSG_TEARDOWM",
	"AMT_MSG_TEARDOWN",
};

static char *action_str[] = {
@@ -2423,7 +2423,7 @@ static bool amt_update_handler(struct amt_dev *amt, struct sk_buff *skb)
		}
	}

	return false;
	return true;

report:
	iph = ip_hdr(skb);
@@ -2679,7 +2679,7 @@ static int amt_rcv(struct sock *sk, struct sk_buff *skb)
	amt = rcu_dereference_sk_user_data(sk);
	if (!amt) {
		err = true;
		goto out;
		goto drop;
	}

	skb->dev = amt->dev;
+2 −0
Original line number Diff line number Diff line
@@ -6159,7 +6159,9 @@ static int bond_check_params(struct bond_params *params)
		strscpy_pad(params->primary, primary, sizeof(params->primary));

	memcpy(params->arp_targets, arp_target, sizeof(arp_target));
#if IS_ENABLED(CONFIG_IPV6)
	memset(params->ns_targets, 0, sizeof(struct in6_addr) * BOND_MAX_NS_TARGETS);
#endif

	return 0;
}
+0 −5
Original line number Diff line number Diff line
@@ -290,11 +290,6 @@ static int bond_changelink(struct net_device *bond_dev, struct nlattr *tb[],

			addr6 = nla_get_in6_addr(attr);

			if (ipv6_addr_type(&addr6) & IPV6_ADDR_LINKLOCAL) {
				NL_SET_ERR_MSG(extack, "Invalid IPv6 addr6");
				return -EINVAL;
			}

			bond_opt_initextra(&newval, &addr6, sizeof(addr6));
			err = __bond_opt_set(bond, BOND_OPT_NS_TARGETS,
					     &newval);
Loading