kernel: update to linux 3.10.4, refresh patches

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37617
This commit is contained in:
Felix Fietkau 2013-07-29 22:42:22 +00:00
parent 36e6d4ca53
commit 8f04792531
25 changed files with 67 additions and 70 deletions

View file

@ -17,8 +17,8 @@ endif
ifeq ($(LINUX_VERSION),3.9.11) ifeq ($(LINUX_VERSION),3.9.11)
LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755 LINUX_KERNEL_MD5SUM:=edbf88eb7f7d34dbd5d3887726790755
endif endif
ifeq ($(LINUX_VERSION),3.10.3) ifeq ($(LINUX_VERSION),3.10.4)
LINUX_KERNEL_MD5SUM:=30d2f96003778d03fa102b319f46b0c9 LINUX_KERNEL_MD5SUM:=0378156d0a4ebf155d083531c3cb3826
endif endif
# disable the md5sum check for unknown kernel versions # disable the md5sum check for unknown kernel versions

View file

@ -13,7 +13,7 @@ FEATURES:=squashfs targz mips16
CFLAGS:=-Os -pipe -mips32r2 -mtune=34kc -mno-branch-likely CFLAGS:=-Os -pipe -mips32r2 -mtune=34kc -mno-branch-likely
SUBTARGETS:=generic nand SUBTARGETS:=generic nand
LINUX_VERSION:=3.10.3 LINUX_VERSION:=3.10.4
include $(INCLUDE_DIR)/target.mk include $(INCLUDE_DIR)/target.mk

View file

@ -20,7 +20,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
--- a/arch/mips/kernel/unaligned.c --- a/arch/mips/kernel/unaligned.c
+++ b/arch/mips/kernel/unaligned.c +++ b/arch/mips/kernel/unaligned.c
@@ -684,7 +684,8 @@ const int reg16to32[] = { 16, 17, 2, 3, @@ -684,7 +684,8 @@ const int reg16to32[] = { 16, 17, 2, 3,
/* Recode table from 16-bit STORE register notation to 32-bit GPR. */ /* Recode table from 16-bit STORE register notation to 32-bit GPR. */
const int reg16to32st[] = { 0, 17, 2, 3, 4, 5, 6, 7 }; const int reg16to32st[] = { 0, 17, 2, 3, 4, 5, 6, 7 };

View file

@ -66,7 +66,7 @@
} }
EXPORT_SYMBOL_GPL(bcma_core_disable); 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_aread32(core, BCMA_IOCTL);
bcma_awrite32(core, BCMA_RESET_CTL, 0); bcma_awrite32(core, BCMA_RESET_CTL, 0);
@ -269,7 +269,7 @@
{ "AT45DB011", 0xc, 256, 512, }, { "AT45DB011", 0xc, 256, 512, },
{ "AT45DB021", 0x14, 256, 1024, }, { "AT45DB021", 0x14, 256, 1024, },
{ "AT45DB041", 0x1c, 256, 2048, }, { "AT45DB041", 0x1c, 256, 2048, },
@@ -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_bus *bus = cc->core->bus;
struct bcma_sflash *sflash = &cc->sflash; struct bcma_sflash *sflash = &cc->sflash;

View file

@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#ifdef MODULE #ifdef MODULE
#define __MODULE_INFO(tag, name, info) \ #define __MODULE_INFO(tag, name, info) \
static const char __UNIQUE_ID(name)[] \ 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 = __stringify(tag) "=" info
#else /* !MODULE */ #else /* !MODULE */
/* This struct is here for syntactic coherency, it is not used */ /* This struct is here for syntactic coherency, it is not used */
@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#endif #endif
#define __MODULE_PARM_TYPE(name, _type) \ #define __MODULE_PARM_TYPE(name, _type) \
__MODULE_INFO(parmtype, name##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 /* One for each parameter, describing how to use it. Some files do
multiple of these per line, so can't just use MODULE_INFO. */ multiple of these per line, so can't just use MODULE_INFO. */
#define MODULE_PARM_DESC(_parm, desc) \ #define MODULE_PARM_DESC(_parm, desc) \

View file

@ -1,6 +1,6 @@
--- a/scripts/Makefile.lib --- a/scripts/Makefile.lib
+++ b/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 $@ quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(filter-out FORCE,$^) | \ cmd_lzma = (cat $(filter-out FORCE,$^) | \

View file

@ -1,6 +1,6 @@
--- a/arch/mips/include/asm/string.h --- a/arch/mips/include/asm/string.h
+++ b/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 #define __HAVE_ARCH_MEMSET
extern void *memset(void *__s, int __c, size_t __count); extern void *memset(void *__s, int __c, size_t __count);

View file

@ -27,7 +27,7 @@
/* Spansion -- single (large) sector size only, at least /* Spansion -- single (large) sector size only, at least
* for the chips listed here (without boot sectors). * for the chips listed here (without boot sectors).
*/ */
@@ -1018,6 +1024,9 @@ static int m25p_probe(struct spi_device @@ -1018,6 +1024,9 @@ static int m25p_probe(struct spi_device
if (info->flags & SECT_4K) { if (info->flags & SECT_4K) {
flash->erase_opcode = OPCODE_BE_4K; flash->erase_opcode = OPCODE_BE_4K;
flash->mtd.erasesize = 4096; flash->mtd.erasesize = 4096;

View file

@ -30,7 +30,7 @@
/****************************************************************************/ /****************************************************************************/
struct m25p { struct m25p {
@@ -1022,7 +1028,7 @@ static int m25p_probe(struct spi_device @@ -1022,7 +1028,7 @@ static int m25p_probe(struct spi_device
flash->mtd._write = m25p80_write; flash->mtd._write = m25p80_write;
/* prefer "small sector" erase if possible */ /* prefer "small sector" erase if possible */

View file

@ -26,7 +26,7 @@ Signed-off-by: Charles Manning <cdhmanning@gmail.com>
#include <linux/pagemap.h> #include <linux/pagemap.h>
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
@@ -236,7 +238,9 @@ static int yaffs_file_flush(struct file @@ -236,7 +238,9 @@ static int yaffs_file_flush(struct file
static int yaffs_file_flush(struct file *file); static int yaffs_file_flush(struct file *file);
#endif #endif

View file

@ -216,7 +216,7 @@
result = yaffs_rd_chunk_tags_nand(dev,nand_chunk,buffer,&tempTags); result = yaffs_rd_chunk_tags_nand(dev,nand_chunk,buffer,&tempTags);
if(memcmp(buffer,data,dev->data_bytes_per_chunk) || if(memcmp(buffer,data,dev->data_bytes_per_chunk) ||
tempTags.obj_id != tags->obj_id || tempTags.obj_id != tags->obj_id ||
@@ -424,7 +424,7 @@ static int yaffs_write_new_chunk(struct @@ -424,7 +424,7 @@ static int yaffs_write_new_chunk(struct
* lot of checks that are most likely not needed. * lot of checks that are most likely not needed.
* *
* Mods to the above * Mods to the above
@ -225,7 +225,7 @@
* rest of the block. * rest of the block.
*/ */
@@ -486,7 +486,7 @@ static int yaffs_write_new_chunk(struct @@ -486,7 +486,7 @@ static int yaffs_write_new_chunk(struct
} }
@ -279,7 +279,7 @@
/* Free chunks already includes softdeleted chunks. /* Free chunks already includes softdeleted chunks.
* How ever this chunk is going to soon be really deleted * How ever this chunk is going to soon be really deleted
* which will increment free chunks. * which will increment free chunks.
@@ -2752,7 +2752,7 @@ int yaffs_put_chunk_in_file(yaffs_obj_t @@ -2752,7 +2752,7 @@ int yaffs_put_chunk_in_file(yaffs_obj_t
NULL); NULL);
if (!tn) if (!tn)
return YAFFS_FAIL; return YAFFS_FAIL;
@ -455,7 +455,7 @@
#ifdef CONFIG_YAFFS_SHORT_NAMES_IN_RAM #ifdef CONFIG_YAFFS_SHORT_NAMES_IN_RAM
else if (obj->short_name[0]) { else if (obj->short_name[0]) {
yaffs_strcpy(name, obj->short_name); yaffs_strcpy(name, obj->short_name);
@@ -4861,9 +4861,9 @@ int yaffs_set_attribs(yaffs_obj_t *obj, @@ -4861,9 +4861,9 @@ int yaffs_set_attribs(yaffs_obj_t *obj,
if (valid & ATTR_MODE) if (valid & ATTR_MODE)
obj->yst_mode = attr->ia_mode; obj->yst_mode = attr->ia_mode;
if (valid & ATTR_UID) if (valid & ATTR_UID)
@ -467,7 +467,7 @@
if (valid & ATTR_ATIME) if (valid & ATTR_ATIME)
obj->yst_atime = Y_TIME_CONVERT(attr->ia_atime); obj->yst_atime = Y_TIME_CONVERT(attr->ia_atime);
@@ -4886,9 +4886,9 @@ int yaffs_get_attribs(yaffs_obj_t *obj, @@ -4886,9 +4886,9 @@ int yaffs_get_attribs(yaffs_obj_t *obj,
attr->ia_mode = obj->yst_mode; attr->ia_mode = obj->yst_mode;
valid |= ATTR_MODE; valid |= ATTR_MODE;

View file

@ -8,7 +8,7 @@
static struct proc_dir_entry *my_proc_entry; static struct proc_dir_entry *my_proc_entry;
static struct proc_dir_entry *debug_proc_entry; static struct proc_dir_entry *debug_proc_entry;
@@ -3668,6 +3669,7 @@ static int yaffs_proc_write(struct file @@ -3668,6 +3669,7 @@ static int yaffs_proc_write(struct file
{ {
return yaffs_proc_write_trace_options(file, buf, count, data); return yaffs_proc_write_trace_options(file, buf, count, data);
} }

View file

@ -124,7 +124,7 @@
/* LzmaDecode /* LzmaDecode
--- a/lib/lzma/LzmaDec.c --- a/lib/lzma/LzmaDec.c
+++ b/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; p->needFlush = 0;
} }
@ -219,26 +219,26 @@
{ {
UInt32 dicSize; UInt32 dicSize;
Byte d; Byte d;
@@ -935,7 +883,7 @@ static SRes LzmaDec_AllocateProbs2(CLzma @@ -935,33 +883,11 @@ static SRes LzmaDec_AllocateProbs2(CLzma
return SZ_OK; return SZ_OK;
} }
-SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) -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) +static SRes LzmaDec_AllocateProbs(CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc)
{ {
CLzmaProps propNew; 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; - SizeT dicBufSize;
- RINOK(LzmaProps_Decode(&propNew, props, propsSize)); RINOK(LzmaProps_Decode(&propNew, props, propsSize));
- RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc)); RINOK(LzmaDec_AllocateProbs2(p, &propNew, alloc));
- dicBufSize = propNew.dicSize; - dicBufSize = propNew.dicSize;
- if (p->dic == 0 || dicBufSize != p->dicBufSize) - if (p->dic == 0 || dicBufSize != p->dicBufSize)
- { - {
@ -251,12 +251,9 @@
- } - }
- } - }
- p->dicBufSize = dicBufSize; - p->dicBufSize = dicBufSize;
- p->prop = propNew; p->prop = propNew;
- return SZ_OK; return SZ_OK;
-} }
SRes LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode,
--- a/include/linux/lzma/LzmaEnc.h --- a/include/linux/lzma/LzmaEnc.h
+++ b/include/linux/lzma/LzmaEnc.h +++ b/include/linux/lzma/LzmaEnc.h
@@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps @@ -31,9 +31,6 @@ typedef struct _CLzmaEncProps
@ -600,7 +597,7 @@
void MatchFinder_Construct(CMatchFinder *p); void MatchFinder_Construct(CMatchFinder *p);
/* Conditions: /* 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, UInt32 keepAddBufferBefore, UInt32 matchMaxLen, UInt32 keepAddBufferAfter,
ISzAlloc *alloc); ISzAlloc *alloc);
void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc); void MatchFinder_Free(CMatchFinder *p, ISzAlloc *alloc);
@ -689,7 +686,7 @@
{ {
memmove(p->bufferBase, memmove(p->bufferBase,
p->buffer - p->keepSizeBefore, 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; p->buffer = p->bufferBase + p->keepSizeBefore;
} }

View file

@ -30,7 +30,7 @@
depends on NETFILTER_ADVANCED depends on NETFILTER_ADVANCED
--- a/net/netfilter/Makefile --- a/net/netfilter/Makefile
+++ b/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_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o obj-$(CONFIG_NETFILTER_XT_MATCH_SOCKET) += xt_socket.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o

View file

@ -1,6 +1,6 @@
--- a/net/netfilter/nf_conntrack_standalone.c --- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c
@@ -268,10 +268,34 @@ static int ct_open(struct inode *inode, @@ -268,10 +268,34 @@ static int ct_open(struct inode *inode,
sizeof(struct ct_iter_state)); sizeof(struct ct_iter_state));
} }

View file

@ -76,11 +76,10 @@
counters = alloc_counters(table); counters = alloc_counters(table);
if (IS_ERR(counters)) if (IS_ERR(counters))
@@ -960,6 +989,14 @@ copy_entries_to_user(unsigned int total_ @@ -961,6 +990,14 @@ copy_entries_to_user(unsigned int total_
ret = -EFAULT;
goto free_counters; goto free_counters;
} }
+
+ flags = e->ip.flags & IPT_F_MASK; + flags = e->ip.flags & IPT_F_MASK;
+ if (copy_to_user(userptr + off + if (copy_to_user(userptr + off
+ + offsetof(struct ipt_entry, ip.flags), + + offsetof(struct ipt_entry, ip.flags),
@ -88,6 +87,7 @@
+ ret = -EFAULT; + ret = -EFAULT;
+ goto free_counters; + goto free_counters;
+ } + }
+
for (i = sizeof(struct ipt_entry); for (i = sizeof(struct ipt_entry);
i < e->target_offset; i < e->target_offset;
i += m->u.match_size) {

View file

@ -1,6 +1,6 @@
--- a/include/net/addrconf.h --- a/include/net/addrconf.h
+++ b/include/net/addrconf.h +++ b/include/net/addrconf.h
@@ -96,6 +96,12 @@ extern void addrconf_join_solict(struc @@ -99,6 +99,12 @@ extern void addrconf_join_solict(struc
extern void addrconf_leave_solict(struct inet6_dev *idev, extern void addrconf_leave_solict(struct inet6_dev *idev,
const struct in6_addr *addr); const struct in6_addr *addr);
@ -25,7 +25,7 @@
Ethernet bridge, which means that the different Ethernet segments it Ethernet bridge, which means that the different Ethernet segments it
--- a/net/ipv6/Makefile --- a/net/ipv6/Makefile
+++ b/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-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload)
obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o
@ -47,9 +47,9 @@
} }
-EXPORT_SYMBOL(ipv6_dev_get_saddr); -EXPORT_SYMBOL(ipv6_dev_get_saddr);
int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr, int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
unsigned char banned_flags) unsigned char banned_flags)
@@ -5137,6 +5136,9 @@ int __init addrconf_init(void) @@ -5145,6 +5144,9 @@ int __init addrconf_init(void)
ipv6_addr_label_rtnl_register(); ipv6_addr_label_rtnl_register();
@ -59,7 +59,7 @@
return 0; return 0;
errout: errout:
rtnl_af_unregister(&inet6_ops); rtnl_af_unregister(&inet6_ops);
@@ -5155,6 +5157,9 @@ void addrconf_cleanup(void) @@ -5163,6 +5165,9 @@ void addrconf_cleanup(void)
struct net_device *dev; struct net_device *dev;
int i; int i;

View file

@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c --- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c
@@ -1503,27 +1503,7 @@ void netlink_detachskb(struct sock *sk, @@ -1503,27 +1503,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{ {

View file

@ -24,7 +24,7 @@ commont qdiscs.
} }
--- a/net/sched/sch_fifo.c --- a/net/sched/sch_fifo.c
+++ b/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) static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
{ {

View file

@ -56,7 +56,7 @@
err = -EINVAL; err = -EINVAL;
--- a/net/ipv4/fib_semantics.c --- a/net/ipv4/fib_semantics.c
+++ b/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, .error = -EINVAL,
.scope = RT_SCOPE_NOWHERE, .scope = RT_SCOPE_NOWHERE,
}, },
@ -112,7 +112,7 @@
return -EINVAL; return -EINVAL;
--- a/net/ipv6/route.c --- a/net/ipv6/route.c
+++ b/net/ipv6/route.c +++ b/net/ipv6/route.c
@@ -245,6 +245,24 @@ static const struct rt6_info ip6_prohibi @@ -251,6 +251,24 @@ static const struct rt6_info ip6_prohibi
.rt6i_ref = ATOMIC_INIT(1), .rt6i_ref = ATOMIC_INIT(1),
}; };
@ -137,7 +137,7 @@
static const struct rt6_info ip6_blk_hole_entry_template = { static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = { .dst = {
.__refcnt = ATOMIC_INIT(1), .__refcnt = ATOMIC_INIT(1),
@@ -1459,6 +1477,9 @@ int ip6_route_add(struct fib6_config *cf @@ -1481,6 +1499,9 @@ int ip6_route_add(struct fib6_config *cf
case RTN_THROW: case RTN_THROW:
rt->dst.error = -EAGAIN; rt->dst.error = -EAGAIN;
break; break;
@ -147,7 +147,7 @@
default: default:
rt->dst.error = -ENETUNREACH; rt->dst.error = -ENETUNREACH;
break; break;
@@ -2035,6 +2056,17 @@ static int ip6_pkt_prohibit_out(struct s @@ -2057,6 +2078,17 @@ static int ip6_pkt_prohibit_out(struct s
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
} }
@ -165,7 +165,7 @@
#endif #endif
/* /*
@@ -2240,7 +2272,8 @@ static int rtm_to_fib6_config(struct sk_ @@ -2262,7 +2294,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -175,7 +175,7 @@
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -2442,6 +2475,9 @@ static int rt6_fill_node(struct net *net @@ -2464,6 +2497,9 @@ static int rt6_fill_node(struct net *net
case -EACCES: case -EACCES:
rtm->rtm_type = RTN_PROHIBIT; rtm->rtm_type = RTN_PROHIBIT;
break; break;
@ -185,7 +185,7 @@
case -EAGAIN: case -EAGAIN:
rtm->rtm_type = RTN_THROW; rtm->rtm_type = RTN_THROW;
break; break;
@@ -2692,6 +2728,8 @@ static int ip6_route_dev_notify(struct n @@ -2714,6 +2750,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -194,7 +194,7 @@
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -2952,6 +2990,17 @@ static int __net_init ip6_route_net_init @@ -2974,6 +3012,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@ -212,7 +212,7 @@
#endif #endif
net->ipv6.sysctl.flush_delay = 0; net->ipv6.sysctl.flush_delay = 0;
@@ -2970,6 +3019,8 @@ out: @@ -2992,6 +3041,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -221,7 +221,7 @@
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -2987,6 +3038,7 @@ static void __net_exit ip6_route_net_exi @@ -3009,6 +3060,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
@ -229,7 +229,7 @@
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
} }
@@ -3083,6 +3135,9 @@ int __init ip6_route_init(void) @@ -3105,6 +3157,9 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View file

@ -1,6 +1,6 @@
--- a/drivers/net/wireless/hostap/hostap_ap.c --- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/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; addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN); memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0) if (sta->last_rx_silence == 0)

View file

@ -15,7 +15,7 @@
default y default y
--- a/drivers/pci/quirks.c --- a/drivers/pci/quirks.c
+++ b/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, DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on);

View file

@ -199,7 +199,7 @@
&fib_triestat_fops)) &fib_triestat_fops))
goto out2; goto out2;
@@ -2603,17 +2605,21 @@ int __net_init fib_proc_init(struct net @@ -2603,17 +2605,21 @@ int __net_init fib_proc_init(struct net
return 0; return 0;
out3: out3:

View file

@ -24,7 +24,7 @@
* All of these routines try to estimate how many bits of randomness a * All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the * particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings. * 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 #endif

View file

@ -62,7 +62,7 @@ Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
{ {
--- a/drivers/watchdog/mpcore_wdt.c --- a/drivers/watchdog/mpcore_wdt.c
+++ b/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); spin_lock(&wdt_lock);
/* Assume prescale is set to 256 */ /* Assume prescale is set to 256 */