Skip to content

Commit

Permalink
kernel: bump 4.4 to 4.4.112
Browse files Browse the repository at this point in the history
Refresh patches.
Remove upstreamed patches:

target/linux/generic/patches-4.4/030-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/patches-4.4/030-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch
target/linux/generic/patches-4.4/030-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch
target/linux/generic/patches-4.4/030-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 <[email protected]>
  • Loading branch information
ldir-EDB0 authored and hauke committed Jan 20, 2018
1 parent d8565a0 commit a30370b
Show file tree
Hide file tree
Showing 12 changed files with 19 additions and 165 deletions.
4 changes: 2 additions & 2 deletions include/kernel-version.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
LINUX_RELEASE?=1

LINUX_VERSION-3.18 = .71
LINUX_VERSION-4.4 = .111
LINUX_VERSION-4.4 = .112
LINUX_VERSION-4.9 = .77
LINUX_VERSION-4.14 = .14

LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
LINUX_KERNEL_HASH-4.4.111 = a201282e8eaf62b4f51edb2241e98ff805fe2d1b04a72a2328c5a6e2d77ec008
LINUX_KERNEL_HASH-4.4.112 = 544b42cbeed022896115c76a18fc97b4507d5b41d7ac0ce1dce9afd6ffd11ecd
LINUX_KERNEL_HASH-4.9.77 = 7c29bc3fb96f1e23d98f664e786dddd53a1599f56431b9b7fdfba402a4b3705c
LINUX_KERNEL_HASH-4.14.14 = 8b96362eb55ae152555980e7193fe2585b487176fb936cc69b8947d7dd32044a

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -1409,7 +1409,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
@@ -1410,7 +1410,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str

dsfield = ipv6_get_dsfield(ipv6h);
if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -296,15 +296,15 @@ Signed-off-by: Steven Barth <[email protected]>

__skb_tunnel_rx(skb, t->dev, t->net);

@@ -1247,6 +1384,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
@@ -1248,6 +1385,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
__u32 mtu;
u8 tproto;
int err;
+ struct __ip6_tnl_fmr *fmr;

tproto = ACCESS_ONCE(t->parms.proto);
if ((tproto != IPPROTO_IPV6 && tproto != 0) ||
@@ -1277,6 +1415,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
@@ -1278,6 +1416,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
fl6.flowi6_mark = skb->mark;

Expand All @@ -323,7 +323,7 @@ Signed-off-by: Steven Barth <[email protected]>
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
if (err != 0) {
if (err == -EMSGSIZE)
@@ -1391,6 +1541,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
@@ -1392,6 +1542,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.flowinfo = p->flowinfo;
t->parms.link = p->link;
t->parms.proto = p->proto;
Expand All @@ -338,15 +338,15 @@ Signed-off-by: Steven Barth <[email protected]>
ip6_tnl_dst_reset(t);
ip6_tnl_link_config(t);
return 0;
@@ -1429,6 +1587,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
@@ -1430,6 +1588,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
p->flowinfo = u->flowinfo;
p->link = u->link;
p->proto = u->proto;
+ p->fmrs = NULL;
memcpy(p->name, u->name, sizeof(u->name));
}

@@ -1724,6 +1883,15 @@ static int ip6_tnl_validate(struct nlatt
@@ -1725,6 +1884,15 @@ static int ip6_tnl_validate(struct nlatt
return 0;
}

Expand All @@ -362,7 +362,7 @@ Signed-off-by: Steven Barth <[email protected]>
static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms)
{
@@ -1755,6 +1923,46 @@ static void ip6_tnl_netlink_parms(struct
@@ -1756,6 +1924,46 @@ static void ip6_tnl_netlink_parms(struct

if (data[IFLA_IPTUN_PROTO])
parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]);
Expand Down Expand Up @@ -409,7 +409,7 @@ Signed-off-by: Steven Barth <[email protected]>
}

static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
@@ -1807,6 +2015,12 @@ static void ip6_tnl_dellink(struct net_d
@@ -1808,6 +2016,12 @@ static void ip6_tnl_dellink(struct net_d

static size_t ip6_tnl_get_size(const struct net_device *dev)
{
Expand All @@ -422,7 +422,7 @@ Signed-off-by: Steven Barth <[email protected]>
return
/* IFLA_IPTUN_LINK */
nla_total_size(4) +
@@ -1824,6 +2038,24 @@ static size_t ip6_tnl_get_size(const str
@@ -1825,6 +2039,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(4) +
/* IFLA_IPTUN_PROTO */
nla_total_size(1) +
Expand All @@ -447,7 +447,7 @@ Signed-off-by: Steven Barth <[email protected]>
0;
}

@@ -1831,6 +2063,9 @@ static int ip6_tnl_fill_info(struct sk_b
@@ -1832,6 +2064,9 @@ static int ip6_tnl_fill_info(struct sk_b
{
struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms;
Expand All @@ -457,7 +457,7 @@ Signed-off-by: Steven Barth <[email protected]>

if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
@@ -1839,8 +2074,27 @@ static int ip6_tnl_fill_info(struct sk_b
@@ -1840,8 +2075,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
Expand Down Expand Up @@ -486,7 +486,7 @@ Signed-off-by: Steven Barth <[email protected]>
return 0;

nla_put_failure:
@@ -1864,6 +2118,7 @@ static const struct nla_policy ip6_tnl_p
@@ -1865,6 +2119,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 },
[IFLA_IPTUN_FLAGS] = { .type = NLA_U32 },
[IFLA_IPTUN_PROTO] = { .type = NLA_U8 },
Expand Down
2 changes: 1 addition & 1 deletion target/linux/generic/pending-4.4/701-phy_extension.patch
Original file line number Diff line number Diff line change
Expand Up @@ -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
@@ -807,6 +807,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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
@@ -846,6 +846,23 @@ void mdio_bus_exit(void);

extern struct bus_type mdio_bus_type;

Expand Down
2 changes: 1 addition & 1 deletion target/linux/generic/pending-4.4/902-debloat_proc.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -2712,6 +2712,8 @@ static const struct file_operations proc
@@ -2716,6 +2716,8 @@ static const struct file_operations proc

static int __init proc_locks_init(void)
{
Expand Down
2 changes: 1 addition & 1 deletion target/linux/generic/pending-4.4/904-debloat_dma_buf.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -229,7 +229,7 @@ config SOC_BUS
@@ -232,7 +232,7 @@ config SOC_BUS
source "drivers/base/regmap/Kconfig"

config DMA_SHARED_BUFFER
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Signed-off-by: Russell King <[email protected]>
case PHY_##_state: \
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -812,6 +812,7 @@ int phy_ethtool_gset(struct phy_device *
@@ -823,6 +823,7 @@ int phy_ethtool_gset(struct phy_device *
int phy_ethtool_ioctl(struct phy_device *phydev, void *useraddr);
int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd);
int phy_start_interrupts(struct phy_device *phydev);
Expand Down

0 comments on commit a30370b

Please sign in to comment.