Skip to content

Commit f291209

Browse files
committed
Merge tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from Bluetooth, netfilter, BPF and WiFi. I didn't collect precise data but feels like we've got a lot of 6.5 fixes here. WiFi fixes are most user-awaited. Current release - regressions: - Bluetooth: fix hci_link_tx_to RCU lock usage Current release - new code bugs: - bpf: mprog: fix maximum program check on mprog attachment - eth: ti: icssg-prueth: fix signedness bug in prueth_init_tx_chns() Previous releases - regressions: - ipv6: tcp: add a missing nf_reset_ct() in 3WHS handling - vringh: don't use vringh_kiov_advance() in vringh_iov_xfer(), it doesn't handle zero length like we expected - wifi: - cfg80211: fix cqm_config access race, fix crashes with brcmfmac - iwlwifi: mvm: handle PS changes in vif_cfg_changed - mac80211: fix mesh id corruption on 32 bit systems - mt76: mt76x02: fix MT76x0 external LNA gain handling - Bluetooth: fix handling of HCI_QUIRK_STRICT_DUPLICATE_FILTER - l2tp: fix handling of transhdrlen in __ip{,6}_append_data() - dsa: mv88e6xxx: avoid EEPROM timeout when EEPROM is absent - eth: stmmac: fix the incorrect parameter after refactoring Previous releases - always broken: - net: replace calls to sock->ops->connect() with kernel_connect(), prevent address rewrite in kernel_bind(); otherwise BPF hooks may modify arguments, unexpectedly to the caller - tcp: fix delayed ACKs when reads and writes align with MSS - bpf: - verifier: unconditionally reset backtrack_state masks on global func exit - s390: let arch_prepare_bpf_trampoline return program size, fix struct_ops offsets - sockmap: fix accounting of available bytes in presence of PEEKs - sockmap: reject sk_msg egress redirects to non-TCP sockets - ipv4/fib: send netlink notify when delete source address routes - ethtool: plca: fix width of reads when parsing netlink commands - netfilter: nft_payload: rebuild vlan header on h_proto access - Bluetooth: hci_codec: fix leaking memory of local_codecs - eth: intel: ice: always add legacy 32byte RXDID in supported_rxdids - eth: stmmac: - dwmac-stm32: fix resume on STM32 MCU - remove buggy and unneeded stmmac_poll_controller, depend on NAPI - ibmveth: always recompute TCP pseudo-header checksum, fix use of the driver with Open vSwitch - wifi: - rtw88: rtw8723d: fix MAC address offset in EEPROM - mt76: fix lock dependency problem for wed_lock - mwifiex: sanity check data reported by the device - iwlwifi: ensure ack flag is properly cleared - iwlwifi: mvm: fix a memory corruption due to bad pointer arithm - iwlwifi: mvm: fix incorrect usage of scan API Misc: - wifi: mac80211: work around Cisco AP 9115 VHT MPDU length" * tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (99 commits) MAINTAINERS: update Matthieu's email address mptcp: userspace pm allow creating id 0 subflow mptcp: fix delegated action races net: stmmac: remove unneeded stmmac_poll_controller net: lan743x: also select PHYLIB net: ethernet: mediatek: disable irq before schedule napi net: mana: Fix oversized sge0 for GSO packets net: mana: Fix the tso_bytes calculation net: mana: Fix TX CQE error handling netlink: annotate data-races around sk->sk_err sctp: update hb timer immediately after users change hb_interval sctp: update transport state when processing a dupcook packet tcp: fix delayed ACKs for MSS boundary condition tcp: fix quick-ack counting to count actual ACKs of new data page_pool: fix documentation typos tipc: fix a potential deadlock on &tx->lock net: stmmac: dwmac-stm32: fix resume on STM32 MCU ipv4: Set offload_failed flag in fibmatch results netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure netfilter: nf_tables: Deduplicate nft_register_obj audit logs ...
2 parents cb84fb8 + c29d984 commit f291209

File tree

112 files changed

+1355
-597
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+1355
-597
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ Matthew Wilcox <[email protected]> <[email protected]>
377377
378378
379379
380+
380381
Matthieu CASTET <[email protected]>
381382
382383

MAINTAINERS

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,6 @@ F: drivers/hwmon/adm1029.c
470470
ADM8211 WIRELESS DRIVER
471471
472472
S: Orphan
473-
W: https://wireless.wiki.kernel.org/
474473
F: drivers/net/wireless/admtek/adm8211.*
475474

476475
ADP1653 FLASH CONTROLLER DRIVER
@@ -9531,10 +9530,8 @@ F: Documentation/devicetree/bindings/iio/pressure/honeywell,mprls0025pa.yaml
95319530
F: drivers/iio/pressure/mprls0025pa.c
95329531

95339532
HOST AP DRIVER
9534-
M: Jouni Malinen <[email protected]>
95359533
95369534
S: Obsolete
9537-
W: http://w1.fi/hostap-driver.html
95389535
F: drivers/net/wireless/intersil/hostap/
95399536

95409537
HP BIOSCFG DRIVER
@@ -14947,7 +14944,7 @@ K: macsec
1494714944
K: \bmdo_
1494814945

1494914946
NETWORKING [MPTCP]
14950-
M: Matthieu Baerts <[email protected]>
14947+
M: Matthieu Baerts <[email protected]>
1495114948
M: Mat Martineau <[email protected]>
1495214949
1495314950
@@ -17602,6 +17599,7 @@ M: Kalle Valo <[email protected]>
1760217599
M: Jeff Johnson <[email protected]>
1760317600
1760417601
S: Supported
17602+
W: https://wireless.wiki.kernel.org/en/users/Drivers/ath12k
1760517603
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
1760617604
F: drivers/net/wireless/ath/ath12k/
1760717605

@@ -18132,8 +18130,6 @@ REALTEK WIRELESS DRIVER (rtlwifi family)
1813218130
M: Ping-Ke Shih <[email protected]>
1813318131
1813418132
S: Maintained
18135-
W: https://wireless.wiki.kernel.org/
18136-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
1813718133
F: drivers/net/wireless/realtek/rtlwifi/
1813818134

1813918135
REALTEK WIRELESS DRIVER (rtw88)
@@ -18661,22 +18657,19 @@ F: drivers/media/dvb-frontends/rtl2832_sdr*
1866118657
RTL8180 WIRELESS DRIVER
1866218658
1866318659
S: Orphan
18664-
W: https://wireless.wiki.kernel.org/
1866518660
F: drivers/net/wireless/realtek/rtl818x/rtl8180/
1866618661

1866718662
RTL8187 WIRELESS DRIVER
1866818663
M: Hin-Tak Leung <[email protected]>
1866918664
M: Larry Finger <[email protected]>
1867018665
1867118666
S: Maintained
18672-
W: https://wireless.wiki.kernel.org/
1867318667
F: drivers/net/wireless/realtek/rtl818x/rtl8187/
1867418668

1867518669
RTL8XXXU WIRELESS DRIVER (rtl8xxxu)
1867618670
M: Jes Sorensen <[email protected]>
1867718671
1867818672
S: Maintained
18679-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git rtl8xxxu-devel
1868018673
F: drivers/net/wireless/realtek/rtl8xxxu/
1868118674

1868218675
RTRS TRANSPORT DRIVERS
@@ -21658,7 +21651,6 @@ L: [email protected]
2165821651
S: Orphan
2165921652
W: https://wireless.wiki.kernel.org/en/users/Drivers/wl12xx
2166021653
W: https://wireless.wiki.kernel.org/en/users/Drivers/wl1251
21661-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/luca/wl12xx.git
2166221654
F: drivers/net/wireless/ti/
2166321655

2166421656
TIMEKEEPING, CLOCKSOURCE CORE, NTP, ALARMTIMER

arch/s390/net/bpf_jit_comp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2513,7 +2513,7 @@ int arch_prepare_bpf_trampoline(struct bpf_tramp_image *im, void *image,
25132513
return -E2BIG;
25142514
}
25152515

2516-
return ret;
2516+
return tjit.common.prg;
25172517
}
25182518

25192519
bool bpf_jit_supports_subprog_tailcalls(void)

drivers/bluetooth/btusb.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4419,6 +4419,7 @@ static int btusb_probe(struct usb_interface *intf,
44194419

44204420
if (id->driver_info & BTUSB_QCA_ROME) {
44214421
data->setup_on_usb = btusb_setup_qca;
4422+
hdev->shutdown = btusb_shutdown_qca;
44224423
hdev->set_bdaddr = btusb_set_bdaddr_ath3012;
44234424
hdev->cmd_timeout = btusb_qca_cmd_timeout;
44244425
set_bit(HCI_QUIRK_SIMULTANEOUS_DISCOVERY, &hdev->quirks);

drivers/dma/ti/k3-udma-glue.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,9 @@ int k3_udma_glue_tx_get_irq(struct k3_udma_glue_tx_channel *tx_chn)
558558
tx_chn->virq = k3_ringacc_get_ring_irq_num(tx_chn->ringtxcq);
559559
}
560560

561+
if (!tx_chn->virq)
562+
return -ENXIO;
563+
561564
return tx_chn->virq;
562565
}
563566
EXPORT_SYMBOL_GPL(k3_udma_glue_tx_get_irq);

drivers/net/dsa/mv88e6xxx/chip.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2958,14 +2958,16 @@ static void mv88e6xxx_hardware_reset(struct mv88e6xxx_chip *chip)
29582958
* from the wrong location resulting in the switch booting
29592959
* to wrong mode and inoperable.
29602960
*/
2961-
mv88e6xxx_g1_wait_eeprom_done(chip);
2961+
if (chip->info->ops->get_eeprom)
2962+
mv88e6xxx_g2_eeprom_wait(chip);
29622963

29632964
gpiod_set_value_cansleep(gpiod, 1);
29642965
usleep_range(10000, 20000);
29652966
gpiod_set_value_cansleep(gpiod, 0);
29662967
usleep_range(10000, 20000);
29672968

2968-
mv88e6xxx_g1_wait_eeprom_done(chip);
2969+
if (chip->info->ops->get_eeprom)
2970+
mv88e6xxx_g2_eeprom_wait(chip);
29692971
}
29702972
}
29712973

drivers/net/dsa/mv88e6xxx/global1.c

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -75,37 +75,6 @@ static int mv88e6xxx_g1_wait_init_ready(struct mv88e6xxx_chip *chip)
7575
return mv88e6xxx_g1_wait_bit(chip, MV88E6XXX_G1_STS, bit, 1);
7676
}
7777

78-
void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip)
79-
{
80-
const unsigned long timeout = jiffies + 1 * HZ;
81-
u16 val;
82-
int err;
83-
84-
/* Wait up to 1 second for the switch to finish reading the
85-
* EEPROM.
86-
*/
87-
while (time_before(jiffies, timeout)) {
88-
err = mv88e6xxx_g1_read(chip, MV88E6XXX_G1_STS, &val);
89-
if (err) {
90-
dev_err(chip->dev, "Error reading status");
91-
return;
92-
}
93-
94-
/* If the switch is still resetting, it may not
95-
* respond on the bus, and so MDIO read returns
96-
* 0xffff. Differentiate between that, and waiting for
97-
* the EEPROM to be done by bit 0 being set.
98-
*/
99-
if (val != 0xffff &&
100-
val & BIT(MV88E6XXX_G1_STS_IRQ_EEPROM_DONE))
101-
return;
102-
103-
usleep_range(1000, 2000);
104-
}
105-
106-
dev_err(chip->dev, "Timeout waiting for EEPROM done");
107-
}
108-
10978
/* Offset 0x01: Switch MAC Address Register Bytes 0 & 1
11079
* Offset 0x02: Switch MAC Address Register Bytes 2 & 3
11180
* Offset 0x03: Switch MAC Address Register Bytes 4 & 5

drivers/net/dsa/mv88e6xxx/global1.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,6 @@ int mv88e6xxx_g1_set_switch_mac(struct mv88e6xxx_chip *chip, u8 *addr);
282282
int mv88e6185_g1_reset(struct mv88e6xxx_chip *chip);
283283
int mv88e6352_g1_reset(struct mv88e6xxx_chip *chip);
284284
int mv88e6250_g1_reset(struct mv88e6xxx_chip *chip);
285-
void mv88e6xxx_g1_wait_eeprom_done(struct mv88e6xxx_chip *chip);
286285

287286
int mv88e6185_g1_ppu_enable(struct mv88e6xxx_chip *chip);
288287
int mv88e6185_g1_ppu_disable(struct mv88e6xxx_chip *chip);

drivers/net/dsa/mv88e6xxx/global2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ int mv88e6xxx_g2_pot_clear(struct mv88e6xxx_chip *chip)
340340
* Offset 0x15: EEPROM Addr (for 8-bit data access)
341341
*/
342342

343-
static int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip)
343+
int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip)
344344
{
345345
int bit = __bf_shf(MV88E6XXX_G2_EEPROM_CMD_BUSY);
346346
int err;

drivers/net/dsa/mv88e6xxx/global2.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ int mv88e6xxx_g2_trunk_clear(struct mv88e6xxx_chip *chip);
365365

366366
int mv88e6xxx_g2_device_mapping_write(struct mv88e6xxx_chip *chip, int target,
367367
int port);
368+
int mv88e6xxx_g2_eeprom_wait(struct mv88e6xxx_chip *chip);
368369

369370
extern const struct mv88e6xxx_irq_ops mv88e6097_watchdog_ops;
370371
extern const struct mv88e6xxx_irq_ops mv88e6250_watchdog_ops;

0 commit comments

Comments
 (0)