Hi Linus!
A few hours late, the commit on top fixes an odd "rcu_dereference()
needs to know full type" build issue I can't repro..
The following changes since commit 6714ebb922ab15a209dfc3c1ed29d4bb0abc9f02:
Merge tag 'net-6.8.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2024-02-22 09:57:58 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git tags/net-6.8-rc7
for you to fetch changes up to 640f41ed33b5a420e05daf395afae85e6b20c003:
dpll: fix build failure due to rcu_dereference_check() on unknown type (2024-02-29 12:18:37 -0800)
----------------------------------------------------------------
Including fixes from bluetooth, WiFi and netfilter.
We have one outstanding issue with the stmmac driver, which may
be a LOCKDEP false positive, not a blocker.
Current release - regressions:
- netfilter: nf_tables: re-allow NFPROTO_INET in
nft_(match/target)_validate()
- eth: ionic: fix error handling in PCI reset code
Current release - new code bugs:
- eth: stmmac: complete meta data only when enabled, fix null-deref
- kunit: fix again checksum tests on big endian CPUs
Previous releases - regressions:
- veth: try harder when allocating queue memory
- Bluetooth:
- hci_bcm4377: do not mark valid bd_addr as invalid
- hci_event: fix handling of HCI_EV_IO_CAPA_REQUEST
Previous releases - always broken:
- info leak in __skb_datagram_iter() on netlink socket
- mptcp:
- map v4 address to v6 when destroying subflow
- fix potential wake-up event loss due to sndbuf auto-tuning
- fix double-free on socket dismantle
- wifi: nl80211: reject iftype change with mesh ID change
- fix small out-of-bound read when validating netlink be16/32 types
- rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
- ipv6: fix potential "struct net" ref-leak in inet6_rtm_getaddr()
- ip_tunnel: prevent perpetual headroom growth with huge number of
tunnels on top of each other
- mctp: fix skb leaks on error paths of mctp_local_output()
- eth: ice: fixes for DPLL state reporting
- dpll: rely on rcu for netdev_dpll_pin() to prevent UaF
- eth: dpaa: accept phy-interface-type = "10gbase-r" in the device tree
Signed-off-by: Jakub Kicinski <[email protected]>
----------------------------------------------------------------
Alexander Ofitserov (1):
gtp: fix use-after-free and null-ptr-deref in gtp_newlink()
Amritha Nambiar (1):
ice: Fix ASSERT_RTNL() warning during certain scenarios
Andre Werner (1):
net: smsc95xx: add support for SYS TEC USB-SPEmodule1
Arkadiusz Kubalewski (4):
ice: fix dpll input pin phase_adjust value updates
ice: fix dpll and dpll_pin data access on PF reset
ice: fix dpll periodic work data updates on PF reset
ice: fix pin phase adjust updates on PF reset
Benjamin Berg (1):
wifi: iwlwifi: mvm: ensure offloading TID queue exists
Christophe Leroy (1):
kunit: Fix again checksum tests on big endian CPUs
Davide Caratti (1):
mptcp: fix double-free on socket dismantle
Emmanuel Grumbach (1):
wifi: iwlwifi: mvm: fix the TXF mapping for BZ devices
Eric Dumazet (3):
ipv6: fix potential "struct net" leak in inet6_rtm_getaddr()
dpll: rely on rcu for netdev_dpll_pin()
dpll: fix build failure due to rcu_dereference_check() on unknown type
Felix Fietkau (1):
wifi: mac80211: only call drv_sta_rc_update for uploaded stations
Florian Westphal (4):
netlink: add nla be16/32 types to minlen array
net: ip_tunnel: prevent perpetual headroom growth
netfilter: bridge: confirm multicast packets before passing them up the stack
selftests: netfilter: add bridge conntrack + multicast test case
Frédéric Danis (1):
Bluetooth: mgmt: Fix limited discoverable off timeout
Geliang Tang (3):
mptcp: map v4 address to v6 when destroying subflow
selftests: mptcp: rm subflow with v4/v4mapped addr
selftests: mptcp: join: add ss mptcp support check
Geoff Levand (1):
ps3/gelic: Fix SKB allocation
Haiyue Wang (1):
Documentations: correct net_cachelines title for struct inet_sock
Ignat Korchagin (1):
netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate()
Jakub Kicinski (9):
Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
net: veth: clear GRO when clearing XDP even when down
selftests: net: veth: test syncing GRO and XDP state while device is down
Merge branch 'mptcp-more-misc-fixes-for-v6-8'
veth: try harder when allocating queue memory
Merge tag 'wireless-2024-02-27' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless
tools: ynl: fix handling of multiple mcast groups
Merge branch 'tls-a-few-more-fixes-for-async-decrypt'
Merge tag 'for-net-2024-02-28' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
Jakub Raczynski (1):
stmmac: Clear variable when destroying workqueue
Janaki Ramaiah Thota (1):
Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT
Javier Carrasco (1):
net: usb: dm9601: fix wrong return value in dm9601_mdio_read
Jeff Johnson (2):
MAINTAINERS: wifi: update Jeff Johnson e-mail address
MAINTAINERS: wifi: Add N: ath1*k entries to match .yaml files
Jeremy Kerr (1):
net: mctp: take ownership of skb in mctp_local_output
Johan Hovold (1):
Bluetooth: hci_bcm4377: do not mark valid bd_addr as invalid
Johannes Berg (1):
wifi: nl80211: reject iftype change with mesh ID change
Jonas Dreßler (1):
Bluetooth: hci_sync: Check the correct flag before starting a scan
Justin Iurman (1):
uapi: in6: replace temporary label with rfc9486
Kai-Heng Feng (1):
Bluetooth: Enforce validation on max value of connection interval
Kurt Kanzenbach (1):
net: stmmac: Complete meta data only when enabled
Lin Ma (1):
rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back
Luiz Augusto von Dentz (2):
Bluetooth: hci_sync: Fix accept_list when attempting to suspend
Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST
Lukasz Majewski (2):
net: hsr: Fix typo in the hsr_forward_do() function comment
net: hsr: Use correct offset for HSR TLV values in supervisory HSR frames
Matthieu Baerts (NGI0) (1):
mptcp: avoid printing warning once on client side
Oleksij Rempel (3):
lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected
net: lan78xx: fix "softirq work is pending" error
igb: extend PTP timestamp adjustments to i211
Paolo Abeni (7):
mptcp: push at DSS boundaries
mptcp: fix snd_wnd initialization for passive socket
mptcp: fix potential wake-up event loss
mptcp: fix possible deadlock in subflow diag
selftests: mptcp: explicitly trigger the listener diag code-path
Merge branch 'ionic-pci-error-handling-fixes'
Merge tag 'nf-24-02-29' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf
Randy Dunlap (1):
net: ethernet: adi: move PHYLIB from vendor to driver symbol
Ryosuke Yasuoka (1):
netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter
Sabrina Dubroca (4):
tls: decrement decrypt_pending if no async completion will be called
tls: fix peeking with sync+async decryption
tls: separate no-async decryption request handling from async
tls: fix use-after-free on failed backlog decryption
Shannon Nelson (3):
ionic: check before releasing pci regions
ionic: check cmd_regs before copying in or out
ionic: restore netdev feature bits after reset
Vladimir Oltean (1):
net: dpaa: fman_memac: accept phy-interface-type = "10gbase-r" in the device tree
Ying Hsu (1):
Bluetooth: Avoid potential use-after-free in hci_error_reset
Yochai Hagvi (1):
ice: fix connection state of DPLL and out pin
Yunjian Wang (1):
tun: Fix xdp_rxq_info's queue_index when detaching
Yuxuan Hu (1):
Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security
Zijun Hu (3):
Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR
Bluetooth: qca: Fix wrong event type for patch config command
Bluetooth: qca: Fix triggering coredump implementation
.../networking/net_cachelines/inet_sock.rst | 6 +-
MAINTAINERS | 11 +-
drivers/bluetooth/btqca.c | 2 +-
drivers/bluetooth/hci_bcm4377.c | 3 +-
drivers/bluetooth/hci_qca.c | 22 ++-
drivers/dpll/dpll_core.c | 7 +-
drivers/dpll/dpll_core.h | 2 +
drivers/net/ethernet/adi/Kconfig | 2 +-
drivers/net/ethernet/freescale/fman/fman_memac.c | 18 +-
drivers/net/ethernet/intel/ice/ice_base.c | 10 +-
drivers/net/ethernet/intel/ice/ice_dpll.c | 91 ++++++++--
drivers/net/ethernet/intel/ice/ice_lib.c | 88 ++++++++--
drivers/net/ethernet/intel/ice/ice_lib.h | 10 +-
drivers/net/ethernet/intel/ice/ice_main.c | 3 +-
drivers/net/ethernet/intel/igb/igb_ptp.c | 5 +-
.../net/ethernet/pensando/ionic/ionic_bus_pci.c | 15 +-
drivers/net/ethernet/pensando/ionic/ionic_dev.c | 10 ++
.../net/ethernet/pensando/ionic/ionic_ethtool.c | 7 +-
drivers/net/ethernet/pensando/ionic/ionic_fw.c | 5 +
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 5 +-
drivers/net/ethernet/pensando/ionic/ionic_main.c | 3 +
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 7 +-
drivers/net/ethernet/toshiba/ps3_gelic_net.c | 12 +-
drivers/net/gtp.c | 12 +-
drivers/net/tun.c | 1 +
drivers/net/usb/dm9601.c | 2 +-
drivers/net/usb/lan78xx.c | 5 +-
drivers/net/usb/smsc95xx.c | 5 +
drivers/net/veth.c | 40 ++---
drivers/net/wireless/intel/iwlwifi/fw/api/txq.h | 12 +-
drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 9 +-
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c | 11 ++
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 8 +-
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 28 +++
drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 3 +-
include/linux/dpll.h | 11 ++
include/linux/netdevice.h | 11 +-
include/linux/netfilter.h | 1 +
include/net/mctp.h | 1 +
include/uapi/linux/in6.h | 2 +-
lib/checksum_kunit.c | 17 +-
lib/nlattr.c | 4 +
net/bluetooth/hci_core.c | 7 +-
net/bluetooth/hci_event.c | 13 +-
net/bluetooth/hci_sync.c | 7 +-
net/bluetooth/l2cap_core.c | 8 +-
net/bluetooth/mgmt.c | 4 +-
net/bluetooth/rfcomm/core.c | 2 +-
net/bridge/br_netfilter_hooks.c | 96 +++++++++++
net/bridge/netfilter/nf_conntrack_bridge.c | 30 ++++
net/core/dev.c | 2 +-
net/core/rtnetlink.c | 11 +-
net/hsr/hsr_forward.c | 4 +-
net/ipv4/ip_tunnel.c | 28 ++-
net/ipv6/addrconf.c | 7 +-
net/mac80211/rate.c | 3 +-
net/mctp/route.c | 10 +-
net/mptcp/diag.c | 3 +
net/mptcp/options.c | 2 +-
net/mptcp/pm_userspace.c | 10 ++
net/mptcp/protocol.c | 52 +++++-
net/mptcp/protocol.h | 21 +--
net/netfilter/nf_conntrack_core.c | 1 +
net/netfilter/nft_compat.c | 20 +++
net/netlink/af_netlink.c | 2 +-
net/tls/tls_sw.c | 40 +++--
net/wireless/nl80211.c | 2 +
tools/net/ynl/lib/ynl.c | 1 +
tools/testing/selftests/net/mptcp/diag.sh | 30 +++-
tools/testing/selftests/net/mptcp/mptcp_join.sh | 33 ++--
tools/testing/selftests/net/mptcp/mptcp_lib.sh | 4 +-
tools/testing/selftests/net/veth.sh | 14 ++
tools/testing/selftests/netfilter/Makefile | 3 +-
.../selftests/netfilter/bridge_netfilter.sh | 188 +++++++++++++++++++++
74 files changed, 974 insertions(+), 211 deletions(-)
create mode 100644 tools/testing/selftests/netfilter/bridge_netfilter.sh
On Thu, 29 Feb 2024 at 12:39, Jakub Kicinski <[email protected]> wrote:
>
> A few hours late, the commit on top fixes an odd "rcu_dereference()
> needs to know full type" build issue I can't repro..
Ugfh. That change literally makes a single load instruction be a
function call. Pretty sad, particularly with all the crazy CPU
mitigations causing that to be even more expensive than it is already.
I really don't see how that error can happen, it sounds very odd.
Oh well.
Linus
The pull request you sent on Thu, 29 Feb 2024 12:39:21 -0800:
> git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git tags/net-6.8-rc7
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/87adedeba51a822533649b143232418b9e26d08b
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
On Thu, 29 Feb 2024 12:56:21 -0800 Linus Torvalds wrote:
> On Thu, 29 Feb 2024 at 12:39, Jakub Kicinski <[email protected]> wrote:
> > A few hours late, the commit on top fixes an odd "rcu_dereference()
> > needs to know full type" build issue I can't repro..
>
> Ugfh. That change literally makes a single load instruction be a
> function call. Pretty sad, particularly with all the crazy CPU
> mitigations causing that to be even more expensive than it is already.
>
> I really don't see how that error can happen, it sounds very odd.
>
> Oh well.
Another mysterious report was:
include/linux/dpll.h:179:1: warning: control reaches end of non-void function [-Wreturn-type]
https://lore.kernel.org/all/[email protected]/
which I also don't see how since the code as of the commit used was:
173 static inline struct dpll_pin *netdev_dpll_pin(const struct net_device *dev)
174 {
175 #if IS_ENABLED(CONFIG_DPLL)
176 return rcu_dereference_rtnl(dev->dpll_pin);
177 #else
178 return NULL;
179 #endif
180 }
We'll rejig this in net-next, all the caller does is pass the result
to another function.