kernel: update 3.10 to 3.10.12

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38000
This commit is contained in:
Gabor Juhos
2013-09-15 16:00:41 +00:00
parent 57c6730ed6
commit 554772a665
39 changed files with 64 additions and 117 deletions

View File

@@ -1,45 +0,0 @@
Patch by: Nathan Zimmer <nzimmer@sgi.com>
Fixes a regression in the commit
"timer_list: Convert timer list to be a proper seq_file" which causes
/proc/timer_list to return an infinite amount of data
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -305,24 +305,26 @@ static void *timer_list_start(struct seq
if (!*offset) {
iter->cpu = -1;
iter->now = ktime_to_ns(ktime_get());
- } else if (iter->cpu >= nr_cpu_ids) {
+ } else {
+ iter->cpu = cpumask_next(iter->cpu, cpu_online_mask);
+ if (iter->cpu >= nr_cpu_ids) {
#ifdef CONFIG_GENERIC_CLOCKEVENTS
- if (!iter->second_pass) {
- iter->cpu = -1;
- iter->second_pass = true;
- } else
- return NULL;
+ if (!iter->second_pass) {
+ iter->cpu = -1;
+ iter->second_pass = true;
+ } else
+ return NULL;
#else
- return NULL;
+ return NULL;
#endif
+ }
}
+
return iter;
}
static void *timer_list_next(struct seq_file *file, void *v, loff_t *offset)
{
- struct timer_list_iter *iter = file->private;
- iter->cpu = cpumask_next(iter->cpu, cpu_online_mask);
++*offset;
return timer_list_start(file, offset);
}

View File

@@ -31,7 +31,7 @@
bool
--- a/include/linux/regmap.h
+++ b/include/linux/regmap.h
@@ -46,7 +46,7 @@ struct reg_default {
@@ -47,7 +47,7 @@ struct reg_default {
unsigned int def;
};

View File

@@ -9,7 +9,7 @@
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
static DEFINE_MUTEX(mtd_partitions_mutex);
@@ -232,13 +234,60 @@ static int part_erase(struct mtd_info *m
@@ -231,13 +233,60 @@ static int part_erase(struct mtd_info *m
struct mtd_part *part = PART(mtd);
int ret;
@@ -70,7 +70,7 @@
return ret;
}
@@ -246,7 +295,25 @@ void mtd_erase_callback(struct erase_inf
@@ -245,7 +294,25 @@ void mtd_erase_callback(struct erase_inf
{
if (instr->mtd->_erase == part_erase) {
struct mtd_part *part = PART(instr->mtd);
@@ -96,7 +96,7 @@
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
instr->fail_addr -= part->offset;
instr->addr -= part->offset;
@@ -506,18 +573,24 @@ static struct mtd_part *allocate_partiti
@@ -505,18 +572,24 @@ static struct mtd_part *allocate_partiti
if ((slave->mtd.flags & MTD_WRITEABLE) &&
mtd_mod_by_eb(slave->offset, &slave->mtd)) {
/* Doesn't start on a boundary of major erase size */

View File

@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -332,7 +332,14 @@ static int part_lock(struct mtd_info *mt
@@ -331,7 +331,14 @@ static int part_lock(struct mtd_info *mt
static int part_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
{
struct mtd_part *part = PART(mtd);

View File

@@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -172,6 +172,22 @@ config MTD_BCM47XX_PARTS
@@ -176,6 +176,22 @@ config MTD_BCM47XX_PARTS
This provides partitions parser for devices based on BCM47xx
boards.

View File

@@ -1,6 +1,6 @@
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -214,6 +214,33 @@ struct tc_sfq_xstats {
@@ -222,6 +222,33 @@ struct tc_sfq_xstats {
__s32 allot;
};

View File

@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
default:
return -ENOPROTOOPT;
}
@@ -3275,6 +3288,13 @@ static int packet_getsockopt(struct sock
@@ -3277,6 +3290,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;

View File

@@ -32,7 +32,7 @@
+obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_stubs.o
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1321,7 +1321,7 @@ out:
@@ -1319,7 +1319,7 @@ out:
return ret;
}
@@ -41,7 +41,7 @@
const struct in6_addr *daddr, unsigned int prefs,
struct in6_addr *saddr)
{
@@ -1446,7 +1446,6 @@ try_nextdev:
@@ -1444,7 +1444,6 @@ try_nextdev:
in6_ifa_put(hiscore->ifa);
return 0;
}
@@ -49,7 +49,7 @@
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
unsigned char banned_flags)
@@ -5145,6 +5144,9 @@ int __init addrconf_init(void)
@@ -5143,6 +5142,9 @@ int __init addrconf_init(void)
ipv6_addr_label_rtnl_register();
@@ -59,7 +59,7 @@
return 0;
errout:
rtnl_af_unregister(&inet6_ops);
@@ -5163,6 +5165,9 @@ void addrconf_cleanup(void)
@@ -5161,6 +5163,9 @@ void addrconf_cleanup(void)
struct net_device *dev;
int i;

View File

@@ -21,16 +21,6 @@
__FR_ACT_MAX,
};
--- a/include/uapi/linux/icmpv6.h
+++ b/include/uapi/linux/icmpv6.h
@@ -115,6 +115,7 @@ struct icmp6hdr {
#define ICMPV6_NOT_NEIGHBOUR 2
#define ICMPV6_ADDR_UNREACH 3
#define ICMPV6_PORT_UNREACH 4
+#define ICMPV6_FAILED_POLICY 5
/*
* Codes for Time Exceeded
--- a/include/uapi/linux/rtnetlink.h
+++ b/include/uapi/linux/rtnetlink.h
@@ -203,6 +203,7 @@ enum {
@@ -69,7 +59,7 @@
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2334,6 +2334,7 @@ static const char *const rtn_type_names[
@@ -2331,6 +2331,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",
@@ -153,13 +143,13 @@
+static int ip6_pkt_failed_policy(struct sk_buff *skb)
+{
+ return ip6_pkt_drop(skb, ICMPV6_FAILED_POLICY, IPSTATS_MIB_INNOROUTES);
+ return ip6_pkt_drop(skb, ICMPV6_POLICY_FAIL, IPSTATS_MIB_INNOROUTES);
+}
+
+static int ip6_pkt_failed_policy_out(struct sk_buff *skb)
+{
+ skb->dev = skb_dst(skb)->dev;
+ return ip6_pkt_drop(skb, ICMPV6_FAILED_POLICY, IPSTATS_MIB_OUTNOROUTES);
+ return ip6_pkt_drop(skb, ICMPV6_POLICY_FAIL, IPSTATS_MIB_OUTNOROUTES);
+}
+
#endif

View File

@@ -111,7 +111,7 @@
if (!root_irq_dir)
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -357,6 +357,8 @@ static int __init init_timer_list_procfs
@@ -362,6 +362,8 @@ static int __init init_timer_list_procfs
{
struct proc_dir_entry *pe;
@@ -184,7 +184,7 @@
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
@@ -2590,10 +2590,12 @@ static const struct file_operations fib_
@@ -2587,10 +2587,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net)
{
@@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
@@ -2603,17 +2605,21 @@ int __net_init fib_proc_init(struct net
@@ -2600,17 +2602,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3: