kernel: refresh generic 3.10 patches

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

SVN-Revision: 43050
This commit is contained in:
Felix Fietkau 2014-10-24 20:39:36 +00:00
parent 0aca075a97
commit 7004b79665
41 changed files with 100 additions and 104 deletions

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, @@ -683,7 +683,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

@ -15,7 +15,7 @@
{USB_DEVICE(0x0af0, 0xd155)}, {USB_DEVICE(0x0af0, 0xd155)},
--- a/drivers/usb/storage/unusual_devs.h --- a/drivers/usb/storage/unusual_devs.h
+++ b/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, USB_SC_DEVICE, USB_PR_DEVICE, NULL,
0 ), 0 ),

View file

@ -322,7 +322,7 @@
extern const struct file_operations pipefifo_fops; extern const struct file_operations pipefifo_fops;
--- a/fs/namei.c --- a/fs/namei.c
+++ b/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); return security_inode_permission(inode, mask);
} }
@ -348,7 +348,7 @@
goto out; goto out;
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/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(); namespace_unlock();
} }
@ -3220,7 +3220,7 @@
file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping); file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping);
--- a/include/linux/mount.h --- a/include/linux/mount.h
+++ b/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 void mnt_unpin(struct vfsmount *mnt);
extern int __mnt_is_readonly(struct vfsmount *mnt); extern int __mnt_is_readonly(struct vfsmount *mnt);

View file

@ -179,7 +179,7 @@ Date: Wed Jul 9 12:08:23 2014 +0200
/* Avoid PM error messages for devices disconnected while suspended /* Avoid PM error messages for devices disconnected while suspended
--- a/drivers/usb/core/hub.c --- a/drivers/usb/core/hub.c
+++ b/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 == else if (cintf->condition ==
USB_INTERFACE_BOUND) USB_INTERFACE_BOUND)
rebind = 1; rebind = 1;

View file

@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/init/Kconfig --- a/init/Kconfig
+++ b/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 "sha384" if MODULE_SIG_SHA384
default "sha512" if MODULE_SIG_SHA512 default "sha512" if MODULE_SIG_SHA512

View file

@ -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

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

@ -20,7 +20,7 @@
/* /*
* Get the required data from the packet. * 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, .mode = 0644,
.proc_handler = proc_dointvec, .proc_handler = proc_dointvec,
}, },

View file

@ -10,4 +10,3 @@
err = xfrm_decode_session(skb, &fl, family); err = xfrm_decode_session(skb, &fl, family);
if (err < 0) if (err < 0)
return err; return err;

View file

@ -63,7 +63,7 @@
} }
--- 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
@@ -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, .extra2 = &log_invalid_proto_max,
}, },
{ {
@ -77,7 +77,7 @@
.procname = "nf_conntrack_expect_max", .procname = "nf_conntrack_expect_max",
.data = &nf_ct_expect_max, .data = &nf_ct_expect_max,
.maxlen = sizeof(int), .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[2].data = &net->ct.htable_size;
table[3].data = &net->ct.sysctl_checksum; table[3].data = &net->ct.sysctl_checksum;
table[4].data = &net->ct.sysctl_log_invalid; table[4].data = &net->ct.sysctl_log_invalid;

View file

@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#define PACKET_FANOUT_LB 1 #define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c --- a/net/packet/af_packet.c
+++ b/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 sock *sk;
struct sockaddr_pkt *spkt; 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 * 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; 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 * 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. * so that this procedure is noop.
*/ */
@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
goto out; goto out;
if (!net_eq(dev_net(dev), sock_net(sk))) 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; int skb_len = skb->len;
unsigned int snaplen, res; 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))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; 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; struct timespec ts;
__u32 ts_status; __u32 ts_status;
@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; 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); spin_lock_init(&po->bind_lock);
mutex_init(&po->pg_vec_lock); mutex_init(&po->pg_vec_lock);
po->prot_hook.func = packet_rcv; po->prot_hook.func = packet_rcv;
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (sock->type == SOCK_PACKET) if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt; 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; po->tp_tx_has_off = !!val;
return 0; return 0;
} }
@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
default: default:
return -ENOPROTOOPT; 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: case PACKET_VNET_HDR:
val = po->has_vnet_hdr; val = po->has_vnet_hdr;
break; break;
@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
break; break;
--- a/net/packet/internal.h --- a/net/packet/internal.h
+++ b/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; unsigned int tp_tstamp;
struct net_device __rcu *cached_dev; struct net_device __rcu *cached_dev;
struct packet_type prot_hook ____cacheline_aligned_in_smp; struct packet_type prot_hook ____cacheline_aligned_in_smp;

View file

@ -49,7 +49,7 @@
int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr, int __ipv6_get_lladdr(struct inet6_dev *idev, struct in6_addr *addr,
unsigned char banned_flags) 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(); 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);
@@ -5191,6 +5193,9 @@ void addrconf_cleanup(void) @@ -5201,6 +5203,9 @@ void addrconf_cleanup(void)
struct net_device *dev; struct net_device *dev;
int i; int i;

View file

@ -239,7 +239,7 @@
--- a/net/ipv4/route.c --- a/net/ipv4/route.c
+++ b/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) static int __init ip_rt_proc_init(void)
{ {

View file

@ -1,6 +1,6 @@
--- a/init/main.c --- a/init/main.c
+++ b/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", pr_err("Failed to execute %s. Attempting defaults...\n",
execute_command); execute_command);
} }

View file

@ -1,6 +1,6 @@
--- a/mm/shmem.c --- a/mm/shmem.c
+++ b/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 .d_dname = simple_dname
}; };
@ -16,7 +16,7 @@
/** /**
* shmem_file_setup - get an unlinked file living in tmpfs * shmem_file_setup - get an unlinked file living in tmpfs
* @name: name for dentry (to be seen in /proc/<pid>/maps * @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); file = shmem_file_setup("dev/zero", size, vma->vm_flags);
if (IS_ERR(file)) if (IS_ERR(file))
return PTR_ERR(file); return PTR_ERR(file);
@ -41,7 +41,7 @@
{ {
--- a/kernel/exit.c --- a/kernel/exit.c
+++ b/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); mm_update_next_owner(mm);
mmput(mm); mmput(mm);
} }