Skip to content

Commit 4f2ba5d

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) Fix refcounting in xfrm_bundle_lookup() when using a dummy bundle, from Steffen Klassert. 2) Fix crypto header handling in rx data frames in ath10k driver, from Vasanthakumar Thiagarajan. 3) Fix use after free of qdisc when we defer tcp_chain_flush() to a workqueue. From Cong Wang. 4) Fix double free in lapbether driver, from Pan Bian. 5) Sanitize TUNSETSNDBUF values, from Craig Gallek. 6) Fix refcounting when addrconf_permanent_addr() calls ipv6_del_addr(). From Eric Dumazet. 7) Fix MTU probing bug in TCP that goes back to 2007, from Eric Dumazet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: tcp: fix tcp_mtu_probe() vs highest_sack ipv6: addrconf: increment ifp refcount before ipv6_del_addr() tun/tap: sanitize TUNSETSNDBUF input mlxsw: i2c: Fix buffer increment counter for write transaction mlxsw: reg: Add high and low temperature thresholds MAINTAINERS: Remove Yotam from mlxfw MAINTAINERS: Update Yotam's E-mail net: hns: set correct return value net: lapbether: fix double free bpf: remove SK_REDIRECT from UAPI net: phy: marvell: Only configure RGMII delays when using RGMII xfrm: Fix GSO for IPsec with GRE tunnel. tc-testing: fix arg to ip command: -s -> -n net_sched: remove tcf_block_put_deferred() l2tp: hold tunnel in pppol2tp_connect() Revert "ath10k: fix napi_poll budget overflow" ath10k: rebuild crypto header in rx data frames wcn36xx: Remove unnecessary rcu_read_unlock in wcn36xx_bss_info_changed xfrm: Clear sk_dst_cache when applying per-socket policy. xfrm: Fix xfrm_dst_cache memleak
2 parents cb0631f + 2b7cda9 commit 4f2ba5d

26 files changed

Lines changed: 182 additions & 86 deletions

File tree

MAINTAINERS

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6671,7 +6671,7 @@ F: include/net/ieee802154_netdev.h
66716671
F: Documentation/networking/ieee802154.txt
66726672

66736673
IFE PROTOCOL
6674-
M: Yotam Gigi <yotamg@mellanox.com>
6674+
M: Yotam Gigi <yotam.gi@gmail.com>
66756675
M: Jamal Hadi Salim <jhs@mojatatu.com>
66766676
F: net/ife
66776677
F: include/net/ife.h
@@ -8743,7 +8743,7 @@ Q: http://patchwork.ozlabs.org/project/netdev/list/
87438743
F: drivers/net/ethernet/mellanox/mlxsw/
87448744

87458745
MELLANOX FIRMWARE FLASH LIBRARY (mlxfw)
8746-
M: Yotam Gigi <yotamg@mellanox.com>
8746+
M: mlxsw@mellanox.com
87478747
L: netdev@vger.kernel.org
87488748
S: Supported
87498749
W: http://www.mellanox.com
@@ -10890,7 +10890,7 @@ S: Maintained
1089010890
F: drivers/block/ps3vram.c
1089110891

1089210892
PSAMPLE PACKET SAMPLING SUPPORT:
10893-
M: Yotam Gigi <yotamg@mellanox.com>
10893+
M: Yotam Gigi <yotam.gi@gmail.com>
1089410894
S: Maintained
1089510895
F: net/psample
1089610896
F: include/net/psample.h

drivers/net/ethernet/hisilicon/hns/hns_enet.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2369,8 +2369,8 @@ static int hns_nic_dev_probe(struct platform_device *pdev)
23692369
priv->enet_ver = AE_VERSION_2;
23702370

23712371
ae_node = of_parse_phandle(dev->of_node, "ae-handle", 0);
2372-
if (IS_ERR_OR_NULL(ae_node)) {
2373-
ret = PTR_ERR(ae_node);
2372+
if (!ae_node) {
2373+
ret = -ENODEV;
23742374
dev_err(dev, "not find ae-handle\n");
23752375
goto out_read_prop_fail;
23762376
}

drivers/net/ethernet/mellanox/mlxsw/i2c.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ mlxsw_i2c_write(struct device *dev, size_t in_mbox_size, u8 *in_mbox, int num,
294294
write_tran.len = MLXSW_I2C_ADDR_WIDTH + chunk_size;
295295
mlxsw_i2c_set_slave_addr(tran_buf, off);
296296
memcpy(&tran_buf[MLXSW_I2C_ADDR_BUF_SIZE], in_mbox +
297-
chunk_size * i, chunk_size);
297+
MLXSW_I2C_BLK_MAX * i, chunk_size);
298298

299299
j = 0;
300300
end = jiffies + timeout;

drivers/net/ethernet/mellanox/mlxsw/reg.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5827,6 +5827,29 @@ MLXSW_ITEM32(reg, mtmp, mtr, 0x08, 30, 1);
58275827
*/
58285828
MLXSW_ITEM32(reg, mtmp, max_temperature, 0x08, 0, 16);
58295829

5830+
/* reg_mtmp_tee
5831+
* Temperature Event Enable.
5832+
* 0 - Do not generate event
5833+
* 1 - Generate event
5834+
* 2 - Generate single event
5835+
* Access: RW
5836+
*/
5837+
MLXSW_ITEM32(reg, mtmp, tee, 0x0C, 30, 2);
5838+
5839+
#define MLXSW_REG_MTMP_THRESH_HI 0x348 /* 105 Celsius */
5840+
5841+
/* reg_mtmp_temperature_threshold_hi
5842+
* High threshold for Temperature Warning Event. In 0.125 Celsius.
5843+
* Access: RW
5844+
*/
5845+
MLXSW_ITEM32(reg, mtmp, temperature_threshold_hi, 0x0C, 0, 16);
5846+
5847+
/* reg_mtmp_temperature_threshold_lo
5848+
* Low threshold for Temperature Warning Event. In 0.125 Celsius.
5849+
* Access: RW
5850+
*/
5851+
MLXSW_ITEM32(reg, mtmp, temperature_threshold_lo, 0x10, 0, 16);
5852+
58305853
#define MLXSW_REG_MTMP_SENSOR_NAME_SIZE 8
58315854

58325855
/* reg_mtmp_sensor_name
@@ -5843,6 +5866,8 @@ static inline void mlxsw_reg_mtmp_pack(char *payload, u8 sensor_index,
58435866
mlxsw_reg_mtmp_sensor_index_set(payload, sensor_index);
58445867
mlxsw_reg_mtmp_mte_set(payload, max_temp_enable);
58455868
mlxsw_reg_mtmp_mtr_set(payload, max_temp_reset);
5869+
mlxsw_reg_mtmp_temperature_threshold_hi_set(payload,
5870+
MLXSW_REG_MTMP_THRESH_HI);
58465871
}
58475872

58485873
static inline void mlxsw_reg_mtmp_unpack(char *payload, unsigned int *p_temp,

drivers/net/phy/marvell.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -681,9 +681,11 @@ static int m88e1116r_config_init(struct phy_device *phydev)
681681
if (err < 0)
682682
return err;
683683

684-
err = m88e1121_config_aneg_rgmii_delays(phydev);
685-
if (err < 0)
686-
return err;
684+
if (phy_interface_is_rgmii(phydev)) {
685+
err = m88e1121_config_aneg_rgmii_delays(phydev);
686+
if (err < 0)
687+
return err;
688+
}
687689

688690
err = genphy_soft_reset(phydev);
689691
if (err < 0)

drivers/net/tap.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,8 @@ static long tap_ioctl(struct file *file, unsigned int cmd,
10321032
case TUNSETSNDBUF:
10331033
if (get_user(s, sp))
10341034
return -EFAULT;
1035+
if (s <= 0)
1036+
return -EINVAL;
10351037

10361038
q->sk.sk_sndbuf = s;
10371039
return 0;

drivers/net/tun.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2429,6 +2429,10 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
24292429
ret = -EFAULT;
24302430
break;
24312431
}
2432+
if (sndbuf <= 0) {
2433+
ret = -EINVAL;
2434+
break;
2435+
}
24322436

24332437
tun->sndbuf = sndbuf;
24342438
tun_set_sndbuf(tun);

drivers/net/wan/lapbether.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,6 @@ static int lapbeth_new_device(struct net_device *dev)
346346
fail:
347347
dev_put(dev);
348348
free_netdev(ndev);
349-
kfree(lapbeth);
350349
goto out;
351350
}
352351

0 commit comments

Comments
 (0)