mirror of https://github.com/hak5/openwrt-owl.git
kernel: refresh generic 3.10 patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43050owl
parent
0aca075a97
commit
7004b79665
|
@ -20,7 +20,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|||
|
||||
--- a/arch/mips/kernel/unaligned.c
|
||||
+++ b/arch/mips/kernel/unaligned.c
|
||||
@@ -684,7 +684,8 @@ const int reg16to32[] = { 16, 17, 2, 3,
|
||||
@@ -683,7 +683,8 @@ const int reg16to32[] = { 16, 17, 2, 3,
|
||||
/* Recode table from 16-bit STORE register notation to 32-bit GPR. */
|
||||
const int reg16to32st[] = { 0, 17, 2, 3, 4, 5, 6, 7 };
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ Signed-off-by: Jason Cooper <jason@lakedaemon.net>
|
|||
+EXPORT_SYMBOL_GPL(of_pci_get_devfn);
|
||||
--- a/include/linux/of_pci.h
|
||||
+++ b/include/linux/of_pci.h
|
||||
@@ -10,5 +10,6 @@ int of_irq_map_pci(const struct pci_dev
|
||||
@@ -10,5 +10,6 @@ int of_irq_map_pci(const struct pci_dev
|
||||
struct device_node;
|
||||
struct device_node *of_pci_find_child_device(struct device_node *parent,
|
||||
unsigned int devfn);
|
||||
|
|
|
@ -82,7 +82,7 @@ Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
|
|||
/* Spansion -- single (large) sector size only, at least
|
||||
* for the chips listed here (without boot sectors).
|
||||
*/
|
||||
@@ -1014,6 +1021,9 @@ static int m25p_probe(struct spi_device
|
||||
@@ -1014,6 +1021,9 @@ static int m25p_probe(struct spi_device
|
||||
if (info->flags & SECT_4K) {
|
||||
flash->erase_opcode = OPCODE_BE_4K;
|
||||
flash->mtd.erasesize = 4096;
|
||||
|
|
|
@ -169,7 +169,7 @@
|
|||
static int ssb_gpio_chipco_get_value(struct gpio_chip *chip, unsigned gpio)
|
||||
{
|
||||
struct ssb_bus *bus = ssb_gpio_get_bus(chip);
|
||||
@@ -74,19 +98,129 @@ static void ssb_gpio_chipco_free(struct
|
||||
@@ -74,19 +98,129 @@ static void ssb_gpio_chipco_free(struct
|
||||
ssb_chipco_gpio_pullup(&bus->chipco, 1 << gpio, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(bcma_core_disable);
|
||||
|
||||
@@ -43,6 +64,7 @@ int bcma_core_enable(struct bcma_device
|
||||
@@ -43,6 +64,7 @@ int bcma_core_enable(struct bcma_device
|
||||
bcma_aread32(core, BCMA_IOCTL);
|
||||
|
||||
bcma_awrite32(core, BCMA_RESET_CTL, 0);
|
||||
|
@ -374,7 +374,7 @@
|
|||
};
|
||||
|
||||
static void bcma_sflash_cmd(struct bcma_drv_cc *cc, u32 opcode)
|
||||
@@ -89,7 +89,7 @@ int bcma_sflash_init(struct bcma_drv_cc
|
||||
@@ -89,7 +89,7 @@ int bcma_sflash_init(struct bcma_drv_cc
|
||||
{
|
||||
struct bcma_bus *bus = cc->core->bus;
|
||||
struct bcma_sflash *sflash = &cc->sflash;
|
||||
|
@ -609,7 +609,7 @@
|
|||
u8 address, u16 data)
|
||||
{
|
||||
int max_retries = 10;
|
||||
@@ -137,6 +137,13 @@ static void bcma_pcie_mdio_write(struct
|
||||
@@ -137,6 +137,13 @@ static void bcma_pcie_mdio_write(struct
|
||||
pcicore_write32(pc, BCMA_CORE_PCI_MDIO_CONTROL, 0);
|
||||
}
|
||||
|
||||
|
@ -922,7 +922,7 @@
|
|||
/* Register */
|
||||
err = bcma_bus_register(bus);
|
||||
if (err)
|
||||
@@ -235,7 +241,6 @@ static void bcma_host_pci_remove(struct
|
||||
@@ -235,7 +241,6 @@ static void bcma_host_pci_remove(struct
|
||||
pci_release_regions(dev);
|
||||
pci_disable_device(dev);
|
||||
kfree(bus);
|
||||
|
@ -1260,7 +1260,7 @@
|
|||
module_exit(bcma_modexit)
|
||||
--- a/drivers/bcma/scan.c
|
||||
+++ b/drivers/bcma/scan.c
|
||||
@@ -32,6 +32,18 @@ static const struct bcma_device_id_name
|
||||
@@ -32,6 +32,18 @@ static const struct bcma_device_id_name
|
||||
{ BCMA_CORE_4706_CHIPCOMMON, "BCM4706 ChipCommon" },
|
||||
{ BCMA_CORE_4706_SOC_RAM, "BCM4706 SOC RAM" },
|
||||
{ BCMA_CORE_4706_MAC_GBIT, "BCM4706 GBit MAC" },
|
||||
|
@ -2169,7 +2169,7 @@
|
|||
static const char * const part_probes[] = { "bcm47xxpart", NULL };
|
||||
|
||||
static struct physmap_flash_data bcma_pflash_data = {
|
||||
@@ -229,11 +237,51 @@ u32 bcma_cpu_clock(struct bcma_drv_mips
|
||||
@@ -229,11 +237,51 @@ u32 bcma_cpu_clock(struct bcma_drv_mips
|
||||
}
|
||||
EXPORT_SYMBOL(bcma_cpu_clock);
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
{USB_DEVICE(0x0af0, 0xd155)},
|
||||
--- a/drivers/usb/storage/unusual_devs.h
|
||||
+++ b/drivers/usb/storage/unusual_devs.h
|
||||
@@ -1280,6 +1280,18 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
|
||||
@@ -1304,6 +1304,18 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
0 ),
|
||||
|
||||
|
|
|
@ -555,7 +555,7 @@ Date: Tue May 21 21:52:54 2013 +0000
|
|||
}
|
||||
#endif
|
||||
|
||||
@@ -1473,8 +1569,14 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1473,8 +1569,14 @@ static int br_multicast_ipv6_rcv(struct
|
||||
* - MLD has always Router Alert hop-by-hop option
|
||||
* - But we do not support jumbrograms.
|
||||
*/
|
||||
|
@ -918,7 +918,7 @@ Date: Tue May 21 21:52:54 2013 +0000
|
|||
static ssize_t show_multicast_querier(struct device *d,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
@@ -734,6 +759,7 @@ static struct attribute *bridge_attrs[]
|
||||
@@ -734,6 +759,7 @@ static struct attribute *bridge_attrs[]
|
||||
&dev_attr_multicast_router.attr,
|
||||
&dev_attr_multicast_snooping.attr,
|
||||
&dev_attr_multicast_querier.attr,
|
||||
|
|
|
@ -322,7 +322,7 @@
|
|||
extern const struct file_operations pipefifo_fops;
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -403,6 +403,7 @@ int __inode_permission(struct inode *ino
|
||||
@@ -404,6 +404,7 @@ int __inode_permission(struct inode *ino
|
||||
|
||||
return security_inode_permission(inode, mask);
|
||||
}
|
||||
|
@ -348,7 +348,7 @@
|
|||
goto out;
|
||||
--- a/fs/namespace.c
|
||||
+++ b/fs/namespace.c
|
||||
@@ -1442,6 +1442,33 @@ void drop_collected_mounts(struct vfsmou
|
||||
@@ -1455,6 +1455,33 @@ void drop_collected_mounts(struct vfsmou
|
||||
namespace_unlock();
|
||||
}
|
||||
|
||||
|
@ -3220,7 +3220,7 @@
|
|||
file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping);
|
||||
--- a/include/linux/mount.h
|
||||
+++ b/include/linux/mount.h
|
||||
@@ -68,6 +68,9 @@ extern void mnt_pin(struct vfsmount *mnt
|
||||
@@ -75,6 +75,9 @@ extern void mnt_pin(struct vfsmount *mnt
|
||||
extern void mnt_unpin(struct vfsmount *mnt);
|
||||
extern int __mnt_is_readonly(struct vfsmount *mnt);
|
||||
|
||||
|
|
|
@ -174,7 +174,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
}
|
||||
|
||||
int mips_dma_supported(struct device *dev, u64 mask)
|
||||
@@ -340,7 +339,6 @@ void dma_cache_sync(struct device *dev,
|
||||
@@ -340,7 +339,6 @@ void dma_cache_sync(struct device *dev,
|
||||
{
|
||||
BUG_ON(direction == DMA_NONE);
|
||||
|
||||
|
|
|
@ -493,7 +493,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
|
||||
void dma_free_noncoherent(struct device *dev, size_t size, void *vaddr,
|
||||
@@ -158,8 +153,8 @@ void dma_free_noncoherent(struct device
|
||||
@@ -158,8 +153,8 @@ void dma_free_noncoherent(struct device
|
||||
}
|
||||
EXPORT_SYMBOL(dma_free_noncoherent);
|
||||
|
||||
|
@ -633,7 +633,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
void dma_cache_sync(struct device *dev, void *vaddr, size_t size,
|
||||
enum dma_data_direction direction)
|
||||
@@ -347,23 +242,10 @@ void dma_cache_sync(struct device *dev,
|
||||
@@ -347,23 +242,10 @@ void dma_cache_sync(struct device *dev,
|
||||
|
||||
EXPORT_SYMBOL(dma_cache_sync);
|
||||
|
||||
|
|
|
@ -179,7 +179,7 @@ Date: Wed Jul 9 12:08:23 2014 +0200
|
|||
/* Avoid PM error messages for devices disconnected while suspended
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5263,11 +5263,10 @@ int usb_reset_device(struct usb_device *
|
||||
@@ -5334,11 +5334,10 @@ int usb_reset_device(struct usb_device *
|
||||
else if (cintf->condition ==
|
||||
USB_INTERFACE_BOUND)
|
||||
rebind = 1;
|
||||
|
@ -195,7 +195,7 @@ Date: Wed Jul 9 12:08:23 2014 +0200
|
|||
usb_autosuspend_device(udev);
|
||||
--- a/drivers/usb/core/usb.h
|
||||
+++ b/drivers/usb/core/usb.h
|
||||
@@ -55,7 +55,7 @@ extern int usb_match_one_id_intf(struct
|
||||
@@ -55,7 +55,7 @@ extern int usb_match_one_id_intf(struct
|
||||
extern int usb_match_device(struct usb_device *dev,
|
||||
const struct usb_device_id *id);
|
||||
extern void usb_forced_unbind_intf(struct usb_interface *intf);
|
||||
|
|
|
@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
#ifdef MODULE
|
||||
#define __MODULE_INFO(tag, name, info) \
|
||||
static const char __UNIQUE_ID(name)[] \
|
||||
@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
|
||||
@@ -23,8 +33,7 @@ static const char __UNIQUE_ID(name)[]
|
||||
= __stringify(tag) "=" info
|
||||
#else /* !MODULE */
|
||||
/* This struct is here for syntactic coherency, it is not used */
|
||||
|
@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
#endif
|
||||
#define __MODULE_PARM_TYPE(name, _type) \
|
||||
__MODULE_INFO(parmtype, name##type, #name ":" _type)
|
||||
@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
|
||||
@@ -32,7 +41,7 @@ static const char __UNIQUE_ID(name)[]
|
||||
/* One for each parameter, describing how to use it. Some files do
|
||||
multiple of these per line, so can't just use MODULE_INFO. */
|
||||
#define MODULE_PARM_DESC(_parm, desc) \
|
||||
|
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1783,6 +1783,13 @@ config MODULE_SIG_HASH
|
||||
@@ -1784,6 +1784,13 @@ config MODULE_SIG_HASH
|
||||
default "sha384" if MODULE_SIG_SHA384
|
||||
default "sha512" if MODULE_SIG_SHA512
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/scripts/Makefile.lib
|
||||
+++ b/scripts/Makefile.lib
|
||||
@@ -303,7 +303,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
|
||||
@@ -303,7 +303,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
|
||||
|
||||
quiet_cmd_lzma = LZMA $@
|
||||
cmd_lzma = (cat $(filter-out FORCE,$^) | \
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/arch/mips/include/asm/string.h
|
||||
+++ b/arch/mips/include/asm/string.h
|
||||
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
|
||||
@@ -133,11 +133,44 @@ strncmp(__const__ char *__cs, __const__
|
||||
|
||||
#define __HAVE_ARCH_MEMSET
|
||||
extern void *memset(void *__s, int __c, size_t __count);
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
/* Our partition linked list */
|
||||
static LIST_HEAD(mtd_partitions);
|
||||
@@ -668,43 +669,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
|
||||
@@ -668,43 +669,16 @@ mtd_pad_erasesize(struct mtd_info *mtd,
|
||||
return len;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
/****************************************************************************/
|
||||
|
||||
struct m25p {
|
||||
@@ -1021,7 +1027,7 @@ static int m25p_probe(struct spi_device
|
||||
@@ -1021,7 +1027,7 @@ static int m25p_probe(struct spi_device
|
||||
flash->mtd._write = m25p80_write;
|
||||
|
||||
/* prefer "small sector" erase if possible */
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
static struct proc_dir_entry *my_proc_entry;
|
||||
|
||||
static char *yaffs_dump_dev_part0(char *buf, struct yaffs_dev *dev)
|
||||
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
|
||||
@@ -3398,6 +3399,7 @@ static int yaffs_proc_write(struct file
|
||||
return yaffs_proc_debug_write(file, buf, count, data);
|
||||
return yaffs_proc_write_trace_options(file, buf, count, data);
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
/* LzmaDecode
|
||||
--- a/lib/lzma/LzmaDec.c
|
||||
+++ b/lib/lzma/LzmaDec.c
|
||||
@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
|
||||
@@ -682,7 +682,7 @@ static void LzmaDec_InitRc(CLzmaDec *p,
|
||||
p->needFlush = 0;
|
||||
}
|
||||
|
||||
|
@ -219,26 +219,26 @@
|
|||
{
|
||||
UInt32 dicSize;
|
||||
Byte d;
|
||||
@@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma
|
||||
@@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzma
|
||||
return SZ_OK;
|
||||
}
|
||||
|
||||
-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
|
||||
-{
|
||||
- CLzmaProps propNew;
|
||||
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
|
||||
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
|
||||
- p->prop = propNew;
|
||||
- return SZ_OK;
|
||||
-}
|
||||
-
|
||||
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
|
||||
+static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
|
||||
{
|
||||
CLzmaProps propNew;
|
||||
RINOK(LzmaProps_Decode(&propNew, props, propsSize));
|
||||
@@ -943,28 +891,6 @@ SRes LzmaDec_AllocateProbs(CLzmaDec *p,
|
||||
p->prop = propNew;
|
||||
return SZ_OK;
|
||||
}
|
||||
-
|
||||
-SRes LzmaDec_Allocate(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
|
||||
-{
|
||||
- CLzmaProps propNew;
|
||||
- SizeT dicBufSize;
|
||||
- RINOK(LzmaProps_Decode(&propNew, props, propsSize));
|
||||
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
|
||||
RINOK(LzmaProps_Decode(&propNew, props, propsSize));
|
||||
RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
|
||||
- dicBufSize = propNew.dicSize;
|
||||
- if (p->dic == 0 || dicBufSize != p->dicBufSize)
|
||||
- {
|
||||
|
@ -251,12 +251,9 @@
|
|||
- }
|
||||
- }
|
||||
- p->dicBufSize = dicBufSize;
|
||||
- p->prop = propNew;
|
||||
- return SZ_OK;
|
||||
-}
|
||||
|
||||
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
|
||||
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
|
||||
p->prop = propNew;
|
||||
return SZ_OK;
|
||||
}
|
||||
--- a/include/linux/lzma/LzmaEnc.h
|
||||
+++ b/include/linux/lzma/LzmaEnc.h
|
||||
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps
|
||||
|
@ -600,7 +597,7 @@
|
|||
void MatchFinder_Construct(CMatchFinder *p);
|
||||
|
||||
/* Conditions:
|
||||
@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
|
||||
@@ -70,12 +65,6 @@ int MatchFinder_Create(CMatchFinder *p,
|
||||
UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
|
||||
ISzAlloc *alloc);
|
||||
void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
|
||||
|
@ -689,7 +686,7 @@
|
|||
{
|
||||
memmove(p->bufferBase,
|
||||
p->buffer - p->keepSizeBefore,
|
||||
@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
|
||||
@@ -97,22 +103,14 @@ void MatchFinder_MoveBlock(CMatchFinder
|
||||
p->buffer = p->bufferBase + p->keepSizeBefore;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/Makefile
|
||||
+++ b/net/netfilter/Makefile
|
||||
@@ -134,6 +134,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
|
||||
@@ -134,6 +134,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RECENT)
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
|
||||
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include <net/net_namespace.h>
|
||||
#ifdef CONFIG_SYSCTL
|
||||
#include <linux/sysctl.h>
|
||||
@@ -268,10 +269,66 @@ static int ct_open(struct inode *inode,
|
||||
@@ -268,10 +269,66 @@ static int ct_open(struct inode *inode,
|
||||
sizeof(struct ct_iter_state));
|
||||
}
|
||||
|
||||
|
|
|
@ -76,11 +76,10 @@
|
|||
|
||||
counters = alloc_counters(table);
|
||||
if (IS_ERR(counters))
|
||||
@@ -960,6 +989,14 @@ copy_entries_to_user(unsigned int total_
|
||||
ret = -EFAULT;
|
||||
@@ -961,6 +990,14 @@ copy_entries_to_user(unsigned int total_
|
||||
goto free_counters;
|
||||
}
|
||||
+
|
||||
|
||||
+ flags = e->ip.flags & IPT_F_MASK;
|
||||
+ if (copy_to_user(userptr + off
|
||||
+ + offsetof(struct ipt_entry, ip.flags),
|
||||
|
@ -88,6 +87,7 @@
|
|||
+ ret = -EFAULT;
|
||||
+ goto free_counters;
|
||||
+ }
|
||||
|
||||
+
|
||||
for (i = sizeof(struct ipt_entry);
|
||||
i < e->target_offset;
|
||||
i += m->u.match_size) {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
/*
|
||||
* Get the required data from the packet.
|
||||
*/
|
||||
@@ -1440,6 +1446,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
@@ -1446,6 +1452,13 @@ static struct ctl_table tcp_sysctl_table
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/Makefile
|
||||
+++ b/net/netfilter/Makefile
|
||||
@@ -115,6 +115,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) +=
|
||||
@@ -115,6 +115,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
|
||||
|
|
|
@ -10,4 +10,3 @@
|
|||
err = xfrm_decode_session(skb, &fl, family);
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
}
|
||||
--- a/net/netfilter/nf_conntrack_standalone.c
|
||||
+++ b/net/netfilter/nf_conntrack_standalone.c
|
||||
@@ -477,6 +477,13 @@ static ctl_table nf_ct_sysctl_table[] =
|
||||
@@ -510,6 +510,13 @@ static ctl_table nf_ct_sysctl_table[] =
|
||||
.extra2 = &log_invalid_proto_max,
|
||||
},
|
||||
{
|
||||
|
@ -77,7 +77,7 @@
|
|||
.procname = "nf_conntrack_expect_max",
|
||||
.data = &nf_ct_expect_max,
|
||||
.maxlen = sizeof(int),
|
||||
@@ -512,6 +519,7 @@ static int nf_conntrack_standalone_init_
|
||||
@@ -545,6 +552,7 @@ static int nf_conntrack_standalone_init_
|
||||
table[2].data = &net->ct.htable_size;
|
||||
table[3].data = &net->ct.sysctl_checksum;
|
||||
table[4].data = &net->ct.sysctl_log_invalid;
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
#define PACKET_FANOUT_LB 1
|
||||
--- a/net/packet/af_packet.c
|
||||
+++ b/net/packet/af_packet.c
|
||||
@@ -1403,6 +1403,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1404,6 +1404,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 <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* When we registered the protocol we saved the socket in the data
|
||||
@@ -1410,6 +1411,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1411,6 +1412,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
*/
|
||||
|
||||
sk = pt->af_packet_priv;
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
|
||||
/*
|
||||
* Yank back the headers [hope the device set this
|
||||
@@ -1422,7 +1424,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
@@ -1423,7 +1425,7 @@ static int packet_rcv_spkt(struct sk_buf
|
||||
* so that this procedure is noop.
|
||||
*/
|
||||
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
goto out;
|
||||
|
||||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
@@ -1629,12 +1631,12 @@ static int packet_rcv(struct sk_buff *sk
|
||||
@@ -1630,12 +1632,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 <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -1747,12 +1749,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
@@ -1748,12 +1750,12 @@ static int tpacket_rcv(struct sk_buff *s
|
||||
struct timespec ts;
|
||||
__u32 ts_status;
|
||||
|
||||
|
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
if (!net_eq(dev_net(dev), sock_net(sk)))
|
||||
goto drop;
|
||||
|
||||
@@ -2641,6 +2643,7 @@ static int packet_create(struct net *net
|
||||
@@ -2654,6 +2656,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 <nbd@openwrt.org>
|
|||
|
||||
if (sock->type == SOCK_PACKET)
|
||||
po->prot_hook.func = packet_rcv_spkt;
|
||||
@@ -3251,6 +3254,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
@@ -3264,6 +3267,16 @@ packet_setsockopt(struct socket *sock, i
|
||||
po->tp_tx_has_off = !!val;
|
||||
return 0;
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
default:
|
||||
return -ENOPROTOOPT;
|
||||
}
|
||||
@@ -3302,6 +3315,13 @@ static int packet_getsockopt(struct sock
|
||||
@@ -3315,6 +3328,13 @@ static int packet_getsockopt(struct sock
|
||||
case PACKET_VNET_HDR:
|
||||
val = po->has_vnet_hdr;
|
||||
break;
|
||||
|
@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|||
break;
|
||||
--- a/net/packet/internal.h
|
||||
+++ b/net/packet/internal.h
|
||||
@@ -115,6 +115,7 @@ struct packet_sock {
|
||||
@@ -116,6 +116,7 @@ struct packet_sock {
|
||||
unsigned int tp_tstamp;
|
||||
struct net_device __rcu *cached_dev;
|
||||
struct packet_type prot_hook ____cacheline_aligned_in_smp;
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
Ethernet bridge, which means that the different Ethernet segments it
|
||||
--- a/net/ipv6/Makefile
|
||||
+++ b/net/ipv6/Makefile
|
||||
@@ -44,3 +44,4 @@ obj-y += addrconf_core.o exthdrs_core.o
|
||||
@@ -44,3 +44,4 @@ 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
|
||||
|
@ -49,7 +49,7 @@
|
|||
|
||||
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
|
||||
unsigned char banned_flags)
|
||||
@@ -5173,6 +5172,9 @@ int __init addrconf_init(void)
|
||||
@@ -5183,6 +5182,9 @@ int __init addrconf_init(void)
|
||||
|
||||
ipv6_addr_label_rtnl_register();
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
|||
return 0;
|
||||
errout:
|
||||
rtnl_af_unregister(&inet6_ops);
|
||||
@@ -5191,6 +5193,9 @@ void addrconf_cleanup(void)
|
||||
@@ -5201,6 +5203,9 @@ void addrconf_cleanup(void)
|
||||
struct net_device *dev;
|
||||
int i;
|
||||
|
||||
|
|
|
@ -197,7 +197,7 @@
|
|||
}
|
||||
#endif
|
||||
|
||||
@@ -1447,6 +1474,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1447,6 +1474,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
struct net_bridge_port *port,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
|
@ -205,7 +205,7 @@
|
|||
struct sk_buff *skb2 = skb;
|
||||
const struct iphdr *iph;
|
||||
struct igmphdr *ih;
|
||||
@@ -1522,7 +1550,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1522,7 +1550,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;
|
||||
|
@ -214,7 +214,7 @@
|
|||
break;
|
||||
case IGMPV3_HOST_MEMBERSHIP_REPORT:
|
||||
err = br_ip4_multicast_igmp3_report(br, port, skb2);
|
||||
@@ -1531,7 +1559,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
@@ -1531,7 +1559,7 @@ static int br_multicast_ipv4_rcv(struct
|
||||
err = br_ip4_multicast_query(br, port, skb2);
|
||||
break;
|
||||
case IGMP_HOST_LEAVE_MESSAGE:
|
||||
|
@ -223,7 +223,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
@@ -1548,6 +1576,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1548,6 +1576,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
struct net_bridge_port *port,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
|
@ -231,7 +231,7 @@
|
|||
struct sk_buff *skb2;
|
||||
const struct ipv6hdr *ip6h;
|
||||
u8 icmp6_type;
|
||||
@@ -1659,7 +1688,8 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1659,7 +1688,8 @@ static int br_multicast_ipv6_rcv(struct
|
||||
}
|
||||
mld = (struct mld_msg *)skb_transport_header(skb2);
|
||||
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
|
||||
|
@ -241,7 +241,7 @@
|
|||
break;
|
||||
}
|
||||
case ICMPV6_MLD2_REPORT:
|
||||
@@ -1676,7 +1706,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
@@ -1676,7 +1706,7 @@ static int br_multicast_ipv6_rcv(struct
|
||||
goto out;
|
||||
}
|
||||
mld = (struct mld_msg *)skb_transport_header(skb2);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/net/netlink/af_netlink.c
|
||||
+++ b/net/netlink/af_netlink.c
|
||||
@@ -1570,27 +1570,7 @@ void netlink_detachskb(struct sock *sk,
|
||||
@@ -1570,27 +1570,7 @@ void netlink_detachskb(struct sock *sk,
|
||||
|
||||
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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. */
|
||||
@@ -1245,6 +1395,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
@@ -1245,6 +1395,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||
t->parms.flowinfo = p->flowinfo;
|
||||
t->parms.link = p->link;
|
||||
t->parms.proto = p->proto;
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
err = -EINVAL;
|
||||
--- 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,
|
||||
},
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -261,7 +261,7 @@
|
|||
|
||||
if (++ring->start >= BGMAC_RX_RING_SLOTS)
|
||||
ring->start = 0;
|
||||
@@ -418,9 +494,6 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
@@ -418,9 +494,6 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
ring = &bgmac->tx_ring[i];
|
||||
ring->num_slots = BGMAC_TX_RING_SLOTS;
|
||||
ring->mmio_base = ring_base[i];
|
||||
|
@ -271,7 +271,7 @@
|
|||
|
||||
/* Alloc ring of descriptors */
|
||||
size = ring->num_slots * sizeof(struct bgmac_dma_desc);
|
||||
@@ -435,6 +508,13 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
@@ -435,6 +508,13 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
if (ring->dma_base & 0xC0000000)
|
||||
bgmac_warn(bgmac, "DMA address using 0xC0000000 bit(s), it may need translation trick\n");
|
||||
|
||||
|
@ -285,7 +285,7 @@
|
|||
/* No need to alloc TX slots yet */
|
||||
}
|
||||
|
||||
@@ -444,9 +524,6 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
@@ -444,9 +524,6 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
ring = &bgmac->rx_ring[i];
|
||||
ring->num_slots = BGMAC_RX_RING_SLOTS;
|
||||
ring->mmio_base = ring_base[i];
|
||||
|
@ -295,7 +295,7 @@
|
|||
|
||||
/* Alloc ring of descriptors */
|
||||
size = ring->num_slots * sizeof(struct bgmac_dma_desc);
|
||||
@@ -462,6 +539,13 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
@@ -462,6 +539,13 @@ static int bgmac_dma_alloc(struct bgmac
|
||||
if (ring->dma_base & 0xC0000000)
|
||||
bgmac_warn(bgmac, "DMA address using 0xC0000000 bit(s), it may need translation trick\n");
|
||||
|
||||
|
@ -333,7 +333,7 @@
|
|||
|
||||
ring->start = 0;
|
||||
ring->end = 0; /* Points the slot that should *not* be read */
|
||||
@@ -505,32 +589,20 @@ static void bgmac_dma_init(struct bgmac
|
||||
@@ -505,32 +589,20 @@ static void bgmac_dma_init(struct bgmac
|
||||
|
||||
ring = &bgmac->rx_ring[i];
|
||||
|
||||
|
@ -373,7 +373,7 @@
|
|||
ring->num_slots * sizeof(struct bgmac_dma_desc));
|
||||
|
||||
ring->start = 0;
|
||||
@@ -633,70 +705,6 @@ static int bgmac_phy_write(struct bgmac
|
||||
@@ -633,70 +705,6 @@ static int bgmac_phy_write(struct bgmac
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -458,7 +458,7 @@
|
|||
bgmac_err(bgmac, "PHY reset failed\n");
|
||||
bgmac_phy_init(bgmac);
|
||||
}
|
||||
@@ -762,13 +768,13 @@ static void bgmac_cmdcfg_maskset(struct
|
||||
@@ -762,13 +768,13 @@ static void bgmac_cmdcfg_maskset(struct
|
||||
u32 cmdcfg = bgmac_read(bgmac, BGMAC_CMDCFG);
|
||||
u32 new_val = (cmdcfg & mask) | set;
|
||||
|
||||
|
@ -692,7 +692,7 @@
|
|||
if (full_init) {
|
||||
bgmac_dma_init(bgmac);
|
||||
if (1) /* FIXME: is there any case we don't want IRQs? */
|
||||
@@ -1153,6 +1196,8 @@ static int bgmac_open(struct net_device
|
||||
@@ -1153,6 +1196,8 @@ static int bgmac_open(struct net_device
|
||||
}
|
||||
napi_enable(&bgmac->napi);
|
||||
|
||||
|
@ -701,7 +701,7 @@
|
|||
netif_carrier_on(net_dev);
|
||||
|
||||
err_out:
|
||||
@@ -1165,6 +1210,8 @@ static int bgmac_stop(struct net_device
|
||||
@@ -1165,6 +1210,8 @@ static int bgmac_stop(struct net_device
|
||||
|
||||
netif_carrier_off(net_dev);
|
||||
|
||||
|
@ -710,7 +710,7 @@
|
|||
napi_disable(&bgmac->napi);
|
||||
bgmac_chip_intrs_off(bgmac);
|
||||
free_irq(bgmac->core->irq, net_dev);
|
||||
@@ -1201,27 +1248,11 @@ static int bgmac_set_mac_address(struct
|
||||
@@ -1201,27 +1248,11 @@ static int bgmac_set_mac_address(struct
|
||||
static int bgmac_ioctl(struct net_device *net_dev, struct ifreq *ifr, int cmd)
|
||||
{
|
||||
struct bgmac *bgmac = netdev_priv(net_dev);
|
||||
|
|
|
@ -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[] = {
|
||||
@@ -1405,6 +1406,17 @@ static void bgmac_mii_unregister(struct
|
||||
@@ -1405,6 +1406,17 @@ static void bgmac_mii_unregister(struct
|
||||
mdiobus_free(mii_bus);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
default y
|
||||
--- a/drivers/pci/quirks.c
|
||||
+++ b/drivers/pci/quirks.c
|
||||
@@ -44,6 +44,7 @@ static void quirk_mmio_always_on(struct
|
||||
@@ -44,6 +44,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);
|
||||
|
||||
|
|
|
@ -199,7 +199,7 @@
|
|||
&fib_triestat_fops))
|
||||
goto out2;
|
||||
|
||||
@@ -2600,17 +2602,21 @@ int __net_init fib_proc_init(struct net
|
||||
@@ -2600,17 +2602,21 @@ int __net_init fib_proc_init(struct net
|
||||
return 0;
|
||||
|
||||
out3:
|
||||
|
@ -239,7 +239,7 @@
|
|||
|
||||
--- a/net/ipv4/route.c
|
||||
+++ b/net/ipv4/route.c
|
||||
@@ -423,6 +423,9 @@ static struct pernet_operations ip_rt_pr
|
||||
@@ -424,6 +424,9 @@ static struct pernet_operations ip_rt_pr
|
||||
|
||||
static int __init ip_rt_proc_init(void)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/init/main.c
|
||||
+++ b/init/main.c
|
||||
@@ -840,7 +840,8 @@ static int __ref kernel_init(void *unuse
|
||||
@@ -844,7 +844,8 @@ static int __ref kernel_init(void *unuse
|
||||
pr_err("Failed to execute %s. Attempting defaults...\n",
|
||||
execute_command);
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
@@ -796,6 +806,63 @@ void add_disk_randomness(struct gendisk
|
||||
@@ -796,6 +806,63 @@ void add_disk_randomness(struct gendisk
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/mm/shmem.c
|
||||
+++ b/mm/shmem.c
|
||||
@@ -2883,6 +2883,15 @@ static struct dentry_operations anon_ops
|
||||
@@ -2965,6 +2965,15 @@ static struct dentry_operations anon_ops
|
||||
.d_dname = simple_dname
|
||||
};
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
|||
/**
|
||||
* shmem_file_setup - get an unlinked file living in tmpfs
|
||||
* @name: name for dentry (to be seen in /proc/<pid>/maps
|
||||
@@ -2956,11 +2965,8 @@ int shmem_zero_setup(struct vm_area_stru
|
||||
@@ -3038,11 +3047,8 @@ int shmem_zero_setup(struct vm_area_stru
|
||||
file = shmem_file_setup("dev/zero", size, vma->vm_flags);
|
||||
if (IS_ERR(file))
|
||||
return PTR_ERR(file);
|
||||
|
@ -41,7 +41,7 @@
|
|||
{
|
||||
--- a/kernel/exit.c
|
||||
+++ b/kernel/exit.c
|
||||
@@ -501,6 +501,8 @@ static void exit_mm(struct task_struct *
|
||||
@@ -502,6 +502,8 @@ static void exit_mm(struct task_struct *
|
||||
mm_update_next_owner(mm);
|
||||
mmput(mm);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
|
|||
{
|
||||
--- a/drivers/watchdog/mpcore_wdt.c
|
||||
+++ b/drivers/watchdog/mpcore_wdt.c
|
||||
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
|
||||
@@ -101,9 +101,7 @@ static void mpcore_wdt_keepalive(struct
|
||||
|
||||
spin_lock(&wdt_lock);
|
||||
/* Assume prescale is set to 256 */
|
||||
|
|
Loading…
Reference in New Issue