Skip to content

Commit 9e995c5

Browse files
committed
Merge tag 'net-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Paolo Abeni: "Including fixes from bluetooth, can and IPsec. Current release - regressions: - net: add net.core.qdisc_max_burst - can: propagate CAN device capabilities via ml_priv Previous releases - regressions: - dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list() - ipv6: fix use-after-free in inet6_addr_del(). - xfrm: fix inner mode lookup in tunnel mode GSO segmentation - ip_tunnel: spread netdev_lockdep_set_classes() - ip6_tunnel: use skb_vlan_inet_prepare() in __ip6_tnl_rcv() - bluetooth: hci_sync: enable PA sync lost event - eth: virtio-net: - fix the deadlock when disabling rx NAPI - fix misalignment bug in struct virtnet_info Previous releases - always broken: - ipv4: ip_gre: make ipgre_header() robust - can: fix SSP_SRC in cases when bit-rate is higher than 1 MBit. - eth: - mlx5e: profile change fix - octeon_ep_vf: fix free_irq dev_id mismatch in IRQ rollback - macvlan: fix possible UAF in macvlan_forward_source()" * tag 'net-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (37 commits) virtio_net: Fix misalignment bug in struct virtnet_info net: can: j1939: j1939_xtp_rx_rts_session_active(): deactivate session upon receiving the second rts can: raw: instantly reject disabled CAN frames can: propagate CAN device capabilities via ml_priv Revert "can: raw: instantly reject unsupported CAN frames" net/sched: sch_qfq: do not free existing class in qfq_change_class() selftests: drv-net: fix RPS mask handling for high CPU numbers selftests: drv-net: fix RPS mask handling in toeplitz test ipv6: Fix use-after-free in inet6_addr_del(). dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list() net: hv_netvsc: reject RSS hash key programming without RX indirection table tools: ynl: render event op docs correctly net: add net.core.qdisc_max_burst net: airoha: Fix typo in airoha_ppe_setup_tc_block_cb definition net: phy: motorcomm: fix duplex setting error for phy leds net: octeon_ep_vf: fix free_irq dev_id mismatch in IRQ rollback net/mlx5e: Restore destroying state bit after profile cleanup net/mlx5e: Pass netdev to mlx5e_destroy_netdev instead of priv net/mlx5e: Don't store mlx5e_priv in mlx5e_dev devlink priv net/mlx5e: Fix crash on profile change rollback failure ...
2 parents 944aacb + 851822a commit 9e995c5

49 files changed

Lines changed: 381 additions & 293 deletions

File tree

Some content is hidden

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

Documentation/admin-guide/sysctl/net.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,14 @@ netdev_max_backlog
303303
Maximum number of packets, queued on the INPUT side, when the interface
304304
receives packets faster than kernel can process them.
305305

306+
qdisc_max_burst
307+
------------------
308+
309+
Maximum number of packets that can be temporarily stored before
310+
reaching qdisc.
311+
312+
Default: 1000
313+
306314
netdev_rss_key
307315
--------------
308316

MAINTAINERS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18424,9 +18424,11 @@ M: Jakub Kicinski <kuba@kernel.org>
1842418424
M: Sabrina Dubroca <sd@queasysnail.net>
1842518425
L: netdev@vger.kernel.org
1842618426
S: Maintained
18427+
F: Documentation/networking/tls*
1842718428
F: include/net/tls.h
1842818429
F: include/uapi/linux/tls.h
18429-
F: net/tls/*
18430+
F: net/tls/
18431+
F: tools/testing/selftests/net/tls.c
1843018432

1843118433
NETWORKING [SOCKETS]
1843218434
M: Eric Dumazet <edumazet@google.com>

drivers/net/can/Kconfig

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0-only
22

33
menuconfig CAN_DEV
4-
bool "CAN Device Drivers"
4+
tristate "CAN Device Drivers"
55
default y
66
depends on CAN
77
help
@@ -17,7 +17,10 @@ menuconfig CAN_DEV
1717
virtual ones. If you own such devices or plan to use the virtual CAN
1818
interfaces to develop applications, say Y here.
1919

20-
if CAN_DEV && CAN
20+
To compile as a module, choose M here: the module will be called
21+
can-dev.
22+
23+
if CAN_DEV
2124

2225
config CAN_VCAN
2326
tristate "Virtual Local CAN Interface (vcan)"

drivers/net/can/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ obj-$(CONFIG_CAN_VCAN) += vcan.o
77
obj-$(CONFIG_CAN_VXCAN) += vxcan.o
88
obj-$(CONFIG_CAN_SLCAN) += slcan/
99

10-
obj-$(CONFIG_CAN_DEV) += dev/
10+
obj-y += dev/
1111
obj-y += esd/
1212
obj-y += rcar/
1313
obj-y += rockchip/

drivers/net/can/ctucanfd/ctucanfd_base.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ static int ctucan_set_secondary_sample_point(struct net_device *ndev)
310310
}
311311

312312
ssp_cfg = FIELD_PREP(REG_TRV_DELAY_SSP_OFFSET, ssp_offset);
313-
ssp_cfg |= FIELD_PREP(REG_TRV_DELAY_SSP_SRC, 0x1);
313+
ssp_cfg |= FIELD_PREP(REG_TRV_DELAY_SSP_SRC, 0x0);
314314
}
315315

316316
ctucan_write32(priv, CTUCANFD_TRV_DELAY, ssp_cfg);

drivers/net/can/dev/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# SPDX-License-Identifier: GPL-2.0
22

3-
obj-$(CONFIG_CAN) += can-dev.o
3+
obj-$(CONFIG_CAN_DEV) += can-dev.o
4+
5+
can-dev-y += skb.o
46

5-
can-dev-$(CONFIG_CAN_DEV) += skb.o
67
can-dev-$(CONFIG_CAN_CALC_BITTIMING) += calc_bittiming.o
78
can-dev-$(CONFIG_CAN_NETLINK) += bittiming.o
89
can-dev-$(CONFIG_CAN_NETLINK) += dev.o

drivers/net/can/dev/dev.c

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,32 @@ void can_set_default_mtu(struct net_device *dev)
375375
}
376376
}
377377

378+
void can_set_cap_info(struct net_device *dev)
379+
{
380+
struct can_priv *priv = netdev_priv(dev);
381+
u32 can_cap;
382+
383+
if (can_dev_in_xl_only_mode(priv)) {
384+
/* XL only mode => no CC/FD capability */
385+
can_cap = CAN_CAP_XL;
386+
} else {
387+
/* mixed mode => CC + FD/XL capability */
388+
can_cap = CAN_CAP_CC;
389+
390+
if (priv->ctrlmode & CAN_CTRLMODE_FD)
391+
can_cap |= CAN_CAP_FD;
392+
393+
if (priv->ctrlmode & CAN_CTRLMODE_XL)
394+
can_cap |= CAN_CAP_XL;
395+
}
396+
397+
if (priv->ctrlmode & (CAN_CTRLMODE_LISTENONLY |
398+
CAN_CTRLMODE_RESTRICTED))
399+
can_cap |= CAN_CAP_RO;
400+
401+
can_set_cap(dev, can_cap);
402+
}
403+
378404
/* helper to define static CAN controller features at device creation time */
379405
int can_set_static_ctrlmode(struct net_device *dev, u32 static_mode)
380406
{
@@ -390,6 +416,7 @@ int can_set_static_ctrlmode(struct net_device *dev, u32 static_mode)
390416

391417
/* override MTU which was set by default in can_setup()? */
392418
can_set_default_mtu(dev);
419+
can_set_cap_info(dev);
393420

394421
return 0;
395422
}

drivers/net/can/dev/netlink.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,7 @@ static int can_ctrlmode_changelink(struct net_device *dev,
377377
}
378378

379379
can_set_default_mtu(dev);
380+
can_set_cap_info(dev);
380381

381382
return 0;
382383
}

drivers/net/can/usb/etas_es58x/es58x_core.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1736,7 +1736,7 @@ static int es58x_alloc_rx_urbs(struct es58x_device *es58x_dev)
17361736
dev_dbg(dev, "%s: Allocated %d rx URBs each of size %u\n",
17371737
__func__, i, rx_buf_len);
17381738

1739-
return ret;
1739+
return 0;
17401740
}
17411741

17421742
/**

drivers/net/can/usb/gs_usb.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,8 @@ static void gs_usb_receive_bulk_callback(struct urb *urb)
751751
hf, parent->hf_size_rx,
752752
gs_usb_receive_bulk_callback, parent);
753753

754+
usb_anchor_urb(urb, &parent->rx_submitted);
755+
754756
rc = usb_submit_urb(urb, GFP_ATOMIC);
755757

756758
/* USB failure take down all interfaces */

0 commit comments

Comments
 (0)