Skip to content

Commit aa0743a

Browse files
committed
Merge tag 'net-6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from bluetooth and netfilter. Current release - regressions: - virtio_net: avoid crash on resume - move netdev_tx_reset_queue() call before RX napi enable Current release - new code bugs: - net/mlx5e: fix page leak and incorrect header release w/ HW GRO Previous releases - regressions: - udp: fix receiving fraglist GSO packets - tcp: prevent refcount underflow due to concurrent execution of tcp_sk_exit_batch() Previous releases - always broken: - ipv6: fix possible UAF when incrementing error counters on output - ip6: tunnel: prevent merging of packets with different L2 - mptcp: pm: fix IDs not being reusable - bonding: fix potential crashes in IPsec offload handling - Bluetooth: HCI: - MGMT: add error handling to pair_device() to avoid a crash - invert LE State quirk to be opt-out rather then opt-in - fix LE quote calculation - drv: dsa: VLAN fixes for Ocelot driver - drv: igb: cope with large MAX_SKB_FRAGS Kconfig settings - drv: ice: fi Rx data path on architectures with PAGE_SIZE >= 8192 Misc: - netpoll: do not export netpoll_poll_[disable|enable]() - MAINTAINERS: update the list of networking headers" * tag 'net-6.11-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (82 commits) s390/iucv: Fix vargs handling in iucv_alloc_device() net: ovs: fix ovs_drop_reasons error net: xilinx: axienet: Fix dangling multicast addresses net: xilinx: axienet: Always disable promiscuous mode MAINTAINERS: Mark JME Network Driver as Odd Fixes MAINTAINERS: Add header files to NETWORKING sections MAINTAINERS: Add limited globs for Networking headers MAINTAINERS: Add net_tstamp.h to SOCKET TIMESTAMPING section MAINTAINERS: Add sonet.h to ATM section of MAINTAINERS octeontx2-af: Fix CPT AF register offset calculation net: phy: realtek: Fix setting of PHY LEDs Mode B bit on RTL8211F net: ngbe: Fix phy mode set to external phy netfilter: flowtable: validate vlan header bnxt_en: Fix double DMA unmapping for XDP_REDIRECT ipv6: prevent possible UAF in ip6_xmit() ipv6: fix possible UAF in ip6_finish_output2() ipv6: prevent UAF in ip6_send_skb() netpoll: do not export netpoll_poll_[disable|enable]() selftests: mlxsw: ethtool_lanes: Source ethtool lib from correct path udp: fix receiving fraglist GSO packets ...
2 parents 3f44ae9 + 0124fb0 commit aa0743a

Some content is hidden

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

74 files changed

+1555
-554
lines changed

MAINTAINERS

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3504,7 +3504,9 @@ S: Maintained
35043504
W: http://linux-atm.sourceforge.net
35053505
F: drivers/atm/
35063506
F: include/linux/atm*
3507+
F: include/linux/sonet.h
35073508
F: include/uapi/linux/atm*
3509+
F: include/uapi/linux/sonet.h
35083510

35093511
ATMEL MACB ETHERNET DRIVER
35103512
M: Nicolas Ferre <[email protected]>
@@ -11993,7 +11995,7 @@ F: fs/jfs/
1199311995
JME NETWORK DRIVER
1199411996
M: Guo-Fu Tseng <[email protected]>
1199511997
11996-
S: Maintained
11998+
S: Odd Fixes
1199711999
F: drivers/net/ethernet/jme.*
1199812000

1199912001
JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
@@ -15877,15 +15879,19 @@ F: drivers/net/
1587715879
F: include/dt-bindings/net/
1587815880
F: include/linux/cn_proc.h
1587915881
F: include/linux/etherdevice.h
15882+
F: include/linux/ethtool_netlink.h
1588015883
F: include/linux/fcdevice.h
1588115884
F: include/linux/fddidevice.h
1588215885
F: include/linux/hippidevice.h
1588315886
F: include/linux/if_*
1588415887
F: include/linux/inetdevice.h
15885-
F: include/linux/netdevice.h
15888+
F: include/linux/netdev*
15889+
F: include/linux/platform_data/wiznet.h
1588615890
F: include/uapi/linux/cn_proc.h
15891+
F: include/uapi/linux/ethtool_netlink.h
1588715892
F: include/uapi/linux/if_*
15888-
F: include/uapi/linux/netdevice.h
15893+
F: include/uapi/linux/netdev*
15894+
F: tools/testing/selftests/drivers/net/
1588915895
X: drivers/net/wireless/
1589015896

1589115897
NETWORKING DRIVERS (WIRELESS)
@@ -15936,14 +15942,28 @@ F: include/linux/framer/framer-provider.h
1593615942
F: include/linux/framer/framer.h
1593715943
F: include/linux/in.h
1593815944
F: include/linux/indirect_call_wrapper.h
15945+
F: include/linux/inet.h
15946+
F: include/linux/inet_diag.h
1593915947
F: include/linux/net.h
15940-
F: include/linux/netdevice.h
15941-
F: include/linux/skbuff.h
15948+
F: include/linux/netdev*
15949+
F: include/linux/netlink.h
15950+
F: include/linux/netpoll.h
15951+
F: include/linux/rtnetlink.h
15952+
F: include/linux/seq_file_net.h
15953+
F: include/linux/skbuff*
1594215954
F: include/net/
15955+
F: include/uapi/linux/genetlink.h
15956+
F: include/uapi/linux/hsr_netlink.h
1594315957
F: include/uapi/linux/in.h
15958+
F: include/uapi/linux/inet_diag.h
15959+
F: include/uapi/linux/nbd-netlink.h
1594415960
F: include/uapi/linux/net.h
1594515961
F: include/uapi/linux/net_namespace.h
15946-
F: include/uapi/linux/netdevice.h
15962+
F: include/uapi/linux/netconf.h
15963+
F: include/uapi/linux/netdev*
15964+
F: include/uapi/linux/netlink.h
15965+
F: include/uapi/linux/netlink_diag.h
15966+
F: include/uapi/linux/rtnetlink.h
1594715967
F: lib/net_utils.c
1594815968
F: lib/random32.c
1594915969
F: net/
@@ -21054,6 +21074,7 @@ SOCKET TIMESTAMPING
2105421074
M: Willem de Bruijn <[email protected]>
2105521075
S: Maintained
2105621076
F: Documentation/networking/timestamping.rst
21077+
F: include/linux/net_tstamp.h
2105721078
F: include/uapi/linux/net_tstamp.h
2105821079
F: tools/testing/selftests/net/so_txtime.c
2105921080

drivers/bluetooth/btintel.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2945,9 +2945,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
29452945
INTEL_ROM_LEGACY_NO_WBS_SUPPORT))
29462946
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED,
29472947
&hdev->quirks);
2948-
if (ver.hw_variant == 0x08 && ver.fw_variant == 0x22)
2949-
set_bit(HCI_QUIRK_VALID_LE_STATES,
2950-
&hdev->quirks);
29512948

29522949
err = btintel_legacy_rom_setup(hdev, &ver);
29532950
break;
@@ -2956,7 +2953,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
29562953
case 0x12: /* ThP */
29572954
case 0x13: /* HrP */
29582955
case 0x14: /* CcP */
2959-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
29602956
fallthrough;
29612957
case 0x0c: /* WsP */
29622958
/* Apply the device specific HCI quirks
@@ -3048,9 +3044,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
30483044
/* These variants don't seem to support LE Coded PHY */
30493045
set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
30503046

3051-
/* Set Valid LE States quirk */
3052-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
3053-
30543047
/* Setup MSFT Extension support */
30553048
btintel_set_msft_opcode(hdev, ver.hw_variant);
30563049

@@ -3076,9 +3069,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
30763069
*/
30773070
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
30783071

3079-
/* Apply LE States quirk from solar onwards */
3080-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
3081-
30823072
/* Setup MSFT Extension support */
30833073
btintel_set_msft_opcode(hdev,
30843074
INTEL_HW_VARIANT(ver_tlv.cnvi_bt));

drivers/bluetooth/btintel_pcie.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,9 +1180,6 @@ static int btintel_pcie_setup(struct hci_dev *hdev)
11801180
*/
11811181
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
11821182

1183-
/* Apply LE States quirk from solar onwards */
1184-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
1185-
11861183
/* Setup MSFT Extension support */
11871184
btintel_set_msft_opcode(hdev,
11881185
INTEL_HW_VARIANT(ver_tlv.cnvi_bt));

drivers/bluetooth/btmtksdio.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,9 +1148,6 @@ static int btmtksdio_setup(struct hci_dev *hdev)
11481148
}
11491149
}
11501150

1151-
/* Valid LE States quirk for MediaTek 7921 */
1152-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
1153-
11541151
break;
11551152
case 0x7663:
11561153
case 0x7668:

drivers/bluetooth/btrtl.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1287,7 +1287,6 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
12871287
case CHIP_ID_8852C:
12881288
case CHIP_ID_8851B:
12891289
case CHIP_ID_8852BT:
1290-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
12911290
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
12921291

12931292
/* RTL8852C needs to transmit mSBC data continuously without

drivers/bluetooth/btusb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3956,8 +3956,8 @@ static int btusb_probe(struct usb_interface *intf,
39563956
if (id->driver_info & BTUSB_WIDEBAND_SPEECH)
39573957
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks);
39583958

3959-
if (id->driver_info & BTUSB_VALID_LE_STATES)
3960-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
3959+
if (!(id->driver_info & BTUSB_VALID_LE_STATES))
3960+
set_bit(HCI_QUIRK_BROKEN_LE_STATES, &hdev->quirks);
39613961

39623962
if (id->driver_info & BTUSB_DIGIANSWER) {
39633963
data->cmdreq_type = USB_TYPE_VENDOR;

drivers/bluetooth/hci_qca.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2474,8 +2474,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
24742474
set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED,
24752475
&hdev->quirks);
24762476

2477-
if (data->capabilities & QCA_CAP_VALID_LE_STATES)
2478-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
2477+
if (!(data->capabilities & QCA_CAP_VALID_LE_STATES))
2478+
set_bit(HCI_QUIRK_BROKEN_LE_STATES, &hdev->quirks);
24792479
}
24802480

24812481
return 0;

drivers/bluetooth/hci_vhci.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,6 @@ static int __vhci_create_device(struct vhci_data *data, __u8 opcode)
425425
if (opcode & 0x80)
426426
set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks);
427427

428-
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
429-
430428
if (hci_register_dev(hdev) < 0) {
431429
BT_ERR("Can't register HCI device");
432430
hci_free_dev(hdev);

drivers/net/bonding/bond_main.c

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,6 @@ static void bond_ipsec_del_sa_all(struct bonding *bond)
582582
} else {
583583
slave->dev->xfrmdev_ops->xdo_dev_state_delete(ipsec->xs);
584584
}
585-
ipsec->xs->xso.real_dev = NULL;
586585
}
587586
spin_unlock_bh(&bond->ipsec_lock);
588587
rcu_read_unlock();
@@ -599,34 +598,30 @@ static bool bond_ipsec_offload_ok(struct sk_buff *skb, struct xfrm_state *xs)
599598
struct net_device *real_dev;
600599
struct slave *curr_active;
601600
struct bonding *bond;
602-
int err;
601+
bool ok = false;
603602

604603
bond = netdev_priv(bond_dev);
605604
rcu_read_lock();
606605
curr_active = rcu_dereference(bond->curr_active_slave);
606+
if (!curr_active)
607+
goto out;
607608
real_dev = curr_active->dev;
608609

609-
if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) {
610-
err = false;
610+
if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP)
611611
goto out;
612-
}
613612

614-
if (!xs->xso.real_dev) {
615-
err = false;
613+
if (!xs->xso.real_dev)
616614
goto out;
617-
}
618615

619616
if (!real_dev->xfrmdev_ops ||
620617
!real_dev->xfrmdev_ops->xdo_dev_offload_ok ||
621-
netif_is_bond_master(real_dev)) {
622-
err = false;
618+
netif_is_bond_master(real_dev))
623619
goto out;
624-
}
625620

626-
err = real_dev->xfrmdev_ops->xdo_dev_offload_ok(skb, xs);
621+
ok = real_dev->xfrmdev_ops->xdo_dev_offload_ok(skb, xs);
627622
out:
628623
rcu_read_unlock();
629-
return err;
624+
return ok;
630625
}
631626

632627
static const struct xfrmdev_ops bond_xfrmdev_ops = {

drivers/net/bonding/bond_options.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -936,7 +936,7 @@ static int bond_option_active_slave_set(struct bonding *bond,
936936
/* check to see if we are clearing active */
937937
if (!slave_dev) {
938938
netdev_dbg(bond->dev, "Clearing current active slave\n");
939-
RCU_INIT_POINTER(bond->curr_active_slave, NULL);
939+
bond_change_active_slave(bond, NULL);
940940
bond_select_active_slave(bond);
941941
} else {
942942
struct slave *old_active = rtnl_dereference(bond->curr_active_slave);

0 commit comments

Comments
 (0)