kernel: update 4.4 to 4.4.83
Refresh patches. Minor update 704-phy-no-genphy-soft-reset.patch which was partially accepted upstream. Compile-tested on ar71xx. Runtime-tested on ar71xx. Fixes the following vulnerabilities: - CVE-2017-7533 (4.4.80) - CVE-2017-1000111 (4.4.82) - CVE-2017-1000112 (4.4.82) Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
This commit is contained in:
committed by
Stijn Tintel
parent
cae20f64b5
commit
4a1b87aba4
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3739,6 +3742,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3744,6 +3747,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
|
||||
return 0;
|
||||
}
|
||||
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3791,6 +3804,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3796,6 +3809,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
||||
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4249,6 +4249,9 @@ static enum gro_result dev_gro_receive(s
|
||||
@@ -4256,6 +4256,9 @@ static enum gro_result dev_gro_receive(s
|
||||
enum gro_result ret;
|
||||
int grow;
|
||||
|
||||
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5415,6 +5418,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5422,6 +5425,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *private)
|
||||
@@ -5486,6 +5531,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5493,6 +5538,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
return 0;
|
||||
@@ -5612,6 +5658,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -5619,6 +5665,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
|
||||
|
||||
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6152,6 +6199,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6159,6 +6206,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
* @phydev: the phy_device struct
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -796,6 +796,7 @@ void phy_start_machine(struct phy_device
|
||||
@@ -800,6 +800,7 @@ void phy_start_machine(struct phy_device
|
||||
void phy_stop_machine(struct phy_device *phydev);
|
||||
int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
|
||||
int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
|
||||
|
||||
@@ -1,29 +1,11 @@
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -1213,7 +1213,7 @@ int genphy_config_init(struct phy_device
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int gen10g_soft_reset(struct phy_device *phydev)
|
||||
+static int no_soft_reset(struct phy_device *phydev)
|
||||
{
|
||||
/* Do nothing for now */
|
||||
return 0;
|
||||
@@ -1448,7 +1448,7 @@ static struct phy_driver genphy_driver[]
|
||||
.phy_id = 0xffffffff,
|
||||
.phy_id_mask = 0xffffffff,
|
||||
.name = "Generic PHY",
|
||||
- .soft_reset = genphy_soft_reset,
|
||||
+ .soft_reset = no_soft_reset,
|
||||
.config_init = genphy_config_init,
|
||||
.features = PHY_GBIT_FEATURES | SUPPORTED_MII |
|
||||
SUPPORTED_AUI | SUPPORTED_FIBRE |
|
||||
@@ -1463,7 +1463,7 @@ static struct phy_driver genphy_driver[]
|
||||
@@ -1465,7 +1465,7 @@ static struct phy_driver genphy_driver[]
|
||||
.phy_id = 0xffffffff,
|
||||
.phy_id_mask = 0xffffffff,
|
||||
.name = "Generic 10G PHY",
|
||||
- .soft_reset = gen10g_soft_reset,
|
||||
+ .soft_reset = no_soft_reset,
|
||||
+ .soft_reset = genphy_no_soft_reset,
|
||||
.config_init = gen10g_config_init,
|
||||
.features = 0,
|
||||
.config_aneg = gen10g_config_aneg,
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
phy_device_free(phydev);
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -835,6 +835,23 @@ void mdio_bus_exit(void);
|
||||
@@ -839,6 +839,23 @@ void mdio_bus_exit(void);
|
||||
|
||||
extern struct bus_type mdio_bus_type;
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
help
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -2736,10 +2736,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -2743,10 +2743,20 @@ static int xmit_one(struct sk_buff *skb,
|
||||
if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
|
||||
dev_queue_xmit_nit(skb, dev);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
--- a/drivers/usb/host/pci-quirks.c
|
||||
+++ b/drivers/usb/host/pci-quirks.c
|
||||
@@ -97,6 +97,8 @@ struct amd_chipset_type {
|
||||
@@ -98,6 +98,8 @@ struct amd_chipset_type {
|
||||
u8 rev;
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
static struct amd_chipset_info {
|
||||
struct pci_dev *nb_dev;
|
||||
struct pci_dev *smbus_dev;
|
||||
@@ -450,6 +452,10 @@ void usb_amd_dev_put(void)
|
||||
@@ -457,6 +459,10 @@ void usb_amd_dev_put(void)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(usb_amd_dev_put);
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
/*
|
||||
* Make sure the controller is completely inactive, unable to
|
||||
* generate interrupts or do DMA.
|
||||
@@ -529,8 +535,17 @@ reset_needed:
|
||||
@@ -536,8 +542,17 @@ reset_needed:
|
||||
uhci_reset_hc(pdev, base);
|
||||
return 1;
|
||||
}
|
||||
@@ -39,7 +39,7 @@
|
||||
static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
|
||||
{
|
||||
u16 cmd;
|
||||
@@ -1095,3 +1110,4 @@ static void quirk_usb_early_handoff(stru
|
||||
@@ -1102,3 +1117,4 @@ static void quirk_usb_early_handoff(stru
|
||||
}
|
||||
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
|
||||
PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
|
||||
|
||||
Reference in New Issue
Block a user