Skip to content

Commit 11a8272

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from David Miller: 1) Fix non-blocking connect() in x25, from Martin Schiller. 2) Fix spurious decryption errors in kTLS, from Jakub Kicinski. 3) Netfilter use-after-free in mtype_destroy(), from Cong Wang. 4) Limit size of TSO packets properly in lan78xx driver, from Eric Dumazet. 5) r8152 probe needs an endpoint sanity check, from Johan Hovold. 6) Prevent looping in tcp_bpf_unhash() during sockmap/tls free, from John Fastabend. 7) hns3 needs short frames padded on transmit, from Yunsheng Lin. 8) Fix netfilter ICMP header corruption, from Eyal Birger. 9) Fix soft lockup when low on memory in hns3, from Yonglong Liu. 10) Fix NTUPLE firmware command failures in bnxt_en, from Michael Chan. 11) Fix memory leak in act_ctinfo, from Eric Dumazet. * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (91 commits) cxgb4: reject overlapped queues in TC-MQPRIO offload cxgb4: fix Tx multi channel port rate limit net: sched: act_ctinfo: fix memory leak bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. bnxt_en: Fix ipv6 RFS filter matching logic. bnxt_en: Fix NTUPLE firmware command failures. net: systemport: Fixed queue mapping in internal ring map net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec net: dsa: sja1105: Don't error out on disabled ports with no phy-mode net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset net: hns: fix soft lockup when there is not enough memory net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() net/sched: act_ife: initalize ife->metalist earlier netfilter: nat: fix ICMP header corruption on ICMP errors net: wan: lapbether.c: Use built-in RCU list checking netfilter: nf_tables: fix flowtable list del corruption netfilter: nf_tables: fix memory leak in nf_tables_parse_netdev_hooks() netfilter: nf_tables: remove WARN and add NLA_STRING upper limits netfilter: nft_tunnel: ERSPAN_VERSION must not be null netfilter: nft_tunnel: fix null-attribute check ...
2 parents 5f43644 + b2383ad commit 11a8272

Some content is hidden

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

92 files changed

+773
-377
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ Jacob Shin <[email protected]>
9999
100100
101101
102+
102103
James Bottomley <jejb@mulgrave.(none)>
103104
James Bottomley <[email protected]>
104105
James E Wilson <[email protected]>

Documentation/admin-guide/devices.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@
319319
182 = /dev/perfctr Performance-monitoring counters
320320
183 = /dev/hwrng Generic random number generator
321321
184 = /dev/cpu/microcode CPU microcode update interface
322-
186 = /dev/atomicps Atomic shapshot of process state data
322+
186 = /dev/atomicps Atomic snapshot of process state data
323323
187 = /dev/irnet IrNET device
324324
188 = /dev/smbusbios SMBus BIOS
325325
189 = /dev/ussp_ctl User space serial port control

Documentation/media/v4l-drivers/meye.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ so all video4linux tools (like xawtv) should work with this driver.
9595

9696
Besides the video4linux interface, the driver has a private interface
9797
for accessing the Motion Eye extended parameters (camera sharpness,
98-
agc, video framerate), the shapshot and the MJPEG capture facilities.
98+
agc, video framerate), the snapshot and the MJPEG capture facilities.
9999

100100
This interface consists of several ioctls (prototypes and structures
101101
can be found in include/linux/meye.h):

MAINTAINERS

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3150,7 +3150,7 @@ S: Maintained
31503150
F: arch/mips/net/
31513151

31523152
BPF JIT for NFP NICs
3153-
M: Jakub Kicinski <[email protected]>
3153+
M: Jakub Kicinski <[email protected]>
31543154
31553155
31563156
S: Supported
@@ -11431,7 +11431,7 @@ F: include/uapi/linux/netrom.h
1143111431
F: net/netrom/
1143211432

1143311433
NETRONOME ETHERNET DRIVERS
11434-
M: Jakub Kicinski <[email protected]>
11434+
M: Jakub Kicinski <[email protected]>
1143511435
1143611436
S: Maintained
1143711437
F: drivers/net/ethernet/netronome/
@@ -11591,7 +11591,7 @@ M: Boris Pismenny <[email protected]>
1159111591
M: Aviad Yehezkel <[email protected]>
1159211592
M: John Fastabend <[email protected]>
1159311593
M: Daniel Borkmann <[email protected]>
11594-
M: Jakub Kicinski <[email protected]>
11594+
M: Jakub Kicinski <[email protected]>
1159511595
1159611596
S: Maintained
1159711597
F: net/tls/*
@@ -11603,7 +11603,7 @@ L: [email protected]
1160311603
Q: http://patchwork.kernel.org/project/linux-wireless/list/
1160411604

1160511605
NETDEVSIM
11606-
M: Jakub Kicinski <[email protected]>
11606+
M: Jakub Kicinski <[email protected]>
1160711607
S: Maintained
1160811608
F: drivers/net/netdevsim/*
1160911609

@@ -18042,7 +18042,7 @@ XDP (eXpress Data Path)
1804218042
M: Alexei Starovoitov <[email protected]>
1804318043
M: Daniel Borkmann <[email protected]>
1804418044
M: David S. Miller <[email protected]>
18045-
M: Jakub Kicinski <[email protected]>
18045+
M: Jakub Kicinski <[email protected]>
1804618046
M: Jesper Dangaard Brouer <[email protected]>
1804718047
M: John Fastabend <[email protected]>
1804818048

drivers/net/dsa/bcm_sf2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port)
6868

6969
/* Force link status for IMP port */
7070
reg = core_readl(priv, offset);
71-
reg |= (MII_SW_OR | LINK_STS);
71+
reg |= (MII_SW_OR | LINK_STS | GMII_SPEED_UP_2G);
7272
core_writel(priv, reg, offset);
7373

7474
/* Enable Broadcast, Multicast, Unicast forwarding to IMP port */

drivers/net/dsa/sja1105/sja1105_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,7 @@ static int sja1105_parse_ports_node(struct sja1105_private *priv,
582582
struct device *dev = &priv->spidev->dev;
583583
struct device_node *child;
584584

585-
for_each_child_of_node(ports_node, child) {
585+
for_each_available_child_of_node(ports_node, child) {
586586
struct device_node *phy_node;
587587
phy_interface_t phy_mode;
588588
u32 index;

drivers/net/ethernet/broadcom/bcmsysport.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2323,7 +2323,7 @@ static int bcm_sysport_map_queues(struct notifier_block *nb,
23232323
ring->switch_queue = qp;
23242324
ring->switch_port = port;
23252325
ring->inspect = true;
2326-
priv->ring_map[q + port * num_tx_queues] = ring;
2326+
priv->ring_map[qp + port * num_tx_queues] = ring;
23272327
qp++;
23282328
}
23292329

@@ -2338,7 +2338,7 @@ static int bcm_sysport_unmap_queues(struct notifier_block *nb,
23382338
struct net_device *slave_dev;
23392339
unsigned int num_tx_queues;
23402340
struct net_device *dev;
2341-
unsigned int q, port;
2341+
unsigned int q, qp, port;
23422342

23432343
priv = container_of(nb, struct bcm_sysport_priv, dsa_notifier);
23442344
if (priv->netdev != info->master)
@@ -2364,7 +2364,8 @@ static int bcm_sysport_unmap_queues(struct notifier_block *nb,
23642364
continue;
23652365

23662366
ring->inspect = false;
2367-
priv->ring_map[q + port * num_tx_queues] = NULL;
2367+
qp = ring->switch_queue;
2368+
priv->ring_map[qp + port * num_tx_queues] = NULL;
23682369
}
23692370

23702371
return 0;

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11065,11 +11065,23 @@ static bool bnxt_fltr_match(struct bnxt_ntuple_filter *f1,
1106511065
struct flow_keys *keys1 = &f1->fkeys;
1106611066
struct flow_keys *keys2 = &f2->fkeys;
1106711067

11068-
if (keys1->addrs.v4addrs.src == keys2->addrs.v4addrs.src &&
11069-
keys1->addrs.v4addrs.dst == keys2->addrs.v4addrs.dst &&
11070-
keys1->ports.ports == keys2->ports.ports &&
11071-
keys1->basic.ip_proto == keys2->basic.ip_proto &&
11072-
keys1->basic.n_proto == keys2->basic.n_proto &&
11068+
if (keys1->basic.n_proto != keys2->basic.n_proto ||
11069+
keys1->basic.ip_proto != keys2->basic.ip_proto)
11070+
return false;
11071+
11072+
if (keys1->basic.n_proto == htons(ETH_P_IP)) {
11073+
if (keys1->addrs.v4addrs.src != keys2->addrs.v4addrs.src ||
11074+
keys1->addrs.v4addrs.dst != keys2->addrs.v4addrs.dst)
11075+
return false;
11076+
} else {
11077+
if (memcmp(&keys1->addrs.v6addrs.src, &keys2->addrs.v6addrs.src,
11078+
sizeof(keys1->addrs.v6addrs.src)) ||
11079+
memcmp(&keys1->addrs.v6addrs.dst, &keys2->addrs.v6addrs.dst,
11080+
sizeof(keys1->addrs.v6addrs.dst)))
11081+
return false;
11082+
}
11083+
11084+
if (keys1->ports.ports == keys2->ports.ports &&
1107311085
keys1->control.flags == keys2->control.flags &&
1107411086
ether_addr_equal(f1->src_mac_addr, f2->src_mac_addr) &&
1107511087
ether_addr_equal(f1->dst_mac_addr, f2->dst_mac_addr))
@@ -11361,7 +11373,7 @@ int bnxt_get_port_parent_id(struct net_device *dev,
1136111373
return -EOPNOTSUPP;
1136211374

1136311375
/* The PF and it's VF-reps only support the switchdev framework */
11364-
if (!BNXT_PF(bp))
11376+
if (!BNXT_PF(bp) || !(bp->flags & BNXT_FLAG_DSN_VALID))
1136511377
return -EOPNOTSUPP;
1136611378

1136711379
ppid->id_len = sizeof(bp->switch_id);
@@ -11734,6 +11746,7 @@ static int bnxt_pcie_dsn_get(struct bnxt *bp, u8 dsn[])
1173411746
put_unaligned_le32(dw, &dsn[0]);
1173511747
pci_read_config_dword(pdev, pos + 4, &dw);
1173611748
put_unaligned_le32(dw, &dsn[4]);
11749+
bp->flags |= BNXT_FLAG_DSN_VALID;
1173711750
return 0;
1173811751
}
1173911752

@@ -11845,9 +11858,7 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1184511858

1184611859
if (BNXT_PF(bp)) {
1184711860
/* Read the adapter's DSN to use as the eswitch switch_id */
11848-
rc = bnxt_pcie_dsn_get(bp, bp->switch_id);
11849-
if (rc)
11850-
goto init_err_pci_clean;
11861+
bnxt_pcie_dsn_get(bp, bp->switch_id);
1185111862
}
1185211863

1185311864
/* MTU range: 60 - FW defined max */

drivers/net/ethernet/broadcom/bnxt/bnxt.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1532,6 +1532,7 @@ struct bnxt {
15321532
#define BNXT_FLAG_NO_AGG_RINGS 0x20000
15331533
#define BNXT_FLAG_RX_PAGE_MODE 0x40000
15341534
#define BNXT_FLAG_MULTI_HOST 0x100000
1535+
#define BNXT_FLAG_DSN_VALID 0x200000
15351536
#define BNXT_FLAG_DOUBLE_DB 0x400000
15361537
#define BNXT_FLAG_CHIP_NITRO_A0 0x1000000
15371538
#define BNXT_FLAG_DIM 0x2000000
@@ -1936,9 +1937,6 @@ static inline bool bnxt_cfa_hwrm_message(u16 req_type)
19361937
case HWRM_CFA_ENCAP_RECORD_FREE:
19371938
case HWRM_CFA_DECAP_FILTER_ALLOC:
19381939
case HWRM_CFA_DECAP_FILTER_FREE:
1939-
case HWRM_CFA_NTUPLE_FILTER_ALLOC:
1940-
case HWRM_CFA_NTUPLE_FILTER_FREE:
1941-
case HWRM_CFA_NTUPLE_FILTER_CFG:
19421940
case HWRM_CFA_EM_FLOW_ALLOC:
19431941
case HWRM_CFA_EM_FLOW_FREE:
19441942
case HWRM_CFA_EM_FLOW_CFG:

drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,9 @@ static int bnxt_vf_reps_create(struct bnxt *bp)
398398
struct net_device *dev;
399399
int rc, i;
400400

401+
if (!(bp->flags & BNXT_FLAG_DSN_VALID))
402+
return -ENODEV;
403+
401404
bp->vf_reps = kcalloc(num_vfs, sizeof(vf_rep), GFP_KERNEL);
402405
if (!bp->vf_reps)
403406
return -ENOMEM;

0 commit comments

Comments
 (0)