kernel: 3.13: refresh patches

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41553
This commit is contained in:
Luka Perkov 2014-07-08 23:27:45 +00:00
parent 82abc5c1d9
commit f9c04c8722
3 changed files with 20 additions and 31 deletions

View file

@ -1,7 +1,5 @@
Index: linux-3.13.2/drivers/mtd/ubi/gluebi.c --- a/drivers/mtd/ubi/gluebi.c
=================================================================== +++ b/drivers/mtd/ubi/gluebi.c
--- linux-3.13.2.orig/drivers/mtd/ubi/gluebi.c
+++ linux-3.13.2/drivers/mtd/ubi/gluebi.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/mtd/ubi.h> #include <linux/mtd/ubi.h>

View file

@ -14,8 +14,6 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
net/ipv6/ip6_tunnel.c | 276 +++++++++++++++++++++++++++++++++++++++-- net/ipv6/ip6_tunnel.c | 276 +++++++++++++++++++++++++++++++++++++++--
3 files changed, 291 insertions(+), 11 deletions(-) 3 files changed, 291 insertions(+), 11 deletions(-)
diff --git a/include/net/ip6_tunnel.h b/include/net/ip6_tunnel.h
index a5593da..414f5a1 100644
--- a/include/net/ip6_tunnel.h --- a/include/net/ip6_tunnel.h
+++ b/include/net/ip6_tunnel.h +++ b/include/net/ip6_tunnel.h
@@ -15,6 +15,18 @@ @@ -15,6 +15,18 @@
@ -45,8 +43,6 @@ index a5593da..414f5a1 100644
__be16 i_flags; __be16 i_flags;
__be16 o_flags; __be16 o_flags;
diff --git a/include/uapi/linux/if_tunnel.h b/include/uapi/linux/if_tunnel.h
index aee73d0..c5b25d4 100644
--- a/include/uapi/linux/if_tunnel.h --- a/include/uapi/linux/if_tunnel.h
+++ b/include/uapi/linux/if_tunnel.h +++ b/include/uapi/linux/if_tunnel.h
@@ -53,10 +53,23 @@ enum { @@ -53,10 +53,23 @@ enum {
@ -73,8 +69,6 @@ index aee73d0..c5b25d4 100644
/* SIT-mode i_flags */ /* SIT-mode i_flags */
#define SIT_ISATAP 0x0001 #define SIT_ISATAP 0x0001
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index b05b609..c2216b0 100644
--- a/net/ipv6/ip6_tunnel.c --- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c
@@ -16,6 +16,8 @@ @@ -16,6 +16,8 @@
@ -86,7 +80,7 @@ index b05b609..c2216b0 100644
*/ */
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
@@ -76,11 +78,9 @@ static bool log_ecn_error = true; @@ -80,11 +82,9 @@ static bool log_ecn_error = true;
module_param(log_ecn_error, bool, 0644); module_param(log_ecn_error, bool, 0644);
MODULE_PARM_DESC(log_ecn_error, "Log packets received with corrupted ECN"); MODULE_PARM_DESC(log_ecn_error, "Log packets received with corrupted ECN");
@ -100,7 +94,7 @@ index b05b609..c2216b0 100644
} }
static int ip6_tnl_dev_init(struct net_device *dev); static int ip6_tnl_dev_init(struct net_device *dev);
@@ -179,15 +179,24 @@ EXPORT_SYMBOL_GPL(ip6_tnl_dst_store); @@ -182,15 +182,24 @@ EXPORT_SYMBOL_GPL(ip6_tnl_dst_store);
static struct ip6_tnl * static struct ip6_tnl *
ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_addr *local) ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_addr *local)
{ {
@ -129,7 +123,7 @@ index b05b609..c2216b0 100644
} }
t = rcu_dereference(ip6n->tnls_wc[0]); t = rcu_dereference(ip6n->tnls_wc[0]);
if (t && (t->dev->flags & IFF_UP)) if (t && (t->dev->flags & IFF_UP))
@@ -217,7 +226,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n, const struct __ip6_tnl_parm *p) @@ -220,7 +229,7 @@ ip6_tnl_bucket(struct ip6_tnl_net *ip6n,
if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) { if (!ipv6_addr_any(remote) || !ipv6_addr_any(local)) {
prio = 1; prio = 1;
@ -138,7 +132,7 @@ index b05b609..c2216b0 100644
} }
return &ip6n->tnls[prio][h]; return &ip6n->tnls[prio][h];
} }
@@ -385,6 +394,12 @@ ip6_tnl_dev_uninit(struct net_device *dev) @@ -388,6 +397,12 @@ ip6_tnl_dev_uninit(struct net_device *de
struct net *net = t->net; struct net *net = t->net;
struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id); struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id);
@ -151,7 +145,7 @@ index b05b609..c2216b0 100644
if (dev == ip6n->fb_tnl_dev) if (dev == ip6n->fb_tnl_dev)
RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
else else
@@ -768,6 +783,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, @@ -771,6 +786,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t,
} }
EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl); EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl);
@ -260,7 +254,7 @@ index b05b609..c2216b0 100644
/** /**
* ip6_tnl_rcv - decapsulate IPv6 packet and retransmit it locally * ip6_tnl_rcv - decapsulate IPv6 packet and retransmit it locally
* @skb: received socket buffer * @skb: received socket buffer
@@ -812,6 +928,26 @@ static int ip6_tnl_rcv(struct sk_buff *skb, __u16 protocol, @@ -815,6 +932,26 @@ static int ip6_tnl_rcv(struct sk_buff *s
skb_reset_network_header(skb); skb_reset_network_header(skb);
skb->protocol = htons(protocol); skb->protocol = htons(protocol);
memset(skb->cb, 0, sizeof(struct inet6_skb_parm)); memset(skb->cb, 0, sizeof(struct inet6_skb_parm));
@ -287,7 +281,7 @@ index b05b609..c2216b0 100644
__skb_tunnel_rx(skb, t->dev, t->net); __skb_tunnel_rx(skb, t->dev, t->net);
@@ -1072,6 +1208,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) @@ -1075,6 +1212,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
__u8 dsfield; __u8 dsfield;
__u32 mtu; __u32 mtu;
int err; int err;
@ -295,7 +289,7 @@ index b05b609..c2216b0 100644
if ((t->parms.proto != IPPROTO_IPIP && t->parms.proto != 0) || if ((t->parms.proto != IPPROTO_IPIP && t->parms.proto != 0) ||
!ip6_tnl_xmit_ctl(t)) !ip6_tnl_xmit_ctl(t))
@@ -1091,6 +1228,18 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) @@ -1094,6 +1232,18 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
fl6.flowi6_mark = skb->mark; fl6.flowi6_mark = skb->mark;
@ -314,7 +308,7 @@ index b05b609..c2216b0 100644
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu); err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
if (err != 0) { if (err != 0) {
/* XXX: send ICMP error even if DF is not set. */ /* XXX: send ICMP error even if DF is not set. */
@@ -1259,6 +1408,14 @@ ip6_tnl_change(struct ip6_tnl *t, const struct __ip6_tnl_parm *p) @@ -1262,6 +1412,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.flowinfo = p->flowinfo; t->parms.flowinfo = p->flowinfo;
t->parms.link = p->link; t->parms.link = p->link;
t->parms.proto = p->proto; t->parms.proto = p->proto;
@ -329,7 +323,7 @@ index b05b609..c2216b0 100644
ip6_tnl_dst_reset(t); ip6_tnl_dst_reset(t);
ip6_tnl_link_config(t); ip6_tnl_link_config(t);
return 0; return 0;
@@ -1289,6 +1446,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_parm *p, const struct ip6_tnl_parm *u) @@ -1292,6 +1450,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
p->flowinfo = u->flowinfo; p->flowinfo = u->flowinfo;
p->link = u->link; p->link = u->link;
p->proto = u->proto; p->proto = u->proto;
@ -337,7 +331,7 @@ index b05b609..c2216b0 100644
memcpy(p->name, u->name, sizeof(u->name)); memcpy(p->name, u->name, sizeof(u->name));
} }
@@ -1569,6 +1727,15 @@ static int ip6_tnl_validate(struct nlattr *tb[], struct nlattr *data[]) @@ -1579,6 +1738,15 @@ static int ip6_tnl_validate(struct nlatt
return 0; return 0;
} }
@ -353,7 +347,7 @@ index b05b609..c2216b0 100644
static void ip6_tnl_netlink_parms(struct nlattr *data[], static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms) struct __ip6_tnl_parm *parms)
{ {
@@ -1602,6 +1769,46 @@ static void ip6_tnl_netlink_parms(struct nlattr *data[], @@ -1612,6 +1780,46 @@ static void ip6_tnl_netlink_parms(struct
if (data[IFLA_IPTUN_PROTO]) if (data[IFLA_IPTUN_PROTO])
parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]); parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]);
@ -400,7 +394,7 @@ index b05b609..c2216b0 100644
} }
static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev, static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
@@ -1654,6 +1861,12 @@ static void ip6_tnl_dellink(struct net_device *dev, struct list_head *head) @@ -1664,6 +1872,12 @@ static void ip6_tnl_dellink(struct net_d
static size_t ip6_tnl_get_size(const struct net_device *dev) static size_t ip6_tnl_get_size(const struct net_device *dev)
{ {
@ -413,7 +407,7 @@ index b05b609..c2216b0 100644
return return
/* IFLA_IPTUN_LINK */ /* IFLA_IPTUN_LINK */
nla_total_size(4) + nla_total_size(4) +
@@ -1671,6 +1884,24 @@ static size_t ip6_tnl_get_size(const struct net_device *dev) @@ -1681,6 +1895,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(4) + nla_total_size(4) +
/* IFLA_IPTUN_PROTO */ /* IFLA_IPTUN_PROTO */
nla_total_size(1) + nla_total_size(1) +
@ -438,7 +432,7 @@ index b05b609..c2216b0 100644
0; 0;
} }
@@ -1678,6 +1909,9 @@ static int ip6_tnl_fill_info(struct sk_buff *skb, const struct net_device *dev) @@ -1688,6 +1920,9 @@ static int ip6_tnl_fill_info(struct sk_b
{ {
struct ip6_tnl *tunnel = netdev_priv(dev); struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms; struct __ip6_tnl_parm *parm = &tunnel->parms;
@ -448,7 +442,7 @@ index b05b609..c2216b0 100644
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put(skb, IFLA_IPTUN_LOCAL, sizeof(struct in6_addr), nla_put(skb, IFLA_IPTUN_LOCAL, sizeof(struct in6_addr),
@@ -1688,8 +1922,27 @@ static int ip6_tnl_fill_info(struct sk_buff *skb, const struct net_device *dev) @@ -1698,8 +1933,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) || nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
@ -477,7 +471,7 @@ index b05b609..c2216b0 100644
return 0; return 0;
nla_put_failure: nla_put_failure:
@@ -1705,6 +1958,7 @@ static const struct nla_policy ip6_tnl_policy[IFLA_IPTUN_MAX + 1] = { @@ -1715,6 +1969,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 }, [IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 },
[IFLA_IPTUN_FLAGS] = { .type = NLA_U32 }, [IFLA_IPTUN_FLAGS] = { .type = NLA_U32 },
[IFLA_IPTUN_PROTO] = { .type = NLA_U8 }, [IFLA_IPTUN_PROTO] = { .type = NLA_U8 },
@ -485,6 +479,3 @@ index b05b609..c2216b0 100644
}; };
static struct rtnl_link_ops ip6_link_ops __read_mostly = { static struct rtnl_link_ops ip6_link_ops __read_mostly = {
--
1.9.1