Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ef11ceb authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:

 1) Stale SKB data pointer access across pskb_may_pull() calls in L2TP,
    from Haishuang Yan.

 2) Fix multicast frame handling in mac80211 AP code, from Felix
    Fietkau.

 3) mac80211 station hashtable insert errors not handled properly, fix
    from Johannes Berg.

 4) Fix TX descriptor count limit handling in e1000, from Alexander
    Duyck.

 5) Revert a buggy netdev refcount fix in netpoll, from Bjorn Helgaas.

 6) Must assign rtnl_link_ops of the device before registering it, fix
    in ip6_tunnel from Thadeu Lima de Souza Cascardo.

 7) Memory leak fix in tc action net exit, from WANG Cong.

 8) Add missing AF_KCM entries to name tables, from Dexuan Cui.

 9) Fix regression in GRE handling of csums wrt.  FOU, from Alexander
    Duyck.

10) Fix memory allocation alignment and congestion map corruption in
    RDS, from Shamir Rabinovitch.

11) Fix default qdisc regression in tuntap driver, from Jason Wang.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits)
  bridge, netem: mark mailing lists as moderated
  tuntap: restore default qdisc
  mpls: find_outdev: check for err ptr in addition to NULL check
  ipv6: Count in extension headers in skb->network_header
  RDS: fix congestion map corruption for PAGE_SIZE > 4k
  RDS: memory allocated must be align to 8
  GRE: Disable segmentation offloads w/ CSUM and we are encapsulated via FOU
  net: add the AF_KCM entries to family name tables
  MAINTAINERS: intel-wired-lan list is moderated
  lib/test_bpf: Add additional BPF_ADD tests
  lib/test_bpf: Add test to check for result of 32-bit add that overflows
  lib/test_bpf: Add tests for unsigned BPF_JGT
  lib/test_bpf: Fix JMP_JSET tests
  VSOCK: Detach QP check should filter out non matching QPs.
  stmmac: fix adjust link call in case of a switch is attached
  af_packet: tone down the Tx-ring unsupported spew.
  net_sched: fix a memory leak in tc action
  samples/bpf: Enable powerpc support
  samples/bpf: Use llc in PATH, rather than a hardcoded value
  samples/bpf: Fix build breakage with map_perf_test_user.c
  ...
parents 839a3f76 30d237a6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -4302,7 +4302,7 @@ F: drivers/net/ethernet/agere/

ETHERNET BRIDGE
M:	Stephen Hemminger <stephen@networkplumber.org>
L:	bridge@lists.linux-foundation.org
L:	bridge@lists.linux-foundation.org (moderated for non-subscribers)
L:	netdev@vger.kernel.org
W:	http://www.linuxfoundation.org/en/Net:Bridge
S:	Maintained
@@ -5751,7 +5751,7 @@ R: Don Skidmore <donald.c.skidmore@intel.com>
R:	Bruce Allan <bruce.w.allan@intel.com>
R:	John Ronciak <john.ronciak@intel.com>
R:	Mitch Williams <mitch.a.williams@intel.com>
L:	intel-wired-lan@lists.osuosl.org
L:	intel-wired-lan@lists.osuosl.org (moderated for non-subscribers)
W:	http://www.intel.com/support/feedback.htm
W:	http://e1000.sourceforge.net/
Q:	http://patchwork.ozlabs.org/project/intel-wired-lan/list/
@@ -7576,7 +7576,7 @@ F: drivers/infiniband/hw/nes/

NETEM NETWORK EMULATOR
M:	Stephen Hemminger <stephen@networkplumber.org>
L:	netem@lists.linux-foundation.org
L:	netem@lists.linux-foundation.org (moderated for non-subscribers)
S:	Maintained
F:	net/sched/sch_netem.c

+1 −0
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ CH_PCI_DEVICE_ID_TABLE_DEFINE_BEGIN
	CH_PCI_ID_TABLE_FENTRY(0x5099),	/* Custom 2x40G QSFP */
	CH_PCI_ID_TABLE_FENTRY(0x509a),	/* Custom T520-CR */
	CH_PCI_ID_TABLE_FENTRY(0x509b),	/* Custom T540-CR LOM */
	CH_PCI_ID_TABLE_FENTRY(0x509c),	/* Custom T520-CR*/

	/* T6 adapters:
	 */
+19 −2
Original line number Diff line number Diff line
@@ -3106,7 +3106,7 @@ static int e1000_maybe_stop_tx(struct net_device *netdev,
	return __e1000_maybe_stop_tx(netdev, size);
}

#define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1)
#define TXD_USE_COUNT(S, X) (((S) + ((1 << (X)) - 1)) >> (X))
static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
				    struct net_device *netdev)
{
@@ -3256,12 +3256,29 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
			     nr_frags, mss);

	if (count) {
		/* The descriptors needed is higher than other Intel drivers
		 * due to a number of workarounds.  The breakdown is below:
		 * Data descriptors: MAX_SKB_FRAGS + 1
		 * Context Descriptor: 1
		 * Keep head from touching tail: 2
		 * Workarounds: 3
		 */
		int desc_needed = MAX_SKB_FRAGS + 7;

		netdev_sent_queue(netdev, skb->len);
		skb_tx_timestamp(skb);

		e1000_tx_queue(adapter, tx_ring, tx_flags, count);

		/* 82544 potentially requires twice as many data descriptors
		 * in order to guarantee buffers don't end on evenly-aligned
		 * dwords
		 */
		if (adapter->pcix_82544)
			desc_needed += MAX_SKB_FRAGS + 1;

		/* Make sure there is space in the ring for the next send. */
		e1000_maybe_stop_tx(netdev, tx_ring, MAX_SKB_FRAGS + 2);
		e1000_maybe_stop_tx(netdev, tx_ring, desc_needed);

		if (!skb->xmit_more ||
		    netif_xmit_stopped(netdev_get_tx_queue(netdev, 0))) {
+1 −0
Original line number Diff line number Diff line
@@ -8559,6 +8559,7 @@ static int i40e_sw_init(struct i40e_pf *pf)
			     I40E_FLAG_OUTER_UDP_CSUM_CAPABLE |
			     I40E_FLAG_WB_ON_ITR_CAPABLE |
			     I40E_FLAG_MULTIPLE_TCP_UDP_RSS_PCTYPE |
			     I40E_FLAG_NO_PCI_LINK_CHECK |
			     I40E_FLAG_100M_SGMII_CAPABLE |
			     I40E_FLAG_USE_SET_LLDP_MIB |
			     I40E_FLAG_GENEVE_OFFLOAD_CAPABLE;
+10 −12
Original line number Diff line number Diff line
@@ -288,10 +288,6 @@ bool stmmac_eee_init(struct stmmac_priv *priv)
	    (priv->pcs == STMMAC_PCS_RTBI))
		goto out;

	/* Never init EEE in case of a switch is attached */
	if (priv->phydev->is_pseudo_fixed_link)
		goto out;

	/* MAC core supports the EEE feature. */
	if (priv->dma_cap.eee) {
		int tx_lpi_timer = priv->tx_lpi_timer;
@@ -771,8 +767,14 @@ static void stmmac_adjust_link(struct net_device *dev)

	spin_unlock_irqrestore(&priv->lock, flags);

	/* At this stage, it could be needed to setup the EEE or adjust some
	 * MAC related HW registers.
	if (phydev->is_pseudo_fixed_link)
		/* Stop PHY layer to call the hook to adjust the link in case
		 * of a switch is attached to the stmmac driver.
		 */
		phydev->irq = PHY_IGNORE_INTERRUPT;
	else
		/* At this stage, init the EEE if supported.
		 * Never called in case of fixed_link.
		 */
		priv->eee_enabled = stmmac_eee_init(priv);
}
@@ -865,10 +867,6 @@ static int stmmac_init_phy(struct net_device *dev)
		return -ENODEV;
	}

	/* If attached to a switch, there is no reason to poll phy handler */
	if (phydev->is_pseudo_fixed_link)
		phydev->irq = PHY_IGNORE_INTERRUPT;

	pr_debug("stmmac_init_phy:  %s: attached to PHY (UID 0x%x)"
		 " Link = %d\n", dev->name, phydev->phy_id, phydev->link);

Loading