aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.18
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-03-18 18:21:08 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-03-18 18:21:08 +0000
commit5d4be21553ddc62ac97b9698c656829d7e814ee1 (patch)
tree96d2c11b857e6ec2cd443a6bb5cc76239994c1f9 /target/linux/generic/patches-3.18
parent5abe49b74ed399880c9f16e0fac2e1a2b302f9d7 (diff)
downloadmaster-187ad058-5d4be21553ddc62ac97b9698c656829d7e814ee1.tar.gz
master-187ad058-5d4be21553ddc62ac97b9698c656829d7e814ee1.tar.bz2
master-187ad058-5d4be21553ddc62ac97b9698c656829d7e814ee1.zip
kernel: bump to 3.14.35, 3.18.9, 3.19.1 and 4.0-rc4
also refresh generic patches for 3.14, 3.18, 3.19 and 4.0 targets might need a minor refresh as well, however, it looks like everything still applies cleanly with occasional small offsets. Signed-off-by: Daniel Golle <daniel@makrotopia.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44876 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.18')
-rw-r--r--target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch10
-rw-r--r--target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch4
-rw-r--r--target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch12
-rw-r--r--target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch4
-rw-r--r--target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch6
-rw-r--r--target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch4
-rw-r--r--target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch8
-rw-r--r--target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch4
-rw-r--r--target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch8
-rw-r--r--target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch14
-rw-r--r--target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch8
-rw-r--r--target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch2
-rw-r--r--target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch4
-rw-r--r--target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch2
-rw-r--r--target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch2
-rw-r--r--target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch2
-rw-r--r--target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch2
-rw-r--r--target/linux/generic/patches-3.18/902-debloat_proc.patch4
24 files changed, 56 insertions, 56 deletions
diff --git a/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch b/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
index 8384009658..2e6deb5bbc 100644
--- a/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
+++ b/target/linux/generic/patches-3.18/080-02-fib_trie-Update-usage-stats-to-be-percpu-instead-of-.patch
@@ -189,7 +189,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
#endif /* CONFIG_IP_FIB_TRIE_STATS */
-@@ -2191,7 +2219,7 @@ static int fib_triestat_seq_show(struct
+@@ -2191,7 +2219,7 @@ static int fib_triestat_seq_show(struct
trie_collect_stats(t, &stat);
trie_show_stats(seq, &stat);
#ifdef CONFIG_IP_FIB_TRIE_STATS
diff --git a/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch b/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
index 2eb3e4c4b8..4c727cdfce 100644
--- a/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
+++ b/target/linux/generic/patches-3.18/080-03-fib_trie-Make-leaf-and-tnode-more-uniform.patch
@@ -410,7 +410,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
pr_debug("entering trie_leaf_remove(%p)\n", l);
-@@ -2375,7 +2347,7 @@ static int fib_trie_seq_show(struct seq_
+@@ -2374,7 +2346,7 @@ static int fib_trie_seq_show(struct seq_
if (IS_TNODE(n)) {
struct tnode *tn = (struct tnode *) n;
diff --git a/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch b/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
index cdc2e3b39e..3f8d03067d 100644
--- a/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
+++ b/target/linux/generic/patches-3.18/080-04-fib_trie-Merge-tnode_free-and-leaf_free-into-node_fr.patch
@@ -88,7 +88,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static inline void free_leaf_info(struct leaf_info *leaf)
{
kfree_rcu(leaf, rcu);
-@@ -360,43 +369,24 @@ static struct tnode *tnode_alloc(size_t
+@@ -360,43 +369,24 @@ static struct tnode *tnode_alloc(size_t
return vzalloc(size);
}
diff --git a/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch b/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
index 20268f51c8..a3393bf93f 100644
--- a/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
+++ b/target/linux/generic/patches-3.18/080-05-fib_trie-Merge-leaf-into-tnode.patch
@@ -823,7 +823,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
seq_printf(seq, "Null ptrs: %u\n", stat->nullpointers);
seq_printf(seq, "Total size: %u kB\n", (bytes + 1023) / 1024);
}
-@@ -2163,7 +2124,7 @@ static int fib_triestat_seq_show(struct
+@@ -2163,7 +2124,7 @@ static int fib_triestat_seq_show(struct
seq_printf(seq,
"Basic info: size of leaf:"
" %Zd bytes, size of tnode: %Zd bytes.\n",
@@ -859,7 +859,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
++*pos;
/* next node in same table */
-@@ -2330,29 +2291,26 @@ static inline const char *rtn_type(char
+@@ -2329,29 +2290,26 @@ static inline const char *rtn_type(char
static int fib_trie_seq_show(struct seq_file *seq, void *v)
{
const struct fib_trie_iter *iter = seq->private;
@@ -896,7 +896,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct fib_alias *fa;
list_for_each_entry_rcu(fa, &li->falh, fa_list) {
-@@ -2402,9 +2360,9 @@ struct fib_route_iter {
+@@ -2401,9 +2359,9 @@ struct fib_route_iter {
t_key key;
};
@@ -908,7 +908,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct trie *t = iter->main_trie;
/* use cache location of last found key */
-@@ -2449,7 +2407,7 @@ static void *fib_route_seq_start(struct
+@@ -2448,7 +2406,7 @@ static void *fib_route_seq_start(struct
static void *fib_route_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
struct fib_route_iter *iter = seq->private;
@@ -917,7 +917,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
++*pos;
if (v == SEQ_START_TOKEN) {
-@@ -2495,7 +2453,7 @@ static unsigned int fib_flag_trans(int t
+@@ -2494,7 +2452,7 @@ static unsigned int fib_flag_trans(int t
*/
static int fib_route_seq_show(struct seq_file *seq, void *v)
{
diff --git a/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch b/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
index 13004a1c31..e84412687d 100644
--- a/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
+++ b/target/linux/generic/patches-3.18/080-06-fib_trie-Optimize-fib_table_lookup-to-avoid-wasting-.patch
@@ -149,9 +149,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+ if (IS_LEAF(n))
goto found;
- }
-
-- cn = n;
-
+- cn = n;
+
- /*
- * It's a tnode, and we can do some extra checks here if we
- * like, to avoid descending into a dead-end branch.
diff --git a/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch b/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
index dd150ebf33..b328d2c5d2 100644
--- a/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
+++ b/target/linux/generic/patches-3.18/080-08-fib_trie-Optimize-fib_table_insert.patch
@@ -88,12 +88,12 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
- * If we point to a T_TNODE, check if it matches our key. Note that
- * a T_TNODE might be skipping any number of bits - its 'pos' need
- * not be the parent's 'pos'+'bits'!
- *
+- *
- * If it does match the current key, get pos/bits from it, extract
- * the index from our key, push the T_TNODE and walk the tree.
- *
- * If it doesn't, we have to replace it with a new T_TNODE.
-- *
+ *
- * If we point to a T_LEAF, it might or might not have the same key
- * as we do. If it does, just change the value, update the T_LEAF's
- * value, and return it.
@@ -129,13 +129,13 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+ if (index >> n->bits)
break;
- }
-
+-
- /*
- * n ----> NULL, LEAF or TNODE
- *
- * tp is n's (parent) ----> NULL or TNODE
- */
--
+
- BUG_ON(tp && IS_LEAF(tp));
-
- /* Case 1: n is a leaf. Compare prefixes */
@@ -162,9 +162,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
-
- if (!l)
- return NULL;
--
-- li = leaf_info_new(plen);
+- li = leaf_info_new(plen);
+-
- if (!li) {
- node_free(l);
+ l = leaf_new(key);
diff --git a/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch b/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
index 53761d4207..a0d34762b8 100644
--- a/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
+++ b/target/linux/generic/patches-3.18/080-09-fib_trie-Update-meaning-of-pos-to-represent-unchecke.patch
@@ -306,7 +306,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!tn) {
free_leaf_info(li);
node_free(l);
-@@ -1559,12 +1532,7 @@ static int trie_flush_leaf(struct tnode
+@@ -1559,12 +1532,7 @@ static int trie_flush_leaf(struct tnode
static struct tnode *leaf_walk_rcu(struct tnode *p, struct tnode *c)
{
do {
@@ -329,7 +329,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tn = p;
--iter->depth;
goto rescan;
-@@ -2187,10 +2155,10 @@ static int fib_trie_seq_show(struct seq_
+@@ -2186,10 +2154,10 @@ static int fib_trie_seq_show(struct seq_
if (IS_TNODE(n)) {
__be32 prf = htonl(n->key);
diff --git a/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch b/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
index 7acf8b67a2..487a25f0d9 100644
--- a/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
+++ b/target/linux/generic/patches-3.18/080-10-fib_trie-Use-unsigned-long-for-anything-dealing-with.patch
@@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct tnode *tn, *left, *right;
int i;
-@@ -1532,9 +1530,9 @@ static int trie_flush_leaf(struct tnode
+@@ -1532,9 +1530,9 @@ static int trie_flush_leaf(struct tnode
static struct tnode *leaf_walk_rcu(struct tnode *p, struct tnode *c)
{
do {
diff --git a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch b/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
index 5c2dcf3472..b36bcd8167 100644
--- a/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
+++ b/target/linux/generic/patches-3.18/080-11-fib_trie-Push-rcu_read_lock-unlock-to-callers.patch
@@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
#else /* CONFIG_IP_MULTIPLE_TABLES */
-@@ -247,20 +250,25 @@ static inline int fib_lookup(struct net
+@@ -247,20 +250,25 @@ static inline int fib_lookup(struct net
struct fib_result *res)
{
if (!net->ipv4.fib_has_custom_rules) {
@@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void nl_fib_input(struct sk_buff *skb)
-@@ -952,7 +958,6 @@ static void nl_fib_input(struct sk_buff
+@@ -952,7 +958,6 @@ static void nl_fib_input(struct sk_buff
struct net *net;
struct fib_result_nl *frn;
struct nlmsghdr *nlh;
@@ -172,7 +172,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 portid;
net = sock_net(skb->sk);
-@@ -967,9 +972,7 @@ static void nl_fib_input(struct sk_buff
+@@ -967,9 +972,7 @@ static void nl_fib_input(struct sk_buff
nlh = nlmsg_hdr(skb);
frn = (struct fib_result_nl *) nlmsg_data(nlh);
diff --git a/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch b/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
index 6edcfdcfec..a373add1d2 100644
--- a/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
+++ b/target/linux/generic/patches-3.18/080-12-fib_trie-Move-resize-to-after-inflate-halve.patch
@@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* tnodes to free after resize(); protected by RTNL */
static struct callback_head *tnode_free_head;
static size_t tnode_free_size;
-@@ -447,161 +445,6 @@ static void put_child_root(struct tnode
+@@ -447,161 +445,6 @@ static void put_child_root(struct tnode
rcu_assign_pointer(t->trie, n);
}
diff --git a/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch b/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
index 42c0394689..c01d57af0f 100644
--- a/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
+++ b/target/linux/generic/patches-3.18/080-13-fib_trie-Add-functions-should_inflate-and-should_hal.patch
@@ -139,7 +139,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int max_work;
if (!tn)
-@@ -668,86 +750,12 @@ static struct tnode *resize(struct trie
+@@ -668,86 +750,12 @@ static struct tnode *resize(struct trie
/* One child */
if (tn->empty_children == (tnode_child_length(tn) - 1))
goto one_child;
@@ -229,7 +229,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
old_tn = tn;
tn = inflate(t, tn);
-@@ -764,16 +772,11 @@ static struct tnode *resize(struct trie
+@@ -764,16 +772,11 @@ static struct tnode *resize(struct trie
if (max_work != MAX_WORK)
return tn;
diff --git a/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch b/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
index 0e87a7d08e..8f26e32d3d 100644
--- a/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
+++ b/target/linux/generic/patches-3.18/080-14-fib_trie-Push-assignment-of-child-to-parent-down-int.patch
@@ -231,7 +231,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* No children */
if (tn->empty_children > (tnode_child_length(tn) - 1))
goto no_children;
-@@ -755,39 +756,35 @@ static struct tnode *resize(struct trie
+@@ -755,39 +756,35 @@ static struct tnode *resize(struct trie
* nonempty nodes that are above the threshold.
*/
max_work = MAX_WORK;
diff --git a/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch b/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
index 16ad37d5e2..51178a0f14 100644
--- a/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
+++ b/target/linux/generic/patches-3.18/080-15-fib_trie-Push-tnode-flushing-down-to-inflate-halve.patch
@@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static size_t tnode_free_size;
/*
-@@ -307,32 +305,6 @@ static struct tnode *tnode_alloc(size_t
+@@ -307,32 +305,6 @@ static struct tnode *tnode_alloc(size_t
return vzalloc(size);
}
@@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static struct tnode *leaf_new(t_key key)
{
struct tnode *l = kmem_cache_alloc(trie_leaf_kmem, GFP_KERNEL);
-@@ -433,17 +405,33 @@ static void put_child_root(struct tnode
+@@ -433,17 +405,33 @@ static void put_child_root(struct tnode
rcu_assign_pointer(t->trie, n);
}
@@ -169,7 +169,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return -ENOMEM;
}
-@@ -599,17 +593,20 @@ static int halve(struct trie *t, struct
+@@ -599,17 +593,20 @@ static int halve(struct trie *t, struct
struct tnode *newn;
newn = tnode_new(left->key, oldtnode->pos, 1);
@@ -192,7 +192,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
for (i = 0; i < olen; i += 2) {
struct tnode *newBinNode;
-@@ -636,11 +633,14 @@ static int halve(struct trie *t, struct
+@@ -636,11 +633,14 @@ static int halve(struct trie *t, struct
put_child(tn, i / 2, newBinNode);
diff --git a/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch b/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
index caa2e0e4b1..d6b600c5dd 100644
--- a/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
+++ b/target/linux/generic/patches-3.18/080-16-fib_trie-inflate-halve-nodes-in-a-more-RCU-friendly-.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -391,8 +391,6 @@ static void put_child(struct tnode *tn,
+@@ -391,8 +391,6 @@ static void put_child(struct tnode *tn,
else if (!wasfull && isfull)
tn->full_children++;
@@ -235,7 +235,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
pr_debug("In halve\n");
-@@ -577,68 +575,64 @@ static int halve(struct trie *t, struct
+@@ -577,68 +575,64 @@ static int halve(struct trie *t, struct
if (!tn)
return -ENOMEM;
diff --git a/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch b/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
index c9cd1cff7f..6a4a45e952 100644
--- a/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
+++ b/target/linux/generic/patches-3.18/080-18-fib_trie-Add-tracking-value-for-suffix-length.patch
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tn->pos = pos;
tn->bits = bits;
tn->key = (shift < KEYLENGTH) ? (key >> shift) << shift : 0;
-@@ -387,6 +390,9 @@ static void put_child(struct tnode *tn,
+@@ -387,6 +390,9 @@ static void put_child(struct tnode *tn,
else if (!wasfull && isfull)
tn->full_children++;
@@ -52,7 +52,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rcu_assign_pointer(tn->child[i], n);
}
-@@ -635,6 +641,41 @@ static int halve(struct trie *t, struct
+@@ -635,6 +641,41 @@ static int halve(struct trie *t, struct
return 0;
}
@@ -120,7 +120,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
-static void insert_leaf_info(struct hlist_head *head, struct leaf_info *new)
+static void leaf_pull_suffix(struct tnode *l)
- {
++{
+ struct tnode *tp = node_parent(l);
+
+ while (tp && (tp->slen > tp->pos) && (tp->slen > l->slen)) {
@@ -169,7 +169,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+}
+
+static void insert_leaf_info(struct tnode *l, struct leaf_info *new)
-+{
+ {
+ struct hlist_head *head = &l->list;
struct leaf_info *li = NULL, *last = NULL;
diff --git a/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch b/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
index be837526a4..7e26127084 100644
--- a/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
+++ b/target/linux/generic/patches-3.18/080-20-fib_trie-Fix-RCU-bug-and-merge-similar-bits-of-infla.patch
@@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -396,8 +396,30 @@ static void put_child(struct tnode *tn,
+@@ -396,8 +396,30 @@ static void put_child(struct tnode *tn,
rcu_assign_pointer(tn->child[i], n);
}
@@ -150,7 +150,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
- tp = node_parent(oldtnode);
- NODE_INIT_PARENT(tn, tp);
- put_child_root(tp, t, tn->key, tn);
--
++ /* setup the parent pointers into and out of this node */
++ replace(t, oldtnode, tn);
+
- /* prepare oldtnode to be freed */
- tnode_free_init(oldtnode);
-
@@ -170,9 +172,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
- /* fetch new nodes */
- node1 = tnode_get_child(tn, 2 * i + 1);
- node0 = tnode_get_child(tn, 2 * i);
-+ /* setup the parent pointers into and out of this node */
-+ replace(t, oldtnode, tn);
-
+-
- /* bits == 1 then node0 and node1 represent inode's children */
- if (inode->bits == 1) {
- node_set_parent(node1, tn);
@@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
unsigned long i;
pr_debug("In halve\n");
-@@ -577,14 +588,18 @@ static int halve(struct trie *t, struct
+@@ -577,14 +588,18 @@ static int halve(struct trie *t, struct
if (!tn)
return -ENOMEM;
@@ -228,7 +228,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* At least one of the children is empty */
if (!node1 || !node0) {
-@@ -609,34 +624,8 @@ static int halve(struct trie *t, struct
+@@ -609,34 +624,8 @@ static int halve(struct trie *t, struct
put_child(tn, i / 2, inode);
}
diff --git a/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch b/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
index afea33ff15..19b7db7f94 100644
--- a/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
+++ b/target/linux/generic/patches-3.18/080-22-fib_trie-Add-collapse-and-should_collapse-to-resize.patch
@@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct tnode __rcu *child[0];
};
/* This list pointer if valid if bits == 0 (LEAF) */
-@@ -302,6 +303,16 @@ static struct tnode *tnode_alloc(size_t
+@@ -302,6 +303,16 @@ static struct tnode *tnode_alloc(size_t
return vzalloc(size);
}
@@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
pr_debug("AT %p s=%zu %zu\n", tn, sizeof(struct tnode),
-@@ -375,11 +388,11 @@ static void put_child(struct tnode *tn,
+@@ -375,11 +388,11 @@ static void put_child(struct tnode *tn,
BUG_ON(i >= tnode_child_length(tn));
@@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* update fullChildren */
wasfull = tnode_full(tn, chi);
-@@ -630,6 +643,24 @@ static int halve(struct trie *t, struct
+@@ -630,6 +643,24 @@ static int halve(struct trie *t, struct
return 0;
}
@@ -120,7 +120,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static unsigned char update_suffix(struct tnode *tn)
{
unsigned char slen = tn->pos;
-@@ -729,10 +760,12 @@ static bool should_inflate(const struct
+@@ -729,10 +760,12 @@ static bool should_inflate(const struct
/* Keep root node larger */
threshold *= tp ? inflate_threshold : inflate_threshold_root;
diff --git a/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch b/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
index dfe716eda8..5eba700caa 100644
--- a/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
+++ b/target/linux/generic/patches-3.18/080-24-fib_trie-Move-fib_find_alias-to-file-where-it-is-use.patch
@@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct fib_info *fi)
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
-@@ -414,24 +414,6 @@ errout:
+@@ -410,24 +410,6 @@ errout:
rtnl_set_sk_err(info->nl_net, RTNLGRP_IPV4_ROUTE, err);
}
diff --git a/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch b/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
index e47f253f35..c7739d0323 100644
--- a/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
+++ b/target/linux/generic/patches-3.18/080-25-fib_trie-Various-clean-ups-for-handling-slen.patch
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
l->slen = KEYLENGTH - new->plen;
leaf_push_suffix(l);
}
-@@ -1613,6 +1606,7 @@ static int trie_flush_leaf(struct tnode
+@@ -1613,6 +1606,7 @@ static int trie_flush_leaf(struct tnode
struct hlist_head *lih = &l->list;
struct hlist_node *tmp;
struct leaf_info *li = NULL;
@@ -72,7 +72,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
hlist_for_each_entry_safe(li, tmp, lih, hlist) {
found += trie_flush_list(&li->falh);
-@@ -1620,8 +1614,14 @@ static int trie_flush_leaf(struct tnode
+@@ -1620,8 +1614,14 @@ static int trie_flush_leaf(struct tnode
if (list_empty(&li->falh)) {
hlist_del_rcu(&li->hlist);
free_leaf_info(li);
diff --git a/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch b/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch
index 269179063c..9cbe183138 100644
--- a/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch
+++ b/target/linux/generic/patches-3.18/532-jffs2_eofdetect.patch
@@ -36,7 +36,7 @@
if (ret < 0)
goto out;
-@@ -556,6 +562,17 @@ static int jffs2_scan_eraseblock (struct
+@@ -561,6 +567,17 @@ full_scan:
return err;
}
diff --git a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 80926deb43..bc163cb251 100644
--- a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2324,6 +2324,7 @@ static const char *const rtn_type_names[
+@@ -2236,6 +2236,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",
diff --git a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
index d4099fa94c..b54d1509a5 100644
--- a/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/patches-3.18/811-pci_disable_usb_common_quirks.patch
@@ -84,7 +84,7 @@
#endif /* __LINUX_USB_PCI_QUIRKS_H */
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
-@@ -442,7 +442,14 @@ extern int usb_hcd_pci_probe(struct pci_
+@@ -444,7 +444,14 @@ extern int usb_hcd_pci_probe(struct pci_
extern void usb_hcd_pci_remove(struct pci_dev *dev);
extern void usb_hcd_pci_shutdown(struct pci_dev *dev);
diff --git a/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch b/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
index ad0ec06a87..a2f526282b 100644
--- a/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
+++ b/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
@@ -74,7 +74,7 @@
* @dev: device the buffer will be used with
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
-@@ -700,6 +700,7 @@ static inline bool usb_device_no_sg_cons
+@@ -695,6 +695,7 @@ static inline bool usb_device_no_sg_cons
return udev && udev->bus && udev->bus->no_sg_constraint;
}
diff --git a/target/linux/generic/patches-3.18/902-debloat_proc.patch b/target/linux/generic/patches-3.18/902-debloat_proc.patch
index 929d6e5ba9..8b3a5d43f0 100644
--- a/target/linux/generic/patches-3.18/902-debloat_proc.patch
+++ b/target/linux/generic/patches-3.18/902-debloat_proc.patch
@@ -184,7 +184,7 @@
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2581,10 +2581,12 @@ static const struct file_operations fib_
+@@ -2490,10 +2490,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;
-@@ -2594,17 +2596,21 @@ int __net_init fib_proc_init(struct net
+@@ -2503,17 +2505,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3: