From d8565a06dc01b55ed1018d571e655c122b9d2a33 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Thu, 18 Jan 2018 13:51:13 +0000 Subject: kernel: bump 4.9 to 4.9.77 Refresh patches. Remove upstreamed patches: target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Compile-tested: ar71xx Archer C7 v2 Run-tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant Tested-by: Koen Vandeputte --- .../sunxi/patches-4.9/0053-stmmac-form-4-13.patch | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) (limited to 'target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch') diff --git a/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch b/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch index 161e9f0..a5d860d 100644 --- a/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch +++ b/target/linux/sunxi/patches-4.9/0053-stmmac-form-4-13.patch @@ -1347,7 +1347,7 @@ } static void print_pkt(unsigned char *buf, int len) -@@ -783,7 +794,7 @@ static void stmmac_adjust_link(struct ne +@@ -789,7 +800,7 @@ static void stmmac_adjust_link(struct ne struct stmmac_priv *priv = netdev_priv(dev); struct phy_device *phydev = dev->phydev; unsigned long flags; @@ -1356,7 +1356,7 @@ if (!phydev) return; -@@ -796,8 +807,8 @@ static void stmmac_adjust_link(struct ne +@@ -802,8 +813,8 @@ static void stmmac_adjust_link(struct ne /* Now we make sure that we can be in full duplex mode. * If not, we operate in half-duplex mode. */ if (phydev->duplex != priv->oldduplex) { @@ -1367,7 +1367,7 @@ ctrl &= ~priv->hw->link.duplex; else ctrl |= priv->hw->link.duplex; -@@ -808,30 +819,17 @@ static void stmmac_adjust_link(struct ne +@@ -814,30 +825,17 @@ static void stmmac_adjust_link(struct ne stmmac_mac_flow_ctrl(priv, phydev->duplex); if (phydev->speed != priv->speed) { @@ -1406,7 +1406,7 @@ break; default: netif_warn(priv, link, priv->dev, -@@ -847,12 +845,12 @@ static void stmmac_adjust_link(struct ne +@@ -853,12 +851,12 @@ static void stmmac_adjust_link(struct ne writel(ctrl, priv->ioaddr + MAC_CTRL_REG); if (!priv->oldlink) { @@ -1423,7 +1423,7 @@ priv->speed = SPEED_UNKNOWN; priv->oldduplex = DUPLEX_UNKNOWN; } -@@ -915,7 +913,7 @@ static int stmmac_init_phy(struct net_de +@@ -921,7 +919,7 @@ static int stmmac_init_phy(struct net_de char bus_id[MII_BUS_ID_SIZE]; int interface = priv->plat->interface; int max_speed = priv->plat->max_speed; @@ -1432,7 +1432,7 @@ priv->speed = SPEED_UNKNOWN; priv->oldduplex = DUPLEX_UNKNOWN; -@@ -1450,7 +1448,7 @@ static void free_dma_rx_desc_resources(s +@@ -1456,7 +1454,7 @@ static void free_dma_rx_desc_resources(s static void free_dma_tx_desc_resources(struct stmmac_priv *priv) { u32 tx_count = priv->plat->tx_queues_to_use; @@ -1441,7 +1441,7 @@ /* Free TX queue resources */ for (queue = 0; queue < tx_count; queue++) { -@@ -1499,7 +1497,7 @@ static int alloc_dma_rx_desc_resources(s +@@ -1505,7 +1503,7 @@ static int alloc_dma_rx_desc_resources(s sizeof(dma_addr_t), GFP_KERNEL); if (!rx_q->rx_skbuff_dma) @@ -1450,7 +1450,7 @@ rx_q->rx_skbuff = kmalloc_array(DMA_RX_SIZE, sizeof(struct sk_buff *), -@@ -1562,13 +1560,13 @@ static int alloc_dma_tx_desc_resources(s +@@ -1568,13 +1566,13 @@ static int alloc_dma_tx_desc_resources(s sizeof(*tx_q->tx_skbuff_dma), GFP_KERNEL); if (!tx_q->tx_skbuff_dma) @@ -1466,7 +1466,7 @@ if (priv->extend_desc) { tx_q->dma_etx = dma_zalloc_coherent(priv->device, -@@ -1578,7 +1576,7 @@ static int alloc_dma_tx_desc_resources(s +@@ -1584,7 +1582,7 @@ static int alloc_dma_tx_desc_resources(s &tx_q->dma_tx_phy, GFP_KERNEL); if (!tx_q->dma_etx) @@ -1475,7 +1475,7 @@ } else { tx_q->dma_tx = dma_zalloc_coherent(priv->device, DMA_TX_SIZE * -@@ -1587,13 +1585,13 @@ static int alloc_dma_tx_desc_resources(s +@@ -1593,13 +1591,13 @@ static int alloc_dma_tx_desc_resources(s &tx_q->dma_tx_phy, GFP_KERNEL); if (!tx_q->dma_tx) @@ -1491,7 +1491,7 @@ free_dma_tx_desc_resources(priv); return ret; -@@ -2896,8 +2894,7 @@ static netdev_tx_t stmmac_tso_xmit(struc +@@ -2902,8 +2900,7 @@ static netdev_tx_t stmmac_tso_xmit(struc priv->xstats.tx_set_ic_bit++; } @@ -1501,7 +1501,7 @@ if (unlikely((skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) && priv->hwts_tx_en)) { -@@ -2975,7 +2972,7 @@ static netdev_tx_t stmmac_xmit(struct sk +@@ -2981,7 +2978,7 @@ static netdev_tx_t stmmac_xmit(struct sk /* Manage oversized TCP frames for GMAC4 device */ if (skb_is_gso(skb) && priv->tso) { @@ -1510,7 +1510,7 @@ return stmmac_tso_xmit(skb, dev); } -@@ -3106,8 +3103,7 @@ static netdev_tx_t stmmac_xmit(struct sk +@@ -3112,8 +3109,7 @@ static netdev_tx_t stmmac_xmit(struct sk priv->xstats.tx_set_ic_bit++; } @@ -1520,7 +1520,7 @@ /* Ready to fill the first descriptor and set the OWN bit w/o any * problems because all the descriptors are actually ready to be -@@ -3984,7 +3980,9 @@ static int stmmac_hw_init(struct stmmac_ +@@ -3990,7 +3986,9 @@ static int stmmac_hw_init(struct stmmac_ struct mac_device_info *mac; /* Identify the MAC HW device */ @@ -1531,7 +1531,7 @@ priv->dev->priv_flags |= IFF_UNICAST_FLT; mac = dwmac1000_setup(priv->ioaddr, priv->plat->multicast_filter_bins, -@@ -4004,6 +4002,10 @@ static int stmmac_hw_init(struct stmmac_ +@@ -4010,6 +4008,10 @@ static int stmmac_hw_init(struct stmmac_ priv->hw = mac; @@ -1542,7 +1542,7 @@ /* To use the chained or ring mode */ if (priv->synopsys_id >= DWMAC_CORE_4_00) { priv->hw->mode = &dwmac4_ring_mode_ops; -@@ -4132,8 +4134,15 @@ int stmmac_dvr_probe(struct device *devi +@@ -4138,8 +4140,15 @@ int stmmac_dvr_probe(struct device *devi if ((phyaddr >= 0) && (phyaddr <= 31)) priv->plat->phy_addr = phyaddr; @@ -1559,7 +1559,7 @@ /* Init MAC and get the capabilities */ ret = stmmac_hw_init(priv); -@@ -4150,7 +4159,7 @@ int stmmac_dvr_probe(struct device *devi +@@ -4156,7 +4165,7 @@ int stmmac_dvr_probe(struct device *devi NETIF_F_RXCSUM; if ((priv->plat->tso_en) && (priv->dma_cap.tsoen)) { @@ -1568,7 +1568,7 @@ priv->tso = true; dev_info(priv->device, "TSO feature enabled\n"); } -@@ -4312,7 +4321,7 @@ int stmmac_suspend(struct device *dev) +@@ -4318,7 +4327,7 @@ int stmmac_suspend(struct device *dev) } spin_unlock_irqrestore(&priv->lock, flags); -- cgit v1.1