aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch12
-rw-r--r--target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch6
-rw-r--r--target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch2
-rw-r--r--target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch8
-rw-r--r--target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch2
-rw-r--r--target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch2
-rw-r--r--target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch12
-rw-r--r--target/linux/generic/patches-3.18/653-disable_netlink_trim.patch2
-rw-r--r--target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch2
-rw-r--r--target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.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/750-hostap_txpower.patch2
-rw-r--r--target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch2
-rw-r--r--target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch2
-rw-r--r--target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch10
-rw-r--r--target/linux/generic/patches-3.18/902-debloat_proc.patch2
-rw-r--r--target/linux/generic/patches-3.18/941-ocf_20120127.patch2
-rw-r--r--target/linux/generic/patches-4.0/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch2
-rw-r--r--target/linux/generic/patches-4.0/600-netfilter_conntrack_flush.patch2
-rw-r--r--target/linux/generic/patches-4.0/610-netfilter_match_bypass_default_checks.patch8
-rw-r--r--target/linux/generic/patches-4.0/615-netfilter_add_xt_id_match.patch2
-rw-r--r--target/linux/generic/patches-4.0/643-bridge_remove_ipv6_dependency.patch2
-rw-r--r--target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch12
-rw-r--r--target/linux/generic/patches-4.0/653-disable_netlink_trim.patch2
-rw-r--r--target/linux/generic/patches-4.0/657-qdisc_reduce_truesize.patch2
-rw-r--r--target/linux/generic/patches-4.0/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch2
-rw-r--r--target/linux/generic/patches-4.0/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch2
-rw-r--r--target/linux/generic/patches-4.0/721-phy_packets.patch2
-rw-r--r--target/linux/generic/patches-4.0/750-hostap_txpower.patch2
-rw-r--r--target/linux/generic/patches-4.0/773-bgmac-add-srab-switch.patch2
-rw-r--r--target/linux/generic/patches-4.0/810-pci_disable_common_quirks.patch2
-rw-r--r--target/linux/generic/patches-4.0/902-debloat_proc.patch2
-rw-r--r--target/linux/generic/patches-4.0/941-ocf_20120127.patch2
33 files changed, 60 insertions, 60 deletions
diff --git a/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch b/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
index ed03db069e..f8d7921159 100644
--- a/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
+++ b/target/linux/generic/patches-3.18/077-10-bgmac-simplify-dma-init-cleanup.patch
@@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
}
static int bgmac_dma_alloc(struct bgmac *bgmac)
-@@ -621,8 +629,6 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -621,8 +629,6 @@ static int bgmac_dma_alloc(struct bgmac
}
for (i = 0; i < BGMAC_MAX_RX_RINGS; i++) {
@@ -53,7 +53,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
ring = &bgmac->rx_ring[i];
ring->num_slots = BGMAC_RX_RING_SLOTS;
ring->mmio_base = ring_base[i];
-@@ -645,15 +651,6 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -645,15 +651,6 @@ static int bgmac_dma_alloc(struct bgmac
ring->index_base = lower_32_bits(ring->dma_base);
else
ring->index_base = 0;
@@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
for (i = 0; i < BGMAC_MAX_TX_RINGS; i++) {
ring = &bgmac->tx_ring[i];
-@@ -698,8 +695,13 @@ static void bgmac_dma_init(struct bgmac
+@@ -698,8 +695,13 @@ static void bgmac_dma_init(struct bgmac
if (ring->unaligned)
bgmac_dma_rx_enable(bgmac, ring);
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
bgmac_write(bgmac, ring->mmio_base + BGMAC_DMA_RX_INDEX,
ring->index_base +
-@@ -708,6 +710,12 @@ static void bgmac_dma_init(struct bgmac
+@@ -708,6 +710,12 @@ static void bgmac_dma_init(struct bgmac
ring->start = 0;
ring->end = 0;
}
@@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
bgmac_enable(bgmac);
}
-@@ -1274,23 +1270,27 @@ static int bgmac_open(struct net_device
+@@ -1274,23 +1270,27 @@ static int bgmac_open(struct net_device
int err = 0;
bgmac_chip_reset(bgmac);
@@ -174,7 +174,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
}
static int bgmac_stop(struct net_device *net_dev)
-@@ -1306,6 +1306,7 @@ static int bgmac_stop(struct net_device
+@@ -1306,6 +1306,7 @@ static int bgmac_stop(struct net_device
free_irq(bgmac->core->irq, net_dev);
bgmac_chip_reset(bgmac);
diff --git a/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch b/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch
index 90f3e6d1df..4cd2e3f80c 100644
--- a/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch
+++ b/target/linux/generic/patches-3.18/077-12-bgmac-drop-ring-num_slots.patch
@@ -65,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
dma_free_coherent(dma_dev, size, ring->cpu_base,
ring->dma_base);
}
-@@ -590,10 +591,12 @@ static void bgmac_dma_free(struct bgmac
+@@ -590,10 +591,12 @@ static void bgmac_dma_free(struct bgmac
int i;
for (i = 0; i < BGMAC_MAX_TX_RINGS; i++)
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
}
static int bgmac_dma_alloc(struct bgmac *bgmac)
-@@ -616,11 +619,10 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -616,11 +619,10 @@ static int bgmac_dma_alloc(struct bgmac
for (i = 0; i < BGMAC_MAX_TX_RINGS; i++) {
ring = &bgmac->tx_ring[i];
@@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
ring->cpu_base = dma_zalloc_coherent(dma_dev, size,
&ring->dma_base,
GFP_KERNEL);
-@@ -642,11 +644,10 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -642,11 +644,10 @@ static int bgmac_dma_alloc(struct bgmac
for (i = 0; i < BGMAC_MAX_RX_RINGS; i++) {
ring = &bgmac->rx_ring[i];
diff --git a/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch b/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch
index cc428580a1..bc6ed3e5d7 100644
--- a/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch
+++ b/target/linux/generic/patches-3.18/600-netfilter_conntrack_flush.patch
@@ -8,7 +8,7 @@
#include <net/net_namespace.h>
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
-@@ -262,10 +263,66 @@ static int ct_open(struct inode *inode,
+@@ -262,10 +263,66 @@ static int ct_open(struct inode *inode,
sizeof(struct ct_iter_state));
}
diff --git a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
index f652dafd18..358d64b1a1 100644
--- a/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/patches-3.18/610-netfilter_match_bypass_default_checks.patch
@@ -76,10 +76,11 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -966,6 +995,14 @@ copy_entries_to_user(unsigned int total_
+@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
+ ret = -EFAULT;
goto free_counters;
}
-
++
+ flags = e->ip.flags & IPT_F_MASK;
+ if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags),
@@ -87,7 +88,6 @@
+ ret = -EFAULT;
+ goto free_counters;
+ }
-+
+
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
- i += m->u.match_size) {
diff --git a/target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch b/target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch
index cbb9b2b8bd..45f59a2a69 100644
--- a/target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch
+++ b/target/linux/generic/patches-3.18/615-netfilter_add_xt_id_match.patch
@@ -37,7 +37,7 @@
depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -143,6 +143,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) +=
+@@ -143,6 +143,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) +=
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
diff --git a/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch
index b1a40152b0..3f0dcd3ae2 100644
--- a/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch
+++ b/target/linux/generic/patches-3.18/643-bridge_remove_ipv6_dependency.patch
@@ -25,7 +25,7 @@
Ethernet bridge, which means that the different Ethernet segments it
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
-@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o
+@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o
obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)
obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o
diff --git a/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch b/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch
index d870dc5d5f..5acfea6c3a 100644
--- a/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch
+++ b/target/linux/generic/patches-3.18/645-bridge_multicast_to_unicast.patch
@@ -198,7 +198,7 @@
}
#endif
-@@ -1556,6 +1584,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1556,6 +1584,7 @@ static int br_multicast_ipv4_rcv(struct
struct sk_buff *skb,
u16 vid)
{
@@ -206,7 +206,7 @@
struct sk_buff *skb2 = skb;
const struct iphdr *iph;
struct igmphdr *ih;
-@@ -1629,7 +1658,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1629,7 +1658,7 @@ static int br_multicast_ipv4_rcv(struct
case IGMP_HOST_MEMBERSHIP_REPORT:
case IGMPV2_HOST_MEMBERSHIP_REPORT:
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@@ -215,7 +215,7 @@
break;
case IGMPV3_HOST_MEMBERSHIP_REPORT:
err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
-@@ -1638,7 +1667,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1638,7 +1667,7 @@ static int br_multicast_ipv4_rcv(struct
err = br_ip4_multicast_query(br, port, skb2, vid);
break;
case IGMP_HOST_LEAVE_MESSAGE:
@@ -224,7 +224,7 @@
break;
}
-@@ -1656,6 +1685,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1656,6 +1685,7 @@ static int br_multicast_ipv6_rcv(struct
struct sk_buff *skb,
u16 vid)
{
@@ -232,7 +232,7 @@
struct sk_buff *skb2;
const struct ipv6hdr *ip6h;
u8 icmp6_type;
-@@ -1765,7 +1795,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1765,7 +1795,8 @@ static int br_multicast_ipv6_rcv(struct
}
mld = (struct mld_msg *)skb_transport_header(skb2);
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@@ -242,7 +242,7 @@
break;
}
case ICMPV6_MLD2_REPORT:
-@@ -1782,7 +1813,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1782,7 +1813,7 @@ static int br_multicast_ipv6_rcv(struct
goto out;
}
mld = (struct mld_msg *)skb_transport_header(skb2);
diff --git a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
index dfe9c2f255..5732596792 100644
--- a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
@@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
-@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{
diff --git a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch b/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
index 72b3dfc04d..6777eecf5a 100644
--- a/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
+++ b/target/linux/generic/patches-3.18/657-qdisc_reduce_truesize.patch
@@ -24,7 +24,7 @@ commont qdiscs.
}
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
-@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
+@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
{
diff --git a/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index 8bf4b3b294..000665f047 100644
--- a/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/patches-3.18/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
@@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
if (err != 0) {
/* XXX: send ICMP error even if DF is not set. */
-@@ -1263,6 +1413,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1263,6 +1413,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.flowinfo = p->flowinfo;
t->parms.link = p->link;
t->parms.proto = p->proto;
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 b059fbe5c7..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
@@ -55,7 +55,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
-@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
+@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
.error = -EINVAL,
.scope = RT_SCOPE_NOWHERE,
},
diff --git a/target/linux/generic/patches-3.18/750-hostap_txpower.patch b/target/linux/generic/patches-3.18/750-hostap_txpower.patch
index fc032a93c9..768c80f73b 100644
--- a/target/linux/generic/patches-3.18/750-hostap_txpower.patch
+++ b/target/linux/generic/patches-3.18/750-hostap_txpower.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
+@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0)
diff --git a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch b/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
index 3b2751f529..b883d73af3 100644
--- a/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
+++ b/target/linux/generic/patches-3.18/773-bgmac-add-srab-switch.patch
@@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
#include <bcm47xx_nvram.h>
static const struct bcma_device_id bgmac_bcma_tbl[] = {
-@@ -1538,6 +1539,17 @@ static void bgmac_mii_unregister(struct
+@@ -1538,6 +1539,17 @@ static void bgmac_mii_unregister(struct
mdiobus_free(mii_bus);
}
diff --git a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
index f6639f1242..b6c0b38e72 100644
--- a/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/patches-3.18/810-pci_disable_common_quirks.patch
@@ -15,7 +15,7 @@
default y
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct
+@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
diff --git a/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch b/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch
index 71a0cb20b0..9e841cb642 100644
--- a/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch
+++ b/target/linux/generic/patches-3.18/821-usb-dwc2-dualrole.patch
@@ -50,10 +50,7 @@
+config USB_DWC2_PERIPHERAL
+ bool "Gadget only mode"
+ depends on USB_GADGET=y || USB_GADGET=USB_DWC2
- help
-- The Designware USB2.0 platform interface module for
-- controllers directly connected to the CPU. This is only
-- used for host mode.
++ help
+ The Designware USB2.0 high-speed gadget controller
+ integrated into many SoCs. Select this option if you want the
+ driver to operate in Peripheral-only mode. This option requires
@@ -62,7 +59,10 @@
+config USB_DWC2_DUAL_ROLE
+ bool "Dual Role mode"
+ depends on (USB=y || USB=USB_DWC2) && (USB_GADGET=y || USB_GADGET=USB_DWC2)
-+ help
+ help
+- The Designware USB2.0 platform interface module for
+- controllers directly connected to the CPU. This is only
+- used for host mode.
+ Select this option if you want the driver to work in a dual-role
+ mode. In this mode both host and gadget features are enabled, and
+ the role will be determined by the cable that gets plugged-in. This
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 43885ad90b..8b3a5d43f0 100644
--- a/target/linux/generic/patches-3.18/902-debloat_proc.patch
+++ b/target/linux/generic/patches-3.18/902-debloat_proc.patch
@@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
-@@ -2503,17 +2505,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.18/941-ocf_20120127.patch b/target/linux/generic/patches-3.18/941-ocf_20120127.patch
index 7f3f996f0d..ee36f1ee49 100644
--- a/target/linux/generic/patches-3.18/941-ocf_20120127.patch
+++ b/target/linux/generic/patches-3.18/941-ocf_20120127.patch
@@ -24,7 +24,7 @@
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
-@@ -938,6 +948,63 @@ void add_disk_randomness(struct gendisk
+@@ -938,6 +948,63 @@ void add_disk_randomness(struct gendisk
EXPORT_SYMBOL_GPL(add_disk_randomness);
#endif
diff --git a/target/linux/generic/patches-4.0/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch b/target/linux/generic/patches-4.0/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
index 4ffa3c26fe..9d32777fea 100644
--- a/target/linux/generic/patches-4.0/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
+++ b/target/linux/generic/patches-4.0/110-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* file over a directory and vice versa, but if it's a directory,
* the VFS can't check whether the victim is empty. The filesystem
@@ -828,9 +850,14 @@ static int jffs2_rename (struct inode *o
- if (S_ISDIR(old_dentry->d_inode->i_mode) && !victim_f)
+ if (d_is_dir(old_dentry) && !victim_f)
inc_nlink(new_dir_i);
- /* Unlink the original */
diff --git a/target/linux/generic/patches-4.0/600-netfilter_conntrack_flush.patch b/target/linux/generic/patches-4.0/600-netfilter_conntrack_flush.patch
index e987de2224..bd7a7ffdef 100644
--- a/target/linux/generic/patches-4.0/600-netfilter_conntrack_flush.patch
+++ b/target/linux/generic/patches-4.0/600-netfilter_conntrack_flush.patch
@@ -8,7 +8,7 @@
#include <net/net_namespace.h>
#ifdef CONFIG_SYSCTL
#include <linux/sysctl.h>
-@@ -259,10 +260,66 @@ static int ct_open(struct inode *inode,
+@@ -259,10 +260,66 @@ static int ct_open(struct inode *inode,
sizeof(struct ct_iter_state));
}
diff --git a/target/linux/generic/patches-4.0/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/patches-4.0/610-netfilter_match_bypass_default_checks.patch
index f652dafd18..358d64b1a1 100644
--- a/target/linux/generic/patches-4.0/610-netfilter_match_bypass_default_checks.patch
+++ b/target/linux/generic/patches-4.0/610-netfilter_match_bypass_default_checks.patch
@@ -76,10 +76,11 @@
counters = alloc_counters(table);
if (IS_ERR(counters))
-@@ -966,6 +995,14 @@ copy_entries_to_user(unsigned int total_
+@@ -965,6 +994,14 @@ copy_entries_to_user(unsigned int total_
+ ret = -EFAULT;
goto free_counters;
}
-
++
+ flags = e->ip.flags & IPT_F_MASK;
+ if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags),
@@ -87,7 +88,6 @@
+ ret = -EFAULT;
+ goto free_counters;
+ }
-+
+
for (i = sizeof(struct ipt_entry);
i < e->target_offset;
- i += m->u.match_size) {
diff --git a/target/linux/generic/patches-4.0/615-netfilter_add_xt_id_match.patch b/target/linux/generic/patches-4.0/615-netfilter_add_xt_id_match.patch
index 1eee646169..50607cafd7 100644
--- a/target/linux/generic/patches-4.0/615-netfilter_add_xt_id_match.patch
+++ b/target/linux/generic/patches-4.0/615-netfilter_add_xt_id_match.patch
@@ -37,7 +37,7 @@
depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -145,6 +145,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) +=
+@@ -145,6 +145,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) +=
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
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 6fed2e1c7a..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
@@ -25,7 +25,7 @@
Ethernet bridge, which means that the different Ethernet segments it
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
-@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o
+@@ -45,6 +45,7 @@ obj-y += addrconf_core.o exthdrs_core.o
obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)
obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o
diff --git a/target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch b/target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch
index 6d00df40f8..f09875c02c 100644
--- a/target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch
+++ b/target/linux/generic/patches-4.0/645-bridge_multicast_to_unicast.patch
@@ -208,7 +208,7 @@
}
#endif
-@@ -1556,6 +1584,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1556,6 +1584,7 @@ static int br_multicast_ipv4_rcv(struct
struct sk_buff *skb,
u16 vid)
{
@@ -216,7 +216,7 @@
struct sk_buff *skb2 = skb;
const struct iphdr *iph;
struct igmphdr *ih;
-@@ -1629,7 +1658,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1629,7 +1658,7 @@ static int br_multicast_ipv4_rcv(struct
case IGMP_HOST_MEMBERSHIP_REPORT:
case IGMPV2_HOST_MEMBERSHIP_REPORT:
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@@ -225,7 +225,7 @@
break;
case IGMPV3_HOST_MEMBERSHIP_REPORT:
err = br_ip4_multicast_igmp3_report(br, port, skb2, vid);
-@@ -1638,7 +1667,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1638,7 +1667,7 @@ static int br_multicast_ipv4_rcv(struct
err = br_ip4_multicast_query(br, port, skb2, vid);
break;
case IGMP_HOST_LEAVE_MESSAGE:
@@ -234,7 +234,7 @@
break;
}
-@@ -1656,6 +1685,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1656,6 +1685,7 @@ static int br_multicast_ipv6_rcv(struct
struct sk_buff *skb,
u16 vid)
{
@@ -242,7 +242,7 @@
struct sk_buff *skb2;
const struct ipv6hdr *ip6h;
u8 icmp6_type;
-@@ -1765,7 +1795,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1765,7 +1795,8 @@ static int br_multicast_ipv6_rcv(struct
}
mld = (struct mld_msg *)skb_transport_header(skb2);
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
@@ -252,7 +252,7 @@
break;
}
case ICMPV6_MLD2_REPORT:
-@@ -1782,7 +1813,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1782,7 +1813,7 @@ static int br_multicast_ipv6_rcv(struct
goto out;
}
mld = (struct mld_msg *)skb_transport_header(skb2);
diff --git a/target/linux/generic/patches-4.0/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.0/653-disable_netlink_trim.patch
index 3325462e0f..68b8d5834d 100644
--- a/target/linux/generic/patches-4.0/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-4.0/653-disable_netlink_trim.patch
@@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
-@@ -1712,27 +1712,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1712,27 +1712,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{
diff --git a/target/linux/generic/patches-4.0/657-qdisc_reduce_truesize.patch b/target/linux/generic/patches-4.0/657-qdisc_reduce_truesize.patch
index 72b3dfc04d..6777eecf5a 100644
--- a/target/linux/generic/patches-4.0/657-qdisc_reduce_truesize.patch
+++ b/target/linux/generic/patches-4.0/657-qdisc_reduce_truesize.patch
@@ -24,7 +24,7 @@ commont qdiscs.
}
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
-@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
+@@ -29,17 +29,21 @@ static int bfifo_enqueue(struct sk_buff
static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
{
diff --git a/target/linux/generic/patches-4.0/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/patches-4.0/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
index d75a02e4f8..41454c945b 100644
--- a/target/linux/generic/patches-4.0/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
+++ b/target/linux/generic/patches-4.0/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
@@ -322,7 +322,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu);
if (err != 0) {
/* XXX: send ICMP error even if DF is not set. */
-@@ -1318,6 +1468,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
+@@ -1318,6 +1468,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.flowinfo = p->flowinfo;
t->parms.link = p->link;
t->parms.proto = p->proto;
diff --git a/target/linux/generic/patches-4.0/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-4.0/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index e03e45c577..5be1a5225b 100644
--- a/target/linux/generic/patches-4.0/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/patches-4.0/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -55,7 +55,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
-@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
+@@ -138,6 +138,10 @@ const struct fib_prop fib_props[RTN_MAX
.error = -EINVAL,
.scope = RT_SCOPE_NOWHERE,
},
diff --git a/target/linux/generic/patches-4.0/721-phy_packets.patch b/target/linux/generic/patches-4.0/721-phy_packets.patch
index 988753edc9..0f9e2f1c12 100644
--- a/target/linux/generic/patches-4.0/721-phy_packets.patch
+++ b/target/linux/generic/patches-4.0/721-phy_packets.patch
@@ -121,7 +121,7 @@
#include <net/protocol.h>
#include <net/dst.h>
-@@ -550,6 +551,22 @@ struct sk_buff *__napi_alloc_skb(struct
+@@ -550,6 +551,22 @@ struct sk_buff *__napi_alloc_skb(struct
}
EXPORT_SYMBOL(__napi_alloc_skb);
diff --git a/target/linux/generic/patches-4.0/750-hostap_txpower.patch b/target/linux/generic/patches-4.0/750-hostap_txpower.patch
index fc032a93c9..768c80f73b 100644
--- a/target/linux/generic/patches-4.0/750-hostap_txpower.patch
+++ b/target/linux/generic/patches-4.0/750-hostap_txpower.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
+@@ -2403,13 +2403,13 @@ int prism2_ap_get_sta_qual(local_info_t
addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0)
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 9e1b8d04c7..0a8b451247 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 <hauke@hauke-m.de>
#include <bcm47xx_nvram.h>
static const struct bcma_device_id bgmac_bcma_tbl[] = {
-@@ -1432,6 +1433,17 @@ static void bgmac_mii_unregister(struct
+@@ -1432,6 +1433,17 @@ static void bgmac_mii_unregister(struct
mdiobus_free(mii_bus);
}
diff --git a/target/linux/generic/patches-4.0/810-pci_disable_common_quirks.patch b/target/linux/generic/patches-4.0/810-pci_disable_common_quirks.patch
index 2b67ae18e3..eee15517e0 100644
--- a/target/linux/generic/patches-4.0/810-pci_disable_common_quirks.patch
+++ b/target/linux/generic/patches-4.0/810-pci_disable_common_quirks.patch
@@ -15,7 +15,7 @@
default y
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct
+@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct
DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);
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 93078ccc7a..ca9fd91efc 100644
--- a/target/linux/generic/patches-4.0/902-debloat_proc.patch
+++ b/target/linux/generic/patches-4.0/902-debloat_proc.patch
@@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
-@@ -2503,17 +2505,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-4.0/941-ocf_20120127.patch b/target/linux/generic/patches-4.0/941-ocf_20120127.patch
index cd7d024758..fad7acf322 100644
--- a/target/linux/generic/patches-4.0/941-ocf_20120127.patch
+++ b/target/linux/generic/patches-4.0/941-ocf_20120127.patch
@@ -24,7 +24,7 @@
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
-@@ -938,6 +948,63 @@ void add_disk_randomness(struct gendisk
+@@ -938,6 +948,63 @@ void add_disk_randomness(struct gendisk
EXPORT_SYMBOL_GPL(add_disk_randomness);
#endif