diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2010-11-03 15:53:10 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-11-03 16:27:24 +0000 |
commit | a0601e3759919e432c7edb59d15989f59556024e (patch) | |
tree | 7836395852b3a8e2303e8653ff2ee5531e99af34 | |
parent | 5f15f3a8efe53cea570a48958dbaaef6a9cd348d (diff) | |
download | alpine_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/APKBUILD | 6 | ||||
-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 | |||
4 | pkgname=linux-${_flavor} | 4 | pkgname=linux-${_flavor} |
5 | pkgver=2.6.35.8 | 5 | pkgver=2.6.35.8 |
6 | _kernver=2.6.35 | 6 | _kernver=2.6.35 |
7 | pkgrel=0 | 7 | pkgrel=1 |
8 | pkgdesc="Linux kernel with grsecurity" | 8 | pkgdesc="Linux kernel with grsecurity" |
9 | url=http://grsecurity.net | 9 | url=http://grsecurity.net |
10 | depends="mkinitfs linux-firmware" | 10 | depends="mkinitfs linux-firmware" |
@@ -14,7 +14,7 @@ _config=${config:-kernelconfig.${CARCH:-x86}} | |||
14 | install= | 14 | install= |
15 | source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 | 15 | source="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 | ||
141 | md5sums="091abeb4684ce03d1d936851618687b6 linux-2.6.35.tar.bz2 | 141 | md5sums="091abeb4684ce03d1d936851618687b6 linux-2.6.35.tar.bz2 |
142 | 198e4e72ea9cc7f9f25bb5881167aa2e patch-2.6.35.8.bz2 | 142 | 198e4e72ea9cc7f9f25bb5881167aa2e patch-2.6.35.8.bz2 |
143 | 3ad2911a6009758d1df3fff0bce11405 grsecurity-2.2.0-2.6.35.8-201010311944.patch | 143 | ec3743cf416ebdc47dbc088aaf33e8e8 grsecurity-2.2.0-2.6.35.8-201011022021.patch |
144 | 776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch | 144 | 776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch |
145 | 0ccecafd4123dcad0b0cd7787553d734 r8169-fix-rx-checksum-offload.patch | 145 | 0ccecafd4123dcad0b0cd7787553d734 r8169-fix-rx-checksum-offload.patch |
146 | 139b39da44ecb577275be53d7d365949 r8169-add-gro-support.patch | 146 | 139b39da44ecb577275be53d7d365949 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 */ |
11754 | diff -urNp linux-2.6.35.8/arch/x86/kernel/head_32.S linux-2.6.35.8/arch/x86/kernel/head_32.S | 11754 | diff -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); |
14568 | diff -urNp linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S linux-2.6.35.8/arch/x86/kernel/vmlinux.lds.S | 14568 | diff -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 | } |
54783 | diff -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; | ||
54781 | diff -urNp linux-2.6.35.8/net/bridge/br_multicast.c linux-2.6.35.8/net/bridge/br_multicast.c | 54802 | diff -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) |
55777 | diff -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 | } | ||
55756 | diff -urNp linux-2.6.35.8/net/packet/af_packet.c linux-2.6.35.8/net/packet/af_packet.c | 55796 | diff -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 | } |
56081 | diff -urNp linux-2.6.35.8/net/tipc/socket.c linux-2.6.35.8/net/tipc/socket.c | 56138 | diff -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; |
56281 | diff -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); | ||
56216 | diff -urNp linux-2.6.35.8/net/xfrm/xfrm_policy.c linux-2.6.35.8/net/xfrm/xfrm_policy.c | 56301 | diff -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 |