Skip to content

Commit 3cb12d2

Browse files
committed
Merge tag 'net-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Cross-tree/merge window issues: - rtl8150: don't incorrectly assign random MAC addresses; fix late in the 5.9 cycle started depending on a return code from a function which changed with the 5.10 PR from the usb subsystem Current release regressions: - Revert "virtio-net: ethtool configurable RXCSUM", it was causing crashes at probe when control vq was not negotiated/available Previous release regressions: - ixgbe: fix probing of multi-port 10 Gigabit Intel NICs with an MDIO bus, only first device would be probed correctly - nexthop: Fix performance regression in nexthop deletion by effectively switching from recently added synchronize_rcu() to synchronize_rcu_expedited() - netsec: ignore 'phy-mode' device property on ACPI systems; the property is not populated correctly by the firmware, but firmware configures the PHY so just keep boot settings Previous releases - always broken: - tcp: fix to update snd_wl1 in bulk receiver fast path, addressing bulk transfers getting "stuck" - icmp: randomize the global rate limiter to prevent attackers from getting useful signal - r8169: fix operation under forced interrupt threading, make the driver always use hard irqs, even on RT, given the handler is light and only wants to schedule napi (and do so through a _irqoff() variant, preferably) - bpf: Enforce pointer id generation for all may-be-null register type to avoid pointers erroneously getting marked as null-checked - tipc: re-configure queue limit for broadcast link - net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels - fix various issues in chelsio inline tls driver Misc: - bpf: improve just-added bpf_redirect_neigh() helper api to support supplying nexthop by the caller - in case BPF program has already done a lookup we can avoid doing another one - remove unnecessary break statements - make MCTCP not select IPV6, but rather depend on it" * tag 'net-5.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (62 commits) tcp: fix to update snd_wl1 in bulk receiver fast path net: Properly typecast int values to set sk_max_pacing_rate netfilter: nf_fwd_netdev: clear timestamp in forwarding path ibmvnic: save changed mac address to adapter->mac_addr selftests: mptcp: depends on built-in IPv6 Revert "virtio-net: ethtool configurable RXCSUM" rtnetlink: fix data overflow in rtnl_calcit() net: ethernet: mtk-star-emac: select REGMAP_MMIO net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device bpf, libbpf: Guard bpf inline asm from bpf_tail_call_static bpf, selftests: Extend test_tc_redirect to use modified bpf_redirect_neigh() bpf: Fix bpf_redirect_neigh helper api to support supplying nexthop mptcp: depends on IPV6 but not as a module sfc: move initialisation of efx->filter_sem to efx_init_struct() mpls: load mpls_gso after mpls_iptunnel net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels net/sched: act_gate: Unlock ->tcfa_lock in tc_setup_flow_action() net: dsa: bcm_sf2: make const array static, makes object smaller mptcp: MPTCP_IPV6 should depend on IPV6 instead of selecting it ...
2 parents 0adc313 + 18ded91 commit 3cb12d2

79 files changed

Lines changed: 676 additions & 256 deletions

Some content is hidden

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

Documentation/devicetree/bindings/net/socionext-netsec.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ Optional properties: (See ethernet.txt file in the same directory)
3030
- max-frame-size: See ethernet.txt in the same directory.
3131

3232
The MAC address will be determined using the optional properties
33-
defined in ethernet.txt.
33+
defined in ethernet.txt. The 'phy-mode' property is required, but may
34+
be set to the empty string if the PHY configuration is programmed by
35+
the firmware or set by hardware straps, and needs to be preserved.
3436

3537
Example:
3638
eth0: ethernet@522d0000 {

Documentation/networking/ip-sysctl.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1142,13 +1142,15 @@ icmp_ratelimit - INTEGER
11421142
icmp_msgs_per_sec - INTEGER
11431143
Limit maximal number of ICMP packets sent per second from this host.
11441144
Only messages whose type matches icmp_ratemask (see below) are
1145-
controlled by this limit.
1145+
controlled by this limit. For security reasons, the precise count
1146+
of messages per second is randomized.
11461147

11471148
Default: 1000
11481149

11491150
icmp_msgs_burst - INTEGER
11501151
icmp_msgs_per_sec controls number of ICMP packets sent per second,
11511152
while icmp_msgs_burst controls the burst size of these packets.
1153+
For security reasons, the precise burst size is randomized.
11521154

11531155
Default: 50
11541156

Documentation/networking/nf_flowtable.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ More reading
109109
This documentation is based on the LWN.net articles [1]_\ [2]_. Rafal Milecki
110110
also made a very complete and comprehensive summary called "A state of network
111111
acceleration" that describes how things were before this infrastructure was
112-
mailined [3]_ and it also makes a rough summary of this work [4]_.
112+
mainlined [3]_ and it also makes a rough summary of this work [4]_.
113113

114114
.. [1] https://lwn.net/Articles/738214/
115115
.. [2] https://lwn.net/Articles/742164/

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3244,7 +3244,8 @@ R: KP Singh <kpsingh@chromium.org>
32443244
L: netdev@vger.kernel.org
32453245
L: bpf@vger.kernel.org
32463246
S: Supported
3247-
Q: https://patchwork.ozlabs.org/project/netdev/list/?delegate=77147
3247+
W: https://bpf.io/
3248+
Q: https://patchwork.kernel.org/project/netdevbpf/list/?delegate=121173
32483249
T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
32493250
T: git git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git
32503251
F: Documentation/bpf/

drivers/net/dsa/bcm_sf2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ static void bcm_sf2_recalc_clock(struct dsa_switch *ds)
5454
unsigned long new_rate;
5555
unsigned int ports_active;
5656
/* Frequenty in Mhz */
57-
const unsigned long rate_table[] = {
57+
static const unsigned long rate_table[] = {
5858
59220000,
5959
60820000,
6060
62500000,

drivers/net/dsa/ocelot/seville_vsc9953.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1181,7 +1181,7 @@ static const struct felix_info seville_info_vsc9953 = {
11811181
.stats_layout = vsc9953_stats_layout,
11821182
.num_stats = ARRAY_SIZE(vsc9953_stats_layout),
11831183
.vcap = vsc9953_vcap_props,
1184-
.shared_queue_sz = 2048 * 1024,
1184+
.shared_queue_sz = 256 * 1024,
11851185
.num_mact_rows = 2048,
11861186
.num_ports = 10,
11871187
.mdio_bus_alloc = vsc9953_mdio_bus_alloc,

drivers/net/ethernet/aquantia/atlantic/aq_nic.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,6 @@ int aq_nic_set_link_ksettings(struct aq_nic_s *self,
11631163
default:
11641164
err = -1;
11651165
goto err_exit;
1166-
break;
11671166
}
11681167
if (!(self->aq_nic_cfg.aq_hw_caps->link_speed_msk & rate)) {
11691168
err = -1;

drivers/net/ethernet/chelsio/inline_crypto/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ if CHELSIO_INLINE_CRYPTO
1616
config CRYPTO_DEV_CHELSIO_TLS
1717
tristate "Chelsio Crypto Inline TLS Driver"
1818
depends on CHELSIO_T4
19+
depends on TLS
1920
depends on TLS_TOE
2021
help
2122
Support Chelsio Inline TLS with Chelsio crypto accelerator.

drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ static void chtls_sock_release(struct kref *ref)
9292
static struct net_device *chtls_find_netdev(struct chtls_dev *cdev,
9393
struct sock *sk)
9494
{
95+
struct adapter *adap = pci_get_drvdata(cdev->pdev);
9596
struct net_device *ndev = cdev->ports[0];
9697
#if IS_ENABLED(CONFIG_IPV6)
9798
struct net_device *temp;
9899
int addr_type;
99100
#endif
101+
int i;
100102

101103
switch (sk->sk_family) {
102104
case PF_INET:
@@ -127,8 +129,12 @@ static struct net_device *chtls_find_netdev(struct chtls_dev *cdev,
127129
return NULL;
128130

129131
if (is_vlan_dev(ndev))
130-
return vlan_dev_real_dev(ndev);
131-
return ndev;
132+
ndev = vlan_dev_real_dev(ndev);
133+
134+
for_each_port(adap, i)
135+
if (cdev->ports[i] == ndev)
136+
return ndev;
137+
return NULL;
132138
}
133139

134140
static void assign_rxopt(struct sock *sk, unsigned int opt)
@@ -477,7 +483,6 @@ void chtls_destroy_sock(struct sock *sk)
477483
chtls_purge_write_queue(sk);
478484
free_tls_keyid(sk);
479485
kref_put(&csk->kref, chtls_sock_release);
480-
csk->cdev = NULL;
481486
if (sk->sk_family == AF_INET)
482487
sk->sk_prot = &tcp_prot;
483488
#if IS_ENABLED(CONFIG_IPV6)
@@ -736,14 +741,13 @@ void chtls_listen_stop(struct chtls_dev *cdev, struct sock *sk)
736741

737742
#if IS_ENABLED(CONFIG_IPV6)
738743
if (sk->sk_family == PF_INET6) {
739-
struct chtls_sock *csk;
744+
struct net_device *ndev = chtls_find_netdev(cdev, sk);
740745
int addr_type = 0;
741746

742-
csk = rcu_dereference_sk_user_data(sk);
743747
addr_type = ipv6_addr_type((const struct in6_addr *)
744748
&sk->sk_v6_rcv_saddr);
745749
if (addr_type != IPV6_ADDR_ANY)
746-
cxgb4_clip_release(csk->egress_dev, (const u32 *)
750+
cxgb4_clip_release(ndev, (const u32 *)
747751
&sk->sk_v6_rcv_saddr, 1);
748752
}
749753
#endif
@@ -1157,6 +1161,9 @@ static struct sock *chtls_recv_sock(struct sock *lsk,
11571161
ndev = n->dev;
11581162
if (!ndev)
11591163
goto free_dst;
1164+
if (is_vlan_dev(ndev))
1165+
ndev = vlan_dev_real_dev(ndev);
1166+
11601167
port_id = cxgb4_port_idx(ndev);
11611168

11621169
csk = chtls_sock_create(cdev);

drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -902,9 +902,9 @@ static int chtls_skb_copy_to_page_nocache(struct sock *sk,
902902
return 0;
903903
}
904904

905-
static int csk_mem_free(struct chtls_dev *cdev, struct sock *sk)
905+
static bool csk_mem_free(struct chtls_dev *cdev, struct sock *sk)
906906
{
907-
return (cdev->max_host_sndbuf - sk->sk_wmem_queued);
907+
return (cdev->max_host_sndbuf - sk->sk_wmem_queued > 0);
908908
}
909909

910910
static int csk_wait_memory(struct chtls_dev *cdev,
@@ -1240,6 +1240,7 @@ int chtls_sendpage(struct sock *sk, struct page *page,
12401240
copied = 0;
12411241
csk = rcu_dereference_sk_user_data(sk);
12421242
cdev = csk->cdev;
1243+
lock_sock(sk);
12431244
timeo = sock_sndtimeo(sk, flags & MSG_DONTWAIT);
12441245

12451246
err = sk_stream_wait_connect(sk, &timeo);

0 commit comments

Comments
 (0)