update .18 support for -rc6

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43357
This commit is contained in:
Imre Kaloz 2014-11-24 10:17:33 +00:00
parent 35902404fc
commit c26c5eff0e
10 changed files with 50 additions and 42 deletions

View file

@ -7,14 +7,14 @@ LINUX_VERSION-3.8 = .13
LINUX_VERSION-3.10 = .58 LINUX_VERSION-3.10 = .58
LINUX_VERSION-3.13 = .7 LINUX_VERSION-3.13 = .7
LINUX_VERSION-3.14 = .18 LINUX_VERSION-3.14 = .18
LINUX_VERSION-3.18 = -rc4 LINUX_VERSION-3.18 = -rc6
LINUX_KERNEL_MD5SUM-3.3.8 = f1058f64eed085deb44f10cee8541d50 LINUX_KERNEL_MD5SUM-3.3.8 = f1058f64eed085deb44f10cee8541d50
LINUX_KERNEL_MD5SUM-3.8.13 = 2af19d06cd47ec459519159cdd10542d LINUX_KERNEL_MD5SUM-3.8.13 = 2af19d06cd47ec459519159cdd10542d
LINUX_KERNEL_MD5SUM-3.10.58 = 3ff3478b6351143cef22d4b81cf48b01 LINUX_KERNEL_MD5SUM-3.10.58 = 3ff3478b6351143cef22d4b81cf48b01
LINUX_KERNEL_MD5SUM-3.13.7 = 370adced5e5c1cb1d0d621c2dae2723f LINUX_KERNEL_MD5SUM-3.13.7 = 370adced5e5c1cb1d0d621c2dae2723f
LINUX_KERNEL_MD5SUM-3.14.18 = 3b002a06d0964d8101abec768c2d4eef LINUX_KERNEL_MD5SUM-3.14.18 = 3b002a06d0964d8101abec768c2d4eef
LINUX_KERNEL_MD5SUM-3.18-rc4 = 5bf4da5308bafbfb7620bb685fc1ecba LINUX_KERNEL_MD5SUM-3.18-rc6 = 892b929629ba8af764eeffc394654329
ifdef KERNEL_PATCHVER ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))

View file

@ -146,6 +146,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
# CONFIG_ARCH_HAS_ILOG2_U64 is not set # CONFIG_ARCH_HAS_ILOG2_U64 is not set
# CONFIG_ARCH_HI3xxx is not set # CONFIG_ARCH_HI3xxx is not set
# CONFIG_ARCH_HIGHBANK is not set # CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_HISI is not set
# CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP13XX is not set
# CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP32X is not set
@ -157,7 +158,10 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
# CONFIG_ARCH_KIRKWOOD is not set # CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_KS8695 is not set
# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_LPC32XX is not set
# CONFIG_ARCH_MEDIATEK is not set
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MMP is not set # CONFIG_ARCH_MMP is not set
# CONFIG_ARCH_MSM is not set
# CONFIG_ARCH_MSM_DT is not set # CONFIG_ARCH_MSM_DT is not set
# CONFIG_ARCH_MSM_NODT is not set # CONFIG_ARCH_MSM_NODT is not set
# CONFIG_ARCH_MULTIPLATFORM is not set # CONFIG_ARCH_MULTIPLATFORM is not set
@ -181,6 +185,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y
# CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PRIMA2 is not set # CONFIG_ARCH_PRIMA2 is not set
# CONFIG_ARCH_PXA is not set # CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_QCOM is not set
# CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_RPC is not set # CONFIG_ARCH_RPC is not set
@ -1070,6 +1075,7 @@ CONFIG_FILE_LOCKING=y
CONFIG_FLATMEM=y CONFIG_FLATMEM=y
CONFIG_FLATMEM_MANUAL=y CONFIG_FLATMEM_MANUAL=y
CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_FM10K is not set
# CONFIG_FMC is not set # CONFIG_FMC is not set
# CONFIG_FORCEDETH is not set # CONFIG_FORCEDETH is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
@ -1079,6 +1085,7 @@ CONFIG_FRAME_WARN=1024
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# CONFIG_FRONTSWAP is not set # CONFIG_FRONTSWAP is not set
# CONFIG_FSCACHE is not set # CONFIG_FSCACHE is not set
# CONFIG_FSL_EDMA is not set
# CONFIG_FSL_XGMAC_MDIO is not set # CONFIG_FSL_XGMAC_MDIO is not set
CONFIG_FSNOTIFY=y CONFIG_FSNOTIFY=y
# CONFIG_FS_POSIX_ACL is not set # CONFIG_FS_POSIX_ACL is not set
@ -1598,7 +1605,6 @@ CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_NF_MATCH_ECN is not set # CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_RPFILTER is not set # CONFIG_IP_NF_MATCH_RPFILTER is not set
# CONFIG_IP_NF_MATCH_TTL is not set # CONFIG_IP_NF_MATCH_TTL is not set
# CONFIG_IP_NF_NAT is not set
# CONFIG_IP_NF_QUEUE is not set # CONFIG_IP_NF_QUEUE is not set
# CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_SECURITY is not set # CONFIG_IP_NF_SECURITY is not set
@ -2207,6 +2213,7 @@ CONFIG_MTD_ROOTFS_ROOT_DEV=y
CONFIG_MTD_ROOTFS_SPLIT=y CONFIG_MTD_ROOTFS_SPLIT=y
# CONFIG_MTD_SLRAM is not set # CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_SM_COMMON is not set # CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
# CONFIG_MTD_SPI_NOR is not set # CONFIG_MTD_SPI_NOR is not set
# CONFIG_MTD_SPINAND_MT29F is not set # CONFIG_MTD_SPINAND_MT29F is not set
CONFIG_MTD_SPLIT=y CONFIG_MTD_SPLIT=y
@ -2232,6 +2239,7 @@ CONFIG_MTD_SPLIT_SQUASHFS_ROOT=y
# CONFIG_NATIONAL_PHY is not set # CONFIG_NATIONAL_PHY is not set
# CONFIG_NATSEMI is not set # CONFIG_NATSEMI is not set
# CONFIG_NAU7802 is not set # CONFIG_NAU7802 is not set
# CONFIG_NBPFAXI_DMA is not set
# CONFIG_NCP_FS is not set # CONFIG_NCP_FS is not set
# CONFIG_NE2000 is not set # CONFIG_NE2000 is not set
# CONFIG_NE2K_PCI is not set # CONFIG_NE2K_PCI is not set
@ -2300,7 +2308,6 @@ CONFIG_NETDEV_1000=y
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
# CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set
# CONFIG_NETFILTER_XT_NAT is not set
# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set # CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set # CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
@ -3793,6 +3800,7 @@ CONFIG_TEXTSEARCH=y
# CONFIG_TEXTSEARCH_FSM is not set # CONFIG_TEXTSEARCH_FSM is not set
# CONFIG_TEXTSEARCH_KMP is not set # CONFIG_TEXTSEARCH_KMP is not set
# CONFIG_THERMAL is not set # CONFIG_THERMAL is not set
# CONFIG_THERMAL_GOV_BANG_BANG is not set
# CONFIG_THERMAL_HWMON is not set # CONFIG_THERMAL_HWMON is not set
# CONFIG_THRUSTMASTER_FF is not set # CONFIG_THRUSTMASTER_FF is not set
# CONFIG_THUNDERBOLT is not set # CONFIG_THUNDERBOLT is not set

View file

@ -1,6 +1,6 @@
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -611,9 +611,9 @@ include $(srctree)/arch/$(SRCARCH)/Makef @@ -612,9 +612,9 @@ include $(srctree)/arch/$(SRCARCH)/Makef
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE

View file

@ -1,6 +1,6 @@
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -408,7 +408,7 @@ KBUILD_CFLAGS_KERNEL := @@ -409,7 +409,7 @@ KBUILD_CFLAGS_KERNEL :=
KBUILD_AFLAGS := -D__ASSEMBLY__ KBUILD_AFLAGS := -D__ASSEMBLY__
KBUILD_AFLAGS_MODULE := -DMODULE KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE KBUILD_CFLAGS_MODULE := -DMODULE

View file

@ -67,13 +67,13 @@
default: default:
--- a/net/bridge/br_multicast.c --- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c
@@ -815,7 +815,7 @@ static void __br_multicast_send_query(st @@ -814,7 +814,7 @@ static void __br_multicast_send_query(st
if (port) { if (port) {
__skb_push(skb, sizeof(struct ethhdr));
skb->dev = port->dev; skb->dev = port->dev;
- NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, - NF_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
+ BR_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev, + BR_HOOK(NFPROTO_BRIDGE, NF_BR_LOCAL_OUT, skb, NULL, skb->dev,
dev_queue_xmit); br_dev_queue_push_xmit);
} else { } else {
br_multicast_select_own_querier(br, ip, skb); br_multicast_select_own_querier(br, ip, skb);
--- a/net/bridge/br_netfilter.c --- a/net/bridge/br_netfilter.c

View file

@ -96,7 +96,7 @@
} }
#endif #endif
@@ -966,6 +988,7 @@ static int br_ip4_multicast_igmp3_report @@ -965,6 +987,7 @@ static int br_ip4_multicast_igmp3_report
struct sk_buff *skb, struct sk_buff *skb,
u16 vid) u16 vid)
{ {
@ -104,7 +104,7 @@
struct igmpv3_report *ih; struct igmpv3_report *ih;
struct igmpv3_grec *grec; struct igmpv3_grec *grec;
int i; int i;
@@ -1009,7 +1032,7 @@ static int br_ip4_multicast_igmp3_report @@ -1008,7 +1031,7 @@ static int br_ip4_multicast_igmp3_report
continue; continue;
} }
@ -113,7 +113,7 @@
if (err) if (err)
break; break;
} }
@@ -1023,6 +1046,7 @@ static int br_ip6_multicast_mld2_report( @@ -1022,6 +1045,7 @@ static int br_ip6_multicast_mld2_report(
struct sk_buff *skb, struct sk_buff *skb,
u16 vid) u16 vid)
{ {
@ -121,7 +121,7 @@
struct icmp6hdr *icmp6h; struct icmp6hdr *icmp6h;
struct mld2_grec *grec; struct mld2_grec *grec;
int i; int i;
@@ -1071,7 +1095,7 @@ static int br_ip6_multicast_mld2_report( @@ -1070,7 +1094,7 @@ static int br_ip6_multicast_mld2_report(
} }
err = br_ip6_multicast_add_group(br, port, &grec->grec_mca, err = br_ip6_multicast_add_group(br, port, &grec->grec_mca,
@ -130,7 +130,7 @@
if (!err) if (!err)
break; break;
} }
@@ -1408,7 +1432,8 @@ br_multicast_leave_group(struct net_brid @@ -1407,7 +1431,8 @@ br_multicast_leave_group(struct net_brid
struct net_bridge_port *port, struct net_bridge_port *port,
struct br_ip *group, struct br_ip *group,
struct bridge_mcast_other_query *other_query, struct bridge_mcast_other_query *other_query,
@ -140,7 +140,7 @@
{ {
struct net_bridge_mdb_htable *mdb; struct net_bridge_mdb_htable *mdb;
struct net_bridge_mdb_entry *mp; struct net_bridge_mdb_entry *mp;
@@ -1458,7 +1483,7 @@ br_multicast_leave_group(struct net_brid @@ -1457,7 +1482,7 @@ br_multicast_leave_group(struct net_brid
for (pp = &mp->ports; for (pp = &mp->ports;
(p = mlock_dereference(*pp, br)) != NULL; (p = mlock_dereference(*pp, br)) != NULL;
pp = &p->next) { pp = &p->next) {
@ -149,7 +149,7 @@
continue; continue;
rcu_assign_pointer(*pp, p->next); rcu_assign_pointer(*pp, p->next);
@@ -1492,7 +1517,7 @@ br_multicast_leave_group(struct net_brid @@ -1491,7 +1516,7 @@ br_multicast_leave_group(struct net_brid
for (p = mlock_dereference(mp->ports, br); for (p = mlock_dereference(mp->ports, br);
p != NULL; p != NULL;
p = mlock_dereference(p->next, br)) { p = mlock_dereference(p->next, br)) {
@ -158,7 +158,7 @@
continue; continue;
if (!hlist_unhashed(&p->mglist) && if (!hlist_unhashed(&p->mglist) &&
@@ -1510,8 +1535,8 @@ out: @@ -1509,8 +1534,8 @@ out:
static void br_ip4_multicast_leave_group(struct net_bridge *br, static void br_ip4_multicast_leave_group(struct net_bridge *br,
struct net_bridge_port *port, struct net_bridge_port *port,
@ -169,7 +169,7 @@
{ {
struct br_ip br_group; struct br_ip br_group;
struct bridge_mcast_own_query *own_query; struct bridge_mcast_own_query *own_query;
@@ -1526,14 +1551,14 @@ static void br_ip4_multicast_leave_group @@ -1525,14 +1550,14 @@ static void br_ip4_multicast_leave_group
br_group.vid = vid; br_group.vid = vid;
br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query, br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
@ -186,7 +186,7 @@
{ {
struct br_ip br_group; struct br_ip br_group;
struct bridge_mcast_own_query *own_query; struct bridge_mcast_own_query *own_query;
@@ -1548,7 +1573,7 @@ static void br_ip6_multicast_leave_group @@ -1547,7 +1572,7 @@ static void br_ip6_multicast_leave_group
br_group.vid = vid; br_group.vid = vid;
br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query, br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
@ -195,7 +195,7 @@
} }
#endif #endif
@@ -1557,6 +1582,7 @@ static int br_multicast_ipv4_rcv(struct @@ -1556,6 +1581,7 @@ static int br_multicast_ipv4_rcv(struct
struct sk_buff *skb, struct sk_buff *skb,
u16 vid) u16 vid)
{ {
@ -203,7 +203,7 @@
struct sk_buff *skb2 = skb; struct sk_buff *skb2 = skb;
const struct iphdr *iph; const struct iphdr *iph;
struct igmphdr *ih; struct igmphdr *ih;
@@ -1630,7 +1656,7 @@ static int br_multicast_ipv4_rcv(struct @@ -1629,7 +1655,7 @@ static int br_multicast_ipv4_rcv(struct
case IGMP_HOST_MEMBERSHIP_REPORT: case IGMP_HOST_MEMBERSHIP_REPORT:
case IGMPV2_HOST_MEMBERSHIP_REPORT: case IGMPV2_HOST_MEMBERSHIP_REPORT:
BR_INPUT_SKB_CB(skb)->mrouters_only = 1; BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@ -212,7 +212,7 @@
break; break;
case IGMPV3_HOST_MEMBERSHIP_REPORT: case IGMPV3_HOST_MEMBERSHIP_REPORT:
err = br_ip4_multicast_igmp3_report(br, port, skb2, vid); err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
@@ -1639,7 +1665,7 @@ static int br_multicast_ipv4_rcv(struct @@ -1638,7 +1664,7 @@ static int br_multicast_ipv4_rcv(struct
err = br_ip4_multicast_query(br, port, skb2, vid); err = br_ip4_multicast_query(br, port, skb2, vid);
break; break;
case IGMP_HOST_LEAVE_MESSAGE: case IGMP_HOST_LEAVE_MESSAGE:
@ -221,7 +221,7 @@
break; break;
} }
@@ -1657,6 +1683,7 @@ static int br_multicast_ipv6_rcv(struct @@ -1656,6 +1682,7 @@ static int br_multicast_ipv6_rcv(struct
struct sk_buff *skb, struct sk_buff *skb,
u16 vid) u16 vid)
{ {
@ -229,7 +229,7 @@
struct sk_buff *skb2; struct sk_buff *skb2;
const struct ipv6hdr *ip6h; const struct ipv6hdr *ip6h;
u8 icmp6_type; u8 icmp6_type;
@@ -1766,7 +1793,8 @@ static int br_multicast_ipv6_rcv(struct @@ -1765,7 +1792,8 @@ static int br_multicast_ipv6_rcv(struct
} }
mld = (struct mld_msg *)skb_transport_header(skb2); mld = (struct mld_msg *)skb_transport_header(skb2);
BR_INPUT_SKB_CB(skb)->mrouters_only = 1; BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@ -239,7 +239,7 @@
break; break;
} }
case ICMPV6_MLD2_REPORT: case ICMPV6_MLD2_REPORT:
@@ -1783,7 +1811,7 @@ static int br_multicast_ipv6_rcv(struct @@ -1782,7 +1810,7 @@ static int br_multicast_ipv6_rcv(struct
goto out; goto out;
} }
mld = (struct mld_msg *)skb_transport_header(skb2); mld = (struct mld_msg *)skb_transport_header(skb2);

View file

@ -132,7 +132,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
} }
return &ip6n->tnls[prio][h]; return &ip6n->tnls[prio][h];
} }
@@ -391,6 +400,12 @@ ip6_tnl_dev_uninit(struct net_device *de @@ -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);
@ -145,7 +145,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
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
@@ -774,6 +789,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);
@ -254,7 +254,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
/** /**
* 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
@@ -818,6 +935,26 @@ static int ip6_tnl_rcv(struct sk_buff *s @@ -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));
@ -281,7 +281,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
__skb_tunnel_rx(skb, t->dev, t->net); __skb_tunnel_rx(skb, t->dev, t->net);
@@ -1079,6 +1216,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str @@ -1076,6 +1213,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str
__u8 dsfield; __u8 dsfield;
__u32 mtu; __u32 mtu;
int err; int err;
@ -289,7 +289,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
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))
@@ -1098,6 +1236,18 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, str @@ -1095,6 +1233,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;
@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
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. */
@@ -1266,6 +1416,14 @@ ip6_tnl_change(struct ip6_tnl *t, const @@ -1263,6 +1413,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;
@ -323,7 +323,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
ip6_tnl_dst_reset(t); ip6_tnl_dst_reset(t);
ip6_tnl_link_config(t); ip6_tnl_link_config(t);
return 0; return 0;
@@ -1296,6 +1454,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ @@ -1293,6 +1451,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;
@ -331,7 +331,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
memcpy(p->name, u->name, sizeof(u->name)); memcpy(p->name, u->name, sizeof(u->name));
} }
@@ -1576,6 +1735,15 @@ static int ip6_tnl_validate(struct nlatt @@ -1568,6 +1727,15 @@ static int ip6_tnl_validate(struct nlatt
return 0; return 0;
} }
@ -347,7 +347,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
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)
{ {
@@ -1609,6 +1777,46 @@ static void ip6_tnl_netlink_parms(struct @@ -1601,6 +1769,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]);
@ -394,7 +394,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
} }
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,
@@ -1661,6 +1869,12 @@ static void ip6_tnl_dellink(struct net_d @@ -1653,6 +1861,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)
{ {
@ -407,7 +407,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
return return
/* IFLA_IPTUN_LINK */ /* IFLA_IPTUN_LINK */
nla_total_size(4) + nla_total_size(4) +
@@ -1678,6 +1892,24 @@ static size_t ip6_tnl_get_size(const str @@ -1670,6 +1884,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) +
@ -432,7 +432,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
0; 0;
} }
@@ -1685,6 +1917,9 @@ static int ip6_tnl_fill_info(struct sk_b @@ -1677,6 +1909,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;
@ -442,7 +442,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
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),
@@ -1695,8 +1930,27 @@ static int ip6_tnl_fill_info(struct sk_b @@ -1687,8 +1922,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) ||
@ -471,7 +471,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
return 0; return 0;
nla_put_failure: nla_put_failure:
@@ -1712,6 +1966,7 @@ static const struct nla_policy ip6_tnl_p @@ -1704,6 +1958,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 },

View file

@ -29,7 +29,7 @@
obj-$(CONFIG_CICADA_PHY) += cicada.o obj-$(CONFIG_CICADA_PHY) += cicada.o
--- a/include/uapi/linux/Kbuild --- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild
@@ -372,6 +372,7 @@ header-y += stddef.h @@ -375,6 +375,7 @@ header-y += stddef.h
header-y += string.h header-y += string.h
header-y += suspend_ioctls.h header-y += suspend_ioctls.h
header-y += swab.h header-y += swab.h

View file

@ -830,7 +830,7 @@
+be done automatically. +be done automatically.
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -4265,6 +4265,11 @@ T: git git://linuxtv.org/anttip/media_tr @@ -4279,6 +4279,11 @@ T: git git://linuxtv.org/anttip/media_tr
S: Maintained S: Maintained
F: drivers/media/usb/hackrf/ F: drivers/media/usb/hackrf/

View file

@ -52,7 +52,7 @@
* When we die, we re-parent all our children, and try to: * When we die, we re-parent all our children, and try to:
--- a/kernel/sched/core.c --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -3188,6 +3188,7 @@ int can_nice(const struct task_struct *p @@ -3159,6 +3159,7 @@ int can_nice(const struct task_struct *p
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
capable(CAP_SYS_NICE)); capable(CAP_SYS_NICE));
} }