aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2010-11-03 15:53:10 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2010-11-03 16:27:24 +0000
commita0601e3759919e432c7edb59d15989f59556024e (patch)
tree7836395852b3a8e2303e8653ff2ee5531e99af34
parent5f15f3a8efe53cea570a48958dbaaef6a9cd348d (diff)
downloadalpine_aports-a0601e3759919e432c7edb59d15989f59556024e.tar.bz2
alpine_aports-a0601e3759919e432c7edb59d15989f59556024e.tar.xz
alpine_aports-a0601e3759919e432c7edb59d15989f59556024e.zip
main/linux-grsec: upgrade to grsecurity-2.2.0-2.6.35.8-201011022021
(cherry picked from commit f4dbbef2987efe748a576eec670614b5132a97ee)
-rw-r--r--main/linux-grsec/APKBUILD6
-rw-r--r--main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201011022021.patch (renamed from main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201010311944.patch)121
2 files changed, 106 insertions, 21 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index bd25e8bef0..c46238b233 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -4,7 +4,7 @@ _flavor=grsec
4pkgname=linux-${_flavor} 4pkgname=linux-${_flavor}
5pkgver=2.6.35.8 5pkgver=2.6.35.8
6_kernver=2.6.35 6_kernver=2.6.35
7pkgrel=0 7pkgrel=1
8pkgdesc="Linux kernel with grsecurity" 8pkgdesc="Linux kernel with grsecurity"
9url=http://grsecurity.net 9url=http://grsecurity.net
10depends="mkinitfs linux-firmware" 10depends="mkinitfs linux-firmware"
@@ -14,7 +14,7 @@ _config=${config:-kernelconfig.${CARCH:-x86}}
14install= 14install=
15source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 15source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2
16 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 16 ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2
17 grsecurity-2.2.0-2.6.35.8-201010311944.patch 17 grsecurity-2.2.0-2.6.35.8-201011022021.patch
18 0004-arp-flush-arp-cache-on-device-change.patch 18 0004-arp-flush-arp-cache-on-device-change.patch
19 r8169-fix-rx-checksum-offload.patch 19 r8169-fix-rx-checksum-offload.patch
20 r8169-add-gro-support.patch 20 r8169-add-gro-support.patch
@@ -140,7 +140,7 @@ firmware() {
140 140
141md5sums="091abeb4684ce03d1d936851618687b6 linux-2.6.35.tar.bz2 141md5sums="091abeb4684ce03d1d936851618687b6 linux-2.6.35.tar.bz2
142198e4e72ea9cc7f9f25bb5881167aa2e patch-2.6.35.8.bz2 142198e4e72ea9cc7f9f25bb5881167aa2e patch-2.6.35.8.bz2
1433ad2911a6009758d1df3fff0bce11405 grsecurity-2.2.0-2.6.35.8-201010311944.patch 143ec3743cf416ebdc47dbc088aaf33e8e8 grsecurity-2.2.0-2.6.35.8-201011022021.patch
144776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch 144776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
1450ccecafd4123dcad0b0cd7787553d734 r8169-fix-rx-checksum-offload.patch 1450ccecafd4123dcad0b0cd7787553d734 r8169-fix-rx-checksum-offload.patch
146139b39da44ecb577275be53d7d365949 r8169-add-gro-support.patch 146139b39da44ecb577275be53d7d365949 r8169-add-gro-support.patch
diff --git a/main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201010311944.patch b/main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201011022021.patch
index 25d1ccbc21..ed9ad022f8 100644
--- a/main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201010311944.patch
+++ b/main/linux-grsec/grsecurity-2.2.0-2.6.35.8-201011022021.patch
@@ -11753,7 +11753,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/head32.c linux-2.6.35.8/arch/x86/kerne
11753 /* Reserve INITRD */ 11753 /* Reserve INITRD */
11754diff -urNp linux-2.6.35.8/arch/x86/kernel/head_32.S linux-2.6.35.8/arch/x86/kernel/head_32.S 11754diff -urNp linux-2.6.35.8/arch/x86/kernel/head_32.S linux-2.6.35.8/arch/x86/kernel/head_32.S
11755--- linux-2.6.35.8/arch/x86/kernel/head_32.S 2010-10-31 17:13:58.000000000 -0400 11755--- linux-2.6.35.8/arch/x86/kernel/head_32.S 2010-10-31 17:13:58.000000000 -0400
11756+++ linux-2.6.35.8/arch/x86/kernel/head_32.S 2010-10-31 17:21:20.000000000 -0400 11756+++ linux-2.6.35.8/arch/x86/kernel/head_32.S 2010-11-02 19:22:48.000000000 -0400
11757@@ -25,6 +25,12 @@ 11757@@ -25,6 +25,12 @@
11758 /* Physical address */ 11758 /* Physical address */
11759 #define pa(X) ((X) - __PAGE_OFFSET) 11759 #define pa(X) ((X) - __PAGE_OFFSET)
@@ -12045,7 +12045,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/head_32.S linux-2.6.35.8/arch/x86/kern
12045 ENTRY(swapper_pg_dir) 12045 ENTRY(swapper_pg_dir)
12046 .fill 1024,4,0 12046 .fill 1024,4,0
12047 #endif 12047 #endif
12048+ 12048+.section .swapper_pg_fixmap,"a",@progbits
12049 swapper_pg_fixmap: 12049 swapper_pg_fixmap:
12050 .fill 1024,4,0 12050 .fill 1024,4,0
12051 #ifdef CONFIG_X86_TRAMPOLINE 12051 #ifdef CONFIG_X86_TRAMPOLINE
@@ -14567,7 +14567,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmi_32.c linux-2.6.35.8/arch/x86/kerne
14567 local_irq_save(flags); 14567 local_irq_save(flags);
14568diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S 14568diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S
14569--- linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S 2010-08-26 19:47:12.000000000 -0400 14569--- linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S 2010-08-26 19:47:12.000000000 -0400
14570+++ linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S 2010-09-17 20:12:09.000000000 -0400 14570+++ linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S 2010-11-02 19:23:16.000000000 -0400
14571@@ -26,6 +26,13 @@ 14571@@ -26,6 +26,13 @@
14572 #include <asm/page_types.h> 14572 #include <asm/page_types.h>
14573 #include <asm/cache.h> 14573 #include <asm/cache.h>
@@ -14653,7 +14653,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14653 HEAD_TEXT 14653 HEAD_TEXT
14654 #ifdef CONFIG_X86_32 14654 #ifdef CONFIG_X86_32
14655 . = ALIGN(PAGE_SIZE); 14655 . = ALIGN(PAGE_SIZE);
14656@@ -108,13 +130,50 @@ SECTIONS 14656@@ -108,13 +130,52 @@ SECTIONS
14657 IRQENTRY_TEXT 14657 IRQENTRY_TEXT
14658 *(.fixup) 14658 *(.fixup)
14659 *(.gnu.warning) 14659 *(.gnu.warning)
@@ -14695,8 +14695,10 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14695+ *(.idt) 14695+ *(.idt)
14696+ . = ALIGN(PAGE_SIZE); 14696+ . = ALIGN(PAGE_SIZE);
14697+ *(.empty_zero_page) 14697+ *(.empty_zero_page)
14698+ *(.swapper_pg_fixmap)
14698+ *(.swapper_pg_pmd) 14699+ *(.swapper_pg_pmd)
14699+ *(.swapper_pg_dir) 14700+ *(.swapper_pg_dir)
14701+ *(.trampoline_pg_dir)
14700+ } :rodata 14702+ } :rodata
14701+#endif 14703+#endif
14702+ 14704+
@@ -14708,7 +14710,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14708 14710
14709 X64_ALIGN_DEBUG_RODATA_BEGIN 14711 X64_ALIGN_DEBUG_RODATA_BEGIN
14710 RO_DATA(PAGE_SIZE) 14712 RO_DATA(PAGE_SIZE)
14711@@ -122,16 +181,20 @@ SECTIONS 14713@@ -122,16 +183,20 @@ SECTIONS
14712 14714
14713 /* Data */ 14715 /* Data */
14714 .data : AT(ADDR(.data) - LOAD_OFFSET) { 14716 .data : AT(ADDR(.data) - LOAD_OFFSET) {
@@ -14732,7 +14734,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14732 14734
14733 PAGE_ALIGNED_DATA(PAGE_SIZE) 14735 PAGE_ALIGNED_DATA(PAGE_SIZE)
14734 14736
14735@@ -194,12 +257,6 @@ SECTIONS 14737@@ -194,12 +259,6 @@ SECTIONS
14736 } 14738 }
14737 vgetcpu_mode = VVIRT(.vgetcpu_mode); 14739 vgetcpu_mode = VVIRT(.vgetcpu_mode);
14738 14740
@@ -14745,7 +14747,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14745 .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) { 14747 .vsyscall_3 ADDR(.vsyscall_0) + 3072: AT(VLOAD(.vsyscall_3)) {
14746 *(.vsyscall_3) 14748 *(.vsyscall_3)
14747 } 14749 }
14748@@ -215,12 +272,19 @@ SECTIONS 14750@@ -215,12 +274,19 @@ SECTIONS
14749 #endif /* CONFIG_X86_64 */ 14751 #endif /* CONFIG_X86_64 */
14750 14752
14751 /* Init code and data - will be freed after init */ 14753 /* Init code and data - will be freed after init */
@@ -14768,7 +14770,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14768 /* 14770 /*
14769 * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the 14771 * percpu offsets are zero-based on SMP. PERCPU_VADDR() changes the
14770 * output PHDR, so the next output section - .init.text - should 14772 * output PHDR, so the next output section - .init.text - should
14771@@ -229,12 +293,27 @@ SECTIONS 14773@@ -229,12 +295,27 @@ SECTIONS
14772 PERCPU_VADDR(0, :percpu) 14774 PERCPU_VADDR(0, :percpu)
14773 #endif 14775 #endif
14774 14776
@@ -14801,7 +14803,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14801 14803
14802 .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { 14804 .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
14803 __x86_cpu_dev_start = .; 14805 __x86_cpu_dev_start = .;
14804@@ -260,19 +339,11 @@ SECTIONS 14806@@ -260,19 +341,11 @@ SECTIONS
14805 *(.altinstr_replacement) 14807 *(.altinstr_replacement)
14806 } 14808 }
14807 14809
@@ -14822,7 +14824,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14822 PERCPU(PAGE_SIZE) 14824 PERCPU(PAGE_SIZE)
14823 #endif 14825 #endif
14824 14826
14825@@ -291,16 +362,10 @@ SECTIONS 14827@@ -291,16 +364,10 @@ SECTIONS
14826 .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) { 14828 .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
14827 __smp_locks = .; 14829 __smp_locks = .;
14828 *(.smp_locks) 14830 *(.smp_locks)
@@ -14840,7 +14842,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14840 /* BSS */ 14842 /* BSS */
14841 . = ALIGN(PAGE_SIZE); 14843 . = ALIGN(PAGE_SIZE);
14842 .bss : AT(ADDR(.bss) - LOAD_OFFSET) { 14844 .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
14843@@ -316,6 +381,7 @@ SECTIONS 14845@@ -316,6 +383,7 @@ SECTIONS
14844 __brk_base = .; 14846 __brk_base = .;
14845 . += 64 * 1024; /* 64k alignment slop space */ 14847 . += 64 * 1024; /* 64k alignment slop space */
14846 *(.brk_reservation) /* areas brk users have reserved */ 14848 *(.brk_reservation) /* areas brk users have reserved */
@@ -14848,7 +14850,7 @@ diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/
14848 __brk_limit = .; 14850 __brk_limit = .;
14849 } 14851 }
14850 14852
14851@@ -342,13 +408,12 @@ SECTIONS 14853@@ -342,13 +410,12 @@ SECTIONS
14852 * for the boot processor. 14854 * for the boot processor.
14853 */ 14855 */
14854 #define INIT_PER_CPU(x) init_per_cpu__##x = x + __per_cpu_load 14856 #define INIT_PER_CPU(x) init_per_cpu__##x = x + __per_cpu_load
@@ -54778,6 +54780,25 @@ diff -urNp linux-2.6.35.8/net/atm/resources.c linux-2.6.35.8/net/atm/resources.c
54778 __AAL_STAT_ITEMS 54780 __AAL_STAT_ITEMS
54779 #undef __HANDLE_ITEM 54781 #undef __HANDLE_ITEM
54780 } 54782 }
54783diff -urNp linux-2.6.35.8/net/ax25/af_ax25.c linux-2.6.35.8/net/ax25/af_ax25.c
54784--- linux-2.6.35.8/net/ax25/af_ax25.c 2010-08-26 19:47:12.000000000 -0400
54785+++ linux-2.6.35.8/net/ax25/af_ax25.c 2010-11-02 19:44:50.000000000 -0400
54786@@ -1392,6 +1392,7 @@ static int ax25_getname(struct socket *s
54787 ax25_cb *ax25;
54788 int err = 0;
54789
54790+ memset(fsa, 0, sizeof(*fsa));
54791 lock_sock(sk);
54792 ax25 = ax25_sk(sk);
54793
54794@@ -1403,7 +1404,6 @@ static int ax25_getname(struct socket *s
54795
54796 fsa->fsa_ax25.sax25_family = AF_AX25;
54797 fsa->fsa_ax25.sax25_call = ax25->dest_addr;
54798- fsa->fsa_ax25.sax25_ndigis = 0;
54799
54800 if (ax25->digipeat != NULL) {
54801 ndigi = ax25->digipeat->ndigi;
54781diff -urNp linux-2.6.35.8/net/bridge/br_multicast.c linux-2.6.35.8/net/bridge/br_multicast.c 54802diff -urNp linux-2.6.35.8/net/bridge/br_multicast.c linux-2.6.35.8/net/bridge/br_multicast.c
54782--- linux-2.6.35.8/net/bridge/br_multicast.c 2010-08-26 19:47:12.000000000 -0400 54803--- linux-2.6.35.8/net/bridge/br_multicast.c 2010-08-26 19:47:12.000000000 -0400
54783+++ linux-2.6.35.8/net/bridge/br_multicast.c 2010-10-11 22:41:44.000000000 -0400 54804+++ linux-2.6.35.8/net/bridge/br_multicast.c 2010-10-11 22:41:44.000000000 -0400
@@ -55753,9 +55774,28 @@ diff -urNp linux-2.6.35.8/net/netlink/af_netlink.c linux-2.6.35.8/net/netlink/af
55753 atomic_read(&s->sk_refcnt), 55774 atomic_read(&s->sk_refcnt),
55754 atomic_read(&s->sk_drops), 55775 atomic_read(&s->sk_drops),
55755 sock_i_ino(s) 55776 sock_i_ino(s)
55777diff -urNp linux-2.6.35.8/net/netrom/af_netrom.c linux-2.6.35.8/net/netrom/af_netrom.c
55778--- linux-2.6.35.8/net/netrom/af_netrom.c 2010-08-26 19:47:12.000000000 -0400
55779+++ linux-2.6.35.8/net/netrom/af_netrom.c 2010-11-02 19:46:20.000000000 -0400
55780@@ -840,6 +840,7 @@ static int nr_getname(struct socket *soc
55781 struct sock *sk = sock->sk;
55782 struct nr_sock *nr = nr_sk(sk);
55783
55784+ memset(sax, 0, sizeof(*sax));
55785 lock_sock(sk);
55786 if (peer != 0) {
55787 if (sk->sk_state != TCP_ESTABLISHED) {
55788@@ -854,7 +855,6 @@ static int nr_getname(struct socket *soc
55789 *uaddr_len = sizeof(struct full_sockaddr_ax25);
55790 } else {
55791 sax->fsa_ax25.sax25_family = AF_NETROM;
55792- sax->fsa_ax25.sax25_ndigis = 0;
55793 sax->fsa_ax25.sax25_call = nr->source_addr;
55794 *uaddr_len = sizeof(struct sockaddr_ax25);
55795 }
55756diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_packet.c 55796diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_packet.c
55757--- linux-2.6.35.8/net/packet/af_packet.c 2010-08-26 19:47:12.000000000 -0400 55797--- linux-2.6.35.8/net/packet/af_packet.c 2010-08-26 19:47:12.000000000 -0400
55758+++ linux-2.6.35.8/net/packet/af_packet.c 2010-10-11 22:41:44.000000000 -0400 55798+++ linux-2.6.35.8/net/packet/af_packet.c 2010-11-02 19:42:44.000000000 -0400
55759@@ -1595,8 +1595,9 @@ static int packet_recvmsg(struct kiocb * 55799@@ -1595,8 +1595,9 @@ static int packet_recvmsg(struct kiocb *
55760 55800
55761 err = -EINVAL; 55801 err = -EINVAL;
@@ -55767,7 +55807,24 @@ diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_pa
55767 55807
55768 if (skb_is_gso(skb)) { 55808 if (skb_is_gso(skb)) {
55769 struct skb_shared_info *sinfo = skb_shinfo(skb); 55809 struct skb_shared_info *sinfo = skb_shinfo(skb);
55770@@ -2093,7 +2094,7 @@ static int packet_getsockopt(struct sock 55810@@ -1704,7 +1705,7 @@ static int packet_getname_spkt(struct so
55811 rcu_read_lock();
55812 dev = dev_get_by_index_rcu(sock_net(sk), pkt_sk(sk)->ifindex);
55813 if (dev)
55814- strlcpy(uaddr->sa_data, dev->name, 15);
55815+ strncpy(uaddr->sa_data, dev->name, 14);
55816 else
55817 memset(uaddr->sa_data, 0, 14);
55818 rcu_read_unlock();
55819@@ -1727,6 +1728,7 @@ static int packet_getname(struct socket
55820 sll->sll_family = AF_PACKET;
55821 sll->sll_ifindex = po->ifindex;
55822 sll->sll_protocol = po->num;
55823+ sll->sll_pkttype = 0;
55824 rcu_read_lock();
55825 dev = dev_get_by_index_rcu(sock_net(sk), po->ifindex);
55826 if (dev) {
55827@@ -2093,7 +2095,7 @@ static int packet_getsockopt(struct sock
55771 case PACKET_HDRLEN: 55828 case PACKET_HDRLEN:
55772 if (len > sizeof(int)) 55829 if (len > sizeof(int))
55773 len = sizeof(int); 55830 len = sizeof(int);
@@ -55776,7 +55833,7 @@ diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_pa
55776 return -EFAULT; 55833 return -EFAULT;
55777 switch (val) { 55834 switch (val) {
55778 case TPACKET_V1: 55835 case TPACKET_V1:
55779@@ -2125,7 +2126,7 @@ static int packet_getsockopt(struct sock 55836@@ -2125,7 +2127,7 @@ static int packet_getsockopt(struct sock
55780 55837
55781 if (put_user(len, optlen)) 55838 if (put_user(len, optlen))
55782 return -EFAULT; 55839 return -EFAULT;
@@ -55785,7 +55842,7 @@ diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_pa
55785 return -EFAULT; 55842 return -EFAULT;
55786 return 0; 55843 return 0;
55787 } 55844 }
55788@@ -2604,7 +2605,11 @@ static int packet_seq_show(struct seq_fi 55845@@ -2604,7 +2606,11 @@ static int packet_seq_show(struct seq_fi
55789 55846
55790 seq_printf(seq, 55847 seq_printf(seq,
55791 "%p %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n", 55848 "%p %-6d %-4d %04x %-5d %1d %-6u %-6u %-6lu\n",
@@ -56080,8 +56137,16 @@ diff -urNp linux-2.6.35.8/net/sysctl_net.c linux-2.6.35.8/net/sysctl_net.c
56080 } 56137 }
56081diff -urNp linux-2.6.35.8/net/tipc/socket.c linux-2.6.35.8/net/tipc/socket.c 56138diff -urNp linux-2.6.35.8/net/tipc/socket.c linux-2.6.35.8/net/tipc/socket.c
56082--- linux-2.6.35.8/net/tipc/socket.c 2010-08-26 19:47:12.000000000 -0400 56139--- linux-2.6.35.8/net/tipc/socket.c 2010-08-26 19:47:12.000000000 -0400
56083+++ linux-2.6.35.8/net/tipc/socket.c 2010-09-17 20:12:09.000000000 -0400 56140+++ linux-2.6.35.8/net/tipc/socket.c 2010-11-02 19:49:48.000000000 -0400
56084@@ -1451,8 +1451,9 @@ static int connect(struct socket *sock, 56141@@ -395,6 +395,7 @@ static int get_name(struct socket *sock,
56142 struct sockaddr_tipc *addr = (struct sockaddr_tipc *)uaddr;
56143 struct tipc_sock *tsock = tipc_sk(sock->sk);
56144
56145+ memset(addr, 0, sizeof(*addr));
56146 if (peer) {
56147 if ((sock->state != SS_CONNECTED) &&
56148 ((peer != 2) || (sock->state != SS_DISCONNECTING)))
56149@@ -1451,8 +1452,9 @@ static int connect(struct socket *sock,
56085 } else { 56150 } else {
56086 if (res == 0) 56151 if (res == 0)
56087 res = -ETIMEDOUT; 56152 res = -ETIMEDOUT;
@@ -56213,6 +56278,26 @@ diff -urNp linux-2.6.35.8/net/wireless/wext-core.c linux-2.6.35.8/net/wireless/w
56213 err = handler(dev, info, (union iwreq_data *) iwp, extra); 56278 err = handler(dev, info, (union iwreq_data *) iwp, extra);
56214 56279
56215 iwp->length += essid_compat; 56280 iwp->length += essid_compat;
56281diff -urNp linux-2.6.35.8/net/x25/x25_facilities.c linux-2.6.35.8/net/x25/x25_facilities.c
56282--- linux-2.6.35.8/net/x25/x25_facilities.c 2010-08-26 19:47:12.000000000 -0400
56283+++ linux-2.6.35.8/net/x25/x25_facilities.c 2010-11-02 19:50:35.000000000 -0400
56284@@ -134,14 +134,14 @@ int x25_parse_facilities(struct sk_buff
56285 case X25_FAC_CLASS_D:
56286 switch (*p) {
56287 case X25_FAC_CALLING_AE:
56288- if (p[1] > X25_MAX_DTE_FACIL_LEN)
56289+ if (p[1] > X25_MAX_DTE_FACIL_LEN || p[1] == 0)
56290 break;
56291 dte_facs->calling_len = p[2];
56292 memcpy(dte_facs->calling_ae, &p[3], p[1] - 1);
56293 *vc_fac_mask |= X25_MASK_CALLING_AE;
56294 break;
56295 case X25_FAC_CALLED_AE:
56296- if (p[1] > X25_MAX_DTE_FACIL_LEN)
56297+ if (p[1] > X25_MAX_DTE_FACIL_LEN || p[1] == 0)
56298 break;
56299 dte_facs->called_len = p[2];
56300 memcpy(dte_facs->called_ae, &p[3], p[1] - 1);
56216diff -urNp linux-2.6.35.8/net/xfrm/xfrm_policy.c linux-2.6.35.8/net/xfrm/xfrm_policy.c 56301diff -urNp linux-2.6.35.8/net/xfrm/xfrm_policy.c linux-2.6.35.8/net/xfrm/xfrm_policy.c
56217--- linux-2.6.35.8/net/xfrm/xfrm_policy.c 2010-08-26 19:47:12.000000000 -0400 56302--- linux-2.6.35.8/net/xfrm/xfrm_policy.c 2010-08-26 19:47:12.000000000 -0400
56218+++ linux-2.6.35.8/net/xfrm/xfrm_policy.c 2010-09-17 20:12:09.000000000 -0400 56303+++ linux-2.6.35.8/net/xfrm/xfrm_policy.c 2010-09-17 20:12:09.000000000 -0400