summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2012-11-08 07:12:21 -0500
committerAnthony G. Basile <blueness@gentoo.org>2012-11-08 07:12:21 -0500
commitff6e8b2b912e491042af8475e8cc1aa2aea9744f (patch)
tree68b396c22f68ee927c00d3a4935f73a4fe6667b8
parentpatch 3.6.5 and 3.6.6 are in genpatches (diff)
downloadhardened-patchset-ff6e8b2b912e491042af8475e8cc1aa2aea9744f.tar.gz
hardened-patchset-ff6e8b2b912e491042af8475e8cc1aa2aea9744f.tar.bz2
hardened-patchset-ff6e8b2b912e491042af8475e8cc1aa2aea9744f.zip
Grsec/PaX: 2.9.1-{2.6.32.60,3.2.33,3.6.6}-2012110720012012111220121107
-rw-r--r--2.6.32/0000_README2
-rw-r--r--2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211071959.patch (renamed from 2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211042106.patch)29
-rw-r--r--3.2.33/0000_README2
-rw-r--r--3.2.33/4420_grsecurity-2.9.1-3.2.33-201211072000.patch (renamed from 3.2.33/4420_grsecurity-2.9.1-3.2.33-201211042155.patch)38
-rw-r--r--3.6.6/0000_README2
-rw-r--r--3.6.6/4420_grsecurity-2.9.1-3.6.6-201211072001.patch (renamed from 3.6.6/4420_grsecurity-2.9.1-3.6.6-201211051957.patch)38
6 files changed, 89 insertions, 22 deletions
diff --git a/2.6.32/0000_README b/2.6.32/0000_README
index bbe4567..8bd0698 100644
--- a/2.6.32/0000_README
+++ b/2.6.32/0000_README
@@ -34,7 +34,7 @@ Patch: 1059_linux-2.6.32.60.patch
From: http://www.kernel.org
Desc: Linux 2.6.32.59
-Patch: 4420_grsecurity-2.9.1-2.6.32.60-201211042106.patch
+Patch: 4420_grsecurity-2.9.1-2.6.32.60-201211071959.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211042106.patch b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211071959.patch
index e2f2160..82352cf 100644
--- a/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211042106.patch
+++ b/2.6.32/4420_grsecurity-2.9.1-2.6.32.60-201211071959.patch
@@ -27117,10 +27117,18 @@ index f46c3407..f7e72b0 100644
}
if (mm->get_unmapped_area == arch_get_unmapped_area)
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
-index 73ffd55..5c2a82a 100644
+index 73ffd55..e88dff5 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
-@@ -13,6 +13,7 @@
+@@ -1,6 +1,7 @@
+ #include <linux/initrd.h>
+ #include <linux/ioport.h>
+ #include <linux/swap.h>
++#include <linux/tboot.h>
+
+ #include <asm/cacheflush.h>
+ #include <asm/e820.h>
+@@ -13,6 +14,7 @@
#include <asm/tlbflush.h>
#include <asm/tlb.h>
#include <asm/proto.h>
@@ -27128,7 +27136,7 @@ index 73ffd55..5c2a82a 100644
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
-@@ -69,11 +70,7 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
+@@ -69,11 +71,7 @@ static void __init find_early_table_space(unsigned long end, int use_pse,
* cause a hotspot and fill up ZONE_DMA. The page tables
* need roughly 0.5KB per GB.
*/
@@ -27141,7 +27149,7 @@ index 73ffd55..5c2a82a 100644
e820_table_start = find_e820_area(start, max_pfn_mapped<<PAGE_SHIFT,
tables, PAGE_SIZE);
if (e820_table_start == -1UL)
-@@ -147,7 +144,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+@@ -147,7 +145,7 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
#endif
set_nx();
@@ -27150,7 +27158,7 @@ index 73ffd55..5c2a82a 100644
printk(KERN_INFO "NX (Execute Disable) protection: active\n");
/* Enable PSE if available */
-@@ -329,10 +326,32 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+@@ -329,10 +327,35 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
* Access has to be given to non-kernel-ram areas as well, these contain the PCI
* mmio resources as well as potential bios/acpi data regions.
*/
@@ -27169,21 +27177,24 @@ index 73ffd55..5c2a82a 100644
+ /* allow EBDA */
+ if (pagenr >= ebda_start && pagenr < ebda_end)
+ return 1;
++ /* if tboot is in use, allow access to its hardcoded serial log range */
++ if (tboot_enabled() && ((0x60000 >> PAGE_SHIFT) <= pagenr) && (pagenr < (0x68000 >> PAGE_SHIFT)))
++ return 1;
+ /* allow ISA/video mem */
+ if ((ISA_START_ADDRESS >> PAGE_SHIFT) <= pagenr && pagenr < (ISA_END_ADDRESS >> PAGE_SHIFT))
+ return 1;
+ /* throw out everything else below 1MB */
-+ if (pagenr <= 256)
+ if (pagenr <= 256)
+ return 0;
+#else
- if (pagenr <= 256)
++ if (pagenr < 256)
return 1;
+#endif
+
if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
return 0;
if (!page_is_ram(pagenr))
-@@ -377,8 +396,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
+@@ -377,8 +400,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
#endif
}
@@ -112040,7 +112051,7 @@ index b9644d8..537313b 100644
return -EFAULT;
diff --git a/net/ipv4/tcp_illinois.c b/net/ipv4/tcp_illinois.c
-index 1eba160..c35d91f 100644
+index 1eba160b..c35d91f 100644
--- a/net/ipv4/tcp_illinois.c
+++ b/net/ipv4/tcp_illinois.c
@@ -313,11 +313,13 @@ static void tcp_illinois_info(struct sock *sk, u32 ext,
diff --git a/3.2.33/0000_README b/3.2.33/0000_README
index cef651c..4f37d3a 100644
--- a/3.2.33/0000_README
+++ b/3.2.33/0000_README
@@ -50,7 +50,7 @@ Patch: 1032_linux-3.2.33.patch
From: http://www.kernel.org
Desc: Linux 3.2.33
-Patch: 4420_grsecurity-2.9.1-3.2.33-201211042155.patch
+Patch: 4420_grsecurity-2.9.1-3.2.33-201211072000.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.2.33/4420_grsecurity-2.9.1-3.2.33-201211042155.patch b/3.2.33/4420_grsecurity-2.9.1-3.2.33-201211072000.patch
index 42ec9ae..3d86532 100644
--- a/3.2.33/4420_grsecurity-2.9.1-3.2.33-201211042155.patch
+++ b/3.2.33/4420_grsecurity-2.9.1-3.2.33-201211072000.patch
@@ -24864,10 +24864,18 @@ index df7d12c..abafe9e 100644
}
if (mm->get_unmapped_area == arch_get_unmapped_area)
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
-index 87488b9..cb10023 100644
+index 87488b9..ec24280 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
-@@ -15,6 +15,8 @@
+@@ -3,6 +3,7 @@
+ #include <linux/ioport.h>
+ #include <linux/swap.h>
+ #include <linux/memblock.h>
++#include <linux/tboot.h>
+
+ #include <asm/cacheflush.h>
+ #include <asm/e820.h>
+@@ -15,6 +16,8 @@
#include <asm/tlbflush.h>
#include <asm/tlb.h>
#include <asm/proto.h>
@@ -24876,7 +24884,7 @@ index 87488b9..cb10023 100644
unsigned long __initdata pgt_buf_start;
unsigned long __meminitdata pgt_buf_end;
-@@ -31,7 +33,7 @@ int direct_gbpages
+@@ -31,7 +34,7 @@ int direct_gbpages
static void __init find_early_table_space(unsigned long end, int use_pse,
int use_gbpages)
{
@@ -24885,7 +24893,7 @@ index 87488b9..cb10023 100644
phys_addr_t base;
puds = (end + PUD_SIZE - 1) >> PUD_SHIFT;
-@@ -310,10 +312,37 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+@@ -310,10 +313,40 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
* Access has to be given to non-kernel-ram areas as well, these contain the PCI
* mmio resources as well as potential bios/acpi data regions.
*/
@@ -24904,6 +24912,9 @@ index 87488b9..cb10023 100644
+ /* allow EBDA */
+ if (pagenr >= ebda_start && pagenr < ebda_end)
+ return 1;
++ /* if tboot is in use, allow access to its hardcoded serial log range */
++ if (tboot_enabled() && ((0x60000 >> PAGE_SHIFT) <= pagenr) && (pagenr < (0x68000 >> PAGE_SHIFT)))
++ return 1;
+#else
+ if (!pagenr)
+ return 1;
@@ -24924,7 +24935,7 @@ index 87488b9..cb10023 100644
if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
return 0;
if (!page_is_ram(pagenr))
-@@ -370,8 +399,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
+@@ -370,8 +403,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
#endif
}
@@ -43028,6 +43039,23 @@ index e56c934..fc22f4b 100644
} u;
struct list_head list;
};
+diff --git a/drivers/xen/xenfs/xenstored.c b/drivers/xen/xenfs/xenstored.c
+index fef20db..d28b1ab 100644
+--- a/drivers/xen/xenfs/xenstored.c
++++ b/drivers/xen/xenfs/xenstored.c
+@@ -24,7 +24,12 @@ static int xsd_release(struct inode *inode, struct file *file)
+ static int xsd_kva_open(struct inode *inode, struct file *file)
+ {
+ file->private_data = (void *)kasprintf(GFP_KERNEL, "0x%p",
++#ifdef CONFIG_GRKERNSEC_HIDESYM
++ NULL);
++#else
+ xen_store_interface);
++#endif
++
+ if (!file->private_data)
+ return -ENOMEM;
+ return 0;
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 879ed88..bc03a01 100644
--- a/fs/9p/vfs_inode.c
diff --git a/3.6.6/0000_README b/3.6.6/0000_README
index 3c4b928..b78c8e4 100644
--- a/3.6.6/0000_README
+++ b/3.6.6/0000_README
@@ -2,7 +2,7 @@ README
-----------------------------------------------------------------------------
Individual Patch Descriptions:
-----------------------------------------------------------------------------
-Patch: 4420_grsecurity-2.9.1-3.6.6-201211051957.patch
+Patch: 4420_grsecurity-2.9.1-3.6.6-201211072001.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.6.6/4420_grsecurity-2.9.1-3.6.6-201211051957.patch b/3.6.6/4420_grsecurity-2.9.1-3.6.6-201211072001.patch
index b18fa60..e6e5d8f 100644
--- a/3.6.6/4420_grsecurity-2.9.1-3.6.6-201211051957.patch
+++ b/3.6.6/4420_grsecurity-2.9.1-3.6.6-201211072001.patch
@@ -24594,10 +24594,18 @@ index b91e485..d00e7c9 100644
}
if (mm->get_unmapped_area == arch_get_unmapped_area)
diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
-index d7aea41..f753ad2 100644
+index d7aea41..0fc945b 100644
--- a/arch/x86/mm/init.c
+++ b/arch/x86/mm/init.c
-@@ -16,6 +16,8 @@
+@@ -4,6 +4,7 @@
+ #include <linux/swap.h>
+ #include <linux/memblock.h>
+ #include <linux/bootmem.h> /* for max_low_pfn */
++#include <linux/tboot.h>
+
+ #include <asm/cacheflush.h>
+ #include <asm/e820.h>
+@@ -16,6 +17,8 @@
#include <asm/tlb.h>
#include <asm/proto.h>
#include <asm/dma.h> /* for MAX_DMA_PFN */
@@ -24606,7 +24614,7 @@ index d7aea41..f753ad2 100644
unsigned long __initdata pgt_buf_start;
unsigned long __meminitdata pgt_buf_end;
-@@ -44,7 +46,7 @@ static void __init find_early_table_space(struct map_range *mr, int nr_range)
+@@ -44,7 +47,7 @@ static void __init find_early_table_space(struct map_range *mr, int nr_range)
{
int i;
unsigned long puds = 0, pmds = 0, ptes = 0, tables;
@@ -24615,7 +24623,7 @@ index d7aea41..f753ad2 100644
phys_addr_t base;
for (i = 0; i < nr_range; i++) {
-@@ -321,10 +323,37 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
+@@ -321,10 +324,40 @@ unsigned long __init_refok init_memory_mapping(unsigned long start,
* Access has to be given to non-kernel-ram areas as well, these contain the PCI
* mmio resources as well as potential bios/acpi data regions.
*/
@@ -24635,6 +24643,9 @@ index d7aea41..f753ad2 100644
+ /* allow EBDA */
+ if (pagenr >= ebda_start && pagenr < ebda_end)
+ return 1;
++ /* if tboot is in use, allow access to its hardcoded serial log range */
++ if (tboot_enabled() && ((0x60000 >> PAGE_SHIFT) <= pagenr) && (pagenr < (0x68000 >> PAGE_SHIFT)))
++ return 1;
+#else
+ if (!pagenr)
+ return 1;
@@ -24654,7 +24665,7 @@ index d7aea41..f753ad2 100644
if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
return 0;
if (!page_is_ram(pagenr))
-@@ -381,8 +410,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
+@@ -381,8 +414,117 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
#endif
}
@@ -42746,6 +42757,23 @@ index 89f7625..ac72702 100644
/* On error, dump existing buffer */
u->len = 0;
rc = -EINVAL;
+diff --git a/drivers/xen/xenfs/xenstored.c b/drivers/xen/xenfs/xenstored.c
+index fef20db..d28b1ab 100644
+--- a/drivers/xen/xenfs/xenstored.c
++++ b/drivers/xen/xenfs/xenstored.c
+@@ -24,7 +24,12 @@ static int xsd_release(struct inode *inode, struct file *file)
+ static int xsd_kva_open(struct inode *inode, struct file *file)
+ {
+ file->private_data = (void *)kasprintf(GFP_KERNEL, "0x%p",
++#ifdef CONFIG_GRKERNSEC_HIDESYM
++ NULL);
++#else
+ xen_store_interface);
++#endif
++
+ if (!file->private_data)
+ return -ENOMEM;
+ return 0;
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index cbf9dbb..35c3af7 100644
--- a/fs/9p/vfs_inode.c