summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/linux-grsec/APKBUILD14
-rw-r--r--main/linux-grsec/grsecurity-2.9.1-3.10.23-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.9.1-3.10.22-unofficial.patch)294
2 files changed, 154 insertions, 154 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 1a5f127e4..b08548eb8 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.10.22
+pkgver=3.10.23
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -151,8 +151,8 @@ dev() {
}
md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz
-a618186bdb6f5b38dc831875b0d3a1cb patch-3.10.22.xz
-86c74e12d4219d397d8fdb3e59dbab30 grsecurity-2.9.1-3.10.22-unofficial.patch
+8b9650e10f8beee769545b51202766a5 patch-3.10.23.xz
+82efe899230f7246ca99f3d334c0c1b8 grsecurity-2.9.1-3.10.23-unofficial.patch
a16f11b12381efb3bec79b9bfb329836 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
656ae7b10dd2f18dbfa1011041d08d60 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
aa454ffb96428586447775c21449e284 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
@@ -164,8 +164,8 @@ b3c0153d53e508e03d73b94d15b24a96 sysctl_lxc.patch
cb5c938dccbee36cfb8bb7ee3546b8af kernelconfig.x86
daa81b89f18254155ac33c5239abf3a4 kernelconfig.x86_64"
sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz
-9c889789a1ed733d97c7e34ca67c8c4c3afd69791a4219f842ef7913b24c9115 patch-3.10.22.xz
-cc3d9d1dd9976e2df2278eb8a656026916b35f05e5b1f042d212ce89d9841c1a grsecurity-2.9.1-3.10.22-unofficial.patch
+bdf3983ff3e26c5781edb19a8d0d7765e2e0282cfabda2b0652cc0deff53f445 patch-3.10.23.xz
+f0dfa654e64e79c96127a0f8cd4867a0170f099c7116e7f45e27572294b1b818 grsecurity-2.9.1-3.10.23-unofficial.patch
6af3757ac36a6cd3cda7b0a71b08143726383b19261294a569ad7f4042c72df3 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
dc8e82108615657f1fb9d641efd42255a5761c06edde1b00a41ae0d314d548f0 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
0985caa0f3ee8ed0959aeaa4214f5f8057ae8e61d50dcae39194912d31e14892 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
@@ -177,8 +177,8 @@ fc613ac466610b866b721c41836fd5bfb2d4b75bceb67972dc6369d7f62ff47e 0006-ipv4-use-
3e6c4101bfb90b6a30173ef81cd0d0bea51d6a995fc045ca67db7fed271d969d kernelconfig.x86
da67ef700372d080bffb12a86f0a16c987dc79e18fdfb1a88d2704660239e5f0 kernelconfig.x86_64"
sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz
-bb62ecf2467aa7543b191ea3e7749fa37f5bddefc5726e6ca7ff4ce1c98e2bb88effbd52af5ea6e42b638d54b1b845fe0b62150866c100a9773dd3d81c9cee8d patch-3.10.22.xz
-33daf2b324ecaa55dcabc35a48f1bfc0966aa55b5ffecbacd198c006dcf93aaa91fa1fe46451e562c15a380cc12cccb84d4b426ecc799556cd48bea12a2eab73 grsecurity-2.9.1-3.10.22-unofficial.patch
+0fdb65f1c45e490e1f2206589273e4b8f0f142ab6b16341cb52977e0c6a983b359f01456a9cae3e1c139d5ead5de106c10909b7fdb6a156675cad5d39374e97f patch-3.10.23.xz
+8905d7215d9f82662e0e7b897fc2fb258c5978d12fed9cf618e60c7b0926af2f76e3b242140e9d3ab4988cee684f350aaf26270d1a8518297cde9928361d146d grsecurity-2.9.1-3.10.23-unofficial.patch
81e78593288e8b0fd2c03ea9fc1450323887707f087e911f172450a122bc9b591ee83394836789730d951aeec13d0b75a64e1c05f04364abf8f80d883ddc4a02 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch
51ecb15b669f6a82940a13a38939116e003bf5dfd24496771c8279e907b72adcc63d607f0340a2940d757e12ddadb7d45c7af78ae311d284935a6296dbcac00c 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch
57d0a8bd35d19cf657ded58efe24517d2252aec6984040713ba173a34edb5887ececaa2985076bc6a149eaa57639fd98a042c1c2d226ed4ad8dd5ed0e230717e 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch
diff --git a/main/linux-grsec/grsecurity-2.9.1-3.10.22-unofficial.patch b/main/linux-grsec/grsecurity-2.9.1-3.10.23-unofficial.patch
index 4550f0d67..cc4eeaf73 100644
--- a/main/linux-grsec/grsecurity-2.9.1-3.10.22-unofficial.patch
+++ b/main/linux-grsec/grsecurity-2.9.1-3.10.23-unofficial.patch
@@ -281,7 +281,7 @@ index 2fe6e76..889ee23 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 001188c..5f48732 100644
+index c6d2ec5..b2bfe62 100644
--- a/Makefile
+++ b/Makefile
@@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -35596,7 +35596,7 @@ index 1dc0519..1aadaf7 100644
// free the skb
hrz_kfree_skb (skb);
diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
-index 272f009..a18ba55 100644
+index 1bdf104..9dc44b1 100644
--- a/drivers/atm/idt77252.c
+++ b/drivers/atm/idt77252.c
@@ -812,7 +812,7 @@ drain_scq(struct idt77252_dev *card, struct vc_map *vc)
@@ -43955,7 +43955,7 @@ index d3f8797..82a03d3 100644
vlan_req = (struct qlcnic_vlan_req *)&req->words[1];
vlan_req->vlan_id = cpu_to_le16(vlan_id);
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
-index 7199d2a..0cae710 100644
+index e9b5d77a..1898ba7 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -753,22 +753,22 @@ struct rtl8169_private {
@@ -44098,10 +44098,10 @@ index 06eba6e..a06bf31 100644
};
diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
-index 523d6b2..5e16aa1 100644
+index c70ff7d..10fcffc 100644
--- a/drivers/net/macvtap.c
+++ b/drivers/net/macvtap.c
-@@ -1110,7 +1110,7 @@ static int macvtap_device_event(struct notifier_block *unused,
+@@ -1116,7 +1116,7 @@ static int macvtap_device_event(struct notifier_block *unused,
return NOTIFY_DONE;
}
@@ -44158,10 +44158,10 @@ index 1252d9c..80e660b 100644
/* We've got a compressed packet; read the change byte */
diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
-index b305105..8ead6df 100644
+index fe3fd77..b048392 100644
--- a/drivers/net/team/team.c
+++ b/drivers/net/team/team.c
-@@ -2682,7 +2682,7 @@ static int team_device_event(struct notifier_block *unused,
+@@ -2686,7 +2686,7 @@ static int team_device_event(struct notifier_block *unused,
return NOTIFY_DONE;
}
@@ -44171,10 +44171,10 @@ index b305105..8ead6df 100644
};
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
-index b18ead5..109dcbd 100644
+index 9ef85fe..64e88b0 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
-@@ -1876,7 +1876,7 @@ unlock:
+@@ -1884,7 +1884,7 @@ unlock:
}
static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
@@ -44183,7 +44183,7 @@ index b18ead5..109dcbd 100644
{
struct tun_file *tfile = file->private_data;
struct tun_struct *tun;
-@@ -1888,6 +1888,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
+@@ -1896,6 +1896,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
int vnet_hdr_sz;
int ret;
@@ -52555,7 +52555,7 @@ index 789bc25..fafaeea 100644
&data);
if (!inode) {
diff --git a/fs/aio.c b/fs/aio.c
-index 2bbcacf..8614116 100644
+index ebd06fd..41c850d 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -160,7 +160,7 @@ static int aio_setup_ring(struct kioctx *ctx)
@@ -52567,7 +52567,7 @@ index 2bbcacf..8614116 100644
return -EINVAL;
nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event);
-@@ -950,6 +950,7 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb, int rw, aio_rw_op *rw_op)
+@@ -952,6 +952,7 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb, int rw, aio_rw_op *rw_op)
static ssize_t aio_setup_vectored_rw(int rw, struct kiocb *kiocb, bool compat)
{
ssize_t ret;
@@ -52575,7 +52575,7 @@ index 2bbcacf..8614116 100644
kiocb->ki_nr_segs = kiocb->ki_nbytes;
-@@ -957,17 +958,22 @@ static ssize_t aio_setup_vectored_rw(int rw, struct kiocb *kiocb, bool compat)
+@@ -959,17 +960,22 @@ static ssize_t aio_setup_vectored_rw(int rw, struct kiocb *kiocb, bool compat)
if (compat)
ret = compat_rw_copy_check_uvector(rw,
(struct compat_iovec __user *)kiocb->ki_buf,
@@ -61814,7 +61814,7 @@ index 6157424..ac98f6d 100644
*offset = off & 0x7fffffff;
return 0;
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
-index 5e99968..45bd327 100644
+index ca01d83..86b14a7 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -127,7 +127,7 @@ xfs_find_handle(
@@ -76319,10 +76319,10 @@ index 5a5ff57..5ae5070 100644
return nd->saved_names[nd->depth];
}
diff --git a/include/linux/net.h b/include/linux/net.h
-index 99c9f0c..e1cf296 100644
+index 0c4ae5d..87874be 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
-@@ -183,7 +183,7 @@ struct net_proto_family {
+@@ -191,7 +191,7 @@ struct net_proto_family {
int (*create)(struct net *net, struct socket *sock,
int protocol, int kern);
struct module *owner;
@@ -76783,7 +76783,7 @@ index 34a1e10..03a6d03 100644
struct proc_ns {
void *ns;
diff --git a/include/linux/random.h b/include/linux/random.h
-index 6312dd9..f67904d 100644
+index bf9085e..57fbf6c 100644
--- a/include/linux/random.h
+++ b/include/linux/random.h
@@ -33,6 +33,11 @@ void prandom_seed(u32 seed);
@@ -77268,10 +77268,10 @@ index 2ac423b..237c72e 100644
#define save_altstack_ex(uss, sp) do { \
stack_t __user *__uss = uss; \
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index eaf6027..2266947 100644
+index 74db47e..c42c51d 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -640,7 +640,7 @@ extern bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from,
+@@ -631,7 +631,7 @@ extern bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from,
extern struct sk_buff *__alloc_skb(unsigned int size,
gfp_t priority, int flags, int node);
extern struct sk_buff *build_skb(void *data, unsigned int frag_size);
@@ -77280,7 +77280,7 @@ index eaf6027..2266947 100644
gfp_t priority)
{
return __alloc_skb(size, priority, 0, NUMA_NO_NODE);
-@@ -756,7 +756,7 @@ static inline struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb)
+@@ -747,7 +747,7 @@ static inline struct skb_shared_hwtstamps *skb_hwtstamps(struct sk_buff *skb)
*/
static inline int skb_queue_empty(const struct sk_buff_head *list)
{
@@ -77289,7 +77289,7 @@ index eaf6027..2266947 100644
}
/**
-@@ -769,7 +769,7 @@ static inline int skb_queue_empty(const struct sk_buff_head *list)
+@@ -760,7 +760,7 @@ static inline int skb_queue_empty(const struct sk_buff_head *list)
static inline bool skb_queue_is_last(const struct sk_buff_head *list,
const struct sk_buff *skb)
{
@@ -77298,7 +77298,7 @@ index eaf6027..2266947 100644
}
/**
-@@ -782,7 +782,7 @@ static inline bool skb_queue_is_last(const struct sk_buff_head *list,
+@@ -773,7 +773,7 @@ static inline bool skb_queue_is_last(const struct sk_buff_head *list,
static inline bool skb_queue_is_first(const struct sk_buff_head *list,
const struct sk_buff *skb)
{
@@ -77307,7 +77307,7 @@ index eaf6027..2266947 100644
}
/**
-@@ -1853,7 +1853,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
+@@ -1844,7 +1844,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len)
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
@@ -77316,7 +77316,7 @@ index eaf6027..2266947 100644
#endif
extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
-@@ -2448,7 +2448,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
+@@ -2439,7 +2439,7 @@ extern struct sk_buff *skb_recv_datagram(struct sock *sk, unsigned flags,
int noblock, int *err);
extern unsigned int datagram_poll(struct file *file, struct socket *sock,
struct poll_table_struct *wait);
@@ -77325,7 +77325,7 @@ index eaf6027..2266947 100644
int offset, struct iovec *to,
int size);
extern int skb_copy_and_csum_datagram_iovec(struct sk_buff *skb,
-@@ -2738,6 +2738,9 @@ static inline void nf_reset(struct sk_buff *skb)
+@@ -2713,6 +2713,9 @@ static inline void nf_reset(struct sk_buff *skb)
nf_bridge_put(skb->nf_bridge);
skb->nf_bridge = NULL;
#endif
@@ -78482,7 +78482,7 @@ index 53f464d..0bd0b49 100644
#endif /* _NET_INETPEER_H */
diff --git a/include/net/ip.h b/include/net/ip.h
-index edfa591..a643b82 100644
+index 788f1d8..64d3e27 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -202,7 +202,7 @@ extern struct local_ports {
@@ -78508,10 +78508,10 @@ index e49db91..76a81de 100644
fib_info_update_nh_saddr((net), &FIB_RES_NH(res)))
#define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
-index 4c062cc..3562c31 100644
+index f0c13a3..f41f6d86 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
-@@ -612,7 +612,7 @@ struct ip_vs_conn {
+@@ -582,7 +582,7 @@ struct ip_vs_conn {
struct ip_vs_conn *control; /* Master control connection */
atomic_t n_control; /* Number of controlled ones */
struct ip_vs_dest *dest; /* real server */
@@ -78520,7 +78520,7 @@ index 4c062cc..3562c31 100644
/* packet transmitter for different forwarding methods. If it
mangles the packet, it must return NF_DROP or better NF_STOLEN,
-@@ -761,7 +761,7 @@ struct ip_vs_dest {
+@@ -731,7 +731,7 @@ struct ip_vs_dest {
__be16 port; /* port number of the server */
union nf_inet_addr addr; /* IP address of the server */
volatile unsigned int flags; /* dest status flags */
@@ -78529,7 +78529,7 @@ index 4c062cc..3562c31 100644
atomic_t weight; /* server weight */
atomic_t refcnt; /* reference counter */
-@@ -1013,11 +1013,11 @@ struct netns_ipvs {
+@@ -983,11 +983,11 @@ struct netns_ipvs {
/* ip_vs_lblc */
int sysctl_lblc_expiration;
struct ctl_table_header *lblc_ctl_header;
@@ -89371,7 +89371,7 @@ index 8f87b14..5748b4e 100644
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
diff --git a/mm/mprotect.c b/mm/mprotect.c
-index 2bbb648..1658c46 100644
+index d4d5399..48cbd4a 100644
--- a/mm/mprotect.c
+++ b/mm/mprotect.c
@@ -23,10 +23,18 @@
@@ -89393,7 +89393,7 @@ index 2bbb648..1658c46 100644
#ifndef pgprot_modify
static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot)
-@@ -233,6 +241,48 @@ unsigned long change_protection(struct vm_area_struct *vma, unsigned long start,
+@@ -238,6 +246,48 @@ unsigned long change_protection(struct vm_area_struct *vma, unsigned long start,
return pages;
}
@@ -89442,7 +89442,7 @@ index 2bbb648..1658c46 100644
int
mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
unsigned long start, unsigned long end, unsigned long newflags)
-@@ -245,11 +295,29 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
+@@ -250,11 +300,29 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
int error;
int dirty_accountable = 0;
@@ -89472,7 +89472,7 @@ index 2bbb648..1658c46 100644
/*
* If we make a private mapping writable we increase our commit;
* but (without finer accounting) cannot reduce our commit if we
-@@ -266,6 +334,42 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
+@@ -271,6 +339,42 @@ mprotect_fixup(struct vm_area_struct *vma, struct vm_area_struct **pprev,
}
}
@@ -89515,7 +89515,7 @@ index 2bbb648..1658c46 100644
/*
* First try to merge with previous and/or next vma.
*/
-@@ -296,9 +400,21 @@ success:
+@@ -301,9 +405,21 @@ success:
* vm_flags and vm_page_prot are protected by the mmap_sem
* held in write mode.
*/
@@ -89538,7 +89538,7 @@ index 2bbb648..1658c46 100644
if (vma_wants_writenotify(vma)) {
vma->vm_page_prot = vm_get_page_prot(newflags & ~VM_SHARED);
-@@ -337,6 +453,17 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
+@@ -342,6 +458,17 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
end = start + len;
if (end <= start)
return -ENOMEM;
@@ -89556,7 +89556,7 @@ index 2bbb648..1658c46 100644
if (!arch_validate_prot(prot))
return -EINVAL;
-@@ -344,7 +471,7 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
+@@ -349,7 +476,7 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
/*
* Does the application expect PROT_READ to imply PROT_EXEC:
*/
@@ -89565,7 +89565,7 @@ index 2bbb648..1658c46 100644
prot |= PROT_EXEC;
vm_flags = calc_vm_prot_bits(prot);
-@@ -376,6 +503,11 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
+@@ -381,6 +508,11 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
if (start > vma->vm_start)
prev = vma;
@@ -89577,7 +89577,7 @@ index 2bbb648..1658c46 100644
for (nstart = start ; ; ) {
unsigned long newflags;
-@@ -386,6 +518,14 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
+@@ -391,6 +523,14 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
/* newflags >> 4 shift VM_MAY% in place of VM_% */
if ((newflags & ~(newflags >> 4)) & (VM_READ | VM_WRITE | VM_EXEC)) {
@@ -89592,7 +89592,7 @@ index 2bbb648..1658c46 100644
error = -EACCES;
goto out;
}
-@@ -400,6 +540,9 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
+@@ -405,6 +545,9 @@ SYSCALL_DEFINE3(mprotect, unsigned long, start, size_t, len,
error = mprotect_fixup(vma, &prev, nstart, tmp, newflags);
if (error)
goto out;
@@ -91450,7 +91450,7 @@ index d456560..3ed6863 100644
if (v->nr_pages)
seq_printf(m, " pages=%d", v->nr_pages);
diff --git a/mm/vmstat.c b/mm/vmstat.c
-index f42745e..62f8346 100644
+index 10bbb54..7a0cf21 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -76,7 +76,7 @@ void vm_events_fold_cpu(int cpu)
@@ -91491,7 +91491,7 @@ index f42745e..62f8346 100644
}
}
#endif
-@@ -1226,7 +1226,7 @@ static int __cpuinit vmstat_cpuup_callback(struct notifier_block *nfb,
+@@ -1227,7 +1227,7 @@ static int __cpuinit vmstat_cpuup_callback(struct notifier_block *nfb,
return NOTIFY_OK;
}
@@ -91500,7 +91500,7 @@ index f42745e..62f8346 100644
{ &vmstat_cpuup_callback, NULL, 0 };
#endif
-@@ -1241,10 +1241,20 @@ static int __init setup_vmstat(void)
+@@ -1242,10 +1242,20 @@ static int __init setup_vmstat(void)
start_cpu_timer(cpu);
#endif
#ifdef CONFIG_PROC_FS
@@ -92001,10 +92001,10 @@ index 7c88f5f..b65befb 100644
destroy_workqueue(hdev->workqueue);
error = -ENOMEM;
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
-index 9bd7d95..6c4884f 100644
+index fa4bf66..e92948f 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
-@@ -934,7 +934,7 @@ static int hci_sock_setsockopt(struct socket *sock, int level, int optname,
+@@ -932,7 +932,7 @@ static int hci_sock_setsockopt(struct socket *sock, int level, int optname,
uf.event_mask[1] = *((u32 *) f->event_mask + 1);
}
@@ -92082,10 +92082,10 @@ index 36fed40..be2eeb2 100644
err = -EFAULT;
break;
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
-index 30b3721..c1bd0a0 100644
+index c1c6028..17e8dcc 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
-@@ -666,7 +666,7 @@ static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, c
+@@ -665,7 +665,7 @@ static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, c
struct sock *sk = sock->sk;
struct bt_security sec;
int err = 0;
@@ -92094,7 +92094,7 @@ index 30b3721..c1bd0a0 100644
u32 opt;
BT_DBG("sk %p", sk);
-@@ -688,7 +688,7 @@ static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, c
+@@ -687,7 +687,7 @@ static int rfcomm_sock_setsockopt(struct socket *sock, int level, int optname, c
sec.level = BT_SECURITY_LOW;
@@ -92283,13 +92283,13 @@ index eb0a46a..5f3bae8 100644
switch (ss->ss_family) {
diff --git a/net/compat.c b/net/compat.c
-index 8903258..24e30e5 100644
+index dd32e34..6066f87 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -73,9 +73,9 @@ int get_compat_msghdr(struct msghdr *kmsg, struct compat_msghdr __user *umsg)
return -EFAULT;
if (kmsg->msg_namelen > sizeof(struct sockaddr_storage))
- return -EINVAL;
+ kmsg->msg_namelen = sizeof(struct sockaddr_storage);
- kmsg->msg_name = compat_ptr(tmp1);
- kmsg->msg_iov = compat_ptr(tmp2);
- kmsg->msg_control = compat_ptr(tmp3);
@@ -92308,7 +92308,7 @@ index 8903258..24e30e5 100644
kern_msg->msg_namelen,
kern_address);
if (err < 0)
-@@ -98,7 +98,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -99,7 +99,7 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
kern_msg->msg_name = NULL;
tot_len = iov_from_user_compat_to_kern(kern_iov,
@@ -92317,7 +92317,7 @@ index 8903258..24e30e5 100644
kern_msg->msg_iovlen);
if (tot_len >= 0)
kern_msg->msg_iov = kern_iov;
-@@ -118,20 +118,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
+@@ -119,20 +119,20 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov,
#define CMSG_COMPAT_FIRSTHDR(msg) \
(((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ? \
@@ -92341,7 +92341,7 @@ index 8903258..24e30e5 100644
msg->msg_controllen)
return NULL;
return (struct compat_cmsghdr __user *)ptr;
-@@ -221,7 +221,7 @@ Efault:
+@@ -222,7 +222,7 @@ Efault:
int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *data)
{
@@ -92350,7 +92350,7 @@ index 8903258..24e30e5 100644
struct compat_cmsghdr cmhdr;
struct compat_timeval ctv;
struct compat_timespec cts[3];
-@@ -277,7 +277,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
+@@ -278,7 +278,7 @@ int put_cmsg_compat(struct msghdr *kmsg, int level, int type, int len, void *dat
void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
{
@@ -92359,7 +92359,7 @@ index 8903258..24e30e5 100644
int fdmax = (kmsg->msg_controllen - sizeof(struct compat_cmsghdr)) / sizeof(int);
int fdnum = scm->fp->count;
struct file **fp = scm->fp->fp;
-@@ -365,7 +365,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
+@@ -366,7 +366,7 @@ static int do_set_sock_timeout(struct socket *sock, int level,
return -EFAULT;
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -92368,7 +92368,7 @@ index 8903258..24e30e5 100644
set_fs(old_fs);
return err;
-@@ -426,7 +426,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
+@@ -427,7 +427,7 @@ static int do_get_sock_timeout(struct socket *sock, int level, int optname,
len = sizeof(ktime);
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -92377,7 +92377,7 @@ index 8903258..24e30e5 100644
set_fs(old_fs);
if (!err) {
-@@ -569,7 +569,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -570,7 +570,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
case MCAST_JOIN_GROUP:
case MCAST_LEAVE_GROUP:
{
@@ -92386,7 +92386,7 @@ index 8903258..24e30e5 100644
struct group_req __user *kgr =
compat_alloc_user_space(sizeof(struct group_req));
u32 interface;
-@@ -590,7 +590,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -591,7 +591,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
case MCAST_BLOCK_SOURCE:
case MCAST_UNBLOCK_SOURCE:
{
@@ -92395,7 +92395,7 @@ index 8903258..24e30e5 100644
struct group_source_req __user *kgsr = compat_alloc_user_space(
sizeof(struct group_source_req));
u32 interface;
-@@ -611,7 +611,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
+@@ -612,7 +612,7 @@ int compat_mc_setsockopt(struct sock *sock, int level, int optname,
}
case MCAST_MSFILTER:
{
@@ -92404,7 +92404,7 @@ index 8903258..24e30e5 100644
struct group_filter __user *kgf;
u32 interface, fmode, numsrc;
-@@ -649,7 +649,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
+@@ -650,7 +650,7 @@ int compat_mc_getsockopt(struct sock *sock, int level, int optname,
char __user *optval, int __user *optlen,
int (*getsockopt)(struct sock *, int, int, char __user *, int __user *))
{
@@ -92413,7 +92413,7 @@ index 8903258..24e30e5 100644
struct group_filter __user *kgf;
int __user *koptlen;
u32 interface, fmode, numsrc;
-@@ -807,7 +807,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
+@@ -808,7 +808,7 @@ asmlinkage long compat_sys_socketcall(int call, u32 __user *args)
if (call < SYS_SOCKET || call > SYS_SENDMMSG)
return -EINVAL;
@@ -92436,7 +92436,7 @@ index b71423d..0360434 100644
return err;
diff --git a/net/core/dev.c b/net/core/dev.c
-index 7ddbb31..3902452 100644
+index 1283c84..60f0253 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1649,7 +1649,7 @@ int dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
@@ -92612,7 +92612,7 @@ index 7102f16..146b4bd 100644
fle->object = flo;
else
diff --git a/net/core/iovec.c b/net/core/iovec.c
-index de178e4..1dabd8b 100644
+index 9a31515..4fd45a6 100644
--- a/net/core/iovec.c
+++ b/net/core/iovec.c
@@ -42,7 +42,7 @@ int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr_storage *a
@@ -92624,7 +92624,7 @@ index de178e4..1dabd8b 100644
err = move_addr_to_kernel(namep, m->msg_namelen,
address);
if (err < 0)
-@@ -54,7 +54,7 @@ int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr_storage *a
+@@ -55,7 +55,7 @@ int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr_storage *a
}
size = m->msg_iovlen * sizeof(struct iovec);
@@ -92819,10 +92819,10 @@ index b4da80b..98d6bdb 100644
{
struct socket *sock;
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index 1c1738c..4cab7f0 100644
+index d9e8736..6abcdf9 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
-@@ -3087,13 +3087,15 @@ void __init skb_init(void)
+@@ -3084,13 +3084,15 @@ void __init skb_init(void)
skbuff_head_cache = kmem_cache_create("skbuff_head_cache",
sizeof(struct sk_buff),
0,
@@ -93094,7 +93094,7 @@ index a55eecc..dd8428c 100644
*lenp = len;
diff --git a/net/ieee802154/6lowpan.c b/net/ieee802154/6lowpan.c
-index 55e1fd5..fd602b8 100644
+index 31b127e..627fdea 100644
--- a/net/ieee802154/6lowpan.c
+++ b/net/ieee802154/6lowpan.c
@@ -459,7 +459,7 @@ static int lowpan_header_create(struct sk_buff *skb,
@@ -93421,10 +93421,10 @@ index 64e4e98..db77052 100644
.maxtype = IFLA_GRE_MAX,
.policy = ipgre_policy,
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
-index d9c4f11..02b82dbc 100644
+index 23e6ab0..be67a57 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
-@@ -1152,7 +1152,8 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
+@@ -1153,7 +1153,8 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
len = min_t(unsigned int, len, opt->optlen);
if (put_user(len, optlen))
return -EFAULT;
@@ -93434,7 +93434,7 @@ index d9c4f11..02b82dbc 100644
return -EFAULT;
return 0;
}
-@@ -1283,7 +1284,7 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
+@@ -1284,7 +1285,7 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
if (sk->sk_type != SOCK_STREAM)
return -ENOPROTOOPT;
@@ -93444,7 +93444,7 @@ index d9c4f11..02b82dbc 100644
msg.msg_flags = flags;
diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c
-index 0656041..d6ecb60 100644
+index feb19db..61aa09b 100644
--- a/net/ipv4/ip_vti.c
+++ b/net/ipv4/ip_vti.c
@@ -47,7 +47,7 @@
@@ -93456,7 +93456,7 @@ index 0656041..d6ecb60 100644
static int vti_net_id __read_mostly;
struct vti_net {
-@@ -848,7 +848,7 @@ static const struct nla_policy vti_policy[IFLA_VTI_MAX + 1] = {
+@@ -849,7 +849,7 @@ static const struct nla_policy vti_policy[IFLA_VTI_MAX + 1] = {
[IFLA_VTI_REMOTE] = { .len = FIELD_SIZEOF(struct iphdr, daddr) },
};
@@ -93630,10 +93630,10 @@ index d23118d..6ad7277 100644
case IPT_SO_GET_ENTRIES:
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
-index 7d93d62..cbbf2a3 100644
+index 8cae28f..049d45a 100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
-@@ -843,7 +843,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
+@@ -842,7 +842,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)),
0, sock_i_ino(sp),
atomic_read(&sp->sk_refcnt), sp,
@@ -93643,7 +93643,7 @@ index 7d93d62..cbbf2a3 100644
static int ping_seq_show(struct seq_file *seq, void *v)
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index 6fb2337..9cd6b20 100644
+index 402870f..4651346 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -309,7 +309,7 @@ static int raw_rcv_skb(struct sock *sk, struct sk_buff *skb)
@@ -93655,7 +93655,7 @@ index 6fb2337..9cd6b20 100644
kfree_skb(skb);
return NET_RX_DROP;
}
-@@ -746,16 +746,20 @@ static int raw_init(struct sock *sk)
+@@ -744,16 +744,20 @@ static int raw_init(struct sock *sk)
static int raw_seticmpfilter(struct sock *sk, char __user *optval, int optlen)
{
@@ -93677,7 +93677,7 @@ index 6fb2337..9cd6b20 100644
if (get_user(len, optlen))
goto out;
-@@ -765,8 +769,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
+@@ -763,8 +767,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
if (len > sizeof(struct icmp_filter))
len = sizeof(struct icmp_filter);
ret = -EFAULT;
@@ -93688,7 +93688,7 @@ index 6fb2337..9cd6b20 100644
goto out;
ret = 0;
out: return ret;
-@@ -995,7 +999,7 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -993,7 +997,7 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
0, 0L, 0,
from_kuid_munged(seq_user_ns(seq), sock_i_uid(sp)),
0, sock_i_ino(sp),
@@ -93698,10 +93698,10 @@ index 6fb2337..9cd6b20 100644
static int raw_seq_show(struct seq_file *seq, void *v)
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index d11e73c..25c1dc4 100644
+index f6c6ab1..e0dae89 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -2558,34 +2558,34 @@ static struct ctl_table ipv4_route_flush_table[] = {
+@@ -2562,34 +2562,34 @@ static struct ctl_table ipv4_route_flush_table[] = {
.maxlen = sizeof(int),
.mode = 0200,
.proc_handler = ipv4_sysctl_rtcache_flush,
@@ -93744,7 +93744,7 @@ index d11e73c..25c1dc4 100644
err_dup:
return -ENOMEM;
}
-@@ -2608,7 +2608,7 @@ static __net_initdata struct pernet_operations sysctl_route_ops = {
+@@ -2612,7 +2612,7 @@ static __net_initdata struct pernet_operations sysctl_route_ops = {
static __net_init int rt_genid_init(struct net *net)
{
@@ -93932,7 +93932,7 @@ index e15d330..c93711a 100644
if (icsk->icsk_af_ops->conn_request(sk, skb) < 0)
return 1;
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index 7999fc5..c812f42 100644
+index 5d87806..1b9673a 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -90,6 +90,10 @@ int sysctl_tcp_low_latency __read_mostly;
@@ -94060,7 +94060,7 @@ index 4b85e6f..22f9ac9 100644
syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) {
/* Has it gone just too far? */
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
-index 93b731d..5a2dd92 100644
+index c3075b5..6b23f6c 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -87,6 +87,7 @@
@@ -94111,7 +94111,7 @@ index 93b731d..5a2dd92 100644
daddr = inet->inet_daddr;
dport = inet->inet_dport;
/* Open fast path for connected socket.
-@@ -1136,7 +1153,7 @@ static unsigned int first_packet_length(struct sock *sk)
+@@ -1139,7 +1156,7 @@ static unsigned int first_packet_length(struct sock *sk)
IS_UDPLITE(sk));
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
IS_UDPLITE(sk));
@@ -94120,7 +94120,7 @@ index 93b731d..5a2dd92 100644
__skb_unlink(skb, rcvq);
__skb_queue_tail(&list_kill, skb);
}
-@@ -1222,6 +1239,10 @@ try_again:
+@@ -1219,6 +1236,10 @@ try_again:
if (!skb)
goto out;
@@ -94131,7 +94131,7 @@ index 93b731d..5a2dd92 100644
ulen = skb->len - sizeof(struct udphdr);
copied = len;
if (copied > ulen)
-@@ -1255,7 +1276,7 @@ try_again:
+@@ -1252,7 +1273,7 @@ try_again:
if (unlikely(err)) {
trace_kfree_skb(skb, udp_recvmsg);
if (!peeked) {
@@ -94140,7 +94140,7 @@ index 93b731d..5a2dd92 100644
UDP_INC_STATS_USER(sock_net(sk),
UDP_MIB_INERRORS, is_udplite);
}
-@@ -1542,7 +1563,7 @@ csum_error:
+@@ -1540,7 +1561,7 @@ csum_error:
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_CSUMERRORS, is_udplite);
drop:
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
@@ -94149,7 +94149,7 @@ index 93b731d..5a2dd92 100644
kfree_skb(skb);
return -1;
}
-@@ -1561,7 +1582,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -1559,7 +1580,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
if (!skb1) {
@@ -94158,7 +94158,7 @@ index 93b731d..5a2dd92 100644
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
IS_UDPLITE(sk));
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -1730,6 +1751,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -1728,6 +1749,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
goto csum_error;
UDP_INC_STATS_BH(net, UDP_MIB_NOPORTS, proto == IPPROTO_UDPLITE);
@@ -94168,7 +94168,7 @@ index 93b731d..5a2dd92 100644
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
/*
-@@ -2160,7 +2184,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -2158,7 +2182,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)),
0, sock_i_ino(sp),
atomic_read(&sp->sk_refcnt), sp,
@@ -94425,7 +94425,7 @@ index 44400c2..8e11f52 100644
case IP6T_SO_GET_ENTRIES:
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
-index dffdc1a..ccc6678 100644
+index 253566a..9fa50c7 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -90,12 +90,11 @@ static struct ctl_table nf_ct_frag6_sysctl_table[] = {
@@ -94500,7 +94500,7 @@ index c2e73e6..12cca6f 100644
EXPORT_SYMBOL(ipv6_select_ident);
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
-index eedff8c..7d7e24a 100644
+index 464b1c9..673cedb 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -108,7 +108,7 @@ found:
@@ -94539,7 +94539,7 @@ index eedff8c..7d7e24a 100644
kfree_skb(skb);
return NET_RX_DROP;
}
-@@ -602,7 +602,7 @@ out:
+@@ -600,7 +600,7 @@ out:
return err;
}
@@ -94548,7 +94548,7 @@ index eedff8c..7d7e24a 100644
struct flowi6 *fl6, struct dst_entry **dstp,
unsigned int flags)
{
-@@ -914,12 +914,15 @@ do_confirm:
+@@ -912,12 +912,15 @@ do_confirm:
static int rawv6_seticmpfilter(struct sock *sk, int level, int optname,
char __user *optval, int optlen)
{
@@ -94565,7 +94565,7 @@ index eedff8c..7d7e24a 100644
return 0;
default:
return -ENOPROTOOPT;
-@@ -932,6 +935,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -930,6 +933,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
char __user *optval, int __user *optlen)
{
int len;
@@ -94573,7 +94573,7 @@ index eedff8c..7d7e24a 100644
switch (optname) {
case ICMPV6_FILTER:
-@@ -943,7 +947,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -941,7 +945,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
len = sizeof(struct icmp6_filter);
if (put_user(len, optlen))
return -EFAULT;
@@ -94583,7 +94583,7 @@ index eedff8c..7d7e24a 100644
return -EFAULT;
return 0;
default:
-@@ -1251,7 +1256,7 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -1249,7 +1254,7 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
from_kuid_munged(seq_user_ns(seq), sock_i_uid(sp)),
0,
sock_i_ino(sp),
@@ -94635,10 +94635,10 @@ index 1aeb473..bea761c 100644
return -ENOMEM;
}
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
-index 548a1f7c..63ee520 100644
+index 5a8bf536..72b1d94 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
-@@ -2934,7 +2934,7 @@ ctl_table ipv6_route_table_template[] = {
+@@ -2937,7 +2937,7 @@ ctl_table ipv6_route_table_template[] = {
struct ctl_table * __net_init ipv6_route_sysctl_init(struct net *net)
{
@@ -94742,7 +94742,7 @@ index 66c7188..5600868 100644
}
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
-index e7b28f9..d09c290 100644
+index 6b298dc..c3e5995 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -52,6 +52,10 @@
@@ -94756,7 +94756,7 @@ index e7b28f9..d09c290 100644
int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2)
{
const struct in6_addr *sk_rcv_saddr6 = &inet6_sk(sk)->rcv_saddr;
-@@ -419,7 +423,7 @@ try_again:
+@@ -416,7 +420,7 @@ try_again:
if (unlikely(err)) {
trace_kfree_skb(skb, udpv6_recvmsg);
if (!peeked) {
@@ -94765,7 +94765,7 @@ index e7b28f9..d09c290 100644
if (is_udp4)
UDP_INC_STATS_USER(sock_net(sk),
UDP_MIB_INERRORS,
-@@ -665,7 +669,7 @@ csum_error:
+@@ -662,7 +666,7 @@ csum_error:
UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_CSUMERRORS, is_udplite);
drop:
UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
@@ -94774,7 +94774,7 @@ index e7b28f9..d09c290 100644
kfree_skb(skb);
return -1;
}
-@@ -723,7 +727,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -720,7 +724,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
if (likely(skb1 == NULL))
skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
if (!skb1) {
@@ -94783,7 +94783,7 @@ index e7b28f9..d09c290 100644
UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
IS_UDPLITE(sk));
UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -860,6 +864,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -857,6 +861,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
goto csum_error;
UDP6_INC_STATS_BH(net, UDP_MIB_NOPORTS, proto == IPPROTO_UDPLITE);
@@ -94793,7 +94793,7 @@ index e7b28f9..d09c290 100644
icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_PORT_UNREACH, 0);
kfree_skb(skb);
-@@ -1392,7 +1399,7 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
+@@ -1389,7 +1396,7 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
0,
sock_i_ino(sp),
atomic_read(&sp->sk_refcnt), sp,
@@ -94917,7 +94917,7 @@ index 41ac7938..75e3bb1 100644
seq_printf(m, "Max header size: %d\n", self->max_header_size);
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
-index ae69165..c8b82d8 100644
+index 276aa86..aeb81c8 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -773,10 +773,10 @@ static int iucv_sock_autobind(struct sock *sk)
@@ -94947,7 +94947,7 @@ index 4fe76ff..426a904 100644
};
diff --git a/net/key/af_key.c b/net/key/af_key.c
-index ab8bd2c..cd2d641 100644
+index 66f51c5..8f0eef1 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -3048,10 +3048,10 @@ static int pfkey_send_policy_notify(struct xfrm_policy *xp, int dir, const struc
@@ -95272,7 +95272,7 @@ index a083bda..da661c3 100644
if (!todrop_rate[i]) return 0;
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
-index 23b8eb5..48a8959 100644
+index 21a3a47..268e13e 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -559,7 +559,7 @@ int ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb,
@@ -95284,7 +95284,7 @@ index 23b8eb5..48a8959 100644
ip_vs_conn_put(cp);
return ret;
}
-@@ -1711,7 +1711,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
+@@ -1698,7 +1698,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb, int af)
if (cp->flags & IP_VS_CONN_F_ONE_PACKET)
pkts = sysctl_sync_threshold(ipvs);
else
@@ -95949,7 +95949,7 @@ index 4fe4fb4..87a89e5 100644
return 0;
}
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
-index 57ee84d..8b99cf5 100644
+index c9c2a84..ae00c02 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -121,7 +121,7 @@ static void netlink_overrun(struct sock *sk)
@@ -95961,7 +95961,7 @@ index 57ee84d..8b99cf5 100644
}
static void netlink_rcv_wake(struct sock *sk)
-@@ -2771,7 +2771,7 @@ static int netlink_seq_show(struct seq_file *seq, void *v)
+@@ -2769,7 +2769,7 @@ static int netlink_seq_show(struct seq_file *seq, void *v)
sk_wmem_alloc_get(s),
nlk->cb,
atomic_read(&s->sk_refcnt),
@@ -96013,7 +96013,7 @@ index 393f17e..a64232c 100644
}
}
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
-index ec0c80f..41e1830 100644
+index 13b92982..9ae9c97 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -850,7 +850,6 @@ static int nr_getname(struct socket *sock, struct sockaddr *uaddr,
@@ -96025,10 +96025,10 @@ index ec0c80f..41e1830 100644
*uaddr_len = sizeof(struct sockaddr_ax25);
}
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index a6895ab..722fa96 100644
+index c503ad6..fbb6ef8 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
-@@ -1681,7 +1681,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
+@@ -1688,7 +1688,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
spin_lock(&sk->sk_receive_queue.lock);
po->stats.stats1.tp_packets++;
@@ -96037,7 +96037,7 @@ index a6895ab..722fa96 100644
__skb_queue_tail(&sk->sk_receive_queue, skb);
spin_unlock(&sk->sk_receive_queue.lock);
sk->sk_data_ready(sk, skb->len);
-@@ -1690,7 +1690,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
+@@ -1697,7 +1697,7 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev,
drop_n_acct:
spin_lock(&sk->sk_receive_queue.lock);
po->stats.stats1.tp_drops++;
@@ -96046,7 +96046,7 @@ index a6895ab..722fa96 100644
spin_unlock(&sk->sk_receive_queue.lock);
drop_n_restore:
-@@ -2640,6 +2640,7 @@ out:
+@@ -2653,6 +2653,7 @@ out:
static int packet_recv_error(struct sock *sk, struct msghdr *msg, int len)
{
@@ -96054,7 +96054,7 @@ index a6895ab..722fa96 100644
struct sock_exterr_skb *serr;
struct sk_buff *skb, *skb2;
int copied, err;
-@@ -2661,8 +2662,9 @@ static int packet_recv_error(struct sock *sk, struct msghdr *msg, int len)
+@@ -2674,8 +2675,9 @@ static int packet_recv_error(struct sock *sk, struct msghdr *msg, int len)
sock_recv_timestamp(msg, sk, skb);
serr = SKB_EXT_ERR(skb);
@@ -96065,7 +96065,7 @@ index a6895ab..722fa96 100644
msg->msg_flags |= MSG_ERRQUEUE;
err = copied;
-@@ -3283,7 +3285,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+@@ -3294,7 +3296,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
case PACKET_HDRLEN:
if (len > sizeof(int))
len = sizeof(int);
@@ -96074,7 +96074,7 @@ index a6895ab..722fa96 100644
return -EFAULT;
switch (val) {
case TPACKET_V1:
-@@ -3326,7 +3328,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
+@@ -3337,7 +3339,7 @@ static int packet_getsockopt(struct socket *sock, int level, int optname,
len = lv;
if (put_user(len, optlen))
return -EFAULT;
@@ -96804,7 +96804,7 @@ index 098f1d5f..60da2f7 100644
/* Start T3_rtx timer if it is not already running and update the heartbeat
diff --git a/net/socket.c b/net/socket.c
-index 9c467b2..f2cbd27 100644
+index ac72efc..eac33e5 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -88,6 +88,7 @@
@@ -96824,7 +96824,7 @@ index 9c467b2..f2cbd27 100644
static int sock_no_open(struct inode *irrelevant, struct file *dontcare);
static ssize_t sock_aio_read(struct kiocb *iocb, const struct iovec *iov,
unsigned long nr_segs, loff_t pos);
-@@ -321,7 +324,7 @@ static struct dentry *sockfs_mount(struct file_system_type *fs_type,
+@@ -322,7 +325,7 @@ static struct dentry *sockfs_mount(struct file_system_type *fs_type,
&sockfs_dentry_operations, SOCKFS_MAGIC);
}
@@ -96833,7 +96833,7 @@ index 9c467b2..f2cbd27 100644
static struct file_system_type sock_fs_type = {
.name = "sockfs",
-@@ -1246,6 +1249,8 @@ int __sock_create(struct net *net, int family, int type, int protocol,
+@@ -1247,6 +1250,8 @@ int __sock_create(struct net *net, int family, int type, int protocol,
return -EAFNOSUPPORT;
if (type < 0 || type >= SOCK_MAX)
return -EINVAL;
@@ -96842,7 +96842,7 @@ index 9c467b2..f2cbd27 100644
/* Compatibility.
-@@ -1377,6 +1382,16 @@ SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
+@@ -1378,6 +1383,16 @@ SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)
if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK))
flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK;
@@ -96859,7 +96859,7 @@ index 9c467b2..f2cbd27 100644
retval = sock_create(family, type, protocol, &sock);
if (retval < 0)
goto out;
-@@ -1504,6 +1519,14 @@ SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
+@@ -1505,6 +1520,14 @@ SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
if (sock) {
err = move_addr_to_kernel(umyaddr, addrlen, &address);
if (err >= 0) {
@@ -96874,7 +96874,7 @@ index 9c467b2..f2cbd27 100644
err = security_socket_bind(sock,
(struct sockaddr *)&address,
addrlen);
-@@ -1512,6 +1535,7 @@ SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
+@@ -1513,6 +1536,7 @@ SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen)
(struct sockaddr *)
&address, addrlen);
}
@@ -96882,7 +96882,7 @@ index 9c467b2..f2cbd27 100644
fput_light(sock->file, fput_needed);
}
return err;
-@@ -1535,10 +1559,20 @@ SYSCALL_DEFINE2(listen, int, fd, int, backlog)
+@@ -1536,10 +1560,20 @@ SYSCALL_DEFINE2(listen, int, fd, int, backlog)
if ((unsigned int)backlog > somaxconn)
backlog = somaxconn;
@@ -96903,7 +96903,7 @@ index 9c467b2..f2cbd27 100644
fput_light(sock->file, fput_needed);
}
return err;
-@@ -1582,6 +1616,18 @@ SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
+@@ -1583,6 +1617,18 @@ SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
newsock->type = sock->type;
newsock->ops = sock->ops;
@@ -96922,7 +96922,7 @@ index 9c467b2..f2cbd27 100644
/*
* We don't need try_module_get here, as the listening socket (sock)
* has the protocol module (sock->ops->owner) held.
-@@ -1627,6 +1673,8 @@ SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
+@@ -1628,6 +1674,8 @@ SYSCALL_DEFINE4(accept4, int, fd, struct sockaddr __user *, upeer_sockaddr,
fd_install(newfd, newfile);
err = newfd;
@@ -96931,7 +96931,7 @@ index 9c467b2..f2cbd27 100644
out_put:
fput_light(sock->file, fput_needed);
out:
-@@ -1659,6 +1707,7 @@ SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
+@@ -1660,6 +1708,7 @@ SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
int, addrlen)
{
struct socket *sock;
@@ -96939,7 +96939,7 @@ index 9c467b2..f2cbd27 100644
struct sockaddr_storage address;
int err, fput_needed;
-@@ -1669,6 +1718,17 @@ SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
+@@ -1670,6 +1719,17 @@ SYSCALL_DEFINE3(connect, int, fd, struct sockaddr __user *, uservaddr,
if (err < 0)
goto out_put;
@@ -96957,7 +96957,7 @@ index 9c467b2..f2cbd27 100644
err =
security_socket_connect(sock, (struct sockaddr *)&address, addrlen);
if (err)
-@@ -1750,6 +1810,8 @@ SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
+@@ -1751,6 +1811,8 @@ SYSCALL_DEFINE3(getpeername, int, fd, struct sockaddr __user *, usockaddr,
* the protocol.
*/
@@ -96966,7 +96966,7 @@ index 9c467b2..f2cbd27 100644
SYSCALL_DEFINE6(sendto, int, fd, void __user *, buff, size_t, len,
unsigned int, flags, struct sockaddr __user *, addr,
int, addr_len)
-@@ -1816,7 +1878,7 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
+@@ -1817,7 +1879,7 @@ SYSCALL_DEFINE6(recvfrom, int, fd, void __user *, ubuf, size_t, size,
struct socket *sock;
struct iovec iov;
struct msghdr msg;
@@ -96975,7 +96975,7 @@ index 9c467b2..f2cbd27 100644
int err, err2;
int fput_needed;
-@@ -2036,7 +2098,7 @@ static int ___sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -2039,7 +2101,7 @@ static int ___sys_sendmsg(struct socket *sock, struct msghdr __user *msg,
* checking falls down on this.
*/
if (copy_from_user(ctl_buf,
@@ -96984,7 +96984,7 @@ index 9c467b2..f2cbd27 100644
ctl_len))
goto out_freectl;
msg_sys->msg_control = ctl_buf;
-@@ -2187,7 +2249,7 @@ static int ___sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+@@ -2190,7 +2252,7 @@ static int ___sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
int err, total_len, len;
/* kernel mode address */
@@ -96993,16 +96993,16 @@ index 9c467b2..f2cbd27 100644
/* user mode address pointers */
struct sockaddr __user *uaddr;
-@@ -2218,7 +2280,7 @@ static int ___sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
- * kernel msghdr to use the kernel address space)
+@@ -2219,7 +2281,7 @@ static int ___sys_recvmsg(struct socket *sock, struct msghdr __user *msg,
+ /* Save the user-mode address (verify_iovec will change the
+ * kernel msghdr to use the kernel address space)
*/
-
- uaddr = (__force void __user *)msg_sys->msg_name;
+ uaddr = (void __force_user *)msg_sys->msg_name;
uaddr_len = COMPAT_NAMELEN(msg);
- if (MSG_CMSG_COMPAT & flags) {
+ if (MSG_CMSG_COMPAT & flags)
err = verify_compat_iovec(msg_sys, iov, &addr, VERIFY_WRITE);
-@@ -2971,7 +3033,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
+@@ -2975,7 +3037,7 @@ static int bond_ioctl(struct net *net, unsigned int cmd,
old_fs = get_fs();
set_fs(KERNEL_DS);
err = dev_ioctl(net, cmd,
@@ -97011,7 +97011,7 @@ index 9c467b2..f2cbd27 100644
set_fs(old_fs);
return err;
-@@ -3080,7 +3142,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
+@@ -3084,7 +3146,7 @@ static int compat_sioc_ifmap(struct net *net, unsigned int cmd,
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -97020,7 +97020,7 @@ index 9c467b2..f2cbd27 100644
set_fs(old_fs);
if (cmd == SIOCGIFMAP && !err) {
-@@ -3185,7 +3247,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
+@@ -3189,7 +3251,7 @@ static int routing_ioctl(struct net *net, struct socket *sock,
ret |= __get_user(rtdev, &(ur4->rt_dev));
if (rtdev) {
ret |= copy_from_user(devname, compat_ptr(rtdev), 15);
@@ -97029,7 +97029,7 @@ index 9c467b2..f2cbd27 100644
devname[15] = 0;
} else
r4.rt_dev = NULL;
-@@ -3411,8 +3473,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
+@@ -3415,8 +3477,8 @@ int kernel_getsockopt(struct socket *sock, int level, int optname,
int __user *uoptlen;
int err;
@@ -97040,7 +97040,7 @@ index 9c467b2..f2cbd27 100644
set_fs(KERNEL_DS);
if (level == SOL_SOCKET)
-@@ -3432,7 +3494,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
+@@ -3436,7 +3498,7 @@ int kernel_setsockopt(struct socket *sock, int level, int optname,
char __user *uoptval;
int err;
@@ -97401,7 +97401,7 @@ index 6b42d47..2ac24d5 100644
sub->evt.event = htohl(event, sub->swap);
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
-index 0258072..fc6d46d 100644
+index 8664ad0..afe30af 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -783,6 +783,12 @@ static struct sock *unix_find_other(struct net *net,
@@ -97450,7 +97450,7 @@ index 0258072..fc6d46d 100644
done_path_create(&path, dentry);
return err;
}
-@@ -2334,9 +2353,13 @@ static int unix_seq_show(struct seq_file *seq, void *v)
+@@ -2329,9 +2348,13 @@ static int unix_seq_show(struct seq_file *seq, void *v)
seq_puts(seq, "Num RefCount Protocol Flags Type St "
"Inode Path\n");
else {
@@ -97465,7 +97465,7 @@ index 0258072..fc6d46d 100644
seq_printf(seq, "%pK: %08X %08X %08X %04X %02X %5lu",
s,
-@@ -2363,8 +2386,10 @@ static int unix_seq_show(struct seq_file *seq, void *v)
+@@ -2358,8 +2381,10 @@ static int unix_seq_show(struct seq_file *seq, void *v)
}
for ( ; i < len; i++)
seq_putc(seq, u->addr->name->sun_path[i]);
@@ -97492,7 +97492,7 @@ index 8800604..0526440 100644
table = kmemdup(unix_table, sizeof(unix_table), GFP_KERNEL);
if (table == NULL)
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
-index 3f77f42..662d89b 100644
+index 9b88693..e35cadb 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -335,7 +335,7 @@ void vsock_for_each_connected_socket(void (*fn)(struct sock *sk))