packages (LINUX_2_6_35): kernel/kernel-grsec_full.patch, kernel/kernel.spec...

arekm arekm at pld-linux.org
Wed Nov 3 08:18:36 CET 2010


Author: arekm                        Date: Wed Nov  3 07:18:36 2010 GMT
Module: packages                      Tag: LINUX_2_6_35
---- Log message:
- rel 2; updated grsec to grsecurity-2.2.0-2.6.35.8-201011022021.patch

---- Files affected:
packages/kernel:
   kernel-grsec_full.patch (1.47.2.1 -> 1.47.2.2) , kernel.spec (1.837.2.1 -> 1.837.2.2) 

---- Diffs:

================================================================
Index: packages/kernel/kernel-grsec_full.patch
diff -u packages/kernel/kernel-grsec_full.patch:1.47.2.1 packages/kernel/kernel-grsec_full.patch:1.47.2.2
--- packages/kernel/kernel-grsec_full.patch:1.47.2.1	Mon Nov  1 06:54:00 2010
+++ packages/kernel/kernel-grsec_full.patch	Wed Nov  3 08:18:29 2010
@@ -11753,7 +11753,7 @@
  	/* Reserve INITRD */
 diff -urNp linux-2.6.35.8/arch/x86/kernel/head_32.S linux-2.6.35.8/arch/x86/kernel/head_32.S
 --- linux-2.6.35.8/arch/x86/kernel/head_32.S	2010-10-31 17:13:58.000000000 -0400
-+++ linux-2.6.35.8/arch/x86/kernel/head_32.S	2010-10-31 17:21:20.000000000 -0400
++++ linux-2.6.35.8/arch/x86/kernel/head_32.S	2010-11-02 19:22:48.000000000 -0400
 @@ -25,6 +25,12 @@
  /* Physical address */
  #define pa(X) ((X) - __PAGE_OFFSET)
@@ -12045,7 +12045,7 @@
  ENTRY(swapper_pg_dir)
  	.fill 1024,4,0
  #endif
-+
++.section .swapper_pg_fixmap,"a", at progbits
  swapper_pg_fixmap:
  	.fill 1024,4,0
  #ifdef CONFIG_X86_TRAMPOLINE
@@ -14558,7 +14558,7 @@
  	local_irq_save(flags);
 diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S
 --- linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S	2010-08-26 19:47:12.000000000 -0400
-+++ linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S	2010-09-17 20:12:09.000000000 -0400
++++ linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S	2010-11-02 19:23:16.000000000 -0400
 @@ -26,6 +26,13 @@
  #include <asm/page_types.h>
  #include <asm/cache.h>
@@ -14644,7 +14644,7 @@
  		HEAD_TEXT
  #ifdef CONFIG_X86_32
  		. = ALIGN(PAGE_SIZE);
-@@ -108,13 +130,50 @@ SECTIONS
+@@ -108,13 +130,52 @@ SECTIONS
  		IRQENTRY_TEXT
  		*(.fixup)
  		*(.gnu.warning)
@@ -14686,8 +14686,10 @@
 +		*(.idt)
 +		. = ALIGN(PAGE_SIZE);
 +		*(.empty_zero_page)
++		*(.swapper_pg_fixmap)
 +		*(.swapper_pg_pmd)
 +		*(.swapper_pg_dir)
++		*(.trampoline_pg_dir)
 +	} :rodata
 +#endif
 +
@@ -14699,7 +14701,7 @@
  
  	X64_ALIGN_DEBUG_RODATA_BEGIN
  	RO_DATA(PAGE_SIZE)
-@@ -122,16 +181,20 @@ SECTIONS
+@@ -122,16 +183,20 @@ SECTIONS
  
  	/* Data */
  	.data : AT(ADDR(.data) - LOAD_OFFSET) {
@@ -14723,7 +14725,7 @@
  
  		PAGE_ALIGNED_DATA(PAGE_SIZE)
  
-@@ -194,12 +257,6 @@ SECTIONS
+@@ -194,12 +259,6 @@ SECTIONS
  	}
  	vgetcpu_mode = VVIRT(.vgetcpu_mode);
  
@@ -14736,7 +14738,7 @@
  	.vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) {
  		*(.vsyscall_3)
  	}
-@@ -215,12 +272,19 @@ SECTIONS
+@@ -215,12 +274,19 @@ SECTIONS
  #endif /* CONFIG_X86_64 */
  
  	/* Init code and data - will be freed after init */
@@ -14759,7 +14761,7 @@
  	/*
  	 * percpu offsets are zero-based on SMP.  PERCPU_VADDR() changes the
  	 * output PHDR, so the next output section - .init.text - should
-@@ -229,12 +293,27 @@ SECTIONS
+@@ -229,12 +295,27 @@ SECTIONS
  	PERCPU_VADDR(0, :percpu)
  #endif
  
@@ -14792,7 +14794,7 @@
  
  	.x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
  		__x86_cpu_dev_start = .;
-@@ -260,19 +339,11 @@ SECTIONS
+@@ -260,19 +341,11 @@ SECTIONS
  		*(.altinstr_replacement)
  	}
  
@@ -14813,7 +14815,7 @@
  	PERCPU(PAGE_SIZE)
  #endif
  
-@@ -291,16 +362,10 @@ SECTIONS
+@@ -291,16 +364,10 @@ SECTIONS
  	.smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
  		__smp_locks = .;
  		*(.smp_locks)
@@ -14831,7 +14833,7 @@
  	/* BSS */
  	. = ALIGN(PAGE_SIZE);
  	.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
-@@ -316,6 +381,7 @@ SECTIONS
+@@ -316,6 +383,7 @@ SECTIONS
  		__brk_base = .;
  		. += 64 * 1024;		/* 64k alignment slop space */
  		*(.brk_reservation)	/* areas brk users have reserved */
@@ -14839,7 +14841,7 @@
  		__brk_limit = .;
  	}
  
-@@ -342,13 +408,12 @@ SECTIONS
+@@ -342,13 +410,12 @@ SECTIONS
   * for the boot processor.
   */
  #define INIT_PER_CPU(x) init_per_cpu__##x = x + __per_cpu_load
@@ -54710,6 +54712,25 @@
  	__AAL_STAT_ITEMS
  #undef __HANDLE_ITEM
  }
+diff -urNp linux-2.6.35.8/net/ax25/af_ax25.c linux-2.6.35.8/net/ax25/af_ax25.c
+--- linux-2.6.35.8/net/ax25/af_ax25.c	2010-08-26 19:47:12.000000000 -0400
++++ linux-2.6.35.8/net/ax25/af_ax25.c	2010-11-02 19:44:50.000000000 -0400
+@@ -1392,6 +1392,7 @@ static int ax25_getname(struct socket *s
+ 	ax25_cb *ax25;
+ 	int err = 0;
+ 
++	memset(fsa, 0, sizeof(*fsa));
+ 	lock_sock(sk);
+ 	ax25 = ax25_sk(sk);
+ 
+@@ -1403,7 +1404,6 @@ static int ax25_getname(struct socket *s
+ 
+ 		fsa->fsa_ax25.sax25_family = AF_AX25;
+ 		fsa->fsa_ax25.sax25_call   = ax25->dest_addr;
+-		fsa->fsa_ax25.sax25_ndigis = 0;
+ 
+ 		if (ax25->digipeat != NULL) {
+ 			ndigi = ax25->digipeat->ndigi;
 diff -urNp linux-2.6.35.8/net/bridge/br_multicast.c linux-2.6.35.8/net/bridge/br_multicast.c
 --- linux-2.6.35.8/net/bridge/br_multicast.c	2010-08-26 19:47:12.000000000 -0400
 +++ linux-2.6.35.8/net/bridge/br_multicast.c	2010-10-11 22:41:44.000000000 -0400
@@ -55685,9 +55706,28 @@
  			   atomic_read(&s->sk_refcnt),
  			   atomic_read(&s->sk_drops),
  			   sock_i_ino(s)
+diff -urNp linux-2.6.35.8/net/netrom/af_netrom.c linux-2.6.35.8/net/netrom/af_netrom.c
+--- linux-2.6.35.8/net/netrom/af_netrom.c	2010-08-26 19:47:12.000000000 -0400
++++ linux-2.6.35.8/net/netrom/af_netrom.c	2010-11-02 19:46:20.000000000 -0400
+@@ -840,6 +840,7 @@ static int nr_getname(struct socket *soc
+ 	struct sock *sk = sock->sk;
+ 	struct nr_sock *nr = nr_sk(sk);
+ 
++	memset(sax, 0, sizeof(*sax));
+ 	lock_sock(sk);
+ 	if (peer != 0) {
+ 		if (sk->sk_state != TCP_ESTABLISHED) {
+@@ -854,7 +855,6 @@ static int nr_getname(struct socket *soc
+ 		*uaddr_len = sizeof(struct full_sockaddr_ax25);
+ 	} else {
+ 		sax->fsa_ax25.sax25_family = AF_NETROM;
+-		sax->fsa_ax25.sax25_ndigis = 0;
+ 		sax->fsa_ax25.sax25_call   = nr->source_addr;
+ 		*uaddr_len = sizeof(struct sockaddr_ax25);
+ 	}
 diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_packet.c
 --- linux-2.6.35.8/net/packet/af_packet.c	2010-08-26 19:47:12.000000000 -0400
-+++ linux-2.6.35.8/net/packet/af_packet.c	2010-10-11 22:41:44.000000000 -0400
++++ linux-2.6.35.8/net/packet/af_packet.c	2010-11-02 19:42:44.000000000 -0400
 @@ -1595,8 +1595,9 @@ static int packet_recvmsg(struct kiocb *
  
  		err = -EINVAL;
@@ -55699,7 +55739,24 @@
  
  		if (skb_is_gso(skb)) {
  			struct skb_shared_info *sinfo = skb_shinfo(skb);
-@@ -2093,7 +2094,7 @@ static int packet_getsockopt(struct sock
+@@ -1704,7 +1705,7 @@ static int packet_getname_spkt(struct so
+ 	rcu_read_lock();
+ 	dev = dev_get_by_index_rcu(sock_net(sk), pkt_sk(sk)->ifindex);
+ 	if (dev)
+-		strlcpy(uaddr->sa_data, dev->name, 15);
++		strncpy(uaddr->sa_data, dev->name, 14);
+ 	else
+ 		memset(uaddr->sa_data, 0, 14);
+ 	rcu_read_unlock();
+@@ -1727,6 +1728,7 @@ static int packet_getname(struct socket 
+ 	sll->sll_family = AF_PACKET;
+ 	sll->sll_ifindex = po->ifindex;
+ 	sll->sll_protocol = po->num;
++	sll->sll_pkttype = 0;
+ 	rcu_read_lock();
+ 	dev = dev_get_by_index_rcu(sock_net(sk), po->ifindex);
+ 	if (dev) {
+@@ -2093,7 +2095,7 @@ static int packet_getsockopt(struct sock
  	case PACKET_HDRLEN:
  		if (len > sizeof(int))
  			len = sizeof(int);
@@ -55708,7 +55765,7 @@
  			return -EFAULT;
  		switch (val) {
  		case TPACKET_V1:
-@@ -2125,7 +2126,7 @@ static int packet_getsockopt(struct sock
+@@ -2125,7 +2127,7 @@ static int packet_getsockopt(struct sock
  
  	if (put_user(len, optlen))
  		return -EFAULT;
@@ -55717,7 +55774,7 @@
  		return -EFAULT;
  	return 0;
  }
-@@ -2604,7 +2605,11 @@ static int packet_seq_show(struct seq_fi
+@@ -2604,7 +2606,11 @@ static int packet_seq_show(struct seq_fi
  
  		seq_printf(seq,
  			   "%p %-6d %-4d %04x   %-5d %1d %-6u %-6u %-6lu\n",
@@ -56012,8 +56069,16 @@
  	}
 diff -urNp linux-2.6.35.8/net/tipc/socket.c linux-2.6.35.8/net/tipc/socket.c
 --- linux-2.6.35.8/net/tipc/socket.c	2010-08-26 19:47:12.000000000 -0400
-+++ linux-2.6.35.8/net/tipc/socket.c	2010-09-17 20:12:09.000000000 -0400
-@@ -1451,8 +1451,9 @@ static int connect(struct socket *sock, 
++++ linux-2.6.35.8/net/tipc/socket.c	2010-11-02 19:49:48.000000000 -0400
+@@ -395,6 +395,7 @@ static int get_name(struct socket *sock,
+ 	struct sockaddr_tipc *addr = (struct sockaddr_tipc *)uaddr;
+ 	struct tipc_sock *tsock = tipc_sk(sock->sk);
+ 
++	memset(addr, 0, sizeof(*addr));
+ 	if (peer) {
+ 		if ((sock->state != SS_CONNECTED) &&
+ 			((peer != 2) || (sock->state != SS_DISCONNECTING)))
+@@ -1451,8 +1452,9 @@ static int connect(struct socket *sock, 
  	} else {
  		if (res == 0)
  			res = -ETIMEDOUT;
@@ -56145,6 +56210,26 @@
  	err = handler(dev, info, (union iwreq_data *) iwp, extra);
  
  	iwp->length += essid_compat;
+diff -urNp linux-2.6.35.8/net/x25/x25_facilities.c linux-2.6.35.8/net/x25/x25_facilities.c
+--- linux-2.6.35.8/net/x25/x25_facilities.c	2010-08-26 19:47:12.000000000 -0400
++++ linux-2.6.35.8/net/x25/x25_facilities.c	2010-11-02 19:50:35.000000000 -0400
+@@ -134,14 +134,14 @@ int x25_parse_facilities(struct sk_buff 
+ 		case X25_FAC_CLASS_D:
+ 			switch (*p) {
+ 			case X25_FAC_CALLING_AE:
+-				if (p[1] > X25_MAX_DTE_FACIL_LEN)
++				if (p[1] > X25_MAX_DTE_FACIL_LEN || p[1] == 0)
+ 					break;
+ 				dte_facs->calling_len = p[2];
+ 				memcpy(dte_facs->calling_ae, &p[3], p[1] - 1);
+ 				*vc_fac_mask |= X25_MASK_CALLING_AE;
+ 				break;
+ 			case X25_FAC_CALLED_AE:
+-				if (p[1] > X25_MAX_DTE_FACIL_LEN)
++				if (p[1] > X25_MAX_DTE_FACIL_LEN || p[1] == 0)
+ 					break;
+ 				dte_facs->called_len = p[2];
+ 				memcpy(dte_facs->called_ae, &p[3], p[1] - 1);
 diff -urNp linux-2.6.35.8/net/xfrm/xfrm_policy.c linux-2.6.35.8/net/xfrm/xfrm_policy.c
 --- linux-2.6.35.8/net/xfrm/xfrm_policy.c	2010-08-26 19:47:12.000000000 -0400
 +++ linux-2.6.35.8/net/xfrm/xfrm_policy.c	2010-09-17 20:12:09.000000000 -0400

================================================================
Index: packages/kernel/kernel.spec
diff -u packages/kernel/kernel.spec:1.837.2.1 packages/kernel/kernel.spec:1.837.2.2
--- packages/kernel/kernel.spec:1.837.2.1	Mon Nov  1 06:54:00 2010
+++ packages/kernel/kernel.spec	Wed Nov  3 08:18:29 2010
@@ -115,7 +115,7 @@
 
 %define		basever		2.6.35
 %define		postver		.8
-%define		rel		1
+%define		rel		2
 
 %define		_enable_debug_packages			0
 
@@ -326,7 +326,7 @@
 # based on http://ftp.leg.uct.ac.za/pub/linux/rip/inittmpfs-2.6.14.diff.gz
 Patch7000:	kernel-inittmpfs.patch
 
-# based on http://www.grsecurity.net/~spender/grsecurity-2.2.0-2.6.35.8-201010311944.patch
+# based on http://grsecurity.net/~spender/grsecurity-2.2.0-2.6.35.8-201011022021.patch
 # NOTE: put raw upstream patches on kernel-grsec_full.patch:GRSECURITY_RAW for reference
 #       (since upstream deletes older patches)
 Patch9999:	kernel-grsec_full.patch
@@ -1593,6 +1593,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.837.2.2  2010/11/03 07:18:29  arekm
+- rel 2; updated grsec to grsecurity-2.2.0-2.6.35.8-201011022021.patch
+
 Revision 1.837.2.1  2010/11/01 05:54:00  arekm
 - up to 2.6.35.8
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel-grsec_full.patch?r1=1.47.2.1&r2=1.47.2.2&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.837.2.1&r2=1.837.2.2&f=u



More information about the pld-cvs-commit mailing list