From 17afb853eec6dc4f39f0815831379be004f98cc5 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 18 Mar 2015 18:21:08 +0000 Subject: [PATCH] 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 SVN-Revision: 44876 --- include/kernel-version.mk | 16 +++++------ .../patches-3.14/532-jffs2_eofdetect.patch | 2 +- ...usage-stats-to-be-percpu-instead-of-.patch | 2 +- ...rie-Make-leaf-and-tnode-more-uniform.patch | 2 +- ...node_free-and-leaf_free-into-node_fr.patch | 2 +- ...80-05-fib_trie-Merge-leaf-into-tnode.patch | 10 +++---- ...e-fib_table_lookup-to-avoid-wasting-.patch | 4 +-- ...8-fib_trie-Optimize-fib_table_insert.patch | 12 ++++---- ...meaning-of-pos-to-represent-unchecke.patch | 4 +-- ...igned-long-for-anything-dealing-with.patch | 2 +- ...Push-rcu_read_lock-unlock-to-callers.patch | 6 ++-- ...e-Move-resize-to-after-inflate-halve.patch | 2 +- ...ctions-should_inflate-and-should_hal.patch | 4 +-- ...signment-of-child-to-parent-down-int.patch | 2 +- ...tnode-flushing-down-to-inflate-halve.patch | 8 +++--- ...-halve-nodes-in-a-more-RCU-friendly-.patch | 4 +-- ...Add-tracking-value-for-suffix-length.patch | 8 +++--- ...-bug-and-merge-similar-bits-of-infla.patch | 14 +++++----- ...llapse-and-should_collapse-to-resize.patch | 8 +++--- ...b_find_alias-to-file-where-it-is-use.patch | 2 +- ...-Various-clean-ups-for-handling-slen.patch | 4 +-- .../patches-3.18/532-jffs2_eofdetect.patch | 2 +- ...ng-with-source-address-failed-policy.patch | 2 +- .../811-pci_disable_usb_common_quirks.patch | 2 +- .../820-usb_add_usb_find_device_by_name.patch | 2 +- .../patches-3.18/902-debloat_proc.patch | 4 +-- ...t-command-line-parameters-from-users.patch | 28 ++++++------------- .../505-yaffs-3.16-new-fops.patch | 4 +-- .../patches-3.19/532-jffs2_eofdetect.patch | 2 +- ...-initialization-on-Northstar-SoCs-co.patch | 9 ++---- .../811-pci_disable_usb_common_quirks.patch | 2 +- .../820-usb_add_usb_find_device_by_name.patch | 2 +- .../patches-4.0/505-yaffs-3.16-new-fops.patch | 4 +-- .../patches-4.0/630-packet_socket_type.patch | 16 +++++------ .../643-bridge_remove_ipv6_dependency.patch | 4 +-- .../generic/patches-4.0/700-swconfig.patch | 2 +- .../patches-4.0/701-phy_extension.patch | 2 +- .../773-bgmac-add-srab-switch.patch | 6 ++-- ...bgmac-check-length-of-received-frame.patch | 2 +- .../generic/patches-4.0/863-gpiommc.patch | 2 +- .../patches-4.0/902-debloat_proc.patch | 4 +-- .../generic/patches-4.0/930-crashlog.patch | 2 +- 42 files changed, 103 insertions(+), 118 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index f8ae94db2b..774814520e 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -5,18 +5,18 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.8 = .13 LINUX_VERSION-3.10 = .58 LINUX_VERSION-3.13 = .7 -LINUX_VERSION-3.14 = .34 -LINUX_VERSION-3.18 = .8 -LINUX_VERSION-3.19 = -LINUX_VERSION-4.0 = -rc1 +LINUX_VERSION-3.14 = .35 +LINUX_VERSION-3.18 = .9 +LINUX_VERSION-3.19 = .1 +LINUX_VERSION-4.0 = -rc4 LINUX_KERNEL_MD5SUM-3.8.13 = 2af19d06cd47ec459519159cdd10542d LINUX_KERNEL_MD5SUM-3.10.58 = 3ff3478b6351143cef22d4b81cf48b01 LINUX_KERNEL_MD5SUM-3.13.7 = 370adced5e5c1cb1d0d621c2dae2723f -LINUX_KERNEL_MD5SUM-3.14.34 = 4061154fb66b24a8a1982a8adbe94335 -LINUX_KERNEL_MD5SUM-3.18.8 = 94673d5f4521a6077eb6fe0ab2633b35 -LINUX_KERNEL_MD5SUM-3.19 = d3fc8316d4d4d04b65cbc2d70799e763 -LINUX_KERNEL_MD5SUM-4.0-rc1 = 547b340dca94d358b68d2658822080fa +LINUX_KERNEL_MD5SUM-3.14.35 = e5e92c40d14bc8ae9a8701db4e1cbb27 +LINUX_KERNEL_MD5SUM-3.18.9 = 44cd16ada5eb03589f696f083cd2323b +LINUX_KERNEL_MD5SUM-3.19.1 = 90e9cdcaecf587acba4e94904f5f8606 +LINUX_KERNEL_MD5SUM-4.0-rc4 = 0e37c076159538ff882f190d87fe9798 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/generic/patches-3.14/532-jffs2_eofdetect.patch b/target/linux/generic/patches-3.14/532-jffs2_eofdetect.patch index 269179063c..9cbe183138 100644 --- a/target/linux/generic/patches-3.14/532-jffs2_eofdetect.patch +++ b/target/linux/generic/patches-3.14/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/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 } #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 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 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 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 ++*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 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 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 ++*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 + 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 - * 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 + 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 - - 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 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 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 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 } #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 } 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 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 /* 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 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 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 /* 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 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 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 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 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 --- 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 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 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 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 -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 +} + +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 --- 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 - 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 - /* 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 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 /* 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 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 } 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 /* 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 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 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 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 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 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: diff --git a/target/linux/generic/patches-3.19/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch b/target/linux/generic/patches-3.19/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch index 457b0bd6bf..468a539c25 100644 --- a/target/linux/generic/patches-3.19/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch +++ b/target/linux/generic/patches-3.19/330-MIPS-kexec-Accept-command-line-parameters-from-users.patch @@ -12,8 +12,6 @@ Signed-off-by: Yousong Zhou 3 files changed, 167 insertions(+), 27 deletions(-) create mode 100644 arch/mips/kernel/machine_kexec.h -diff --git a/arch/mips/kernel/machine_kexec.c b/arch/mips/kernel/machine_kexec.c -index 50980bf3..b9c0f75 100644 --- a/arch/mips/kernel/machine_kexec.c +++ b/arch/mips/kernel/machine_kexec.c @@ -10,45 +10,145 @@ @@ -195,7 +193,9 @@ index 50980bf3..b9c0f75 100644 kexec_indirection_page = (unsigned long)&image->head; } + pr_info("kexec_indirection_page = %p\n", (void *)kexec_indirection_page); -+ + +- memcpy((void*)reboot_code_buffer, relocate_new_kernel, +- relocate_new_kernel_size); + pr_info("Where is memcpy: %p\n", memcpy); + pr_info("kexec_relocate_new_kernel = %p, kexec_relocate_new_kernel_end = %p\n", + (void *)kexec_relocate_new_kernel, &kexec_relocate_new_kernel_end); @@ -203,9 +203,7 @@ index 50980bf3..b9c0f75 100644 + (void *)kexec_relocate_new_kernel, (void *)reboot_code_buffer); + memcpy((void*)reboot_code_buffer, kexec_relocate_new_kernel, + KEXEC_RELOCATE_NEW_KERNEL_SIZE); - -- memcpy((void*)reboot_code_buffer, relocate_new_kernel, -- relocate_new_kernel_size); ++ + pr_info("Before _print_args().\n"); + machine_kexec_print_args(); + pr_info("Before eval loop.\n"); @@ -232,9 +230,6 @@ index 50980bf3..b9c0f75 100644 smp_wmb(); atomic_set(&kexec_ready_to_reboot, 1); #endif -diff --git a/arch/mips/kernel/machine_kexec.h b/arch/mips/kernel/machine_kexec.h -new file mode 100644 -index 0000000..ae0961e --- /dev/null +++ b/arch/mips/kernel/machine_kexec.h @@ -0,0 +1,20 @@ @@ -258,8 +253,6 @@ index 0000000..ae0961e +#define KEXEC_MAX_ARGC (KEXEC_ARGV_SIZE / sizeof(long)) + +#endif -diff --git a/arch/mips/kernel/relocate_kernel.S b/arch/mips/kernel/relocate_kernel.S -index 74bab9d..2c92c50 100644 --- a/arch/mips/kernel/relocate_kernel.S +++ b/arch/mips/kernel/relocate_kernel.S @@ -12,8 +12,9 @@ @@ -291,18 +284,15 @@ index 74bab9d..2c92c50 100644 + EXPORT(kexec_argv_buf) + .skip KEXEC_COMMAND_LINE_SIZE + .size kexec_argv_buf, KEXEC_COMMAND_LINE_SIZE ++ ++kexec_argv: ++ EXPORT(kexec_argv) ++ .skip KEXEC_ARGV_SIZE ++ .size kexec_argv, KEXEC_ARGV_SIZE -relocate_new_kernel_size: - EXPORT(relocate_new_kernel_size) - PTR relocate_new_kernel_end - relocate_new_kernel - .size relocate_new_kernel_size, PTRSIZE -+kexec_argv: -+ EXPORT(kexec_argv) -+ .skip KEXEC_ARGV_SIZE -+ .size kexec_argv, KEXEC_ARGV_SIZE -+ +kexec_relocate_new_kernel_end: + EXPORT(kexec_relocate_new_kernel_end) --- -1.7.10.4 - diff --git a/target/linux/generic/patches-3.19/505-yaffs-3.16-new-fops.patch b/target/linux/generic/patches-3.19/505-yaffs-3.16-new-fops.patch index 855b9fc134..1ef630f844 100644 --- a/target/linux/generic/patches-3.19/505-yaffs-3.16-new-fops.patch +++ b/target/linux/generic/patches-3.19/505-yaffs-3.16-new-fops.patch @@ -1,6 +1,6 @@ --- a/fs/yaffs2/yaffs_vfs.c +++ b/fs/yaffs2/yaffs_vfs.c -@@ -796,13 +796,13 @@ +@@ -796,13 +796,13 @@ static int yaffs_sync_object(struct file static const struct file_operations yaffs_file_operations = { .read = do_sync_read, .write = do_sync_write, @@ -17,7 +17,7 @@ .llseek = generic_file_llseek, }; -@@ -1050,7 +1050,7 @@ +@@ -1050,7 +1050,7 @@ static int yaffs_readlink(struct dentry if (!alias) return -ENOMEM; diff --git a/target/linux/generic/patches-3.19/532-jffs2_eofdetect.patch b/target/linux/generic/patches-3.19/532-jffs2_eofdetect.patch index 269179063c..9cbe183138 100644 --- a/target/linux/generic/patches-3.19/532-jffs2_eofdetect.patch +++ b/target/linux/generic/patches-3.19/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.19/770-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch b/target/linux/generic/patches-3.19/770-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch index 0043b4c84f..1d6b66c199 100644 --- a/target/linux/generic/patches-3.19/770-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch +++ b/target/linux/generic/patches-3.19/770-bgmac-fix-device-initialization-on-Northstar-SoCs-co.patch @@ -18,11 +18,9 @@ Can we have it for 3.20, please? drivers/net/ethernet/broadcom/bgmac.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c -index 3007d95..728373b 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c -@@ -1412,6 +1412,7 @@ static void bgmac_mii_unregister(struct bgmac *bgmac) +@@ -1412,6 +1412,7 @@ static void bgmac_mii_unregister(struct /* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipattach */ static int bgmac_probe(struct bcma_device *core) { @@ -30,7 +28,7 @@ index 3007d95..728373b 100644 struct net_device *net_dev; struct bgmac *bgmac; struct ssb_sprom *sprom = &core->bus->sprom; -@@ -1474,8 +1475,8 @@ static int bgmac_probe(struct bcma_device *core) +@@ -1474,8 +1475,8 @@ static int bgmac_probe(struct bcma_devic bgmac_chip_reset(bgmac); /* For Northstar, we have to take all GMAC core out of reset */ @@ -41,6 +39,3 @@ index 3007d95..728373b 100644 struct bcma_device *ns_core; int ns_gmac; --- -1.8.4.5 - diff --git a/target/linux/generic/patches-3.19/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/patches-3.19/811-pci_disable_usb_common_quirks.patch index cd03cda83b..8b784ecd0f 100644 --- a/target/linux/generic/patches-3.19/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/patches-3.19/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 -@@ -445,7 +445,14 @@ extern int usb_hcd_pci_probe(struct pci_ +@@ -447,7 +447,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.19/820-usb_add_usb_find_device_by_name.patch b/target/linux/generic/patches-3.19/820-usb_add_usb_find_device_by_name.patch index ee171c993b..53bff5ea90 100644 --- a/target/linux/generic/patches-3.19/820-usb_add_usb_find_device_by_name.patch +++ b/target/linux/generic/patches-3.19/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-4.0/505-yaffs-3.16-new-fops.patch b/target/linux/generic/patches-4.0/505-yaffs-3.16-new-fops.patch index 855b9fc134..1ef630f844 100644 --- a/target/linux/generic/patches-4.0/505-yaffs-3.16-new-fops.patch +++ b/target/linux/generic/patches-4.0/505-yaffs-3.16-new-fops.patch @@ -1,6 +1,6 @@ --- a/fs/yaffs2/yaffs_vfs.c +++ b/fs/yaffs2/yaffs_vfs.c -@@ -796,13 +796,13 @@ +@@ -796,13 +796,13 @@ static int yaffs_sync_object(struct file static const struct file_operations yaffs_file_operations = { .read = do_sync_read, .write = do_sync_write, @@ -17,7 +17,7 @@ .llseek = generic_file_llseek, }; -@@ -1050,7 +1050,7 @@ +@@ -1050,7 +1050,7 @@ static int yaffs_readlink(struct dentry if (!alias) return -ENOMEM; diff --git a/target/linux/generic/patches-4.0/630-packet_socket_type.patch b/target/linux/generic/patches-4.0/630-packet_socket_type.patch index f96ee28e7b..8c5711ba7a 100644 --- a/target/linux/generic/patches-4.0/630-packet_socket_type.patch +++ b/target/linux/generic/patches-4.0/630-packet_socket_type.patch @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1533,6 +1533,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1541,6 +1541,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau /* * When we registered the protocol we saved the socket in the data -@@ -1540,6 +1541,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1548,6 +1549,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau /* * Yank back the headers [hope the device set this -@@ -1552,7 +1554,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1560,7 +1562,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -1759,12 +1761,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -1767,12 +1769,12 @@ static int packet_rcv(struct sk_buff *sk int skb_len = skb->len; unsigned int snaplen, res; @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -1884,12 +1886,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -1892,12 +1894,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2845,6 +2847,7 @@ static int packet_create(struct net *net +@@ -2853,6 +2855,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3428,6 +3431,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3442,6 +3445,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3479,6 +3492,13 @@ static int packet_getsockopt(struct sock +@@ -3493,6 +3506,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch index f0c373cc41..50e4fe4b10 100644 --- a/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch +++ b/target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch @@ -52,7 +52,7 @@ int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr, u32 banned_flags) -@@ -5524,6 +5523,9 @@ int __init addrconf_init(void) +@@ -5539,6 +5538,9 @@ int __init addrconf_init(void) ipv6_addr_label_rtnl_register(); @@ -62,7 +62,7 @@ return 0; errout: rtnl_af_unregister(&inet6_ops); -@@ -5543,6 +5545,9 @@ void addrconf_cleanup(void) +@@ -5558,6 +5560,9 @@ void addrconf_cleanup(void) struct net_device *dev; int i; diff --git a/target/linux/generic/patches-4.0/700-swconfig.patch b/target/linux/generic/patches-4.0/700-swconfig.patch index cdce89e239..bf62025d2a 100644 --- a/target/linux/generic/patches-4.0/700-swconfig.patch +++ b/target/linux/generic/patches-4.0/700-swconfig.patch @@ -29,7 +29,7 @@ obj-$(CONFIG_CICADA_PHY) += cicada.o --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild -@@ -380,6 +380,7 @@ header-y += stddef.h +@@ -379,6 +379,7 @@ header-y += stddef.h header-y += string.h header-y += suspend_ioctls.h header-y += swab.h diff --git a/target/linux/generic/patches-4.0/701-phy_extension.patch b/target/linux/generic/patches-4.0/701-phy_extension.patch index 3d482fa49c..55b37bacb9 100644 --- a/target/linux/generic/patches-4.0/701-phy_extension.patch +++ b/target/linux/generic/patches-4.0/701-phy_extension.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -338,6 +338,50 @@ int phy_ethtool_gset(struct phy_device * +@@ -357,6 +357,50 @@ int phy_ethtool_gset(struct phy_device * } EXPORT_SYMBOL(phy_ethtool_gset); diff --git a/target/linux/generic/patches-4.0/773-bgmac-add-srab-switch.patch b/target/linux/generic/patches-4.0/773-bgmac-add-srab-switch.patch index ef12cac9bf..e49a841b0b 100644 --- a/target/linux/generic/patches-4.0/773-bgmac-add-srab-switch.patch +++ b/target/linux/generic/patches-4.0/773-bgmac-add-srab-switch.patch @@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens #include static const struct bcma_device_id bgmac_bcma_tbl[] = { -@@ -1405,6 +1406,17 @@ static void bgmac_mii_unregister(struct +@@ -1398,6 +1399,17 @@ static void bgmac_mii_unregister(struct mdiobus_free(mii_bus); } @@ -30,7 +30,7 @@ Signed-off-by: Hauke Mehrtens /************************************************** * BCMA bus ops **************************************************/ -@@ -1524,6 +1536,16 @@ static int bgmac_probe(struct bcma_devic +@@ -1517,6 +1529,16 @@ static int bgmac_probe(struct bcma_devic goto err_dma_free; } @@ -47,7 +47,7 @@ Signed-off-by: Hauke Mehrtens err = register_netdev(bgmac->net_dev); if (err) { bgmac_err(bgmac, "Cannot register net device\n"); -@@ -1550,6 +1572,10 @@ static void bgmac_remove(struct bcma_dev +@@ -1543,6 +1565,10 @@ static void bgmac_remove(struct bcma_dev { struct bgmac *bgmac = bcma_get_drvdata(core); diff --git a/target/linux/generic/patches-4.0/775-bgmac-check-length-of-received-frame.patch b/target/linux/generic/patches-4.0/775-bgmac-check-length-of-received-frame.patch index c3d63b65fa..d39626b160 100644 --- a/target/linux/generic/patches-4.0/775-bgmac-check-length-of-received-frame.patch +++ b/target/linux/generic/patches-4.0/775-bgmac-check-length-of-received-frame.patch @@ -9,7 +9,7 @@ Subject: [PATCH] bgmac: check length of received frame --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c -@@ -363,6 +363,27 @@ static int bgmac_dma_rx_read(struct bgma +@@ -360,6 +360,27 @@ static int bgmac_dma_rx_read(struct bgma dma_addr_t old_dma_addr = slot->dma_addr; int err; diff --git a/target/linux/generic/patches-4.0/863-gpiommc.patch b/target/linux/generic/patches-4.0/863-gpiommc.patch index 36fc8ec86d..5fd329783d 100644 --- a/target/linux/generic/patches-4.0/863-gpiommc.patch +++ b/target/linux/generic/patches-4.0/863-gpiommc.patch @@ -830,7 +830,7 @@ +be done automatically. --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -4463,6 +4463,11 @@ T: git git://linuxtv.org/anttip/media_tr +@@ -4474,6 +4474,11 @@ T: git git://linuxtv.org/anttip/media_tr S: Maintained F: drivers/media/usb/hackrf/ diff --git a/target/linux/generic/patches-4.0/902-debloat_proc.patch b/target/linux/generic/patches-4.0/902-debloat_proc.patch index b32cce41fe..b30bd7dfa9 100644 --- a/target/linux/generic/patches-4.0/902-debloat_proc.patch +++ b/target/linux/generic/patches-4.0/902-debloat_proc.patch @@ -1,6 +1,6 @@ --- a/fs/locks.c +++ b/fs/locks.c -@@ -2640,6 +2640,8 @@ static const struct file_operations proc +@@ -2641,6 +2641,8 @@ static const struct file_operations proc static int __init proc_locks_init(void) { @@ -122,7 +122,7 @@ return -ENOMEM; --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -2661,6 +2661,8 @@ static const struct file_operations proc +@@ -2662,6 +2662,8 @@ static const struct file_operations proc static int __init proc_vmalloc_init(void) { diff --git a/target/linux/generic/patches-4.0/930-crashlog.patch b/target/linux/generic/patches-4.0/930-crashlog.patch index 594a55fc14..d9c5ecd015 100644 --- a/target/linux/generic/patches-4.0/930-crashlog.patch +++ b/target/linux/generic/patches-4.0/930-crashlog.patch @@ -245,7 +245,7 @@ end = bdata->node_low_pfn; --- a/kernel/module.c +++ b/kernel/module.c -@@ -105,6 +105,9 @@ static LIST_HEAD(modules); +@@ -104,6 +104,9 @@ static LIST_HEAD(modules); #ifdef CONFIG_KGDB_KDB struct list_head *kdb_modules = &modules; /* kdb needs the list of modules */ #endif /* CONFIG_KGDB_KDB */