public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Anthony G. Basile" <blueness@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/hardened-patchset:master commit in: 3.11.8/, 3.2.52/, 3.11.9/
Date: Sun, 24 Nov 2013 00:35:44 +0000 (UTC)	[thread overview]
Message-ID: <1385253355.b707a73b9216a4d4250d663a0eecd44b05c6cb61.blueness@gentoo> (raw)

commit:     b707a73b9216a4d4250d663a0eecd44b05c6cb61
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 24 00:35:55 2013 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Nov 24 00:35:55 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-patchset.git;a=commit;h=b707a73b

Grsec/PaX: 2.9.1-{3.2.52,3.11.9}-201311222137

---
 {3.11.8 => 3.11.9}/0000_README                     |   2 +-
 ...4420_grsecurity-2.9.1-3.11.9-201311222137.patch | 267 +++------------------
 {3.11.8 => 3.11.9}/4425_grsec_remove_EI_PAX.patch  |   0
 .../4427_force_XATTR_PAX_tmpfs.patch               |   0
 .../4430_grsec-remove-localversion-grsec.patch     |   0
 {3.11.8 => 3.11.9}/4435_grsec-mute-warnings.patch  |   0
 .../4440_grsec-remove-protected-paths.patch        |   0
 .../4450_grsec-kconfig-default-gids.patch          |   0
 .../4465_selinux-avc_audit-log-curr_ip.patch       |   0
 {3.11.8 => 3.11.9}/4470_disable-compat_vdso.patch  |   0
 {3.11.8 => 3.11.9}/4475_emutramp_default_on.patch  |   0
 3.2.52/0000_README                                 |   2 +-
 ...420_grsecurity-2.9.1-3.2.52-201311222106.patch} | 193 ++-------------
 13 files changed, 66 insertions(+), 398 deletions(-)

diff --git a/3.11.8/0000_README b/3.11.9/0000_README
similarity index 96%
rename from 3.11.8/0000_README
rename to 3.11.9/0000_README
index 6ebbbb4..f24611c 100644
--- a/3.11.8/0000_README
+++ b/3.11.9/0000_README
@@ -2,7 +2,7 @@ README
 -----------------------------------------------------------------------------
 Individual Patch Descriptions:
 -----------------------------------------------------------------------------
-Patch:	4420_grsecurity-2.9.1-3.11.8-201311182333.patch
+Patch:	4420_grsecurity-2.9.1-3.11.9-201311222137.patch
 From:	http://www.grsecurity.net
 Desc:	hardened-sources base patch from upstream grsecurity
 

diff --git a/3.11.8/4420_grsecurity-2.9.1-3.11.8-201311182333.patch b/3.11.9/4420_grsecurity-2.9.1-3.11.9-201311222137.patch
similarity index 99%
rename from 3.11.8/4420_grsecurity-2.9.1-3.11.8-201311182333.patch
rename to 3.11.9/4420_grsecurity-2.9.1-3.11.9-201311222137.patch
index 729744d..0fbfd44 100644
--- a/3.11.8/4420_grsecurity-2.9.1-3.11.8-201311182333.patch
+++ b/3.11.9/4420_grsecurity-2.9.1-3.11.9-201311222137.patch
@@ -281,7 +281,7 @@ index 7f9d4f5..6d1afd6 100644
  
  	pcd.		[PARIDE]
 diff --git a/Makefile b/Makefile
-index 7521adb..7279565 100644
+index 06379bd..abdd9a8 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -39577,7 +39577,7 @@ index d84918f..7f38f9f 100644
  	/*
  	 * Represents channel interrupts. Each bit position represents a
 diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
-index e8e071f..5b4b245 100644
+index e8e071fc1..5b4b245 100644
 --- a/drivers/hv/vmbus_drv.c
 +++ b/drivers/hv/vmbus_drv.c
 @@ -672,10 +672,10 @@ int vmbus_device_register(struct hv_device *child_device_obj)
@@ -43883,19 +43883,6 @@ index 8cffcdf..aadf043 100644
  
  #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb)
  
-diff --git a/drivers/net/ethernet/chelsio/cxgb3/sge.c b/drivers/net/ethernet/chelsio/cxgb3/sge.c
-index 9c89dc8..725ecc3 100644
---- a/drivers/net/ethernet/chelsio/cxgb3/sge.c
-+++ b/drivers/net/ethernet/chelsio/cxgb3/sge.c
-@@ -1599,7 +1599,7 @@ static void write_ofld_wr(struct adapter *adap, struct sk_buff *skb,
- 	flits = skb_transport_offset(skb) / 8;
- 	sgp = ndesc == 1 ? (struct sg_ent *)&d->flit[flits] : sgl;
- 	sgl_flits = make_sgl(skb, sgp, skb_transport_header(skb),
--			     skb->tail - skb->transport_header,
-+			     skb_tail_pointer(skb) - skb_transport_header(skb),
- 			     adap->pdev);
- 	if (need_skb_unmap()) {
- 		setup_deferred_unmapping(skb, adap->pdev, sgp, sgl_flits);
 diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
 index 5a3256b..60f16d8 100644
 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -49025,10 +49012,10 @@ index 2a3bbdf..91d72cf 100644
  		file->f_version = event_count;
  		return POLLIN | POLLRDNORM;
 diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
-index 014dc99..4d25fd7 100644
+index 7b8bc0b..31bd7ad 100644
 --- a/drivers/usb/core/hcd.c
 +++ b/drivers/usb/core/hcd.c
-@@ -1551,7 +1551,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
+@@ -1552,7 +1552,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
  	 */
  	usb_get_urb(urb);
  	atomic_inc(&urb->use_count);
@@ -49037,7 +49024,7 @@ index 014dc99..4d25fd7 100644
  	usbmon_urb_submit(&hcd->self, urb);
  
  	/* NOTE requirements on root-hub callers (usbfs and the hub
-@@ -1578,7 +1578,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
+@@ -1579,7 +1579,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
  		urb->hcpriv = NULL;
  		INIT_LIST_HEAD(&urb->urb_list);
  		atomic_dec(&urb->use_count);
@@ -49047,7 +49034,7 @@ index 014dc99..4d25fd7 100644
  			wake_up(&usb_kill_urb_queue);
  		usb_put_urb(urb);
 diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 17c3785..deffb11 100644
+index 1c11089..db98d78 100644
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
 @@ -27,6 +27,7 @@
@@ -49058,7 +49045,7 @@ index 17c3785..deffb11 100644
  
  #include <asm/uaccess.h>
  #include <asm/byteorder.h>
-@@ -4421,6 +4422,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
+@@ -4433,6 +4434,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
    			goto done;
  		return;
  	}
@@ -49536,7 +49523,7 @@ index 36e1fe2..c744820 100644
  		if (!registered_fb[con2fb.framebuffer])
  			request_module("fb%d", con2fb.framebuffer);
 diff --git a/drivers/video/hyperv_fb.c b/drivers/video/hyperv_fb.c
-index d4d2c5f..ebbd113 100644
+index 0f3b33c..b4304eb 100644
 --- a/drivers/video/hyperv_fb.c
 +++ b/drivers/video/hyperv_fb.c
 @@ -233,7 +233,7 @@ static uint screen_fb_size;
@@ -84983,10 +84970,10 @@ index cc2f66f..05edd54 100644
  		*data_page = bpage;
  
 diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 496f94d..754aeea 100644
+index 207f5fc..ff41c9b 100644
 --- a/kernel/trace/trace.c
 +++ b/kernel/trace/trace.c
-@@ -3335,7 +3335,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
+@@ -3338,7 +3338,7 @@ int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set)
  	return 0;
  }
  
@@ -91637,19 +91624,6 @@ index dfa602c..3103d88 100644
  		if (!IS_ERR(flo))
  			fle->object = flo;
  		else
-diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
-index 52d0f83..4a1d064 100644
---- a/net/core/flow_dissector.c
-+++ b/net/core/flow_dissector.c
-@@ -40,7 +40,7 @@ again:
- 		struct iphdr _iph;
- ip:
- 		iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph);
--		if (!iph)
-+		if (!iph || iph->ihl < 5)
- 			return false;
- 
- 		if (ip_is_fragment(iph))
 diff --git a/net/core/iovec.c b/net/core/iovec.c
 index de178e4..1dabd8b 100644
 --- a/net/core/iovec.c
@@ -92145,21 +92119,6 @@ index 3b9d5f2..d7015c6 100644
  			/* replace the top byte with new ECN | DSCP format */
  			*hc06_ptr = tmp;
  			hc06_ptr += 4;
-diff --git a/net/ieee802154/dgram.c b/net/ieee802154/dgram.c
-index 581a595..1865fdf 100644
---- a/net/ieee802154/dgram.c
-+++ b/net/ieee802154/dgram.c
-@@ -315,9 +315,8 @@ static int dgram_recvmsg(struct kiocb *iocb, struct sock *sk,
- 	if (saddr) {
- 		saddr->family = AF_IEEE802154;
- 		saddr->addr = mac_cb(skb)->sa;
--	}
--	if (addr_len)
- 		*addr_len = sizeof(*saddr);
-+	}
- 
- 	if (flags & MSG_TRUNC)
- 		copied = skb->len;
 diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
 index dd6b523..dfe558f 100644
 --- a/net/ipv4/af_inet.c
@@ -92684,7 +92643,7 @@ index cbc2215..9cb993c 100644
  	/* copy_len <= skb->len, so can't fail. */
  	if (skb_copy_bits(skb, 0, pm->payload, copy_len) < 0)
 diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
-index 746427c..a4b35c2 100644
+index 746427c..a73be71 100644
 --- a/net/ipv4/ping.c
 +++ b/net/ipv4/ping.c
 @@ -55,7 +55,7 @@
@@ -92723,28 +92682,7 @@ index 746427c..a4b35c2 100644
  						   info, (u8 *)icmph);
  #endif
  		}
-@@ -827,8 +827,6 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- {
- 	struct inet_sock *isk = inet_sk(sk);
- 	int family = sk->sk_family;
--	struct sockaddr_in *sin;
--	struct sockaddr_in6 *sin6;
- 	struct sk_buff *skb;
- 	int copied, err;
- 
-@@ -838,19 +836,12 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len) {
--		if (family == AF_INET)
--			*addr_len = sizeof(*sin);
--		else if (family == AF_INET6 && addr_len)
--			*addr_len = sizeof(*sin6);
--	}
--
- 	if (flags & MSG_ERRQUEUE) {
- 		if (family == AF_INET) {
+@@ -850,7 +850,7 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
  			return ip_recv_error(sk, msg, len);
  #if IS_ENABLED(CONFIG_IPV6)
  		} else if (family == AF_INET6) {
@@ -92753,7 +92691,7 @@ index 746427c..a4b35c2 100644
  #endif
  		}
  	}
-@@ -874,11 +865,15 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
+@@ -874,11 +874,14 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
  
  	/* Copy the address and add cmsg data. */
  	if (family == AF_INET) {
@@ -92769,12 +92707,11 @@ index 746427c..a4b35c2 100644
 +			sin->sin_port = 0 /* skb->h.uh->source */;
 +			sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
 +			memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
-+			*addr_len = sizeof(*sin);
 +		}
  
  		if (isk->cmsg_flags)
  			ip_cmsg_recv(msg, skb);
-@@ -887,20 +882,24 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
+@@ -887,20 +890,23 @@ int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
  	} else if (family == AF_INET6) {
  		struct ipv6_pinfo *np = inet6_sk(sk);
  		struct ipv6hdr *ip6 = ipv6_hdr(skb);
@@ -92801,7 +92738,6 @@ index 746427c..a4b35c2 100644
 +			sin6->sin6_scope_id =
 +				ipv6_iface_scope_id(&sin6->sin6_addr,
 +						    IP6CB(skb)->iif);
-+			*addr_len = sizeof(*sin6);
 +		}
  
  		if (inet6_sk(sk)->rxopt.all)
@@ -92810,7 +92746,7 @@ index 746427c..a4b35c2 100644
  #endif
  	} else {
  		BUG();
-@@ -1090,7 +1089,7 @@ static void ping_v4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -1090,7 +1096,7 @@ static void ping_v4_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,
@@ -92820,7 +92756,7 @@ index 746427c..a4b35c2 100644
  
  static int ping_v4_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index 6fb2337..0442cca 100644
+index 6fb2337..9cd6b20 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)
@@ -92832,25 +92768,7 @@ index 6fb2337..0442cca 100644
  		kfree_skb(skb);
  		return NET_RX_DROP;
  	}
-@@ -692,9 +692,6 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	if (flags & MSG_ERRQUEUE) {
- 		err = ip_recv_error(sk, msg, len);
- 		goto out;
-@@ -722,6 +719,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		sin->sin_port = 0;
- 		memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
-@@ -746,16 +744,20 @@ static int raw_init(struct sock *sk)
+@@ -746,16 +746,20 @@ static int raw_init(struct sock *sk)
  
  static int raw_seticmpfilter(struct sock *sk, char __user *optval, int optlen)
  {
@@ -92872,7 +92790,7 @@ index 6fb2337..0442cca 100644
  
  	if (get_user(len, optlen))
  		goto out;
-@@ -765,8 +767,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
+@@ -765,8 +769,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;
@@ -92883,7 +92801,7 @@ index 6fb2337..0442cca 100644
  		goto out;
  	ret = 0;
  out:	return ret;
-@@ -995,7 +997,7 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -995,7 +999,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),
@@ -93257,7 +93175,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 766e6ba..57db761 100644
+index 766e6ba..aff2f8d 100644
 --- a/net/ipv4/udp.c
 +++ b/net/ipv4/udp.c
 @@ -87,6 +87,7 @@
@@ -93317,20 +93235,7 @@ index 766e6ba..57db761 100644
  		__skb_unlink(skb, rcvq);
  		__skb_queue_tail(&list_kill, skb);
  	}
-@@ -1208,12 +1225,6 @@ int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	int is_udplite = IS_UDPLITE(sk);
- 	bool slow;
- 
--	/*
--	 *	Check any passed addresses
--	 */
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ip_recv_error(sk, msg, len);
- 
-@@ -1223,6 +1234,10 @@ try_again:
+@@ -1223,6 +1240,10 @@ try_again:
  	if (!skb)
  		goto out;
  
@@ -93341,7 +93246,7 @@ index 766e6ba..57db761 100644
  	ulen = skb->len - sizeof(struct udphdr);
  	copied = len;
  	if (copied > ulen)
-@@ -1256,7 +1271,7 @@ try_again:
+@@ -1256,7 +1277,7 @@ try_again:
  	if (unlikely(err)) {
  		trace_kfree_skb(skb, udp_recvmsg);
  		if (!peeked) {
@@ -93350,15 +93255,7 @@ index 766e6ba..57db761 100644
  			UDP_INC_STATS_USER(sock_net(sk),
  					   UDP_MIB_INERRORS, is_udplite);
  		}
-@@ -1275,6 +1290,7 @@ try_again:
- 		sin->sin_port = udp_hdr(skb)->source;
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
-@@ -1543,7 +1559,7 @@ csum_error:
+@@ -1543,7 +1564,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);
@@ -93367,7 +93264,7 @@ index 766e6ba..57db761 100644
  	kfree_skb(skb);
  	return -1;
  }
-@@ -1562,7 +1578,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -1562,7 +1583,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
  			skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
  
  		if (!skb1) {
@@ -93376,7 +93273,7 @@ index 766e6ba..57db761 100644
  			UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
  					 IS_UDPLITE(sk));
  			UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -1734,6 +1750,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -1734,6 +1755,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);
@@ -93386,7 +93283,7 @@ index 766e6ba..57db761 100644
  	icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
  
  	/*
-@@ -2166,7 +2185,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -2166,7 +2190,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,
@@ -93783,7 +93680,7 @@ index 18f19df..b46ada1 100644
  	unregister_pernet_subsys(&ping_v6_net_ops);
  #endif
 diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
-index cdaed47..0650c7f 100644
+index cdaed47..515edde9 100644
 --- a/net/ipv6/raw.c
 +++ b/net/ipv6/raw.c
 @@ -108,7 +108,7 @@ found:
@@ -93822,25 +93719,7 @@ index cdaed47..0650c7f 100644
  			kfree_skb(skb);
  			return NET_RX_DROP;
  		}
-@@ -459,9 +459,6 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 	if (flags & MSG_OOB)
- 		return -EOPNOTSUPP;
- 
--	if (addr_len)
--		*addr_len=sizeof(*sin6);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ipv6_recv_error(sk, msg, len);
- 
-@@ -500,6 +497,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 		sin6->sin6_flowinfo = 0;
- 		sin6->sin6_scope_id = ipv6_iface_scope_id(&sin6->sin6_addr,
- 							  IP6CB(skb)->iif);
-+		*addr_len = sizeof(*sin6);
- 	}
- 
- 	sock_recv_ts_and_drops(msg, sk, skb);
-@@ -602,7 +600,7 @@ out:
+@@ -602,7 +602,7 @@ out:
  	return err;
  }
  
@@ -93849,7 +93728,7 @@ index cdaed47..0650c7f 100644
  			struct flowi6 *fl6, struct dst_entry **dstp,
  			unsigned int flags)
  {
-@@ -915,12 +913,15 @@ do_confirm:
+@@ -915,12 +915,15 @@ do_confirm:
  static int rawv6_seticmpfilter(struct sock *sk, int level, int optname,
  			       char __user *optval, int optlen)
  {
@@ -93866,7 +93745,7 @@ index cdaed47..0650c7f 100644
  		return 0;
  	default:
  		return -ENOPROTOOPT;
-@@ -933,6 +934,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -933,6 +936,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
  			       char __user *optval, int __user *optlen)
  {
  	int len;
@@ -93874,7 +93753,7 @@ index cdaed47..0650c7f 100644
  
  	switch (optname) {
  	case ICMPV6_FILTER:
-@@ -944,7 +946,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -944,7 +948,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
  			len = sizeof(struct icmp6_filter);
  		if (put_user(len, optlen))
  			return -EFAULT;
@@ -93927,10 +93806,10 @@ index 1aeb473..bea761c 100644
  	return -ENOMEM;
  }
 diff --git a/net/ipv6/route.c b/net/ipv6/route.c
-index 1e32d5c..cbe3b46 100644
+index c9bd97b..a15506e 100644
 --- a/net/ipv6/route.c
 +++ b/net/ipv6/route.c
-@@ -2954,7 +2954,7 @@ struct ctl_table ipv6_route_table_template[] = {
+@@ -2957,7 +2957,7 @@ struct ctl_table ipv6_route_table_template[] = {
  
  struct ctl_table * __net_init ipv6_route_sysctl_init(struct net *net)
  {
@@ -94043,7 +93922,7 @@ index 6e1649d..75ddb4c 100644
  	}
  
 diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
-index f405815..8f25d2a 100644
+index f405815..45a68a6 100644
 --- a/net/ipv6/udp.c
 +++ b/net/ipv6/udp.c
 @@ -53,6 +53,10 @@
@@ -94057,17 +93936,7 @@ index f405815..8f25d2a 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;
-@@ -374,9 +378,6 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 	int is_udp4;
- 	bool slow;
- 
--	if (addr_len)
--		*addr_len = sizeof(struct sockaddr_in6);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ipv6_recv_error(sk, msg, len);
- 
-@@ -420,7 +421,7 @@ try_again:
+@@ -420,7 +424,7 @@ try_again:
  	if (unlikely(err)) {
  		trace_kfree_skb(skb, udpv6_recvmsg);
  		if (!peeked) {
@@ -94076,16 +93945,7 @@ index f405815..8f25d2a 100644
  			if (is_udp4)
  				UDP_INC_STATS_USER(sock_net(sk),
  						   UDP_MIB_INERRORS,
-@@ -462,7 +463,7 @@ try_again:
- 				ipv6_iface_scope_id(&sin6->sin6_addr,
- 						    IP6CB(skb)->iif);
- 		}
--
-+		*addr_len = sizeof(*sin6);
- 	}
- 	if (is_udp4) {
- 		if (inet->cmsg_flags)
-@@ -666,7 +667,7 @@ csum_error:
+@@ -666,7 +670,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);
@@ -94094,7 +93954,7 @@ index f405815..8f25d2a 100644
  	kfree_skb(skb);
  	return -1;
  }
-@@ -724,7 +725,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -724,7 +728,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) {
@@ -94103,7 +93963,7 @@ index f405815..8f25d2a 100644
  			UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
  					  IS_UDPLITE(sk));
  			UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -864,6 +865,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -864,6 +868,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);
@@ -94323,28 +94183,6 @@ index b076e83..793e6ff 100644
  	struct udphdr *uh = udp_hdr(skb);
  	u16 ulen = ntohs(uh->len);
  	__wsum psum;
-diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
-index 571db8d..da1a1ce 100644
---- a/net/l2tp/l2tp_ip.c
-+++ b/net/l2tp/l2tp_ip.c
-@@ -518,9 +518,6 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	skb = skb_recv_datagram(sk, flags, noblock, &err);
- 	if (!skb)
- 		goto out;
-@@ -543,6 +540,7 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		sin->sin_port = 0;
- 		memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
 diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
 index a4b2154..b2fef6f 100644
 --- a/net/mac80211/cfg.c
@@ -95269,33 +95107,6 @@ index 75c8bbf..ee9be59 100644
  		return -EFAULT;
  	return 0;
  }
-diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c
-index 12c30f3..38946b2 100644
---- a/net/phonet/datagram.c
-+++ b/net/phonet/datagram.c
-@@ -139,9 +139,6 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk,
- 			MSG_CMSG_COMPAT))
- 		goto out_nofree;
- 
--	if (addr_len)
--		*addr_len = sizeof(sa);
--
- 	skb = skb_recv_datagram(sk, flags, noblock, &rval);
- 	if (skb == NULL)
- 		goto out_nofree;
-@@ -162,8 +159,10 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk,
- 
- 	rval = (flags & MSG_TRUNC) ? skb->len : copylen;
- 
--	if (msg->msg_name != NULL)
--		memcpy(msg->msg_name, &sa, sizeof(struct sockaddr_pn));
-+	if (msg->msg_name != NULL) {
-+		memcpy(msg->msg_name, &sa, sizeof(sa));
-+		*addr_len = sizeof(sa);
-+	}
- 
- out:
- 	skb_free_datagram(sk, skb);
 diff --git a/net/phonet/pep.c b/net/phonet/pep.c
 index e774117..900b8b7 100644
 --- a/net/phonet/pep.c
@@ -95868,7 +95679,7 @@ index 4a17494d..f7e3fa0 100644
  
  static int sctp_v4_protosw_init(void)
 diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c
-index 9da6885..7571898 100644
+index 8b5b4b7..2636327 100644
 --- a/net/sctp/sm_sideeffect.c
 +++ b/net/sctp/sm_sideeffect.c
 @@ -446,7 +446,7 @@ static void sctp_generate_sack_event(unsigned long data)

diff --git a/3.11.8/4425_grsec_remove_EI_PAX.patch b/3.11.9/4425_grsec_remove_EI_PAX.patch
similarity index 100%
rename from 3.11.8/4425_grsec_remove_EI_PAX.patch
rename to 3.11.9/4425_grsec_remove_EI_PAX.patch

diff --git a/3.11.8/4427_force_XATTR_PAX_tmpfs.patch b/3.11.9/4427_force_XATTR_PAX_tmpfs.patch
similarity index 100%
rename from 3.11.8/4427_force_XATTR_PAX_tmpfs.patch
rename to 3.11.9/4427_force_XATTR_PAX_tmpfs.patch

diff --git a/3.11.8/4430_grsec-remove-localversion-grsec.patch b/3.11.9/4430_grsec-remove-localversion-grsec.patch
similarity index 100%
rename from 3.11.8/4430_grsec-remove-localversion-grsec.patch
rename to 3.11.9/4430_grsec-remove-localversion-grsec.patch

diff --git a/3.11.8/4435_grsec-mute-warnings.patch b/3.11.9/4435_grsec-mute-warnings.patch
similarity index 100%
rename from 3.11.8/4435_grsec-mute-warnings.patch
rename to 3.11.9/4435_grsec-mute-warnings.patch

diff --git a/3.11.8/4440_grsec-remove-protected-paths.patch b/3.11.9/4440_grsec-remove-protected-paths.patch
similarity index 100%
rename from 3.11.8/4440_grsec-remove-protected-paths.patch
rename to 3.11.9/4440_grsec-remove-protected-paths.patch

diff --git a/3.11.8/4450_grsec-kconfig-default-gids.patch b/3.11.9/4450_grsec-kconfig-default-gids.patch
similarity index 100%
rename from 3.11.8/4450_grsec-kconfig-default-gids.patch
rename to 3.11.9/4450_grsec-kconfig-default-gids.patch

diff --git a/3.11.8/4465_selinux-avc_audit-log-curr_ip.patch b/3.11.9/4465_selinux-avc_audit-log-curr_ip.patch
similarity index 100%
rename from 3.11.8/4465_selinux-avc_audit-log-curr_ip.patch
rename to 3.11.9/4465_selinux-avc_audit-log-curr_ip.patch

diff --git a/3.11.8/4470_disable-compat_vdso.patch b/3.11.9/4470_disable-compat_vdso.patch
similarity index 100%
rename from 3.11.8/4470_disable-compat_vdso.patch
rename to 3.11.9/4470_disable-compat_vdso.patch

diff --git a/3.11.8/4475_emutramp_default_on.patch b/3.11.9/4475_emutramp_default_on.patch
similarity index 100%
rename from 3.11.8/4475_emutramp_default_on.patch
rename to 3.11.9/4475_emutramp_default_on.patch

diff --git a/3.2.52/0000_README b/3.2.52/0000_README
index 7c3a2df..18cef6b 100644
--- a/3.2.52/0000_README
+++ b/3.2.52/0000_README
@@ -126,7 +126,7 @@ Patch:	1051_linux-3.2.52.patch
 From:	http://www.kernel.org
 Desc:	Linux 3.2.52
 
-Patch:	4420_grsecurity-2.9.1-3.2.52-201311182331.patch
+Patch:	4420_grsecurity-2.9.1-3.2.52-201311222106.patch
 From:	http://www.grsecurity.net
 Desc:	hardened-sources base patch from upstream grsecurity
 

diff --git a/3.2.52/4420_grsecurity-2.9.1-3.2.52-201311182331.patch b/3.2.52/4420_grsecurity-2.9.1-3.2.52-201311222106.patch
similarity index 99%
rename from 3.2.52/4420_grsecurity-2.9.1-3.2.52-201311182331.patch
rename to 3.2.52/4420_grsecurity-2.9.1-3.2.52-201311222106.patch
index 4de7864..1102a6d 100644
--- a/3.2.52/4420_grsecurity-2.9.1-3.2.52-201311182331.patch
+++ b/3.2.52/4420_grsecurity-2.9.1-3.2.52-201311222106.patch
@@ -93672,28 +93672,10 @@ index b550815..c3b44d5 100644
  	/* copy_len <= skb->len, so can't fail. */
  	if (skb_copy_bits(skb, 0, pm->payload, copy_len) < 0)
 diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
-index 294a380..1c57436 100644
+index 294a380..885a292 100644
 --- a/net/ipv4/ping.c
 +++ b/net/ipv4/ping.c
-@@ -632,9 +632,6 @@ static int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ip_recv_error(sk, msg, len);
- 
-@@ -661,6 +658,7 @@ static int ping_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 		sin->sin_port = 0 /* skb->h.uh->source */;
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (isk->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
-@@ -836,7 +834,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
+@@ -836,7 +836,7 @@ static void ping_format_sock(struct sock *sp, struct seq_file *f,
  		sk_rmem_alloc_get(sp),
  		0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
  		atomic_read(&sp->sk_refcnt), sp,
@@ -93716,7 +93698,7 @@ index f7fdbe9..63740b7 100644
  	.exit = ip_proc_exit_net,
  };
 diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
-index 2815014..41f6720 100644
+index 2815014..1d39ae6 100644
 --- a/net/ipv4/raw.c
 +++ b/net/ipv4/raw.c
 @@ -305,7 +305,7 @@ static int raw_rcv_skb(struct sock * sk, struct sk_buff * skb)
@@ -93728,25 +93710,7 @@ index 2815014..41f6720 100644
  		kfree_skb(skb);
  		return NET_RX_DROP;
  	}
-@@ -686,9 +686,6 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	if (flags & MSG_ERRQUEUE) {
- 		err = ip_recv_error(sk, msg, len);
- 		goto out;
-@@ -716,6 +713,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		sin->sin_port = 0;
- 		memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
-@@ -740,16 +738,20 @@ static int raw_init(struct sock *sk)
+@@ -740,16 +740,20 @@ static int raw_init(struct sock *sk)
  
  static int raw_seticmpfilter(struct sock *sk, char __user *optval, int optlen)
  {
@@ -93768,7 +93732,7 @@ index 2815014..41f6720 100644
  
  	if (get_user(len, optlen))
  		goto out;
-@@ -759,8 +761,8 @@ static int raw_geticmpfilter(struct sock *sk, char __user *optval, int __user *o
+@@ -759,8 +763,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;
@@ -93779,7 +93743,7 @@ index 2815014..41f6720 100644
  		goto out;
  	ret = 0;
  out:	return ret;
-@@ -988,7 +990,13 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -988,7 +992,13 @@ static void raw_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
  		sk_wmem_alloc_get(sp),
  		sk_rmem_alloc_get(sp),
  		0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -93794,7 +93758,7 @@ index 2815014..41f6720 100644
  }
  
  static int raw_seq_show(struct seq_file *seq, void *v)
-@@ -1051,7 +1059,7 @@ static __net_exit void raw_exit_net(struct net *net)
+@@ -1051,7 +1061,7 @@ static __net_exit void raw_exit_net(struct net *net)
  	proc_net_remove(net, "raw");
  }
  
@@ -94304,7 +94268,7 @@ index 2e0f0af..e2948bf 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 5decc93..99c588f 100644
+index 5decc93..79830d4 100644
 --- a/net/ipv4/udp.c
 +++ b/net/ipv4/udp.c
 @@ -86,6 +86,7 @@
@@ -94364,20 +94328,7 @@ index 5decc93..99c588f 100644
  		__skb_unlink(skb, rcvq);
  		__skb_queue_tail(&list_kill, skb);
  	}
-@@ -1171,12 +1188,6 @@ int udp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
- 	int is_udplite = IS_UDPLITE(sk);
- 	bool slow;
- 
--	/*
--	 *	Check any passed addresses
--	 */
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ip_recv_error(sk, msg, len);
- 
-@@ -1186,6 +1197,10 @@ try_again:
+@@ -1186,6 +1203,10 @@ try_again:
  	if (!skb)
  		goto out;
  
@@ -94388,15 +94339,7 @@ index 5decc93..99c588f 100644
  	ulen = skb->len - sizeof(struct udphdr);
  	copied = len;
  	if (copied > ulen)
-@@ -1231,6 +1246,7 @@ try_again:
- 		sin->sin_port = udp_hdr(skb)->source;
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		memset(sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
-@@ -1488,7 +1504,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
+@@ -1488,7 +1509,7 @@ int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
  
  drop:
  	UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
@@ -94405,7 +94348,7 @@ index 5decc93..99c588f 100644
  	kfree_skb(skb);
  	return -1;
  }
-@@ -1507,7 +1523,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -1507,7 +1528,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
  			skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
  
  		if (!skb1) {
@@ -94414,7 +94357,7 @@ index 5decc93..99c588f 100644
  			UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
  					 IS_UDPLITE(sk));
  			UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -1676,6 +1692,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -1676,6 +1697,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);
@@ -94424,7 +94367,7 @@ index 5decc93..99c588f 100644
  	icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
  
  	/*
-@@ -2099,8 +2118,13 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -2099,8 +2123,13 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
  		sk_wmem_alloc_get(sp),
  		sk_rmem_alloc_get(sp),
  		0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -94658,7 +94601,7 @@ index 94874b0..a47969c 100644
  
  	case IP6T_SO_GET_ENTRIES:
 diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
-index 6e6c2c4..ea743ae 100644
+index 6e6c2c4..c97891e 100644
 --- a/net/ipv6/raw.c
 +++ b/net/ipv6/raw.c
 @@ -109,7 +109,7 @@ found:
@@ -94697,25 +94640,7 @@ index 6e6c2c4..ea743ae 100644
  			kfree_skb(skb);
  			return NET_RX_DROP;
  		}
-@@ -456,9 +456,6 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 	if (flags & MSG_OOB)
- 		return -EOPNOTSUPP;
- 
--	if (addr_len)
--		*addr_len=sizeof(*sin6);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ipv6_recv_error(sk, msg, len);
- 
-@@ -498,6 +495,7 @@ static int rawv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 		sin6->sin6_scope_id = 0;
- 		if (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL)
- 			sin6->sin6_scope_id = IP6CB(skb)->iif;
-+		*addr_len = sizeof(*sin6);
- 	}
- 
- 	sock_recv_ts_and_drops(msg, sk, skb);
-@@ -600,7 +598,7 @@ out:
+@@ -600,7 +600,7 @@ out:
  	return err;
  }
  
@@ -94724,7 +94649,7 @@ index 6e6c2c4..ea743ae 100644
  			struct flowi6 *fl6, struct dst_entry **dstp,
  			unsigned int flags)
  {
-@@ -908,12 +906,15 @@ do_confirm:
+@@ -908,12 +908,15 @@ do_confirm:
  static int rawv6_seticmpfilter(struct sock *sk, int level, int optname,
  			       char __user *optval, int optlen)
  {
@@ -94741,7 +94666,7 @@ index 6e6c2c4..ea743ae 100644
  		return 0;
  	default:
  		return -ENOPROTOOPT;
-@@ -926,6 +927,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -926,6 +929,7 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
  			       char __user *optval, int __user *optlen)
  {
  	int len;
@@ -94749,7 +94674,7 @@ index 6e6c2c4..ea743ae 100644
  
  	switch (optname) {
  	case ICMPV6_FILTER:
-@@ -937,7 +939,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
+@@ -937,7 +941,8 @@ static int rawv6_geticmpfilter(struct sock *sk, int level, int optname,
  			len = sizeof(struct icmp6_filter);
  		if (put_user(len, optlen))
  			return -EFAULT;
@@ -94759,7 +94684,7 @@ index 6e6c2c4..ea743ae 100644
  			return -EFAULT;
  		return 0;
  	default:
-@@ -1244,7 +1247,13 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
+@@ -1244,7 +1249,13 @@ static void raw6_sock_seq_show(struct seq_file *seq, struct sock *sp, int i)
  		   0, 0L, 0,
  		   sock_i_uid(sp), 0,
  		   sock_i_ino(sp),
@@ -94945,7 +94870,7 @@ index c69358c..d1e5855 100644
  
  static int tcp6_seq_show(struct seq_file *seq, void *v)
 diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
-index f9e496b..21e6f71 100644
+index f9e496b..729da61 100644
 --- a/net/ipv6/udp.c
 +++ b/net/ipv6/udp.c
 @@ -50,6 +50,10 @@
@@ -94959,26 +94884,7 @@ index f9e496b..21e6f71 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;
-@@ -347,9 +351,6 @@ int udpv6_recvmsg(struct kiocb *iocb, struct sock *sk,
- 	int is_udp4;
- 	bool slow;
- 
--	if (addr_len)
--		*addr_len=sizeof(struct sockaddr_in6);
--
- 	if (flags & MSG_ERRQUEUE)
- 		return ipv6_recv_error(sk, msg, len);
- 
-@@ -423,7 +424,7 @@ try_again:
- 			if (ipv6_addr_type(&sin6->sin6_addr) & IPV6_ADDR_LINKLOCAL)
- 				sin6->sin6_scope_id = IP6CB(skb)->iif;
- 		}
--
-+		*addr_len = sizeof(*sin6);
- 	}
- 	if (is_udp4) {
- 		if (inet->cmsg_flags)
-@@ -549,7 +550,7 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
+@@ -549,7 +553,7 @@ int udpv6_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
  
  	return 0;
  drop:
@@ -94987,7 +94893,7 @@ index f9e496b..21e6f71 100644
  drop_no_sk_drops_inc:
  	UDP6_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
  	kfree_skb(skb);
-@@ -625,7 +626,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -625,7 +629,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
  			continue;
  		}
  drop:
@@ -94996,7 +94902,7 @@ index f9e496b..21e6f71 100644
  		UDP6_INC_STATS_BH(sock_net(sk),
  				UDP_MIB_RCVBUFERRORS, IS_UDPLITE(sk));
  		UDP6_INC_STATS_BH(sock_net(sk),
-@@ -780,6 +781,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -780,6 +784,9 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
  		UDP6_INC_STATS_BH(net, UDP_MIB_NOPORTS,
  				proto == IPPROTO_UDPLITE);
  
@@ -95006,7 +94912,7 @@ index f9e496b..21e6f71 100644
  		icmpv6_send(skb, ICMPV6_DEST_UNREACH, ICMPV6_PORT_UNREACH, 0);
  
  		kfree_skb(skb);
-@@ -796,7 +800,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -796,7 +803,7 @@ int __udp6_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
  	if (!sock_owned_by_user(sk))
  		udpv6_queue_rcv_skb(sk, skb);
  	else if (sk_add_backlog(sk, skb)) {
@@ -95015,7 +94921,7 @@ index f9e496b..21e6f71 100644
  		bh_unlock_sock(sk);
  		sock_put(sk);
  		goto discard;
-@@ -1412,8 +1416,13 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
+@@ -1412,8 +1419,13 @@ static void udp6_sock_seq_show(struct seq_file *seq, struct sock *sp, int bucket
  		   0, 0L, 0,
  		   sock_i_uid(sp), 0,
  		   sock_i_ino(sp),
@@ -95285,28 +95191,6 @@ index 8dbdb8e..50f4169 100644
  	} while (!res);
  	return res;
  }
-diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
-index 6c7e609..334a93d 100644
---- a/net/l2tp/l2tp_ip.c
-+++ b/net/l2tp/l2tp_ip.c
-@@ -568,9 +568,6 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
- 	if (flags & MSG_OOB)
- 		goto out;
- 
--	if (addr_len)
--		*addr_len = sizeof(*sin);
--
- 	skb = skb_recv_datagram(sk, flags, noblock, &err);
- 	if (!skb)
- 		goto out;
-@@ -593,6 +590,7 @@ static int l2tp_ip_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
- 		sin->sin_addr.s_addr = ip_hdr(skb)->saddr;
- 		sin->sin_port = 0;
- 		memset(&sin->sin_zero, 0, sizeof(sin->sin_zero));
-+		*addr_len = sizeof(*sin);
- 	}
- 	if (inet->cmsg_flags)
- 		ip_cmsg_recv(msg, skb);
 diff --git a/net/l2tp/l2tp_netlink.c b/net/l2tp/l2tp_netlink.c
 index 93a41a0..d4b4edb 100644
 --- a/net/l2tp/l2tp_netlink.c
@@ -96386,33 +96270,6 @@ index d65f699..855d175 100644
  		return -EINVAL;
  
  	err = proto_register(pp->prot, 1);
-diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c
-index bf35b4e..b25f2d3 100644
---- a/net/phonet/datagram.c
-+++ b/net/phonet/datagram.c
-@@ -139,9 +139,6 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk,
- 			MSG_CMSG_COMPAT))
- 		goto out_nofree;
- 
--	if (addr_len)
--		*addr_len = sizeof(sa);
--
- 	skb = skb_recv_datagram(sk, flags, noblock, &rval);
- 	if (skb == NULL)
- 		goto out_nofree;
-@@ -162,8 +159,10 @@ static int pn_recvmsg(struct kiocb *iocb, struct sock *sk,
- 
- 	rval = (flags & MSG_TRUNC) ? skb->len : copylen;
- 
--	if (msg->msg_name != NULL)
--		memcpy(msg->msg_name, &sa, sizeof(struct sockaddr_pn));
-+	if (msg->msg_name != NULL) {
-+		memcpy(msg->msg_name, &sa, sizeof(sa));
-+		*addr_len = sizeof(sa);
-+	}
- 
- out:
- 	skb_free_datagram(sk, skb);
 diff --git a/net/phonet/pep.c b/net/phonet/pep.c
 index 007546d..9a8e5c6 100644
 --- a/net/phonet/pep.c


                 reply	other threads:[~2013-11-24  0:35 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1385253355.b707a73b9216a4d4250d663a0eecd44b05c6cb61.blueness@gentoo \
    --to=blueness@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox