kernel: refresh patches for kernel 3.8.13

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37276 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Hauke Mehrtens 2013-07-13 22:45:56 +00:00
parent 6390b285e9
commit 8dfaf53e4d
5 changed files with 69 additions and 88 deletions

View File

@ -1,6 +1,6 @@
--- a/drivers/leds/leds-gpio.c --- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c
@@ -107,6 +107,10 @@ static int create_gpio_led(const struct @@ -107,6 +107,10 @@ static int create_gpio_led(const struct
return 0; return 0;
} }
@ -11,7 +11,7 @@
led_dat->cdev.name = template->name; led_dat->cdev.name = template->name;
led_dat->cdev.default_trigger = template->default_trigger; led_dat->cdev.default_trigger = template->default_trigger;
led_dat->gpio = template->gpio; led_dat->gpio = template->gpio;
@@ -126,10 +130,7 @@ static int create_gpio_led(const struct @@ -126,10 +130,7 @@ static int create_gpio_led(const struct
if (!template->retain_state_suspended) if (!template->retain_state_suspended)
led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME; led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;

View File

@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#ifdef MODULE #ifdef MODULE
#define __MODULE_INFO(tag, name, info) \ #define __MODULE_INFO(tag, name, info) \
static const char __UNIQUE_ID(name)[] \ static const char __UNIQUE_ID(name)[] \
@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[] @@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
= __stringify(tag) "=" info = __stringify(tag) "=" info
#else /* !MODULE */ #else /* !MODULE */
/* This struct is here for syntactic coherency, it is not used */ /* This struct is here for syntactic coherency, it is not used */
@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#endif #endif
#define __MODULE_PARM_TYPE(name, _type) \ #define __MODULE_PARM_TYPE(name, _type) \
__MODULE_INFO(parmtype, name##type, #name ":" _type) __MODULE_INFO(parmtype, name##type, #name ":" _type)
@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[] @@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
/* One for each parameter, describing how to use it. Some files do /* One for each parameter, describing how to use it. Some files do
multiple of these per line, so can't just use MODULE_INFO. */ multiple of these per line, so can't just use MODULE_INFO. */
#define MODULE_PARM_DESC(_parm, desc) \ #define MODULE_PARM_DESC(_parm, desc) \

View File

@ -124,7 +124,7 @@
/* LzmaDecode /* LzmaDecode
--- a/lib/lzma/LzmaDec.c --- a/lib/lzma/LzmaDec.c
+++ b/lib/lzma/LzmaDec.c +++ b/lib/lzma/LzmaDec.c
@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p, @@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
p->needFlush = 0; p->needFlush = 0;
} }
@ -219,26 +219,26 @@
{ {
UInt32 dicSize; UInt32 dicSize;
Byte d; Byte d;
@@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzma @@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma
return SZ_OK; return SZ_OK;
} }
-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) -SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- p->prop = propNew;
- return SZ_OK;
-}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
+static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) +static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
{ {
CLzmaProps propNew; CLzmaProps propNew;
- SizeT dicBufSize;
RINOK(LzmaProps_Decode(&propNew, props, propsSize)); RINOK(LzmaProps_Decode(&propNew, props, propsSize));
RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc)); @@ -943,28 +891,6 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
p->prop = propNew;
return SZ_OK;
}
-
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
-{
- CLzmaProps propNew;
- SizeT dicBufSize;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- dicBufSize = propNew.dicSize; - dicBufSize = propNew.dicSize;
- if (p->dic == 0 || dicBufSize != p->dicBufSize) - if (p->dic == 0 || dicBufSize != p->dicBufSize)
- { - {
@ -251,9 +251,12 @@
- } - }
- } - }
- p->dicBufSize = dicBufSize; - p->dicBufSize = dicBufSize;
p->prop = propNew; - p->prop = propNew;
return SZ_OK; - return SZ_OK;
} -}
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
--- a/include/linux/lzma/LzmaEnc.h --- a/include/linux/lzma/LzmaEnc.h
+++ b/include/linux/lzma/LzmaEnc.h +++ b/include/linux/lzma/LzmaEnc.h
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps @@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps
@ -597,7 +600,7 @@
void MatchFinder_Construct(CMatchFinder *p); void MatchFinder_Construct(CMatchFinder *p);
/* Conditions: /* Conditions:
@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p, @@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter, UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
ISzAlloc *alloc); ISzAlloc *alloc);
void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc); void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
@ -686,7 +689,7 @@
{ {
memmove(p->bufferBase, memmove(p->bufferBase,
p->buffer - p->keepSizeBefore, p->buffer - p->keepSizeBefore,
@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder @@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
p->buffer = p->bufferBase + p->keepSizeBefore; p->buffer = p->bufferBase + p->keepSizeBefore;
} }

View File

@ -1,8 +1,6 @@
Index: linux-3.8.13/include/net/netns/ipv6.h --- a/include/net/netns/ipv6.h
=================================================================== +++ b/include/net/netns/ipv6.h
--- linux-3.8.13.orig/include/net/netns/ipv6.h 2013-06-10 14:14:20.910911309 +0200 @@ -54,6 +54,7 @@ struct netns_ipv6 {
+++ linux-3.8.13/include/net/netns/ipv6.h 2013-06-10 14:14:20.898911309 +0200
@@ -54,6 +54,7 @@
unsigned long ip6_rt_last_gc; unsigned long ip6_rt_last_gc;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
struct rt6_info *ip6_prohibit_entry; struct rt6_info *ip6_prohibit_entry;
@ -10,11 +8,9 @@ Index: linux-3.8.13/include/net/netns/ipv6.h
struct rt6_info *ip6_blk_hole_entry; struct rt6_info *ip6_blk_hole_entry;
struct fib6_table *fib6_local_tbl; struct fib6_table *fib6_local_tbl;
struct fib_rules_ops *fib6_rules_ops; struct fib_rules_ops *fib6_rules_ops;
Index: linux-3.8.13/include/uapi/linux/fib_rules.h --- a/include/uapi/linux/fib_rules.h
=================================================================== +++ b/include/uapi/linux/fib_rules.h
--- linux-3.8.13.orig/include/uapi/linux/fib_rules.h 2013-06-10 14:14:20.910911309 +0200 @@ -64,6 +64,10 @@ enum {
+++ linux-3.8.13/include/uapi/linux/fib_rules.h 2013-06-10 14:14:20.898911309 +0200
@@ -64,6 +64,10 @@
FR_ACT_BLACKHOLE, /* Drop without notification */ FR_ACT_BLACKHOLE, /* Drop without notification */
FR_ACT_UNREACHABLE, /* Drop with ENETUNREACH */ FR_ACT_UNREACHABLE, /* Drop with ENETUNREACH */
FR_ACT_PROHIBIT, /* Drop with EACCES */ FR_ACT_PROHIBIT, /* Drop with EACCES */
@ -25,11 +21,9 @@ Index: linux-3.8.13/include/uapi/linux/fib_rules.h
__FR_ACT_MAX, __FR_ACT_MAX,
}; };
Index: linux-3.8.13/include/uapi/linux/icmpv6.h --- a/include/uapi/linux/icmpv6.h
=================================================================== +++ b/include/uapi/linux/icmpv6.h
--- linux-3.8.13.orig/include/uapi/linux/icmpv6.h 2013-06-10 14:14:20.910911309 +0200 @@ -115,6 +115,7 @@ struct icmp6hdr {
+++ linux-3.8.13/include/uapi/linux/icmpv6.h 2013-06-10 14:14:20.898911309 +0200
@@ -115,6 +115,7 @@
#define ICMPV6_NOT_NEIGHBOUR 2 #define ICMPV6_NOT_NEIGHBOUR 2
#define ICMPV6_ADDR_UNREACH 3 #define ICMPV6_ADDR_UNREACH 3
#define ICMPV6_PORT_UNREACH 4 #define ICMPV6_PORT_UNREACH 4
@ -37,11 +31,9 @@ Index: linux-3.8.13/include/uapi/linux/icmpv6.h
/* /*
* Codes for Time Exceeded * Codes for Time Exceeded
Index: linux-3.8.13/include/uapi/linux/rtnetlink.h --- a/include/uapi/linux/rtnetlink.h
=================================================================== +++ b/include/uapi/linux/rtnetlink.h
--- linux-3.8.13.orig/include/uapi/linux/rtnetlink.h 2013-06-10 14:14:20.910911309 +0200 @@ -203,6 +203,7 @@ enum {
+++ linux-3.8.13/include/uapi/linux/rtnetlink.h 2013-06-10 14:14:20.898911309 +0200
@@ -203,6 +203,7 @@
RTN_THROW, /* Not in this table */ RTN_THROW, /* Not in this table */
RTN_NAT, /* Translate this address */ RTN_NAT, /* Translate this address */
RTN_XRESOLVE, /* Use external resolver */ RTN_XRESOLVE, /* Use external resolver */
@ -49,11 +41,9 @@ Index: linux-3.8.13/include/uapi/linux/rtnetlink.h
__RTN_MAX __RTN_MAX
}; };
Index: linux-3.8.13/net/ipv4/fib_rules.c --- a/net/ipv4/fib_rules.c
=================================================================== +++ b/net/ipv4/fib_rules.c
--- linux-3.8.13.orig/net/ipv4/fib_rules.c 2013-06-10 14:14:20.910911309 +0200 @@ -84,6 +84,10 @@ static int fib4_rule_action(struct fib_r
+++ linux-3.8.13/net/ipv4/fib_rules.c 2013-06-10 14:14:20.898911309 +0200
@@ -84,6 +84,10 @@
err = -EACCES; err = -EACCES;
goto errout; goto errout;
@ -64,11 +54,9 @@ Index: linux-3.8.13/net/ipv4/fib_rules.c
case FR_ACT_BLACKHOLE: case FR_ACT_BLACKHOLE:
default: default:
err = -EINVAL; err = -EINVAL;
Index: linux-3.8.13/net/ipv4/fib_semantics.c --- a/net/ipv4/fib_semantics.c
=================================================================== +++ b/net/ipv4/fib_semantics.c
--- linux-3.8.13.orig/net/ipv4/fib_semantics.c 2013-06-10 14:14:20.910911309 +0200 @@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
+++ linux-3.8.13/net/ipv4/fib_semantics.c 2013-06-10 14:14:20.898911309 +0200
@@ -138,6 +138,10 @@
.error = -EINVAL, .error = -EINVAL,
.scope = RT_SCOPE_NOWHERE, .scope = RT_SCOPE_NOWHERE,
}, },
@ -79,11 +67,9 @@ Index: linux-3.8.13/net/ipv4/fib_semantics.c
}; };
static void rt_fibinfo_free(struct rtable __rcu **rtp) static void rt_fibinfo_free(struct rtable __rcu **rtp)
Index: linux-3.8.13/net/ipv4/fib_trie.c --- a/net/ipv4/fib_trie.c
=================================================================== +++ b/net/ipv4/fib_trie.c
--- linux-3.8.13.orig/net/ipv4/fib_trie.c 2013-06-10 14:14:20.910911309 +0200 @@ -2350,6 +2350,7 @@ static const char *const rtn_type_names[
+++ linux-3.8.13/net/ipv4/fib_trie.c 2013-06-10 14:14:20.902911309 +0200
@@ -2350,6 +2350,7 @@
[RTN_THROW] = "THROW", [RTN_THROW] = "THROW",
[RTN_NAT] = "NAT", [RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE", [RTN_XRESOLVE] = "XRESOLVE",
@ -91,11 +77,9 @@ Index: linux-3.8.13/net/ipv4/fib_trie.c
}; };
static inline const char *rtn_type(char *buf, size_t len, unsigned int t) static inline const char *rtn_type(char *buf, size_t len, unsigned int t)
Index: linux-3.8.13/net/ipv4/ipmr.c --- a/net/ipv4/ipmr.c
=================================================================== +++ b/net/ipv4/ipmr.c
--- linux-3.8.13.orig/net/ipv4/ipmr.c 2013-06-10 14:14:20.910911309 +0200 @@ -181,6 +181,7 @@ static int ipmr_rule_action(struct fib_r
+++ linux-3.8.13/net/ipv4/ipmr.c 2013-06-10 14:14:20.902911309 +0200
@@ -181,6 +181,7 @@
case FR_ACT_UNREACHABLE: case FR_ACT_UNREACHABLE:
return -ENETUNREACH; return -ENETUNREACH;
case FR_ACT_PROHIBIT: case FR_ACT_PROHIBIT:
@ -103,11 +87,9 @@ Index: linux-3.8.13/net/ipv4/ipmr.c
return -EACCES; return -EACCES;
case FR_ACT_BLACKHOLE: case FR_ACT_BLACKHOLE:
default: default:
Index: linux-3.8.13/net/ipv6/fib6_rules.c --- a/net/ipv6/fib6_rules.c
=================================================================== +++ b/net/ipv6/fib6_rules.c
--- linux-3.8.13.orig/net/ipv6/fib6_rules.c 2013-06-10 14:14:20.910911309 +0200 @@ -69,6 +69,9 @@ static int fib6_rule_action(struct fib_r
+++ linux-3.8.13/net/ipv6/fib6_rules.c 2013-06-10 14:14:20.902911309 +0200
@@ -69,6 +69,9 @@
case FR_ACT_PROHIBIT: case FR_ACT_PROHIBIT:
rt = net->ipv6.ip6_prohibit_entry; rt = net->ipv6.ip6_prohibit_entry;
goto discard_pkt; goto discard_pkt;
@ -117,11 +99,9 @@ Index: linux-3.8.13/net/ipv6/fib6_rules.c
} }
table = fib6_get_table(net, rule->table); table = fib6_get_table(net, rule->table);
Index: linux-3.8.13/net/ipv6/ip6mr.c --- a/net/ipv6/ip6mr.c
=================================================================== +++ b/net/ipv6/ip6mr.c
--- linux-3.8.13.orig/net/ipv6/ip6mr.c 2013-06-10 14:14:20.910911309 +0200 @@ -166,6 +166,8 @@ static int ip6mr_rule_action(struct fib_
+++ linux-3.8.13/net/ipv6/ip6mr.c 2013-06-10 14:14:20.902911309 +0200
@@ -166,6 +166,8 @@
return -ENETUNREACH; return -ENETUNREACH;
case FR_ACT_PROHIBIT: case FR_ACT_PROHIBIT:
return -EACCES; return -EACCES;
@ -130,11 +110,9 @@ Index: linux-3.8.13/net/ipv6/ip6mr.c
case FR_ACT_BLACKHOLE: case FR_ACT_BLACKHOLE:
default: default:
return -EINVAL; return -EINVAL;
Index: linux-3.8.13/net/ipv6/route.c --- a/net/ipv6/route.c
=================================================================== +++ b/net/ipv6/route.c
--- linux-3.8.13.orig/net/ipv6/route.c 2013-06-10 14:14:20.910911309 +0200 @@ -258,6 +258,24 @@ static const struct rt6_info ip6_prohibi
+++ linux-3.8.13/net/ipv6/route.c 2013-06-10 14:14:20.906911309 +0200
@@ -258,6 +258,24 @@
.rt6i_ref = ATOMIC_INIT(1), .rt6i_ref = ATOMIC_INIT(1),
}; };
@ -159,7 +137,7 @@ Index: linux-3.8.13/net/ipv6/route.c
static const struct rt6_info ip6_blk_hole_entry_template = { static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = { .dst = {
.__refcnt = ATOMIC_INIT(1), .__refcnt = ATOMIC_INIT(1),
@@ -1516,6 +1534,9 @@ @@ -1516,6 +1534,9 @@ int ip6_route_add(struct fib6_config *cf
case RTN_THROW: case RTN_THROW:
rt->dst.error = -EAGAIN; rt->dst.error = -EAGAIN;
break; break;
@ -169,7 +147,7 @@ Index: linux-3.8.13/net/ipv6/route.c
default: default:
rt->dst.error = -ENETUNREACH; rt->dst.error = -ENETUNREACH;
break; break;
@@ -2110,6 +2131,17 @@ @@ -2110,6 +2131,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
} }
@ -187,7 +165,7 @@ Index: linux-3.8.13/net/ipv6/route.c
#endif #endif
/* /*
@@ -2321,7 +2353,8 @@ @@ -2321,7 +2353,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -197,7 +175,7 @@ Index: linux-3.8.13/net/ipv6/route.c
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -2524,6 +2557,9 @@ @@ -2524,6 +2557,9 @@ static int rt6_fill_node(struct net *net
case -EACCES: case -EACCES:
rtm->rtm_type = RTN_PROHIBIT; rtm->rtm_type = RTN_PROHIBIT;
break; break;
@ -207,7 +185,7 @@ Index: linux-3.8.13/net/ipv6/route.c
case -EAGAIN: case -EAGAIN:
rtm->rtm_type = RTN_THROW; rtm->rtm_type = RTN_THROW;
break; break;
@@ -2775,6 +2811,8 @@ @@ -2775,6 +2811,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -216,7 +194,7 @@ Index: linux-3.8.13/net/ipv6/route.c
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -3037,6 +3075,17 @@ @@ -3037,6 +3075,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@ -234,7 +212,7 @@ Index: linux-3.8.13/net/ipv6/route.c
#endif #endif
net->ipv6.sysctl.flush_delay = 0; net->ipv6.sysctl.flush_delay = 0;
@@ -3055,6 +3104,8 @@ @@ -3055,6 +3104,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -243,7 +221,7 @@ Index: linux-3.8.13/net/ipv6/route.c
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -3072,6 +3123,7 @@ @@ -3072,6 +3123,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
@ -251,7 +229,7 @@ Index: linux-3.8.13/net/ipv6/route.c
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
} }
@@ -3168,6 +3220,9 @@ @@ -3168,6 +3220,9 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View File

@ -227,7 +227,7 @@
--- a/net/ipv4/fib_trie.c --- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c
@@ -2607,10 +2607,12 @@ static const struct file_operations fib_ @@ -2608,10 +2608,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net) int __net_init fib_proc_init(struct net *net)
{ {
@ -242,7 +242,7 @@
&fib_triestat_fops)) &fib_triestat_fops))
goto out2; goto out2;
@@ -2629,8 +2631,10 @@ out1: @@ -2630,8 +2632,10 @@ out1:
void __net_exit fib_proc_exit(struct net *net) void __net_exit fib_proc_exit(struct net *net)
{ {