SOURCES (LINUX_2_6): grsecurity-2.1.9-2.6.16.14.patch - adapted fo...
zbyniu
zbyniu at pld-linux.org
Sun May 7 12:31:01 CEST 2006
Author: zbyniu Date: Sun May 7 10:31:01 2006 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- adapted for common kernel with vserver
---- Files affected:
SOURCES:
grsecurity-2.1.9-2.6.16.14.patch (1.1 -> 1.1.2.1)
---- Diffs:
================================================================
Index: SOURCES/grsecurity-2.1.9-2.6.16.14.patch
diff -u SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1 SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1.2.1
--- SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1 Sun May 7 12:24:35 2006
+++ SOURCES/grsecurity-2.1.9-2.6.16.14.patch Sun May 7 12:30:56 2006
@@ -46,8 +46,8 @@
#include <asm/uaccess.h>
#include <asm/pgtable.h>
-@@ -283,6 +284,9 @@ do_sys_ptrace(long request, long pid, lo
- goto out_notsk;
+@@ -288,6 +289,9 @@ do_sys_ptrace(long request, long pid, lo
+ goto out;
}
+ if (gr_handle_ptrace(child, request))
@@ -277,7 +277,7 @@
diff -urNp linux-2.6.16.12/arch/i386/Kconfig linux-2.6.16.12/arch/i386/Kconfig
--- linux-2.6.16.12/arch/i386/Kconfig 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/i386/Kconfig 2006-05-01 20:17:33.000000000 -0400
-@@ -963,7 +963,7 @@ endchoice
+@@ -983,7 +983,7 @@ endchoice
config PCI_BIOS
bool
@@ -1518,7 +1518,7 @@
diff -urNp linux-2.6.16.12/arch/i386/kernel/process.c linux-2.6.16.12/arch/i386/kernel/process.c
--- linux-2.6.16.12/arch/i386/kernel/process.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/i386/kernel/process.c 2006-05-01 20:17:33.000000000 -0400
-@@ -374,7 +374,7 @@ void exit_thread(void)
+@@ -377,7 +377,7 @@ void exit_thread(void)
/* The process may have allocated an io port bitmap... nuke it. */
if (unlikely(NULL != t->io_bitmap_ptr)) {
int cpu = get_cpu();
@@ -1527,7 +1527,7 @@
kfree(t->io_bitmap_ptr);
t->io_bitmap_ptr = NULL;
-@@ -394,6 +394,9 @@ void flush_thread(void)
+@@ -397,6 +397,9 @@ void flush_thread(void)
{
struct task_struct *tsk = current;
@@ -1537,7 +1537,7 @@
memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
/*
-@@ -426,7 +429,7 @@ int copy_thread(int nr, unsigned long cl
+@@ -429,7 +432,7 @@ int copy_thread(int nr, unsigned long cl
struct task_struct *tsk;
int err;
@@ -1546,7 +1546,7 @@
*childregs = *regs;
childregs->eax = 0;
childregs->esp = esp;
-@@ -469,6 +472,11 @@ int copy_thread(int nr, unsigned long cl
+@@ -472,6 +475,11 @@ int copy_thread(int nr, unsigned long cl
if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
goto out;
@@ -1558,7 +1558,7 @@
desc = p->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
desc->a = LDT_entry_a(&info);
desc->b = LDT_entry_b(&info);
-@@ -633,7 +641,11 @@ struct task_struct fastcall * __switch_t
+@@ -636,7 +644,11 @@ struct task_struct fastcall * __switch_t
struct thread_struct *prev = &prev_p->thread,
*next = &next_p->thread;
int cpu = smp_processor_id();
@@ -1571,7 +1571,7 @@
/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
-@@ -656,11 +668,19 @@ struct task_struct fastcall * __switch_t
+@@ -659,11 +671,19 @@ struct task_struct fastcall * __switch_t
savesegment(fs, prev->fs);
savesegment(gs, prev->gs);
@@ -1591,7 +1591,7 @@
/*
* Restore %fs and %gs if needed.
*
-@@ -815,8 +835,18 @@ asmlinkage int sys_set_thread_area(struc
+@@ -818,8 +838,18 @@ asmlinkage int sys_set_thread_area(struc
struct desc_struct *desc;
int cpu, idx;
@@ -1610,7 +1610,7 @@
idx = info.entry_number;
/*
-@@ -848,8 +878,17 @@ asmlinkage int sys_set_thread_area(struc
+@@ -851,8 +881,17 @@ asmlinkage int sys_set_thread_area(struc
desc->a = LDT_entry_a(&info);
desc->b = LDT_entry_b(&info);
}
@@ -1628,7 +1628,7 @@
put_cpu();
return 0;
-@@ -905,9 +944,27 @@ asmlinkage int sys_get_thread_area(struc
+@@ -908,9 +947,27 @@ asmlinkage int sys_get_thread_area(struc
return 0;
}
@@ -1931,7 +1931,7 @@
diff -urNp linux-2.6.16.12/arch/i386/kernel/sys_i386.c linux-2.6.16.12/arch/i386/kernel/sys_i386.c
--- linux-2.6.16.12/arch/i386/kernel/sys_i386.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/i386/kernel/sys_i386.c 2006-05-01 20:17:33.000000000 -0400
-@@ -106,6 +106,191 @@ out:
+@@ -107,6 +107,191 @@ out:
return err;
}
@@ -2134,7 +2134,7 @@
#ifdef CONFIG_EISA
#include <linux/ioport.h>
-@@ -58,18 +59,13 @@
+@@ -60,18 +60,13 @@
asmlinkage int system_call(void);
@@ -2155,7 +2155,7 @@
asmlinkage void divide_error(void);
asmlinkage void debug(void);
-@@ -125,18 +121,22 @@ static inline unsigned long print_contex
+@@ -127,18 +123,22 @@ static inline unsigned long print_contex
char *log_lvl)
{
unsigned long addr;
@@ -2179,7 +2179,7 @@
}
#endif
return ebp;
-@@ -266,7 +266,7 @@ void show_registers(struct pt_regs *regs
+@@ -269,7 +269,7 @@ void show_registers(struct pt_regs *regs
printk(KERN_EMERG "Code: ");
@@ -2188,7 +2188,7 @@
for (i = 0; i < 64; i++, eip++) {
unsigned char c;
-@@ -274,7 +274,7 @@ void show_registers(struct pt_regs *regs
+@@ -277,7 +277,7 @@ void show_registers(struct pt_regs *regs
printk(" Bad EIP value.");
break;
}
@@ -2197,7 +2197,7 @@
printk("<%02x> ", c);
else
printk("%02x ", c);
-@@ -291,7 +291,7 @@ static void handle_BUG(struct pt_regs *r
+@@ -294,7 +294,7 @@ static void handle_BUG(struct pt_regs *r
char c;
unsigned long eip;
@@ -2206,7 +2206,7 @@
if (eip < PAGE_OFFSET)
goto no_bug;
-@@ -390,7 +390,7 @@ void die(const char * str, struct pt_reg
+@@ -396,7 +396,7 @@ void die(const char * str, struct pt_reg
static inline void die_if_kernel(const char * str, struct pt_regs * regs, long err)
{
@@ -2215,7 +2215,7 @@
die(str, regs, err);
}
-@@ -408,7 +408,7 @@ static void __kprobes do_trap(int trapnr
+@@ -414,7 +414,7 @@ static void __kprobes do_trap(int trapnr
goto trap_signal;
}
@@ -2224,7 +2224,7 @@
goto kernel_trap;
trap_signal: {
-@@ -496,7 +496,7 @@ fastcall void __kprobes do_general_prote
+@@ -502,7 +502,7 @@ fastcall void __kprobes do_general_prote
long error_code)
{
int cpu = get_cpu();
@@ -2233,7 +2233,7 @@
struct thread_struct *thread = ¤t->thread;
/*
-@@ -532,9 +532,25 @@ fastcall void __kprobes do_general_prote
+@@ -538,9 +538,25 @@ fastcall void __kprobes do_general_prote
if (regs->eflags & VM_MASK)
goto gp_in_vm86;
@@ -2260,7 +2260,7 @@
current->thread.error_code = error_code;
current->thread.trap_no = 13;
force_sig(SIGSEGV, current);
-@@ -550,6 +566,13 @@ gp_in_kernel:
+@@ -556,6 +572,13 @@ gp_in_kernel:
if (notify_die(DIE_GPF, "general protection fault", regs,
error_code, 13, SIGSEGV) == NOTIFY_STOP)
return;
@@ -2274,7 +2274,7 @@
die("general protection fault", regs, error_code);
}
}
-@@ -775,7 +798,7 @@ fastcall void __kprobes do_debug(struct
+@@ -781,7 +804,7 @@ fastcall void __kprobes do_debug(struct
* check for kernel mode by just checking the CPL
* of CS.
*/
@@ -2283,7 +2283,7 @@
goto clear_TF_reenable;
}
-@@ -1065,7 +1088,19 @@ do { \
+@@ -1071,7 +1094,19 @@ do { \
*/
void set_intr_gate(unsigned int n, void *addr)
{
@@ -3160,7 +3160,7 @@
diff -urNp linux-2.6.16.12/arch/i386/mm/init.c linux-2.6.16.12/arch/i386/mm/init.c
--- linux-2.6.16.12/arch/i386/mm/init.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/i386/mm/init.c 2006-05-01 20:17:33.000000000 -0400
-@@ -41,6 +41,7 @@
+@@ -42,6 +42,7 @@
#include <asm/tlb.h>
#include <asm/tlbflush.h>
#include <asm/sections.h>
@@ -3168,8 +3168,8 @@
unsigned int __VMALLOC_RESERVE = 128 << 20;
-@@ -50,30 +51,6 @@ unsigned long highstart_pfn, highend_pfn
- static int noinline do_test_wp_bit(void);
+@@ -52,30 +53,6 @@ unsigned long highstart_pfn, highend_pfn
+ int bad_ppro;
/*
- * Creates a middle page table and puts a pointer to it in the
@@ -3199,7 +3199,7 @@
* Create a page table and place a pointer to it in a middle page
* directory entry.
*/
-@@ -81,7 +58,11 @@ static pte_t * __init one_page_table_ini
+@@ -83,7 +60,11 @@ static pte_t * __init one_page_table_ini
{
if (pmd_none(*pmd)) {
pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
@@ -3211,7 +3211,7 @@
if (page_table != pte_offset_kernel(pmd, 0))
BUG();
-@@ -116,8 +97,6 @@ static void __init page_table_range_init
+@@ -118,8 +99,6 @@ static void __init page_table_range_init
pgd = pgd_base + pgd_idx;
for ( ; (pgd_idx < PTRS_PER_PGD) && (vaddr != end); pgd++, pgd_idx++) {
@@ -3220,7 +3220,7 @@
pud = pud_offset(pgd, vaddr);
pmd = pmd_offset(pud, vaddr);
for (; (pmd_idx < PTRS_PER_PMD) && (vaddr != end); pmd++, pmd_idx++) {
-@@ -130,11 +109,22 @@ static void __init page_table_range_init
+@@ -132,11 +111,22 @@ static void __init page_table_range_init
}
}
@@ -3247,7 +3247,7 @@
}
/*
-@@ -146,26 +136,24 @@ static void __init kernel_physical_mappi
+@@ -148,26 +138,24 @@ static void __init kernel_physical_mappi
{
unsigned long pfn;
pgd_t *pgd;
@@ -3281,7 +3281,7 @@
set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC));
else
set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE));
-@@ -174,7 +162,7 @@ static void __init kernel_physical_mappi
+@@ -176,7 +164,7 @@ static void __init kernel_physical_mappi
pte = one_page_table_init(pmd);
for (pte_ofs = 0; pte_ofs < PTRS_PER_PTE && pfn < max_low_pfn; pte++, pfn++, pte_ofs++) {
@@ -3290,7 +3290,7 @@
set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC));
else
set_pte(pte, pfn_pte(pfn, PAGE_KERNEL));
-@@ -341,13 +329,6 @@ static void __init pagetable_init (void)
+@@ -347,13 +335,6 @@ static void __init pagetable_init (void)
unsigned long vaddr;
pgd_t *pgd_base = swapper_pg_dir;
@@ -3304,7 +3304,7 @@
/* Enable PSE if available */
if (cpu_has_pse) {
set_in_cr4(X86_CR4_PSE);
-@@ -371,17 +352,6 @@ static void __init pagetable_init (void)
+@@ -377,17 +358,6 @@ static void __init pagetable_init (void)
page_table_range_init(vaddr, 0, pgd_base);
permanent_kmaps_init(pgd_base);
@@ -3321,8 +3321,8 @@
-#endif
}
- #ifdef CONFIG_SOFTWARE_SUSPEND
-@@ -423,7 +393,6 @@ void zap_low_mappings (void)
+ #ifdef CONFIG_PM
+@@ -429,7 +399,6 @@ void zap_low_mappings (void)
flush_tlb_all();
}
@@ -3330,7 +3330,7 @@
u64 __supported_pte_mask __read_mostly = ~_PAGE_NX;
/*
-@@ -437,11 +406,9 @@ u64 __supported_pte_mask __read_mostly =
+@@ -443,11 +412,9 @@ u64 __supported_pte_mask __read_mostly =
void __init noexec_setup(const char *str)
{
if (!strncmp(str, "on",2) && cpu_has_nx) {
@@ -3344,7 +3344,7 @@
}
}
-@@ -450,17 +417,13 @@ int nx_enabled = 0;
+@@ -456,17 +423,13 @@ int nx_enabled = 0;
static void __init set_nx(void)
{
@@ -3368,7 +3368,7 @@
}
}
-@@ -512,14 +475,6 @@ void __init paging_init(void)
+@@ -518,14 +481,6 @@ void __init paging_init(void)
load_cr3(swapper_pg_dir);
@@ -3383,7 +3383,7 @@
__flush_tlb_all();
kmap_init();
-@@ -611,7 +566,7 @@ void __init mem_init(void)
+@@ -628,7 +583,7 @@ void __init mem_init(void)
set_highmem_pages_init(bad_ppro);
codesize = (unsigned long) &_etext - (unsigned long) &_text;
@@ -3392,7 +3392,7 @@
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT);
-@@ -628,10 +583,6 @@ void __init mem_init(void)
+@@ -645,10 +600,6 @@ void __init mem_init(void)
(unsigned long) (totalhigh_pages << (PAGE_SHIFT-10))
);
@@ -3403,7 +3403,7 @@
if (boot_cpu_data.wp_works_ok < 0)
test_wp_bit();
-@@ -724,6 +675,36 @@ void free_initmem(void)
+@@ -741,6 +692,36 @@ void free_initmem(void)
{
unsigned long addr;
@@ -3709,15 +3709,15 @@
diff -urNp linux-2.6.16.12/arch/ia64/kernel/ptrace.c linux-2.6.16.12/arch/ia64/kernel/ptrace.c
--- linux-2.6.16.12/arch/ia64/kernel/ptrace.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/ia64/kernel/ptrace.c 2006-05-01 20:17:33.000000000 -0400
-@@ -18,6 +18,7 @@
- #include <linux/security.h>
+@@ -19,6 +19,7 @@
#include <linux/audit.h>
#include <linux/signal.h>
+ #include <linux/vs_pid.h>
+#include <linux/grsecurity.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
-@@ -1447,6 +1448,9 @@ sys_ptrace (long request, pid_t pid, uns
+@@ -1451,6 +1452,9 @@ sys_ptrace (long request, pid_t pid, uns
if (pid == 1) /* no messing around with init! */
goto out_tsk;
@@ -3759,15 +3759,15 @@
diff -urNp linux-2.6.16.12/arch/ia64/mm/fault.c linux-2.6.16.12/arch/ia64/mm/fault.c
--- linux-2.6.16.12/arch/ia64/mm/fault.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/ia64/mm/fault.c 2006-05-01 20:17:33.000000000 -0400
-@@ -10,6 +10,7 @@
- #include <linux/smp_lock.h>
+@@ -11,6 +11,7 @@
#include <linux/interrupt.h>
#include <linux/kprobes.h>
+ #include <linux/vs_memory.h>
+#include <linux/binfmts.h>
#include <asm/pgtable.h>
#include <asm/processor.h>
-@@ -51,6 +52,23 @@ mapped_kernel_page_is_present (unsigned
+@@ -52,6 +53,23 @@ mapped_kernel_page_is_present (unsigned
return pte_present(pte);
}
@@ -3791,7 +3791,7 @@
void __kprobes
ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *regs)
{
-@@ -113,9 +131,23 @@ ia64_do_page_fault (unsigned long addres
+@@ -114,9 +132,23 @@ ia64_do_page_fault (unsigned long addres
| (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT)
| (((isr >> IA64_ISR_R_BIT) & 1UL) << VM_READ_BIT));
@@ -3874,7 +3874,7 @@
diff -urNp linux-2.6.16.12/arch/mips/kernel/syscall.c linux-2.6.16.12/arch/mips/kernel/syscall.c
--- linux-2.6.16.12/arch/mips/kernel/syscall.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/mips/kernel/syscall.c 2006-05-01 20:17:33.000000000 -0400
-@@ -89,6 +89,11 @@ unsigned long arch_get_unmapped_area(str
+@@ -90,6 +90,11 @@ unsigned long arch_get_unmapped_area(str
do_color_align = 0;
if (filp || (flags & MAP_SHARED))
do_color_align = 1;
@@ -3886,7 +3886,7 @@
if (addr) {
if (do_color_align)
addr = COLOUR_ALIGN(addr, pgoff);
-@@ -99,7 +104,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -100,7 +105,7 @@ unsigned long arch_get_unmapped_area(str
(!vmm || addr + len <= vmm->vm_start))
return addr;
}
@@ -4082,7 +4082,7 @@
diff -urNp linux-2.6.16.12/arch/parisc/kernel/traps.c linux-2.6.16.12/arch/parisc/kernel/traps.c
--- linux-2.6.16.12/arch/parisc/kernel/traps.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/parisc/kernel/traps.c 2006-05-01 20:17:33.000000000 -0400
-@@ -711,9 +711,7 @@ void handle_interruption(int code, struc
+@@ -712,9 +712,7 @@ void handle_interruption(int code, struc
down_read(¤t->mm->mmap_sem);
vma = find_vma(current->mm,regs->iaoq[0]);
@@ -4910,8 +4910,8 @@
#include <asm/pgtable.h>
#include <asm/system.h>
-@@ -300,6 +301,11 @@ asmlinkage void do_ptrace(struct pt_regs
- goto out;
+@@ -304,6 +305,11 @@ asmlinkage void do_ptrace(struct pt_regs
+ goto out_tsk;
}
+ if (gr_handle_ptrace(child, request)) {
@@ -4925,7 +4925,7 @@
diff -urNp linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c
--- linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c 2006-05-01 20:17:33.000000000 -0400
-@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str
if (ARCH_SUN4C_SUN4 && len > 0x20000000)
return -ENOMEM;
if (!addr)
@@ -5293,8 +5293,8 @@
#include <asm/asi.h>
#include <asm/pgtable.h>
-@@ -210,6 +211,11 @@ asmlinkage void do_ptrace(struct pt_regs
- goto out;
+@@ -214,6 +215,11 @@ asmlinkage void do_ptrace(struct pt_regs
+ goto out_tsk;
}
+ if (gr_handle_ptrace(child, (long)request)) {
@@ -5308,7 +5308,7 @@
diff -urNp linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c
--- linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c 2006-05-01 20:17:33.000000000 -0400
-@@ -72,6 +72,10 @@ unsigned long arch_get_unmapped_area(str
+@@ -73,6 +73,10 @@ unsigned long arch_get_unmapped_area(str
if (filp || (flags & MAP_SHARED))
do_color_align = 1;
@@ -5319,7 +5319,7 @@
if (addr) {
if (do_color_align)
addr = COLOUR_ALIGN(addr, pgoff);
-@@ -86,7 +90,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -87,7 +91,7 @@ unsigned long arch_get_unmapped_area(str
if (len <= mm->cached_hole_size) {
mm->cached_hole_size = 0;
@@ -5328,7 +5328,7 @@
}
start_addr = addr = mm->free_area_cache;
-@@ -105,8 +109,8 @@ full_search:
+@@ -106,8 +110,8 @@ full_search:
vma = find_vma(mm, PAGE_OFFSET);
}
if (task_size < addr) {
@@ -5846,7 +5846,7 @@
diff -urNp linux-2.6.16.12/arch/x86_64/kernel/process.c linux-2.6.16.12/arch/x86_64/kernel/process.c
--- linux-2.6.16.12/arch/x86_64/kernel/process.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/x86_64/kernel/process.c 2006-05-01 20:17:33.000000000 -0400
-@@ -839,9 +839,3 @@ int dump_task_regs(struct task_struct *t
+@@ -840,9 +840,3 @@ int dump_task_regs(struct task_struct *t
return 1;
}
@@ -5908,7 +5908,7 @@
diff -urNp linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c
--- linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c 2006-05-01 20:17:33.000000000 -0400
-@@ -65,8 +65,8 @@ out:
+@@ -66,8 +66,8 @@ out:
return error;
}
@@ -5919,7 +5919,7 @@
{
if (!test_thread_flag(TIF_IA32) && (flags & MAP_32BIT)) {
/* This is usually used needed to map code in small
-@@ -79,7 +79,7 @@ static void find_start_end(unsigned long
+@@ -80,7 +80,7 @@ static void find_start_end(unsigned long
*begin = 0x40000000;
*end = 0x80000000;
} else {
@@ -5928,7 +5928,7 @@
*end = TASK_SIZE;
}
}
-@@ -93,11 +93,15 @@ arch_get_unmapped_area(struct file *filp
+@@ -94,11 +94,15 @@ arch_get_unmapped_area(struct file *filp
unsigned long start_addr;
unsigned long begin, end;
@@ -6401,7 +6401,7 @@
diff -urNp linux-2.6.16.12/drivers/scsi/libata-scsi.c linux-2.6.16.12/drivers/scsi/libata-scsi.c
--- linux-2.6.16.12/drivers/scsi/libata-scsi.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/drivers/scsi/libata-scsi.c 2006-05-01 20:17:33.000000000 -0400
-@@ -1553,7 +1553,7 @@ unsigned int ata_scsiop_inq_80(struct at
+@@ -1591,7 +1591,7 @@ unsigned int ata_scsiop_inq_80(struct at
return 0;
}
@@ -6410,7 +6410,7 @@
/**
* ata_scsiop_inq_83 - Simulate INQUIRY EVPD page 83, device identity
-@@ -1572,13 +1572,13 @@ unsigned int ata_scsiop_inq_83(struct at
+@@ -1610,13 +1610,13 @@ unsigned int ata_scsiop_inq_83(struct at
unsigned int buflen)
{
rbuf[1] = 0x83; /* this page code */
@@ -6443,15 +6443,15 @@
diff -urNp linux-2.6.16.12/fs/binfmt_aout.c linux-2.6.16.12/fs/binfmt_aout.c
--- linux-2.6.16.12/fs/binfmt_aout.c 2006-05-01 15:14:26.000000000 -0400
+++ linux-2.6.16.12/fs/binfmt_aout.c 2006-05-01 20:17:33.000000000 -0400
-@@ -24,6 +24,7 @@
- #include <linux/binfmts.h>
+@@ -25,6 +25,7 @@
#include <linux/personality.h>
#include <linux/init.h>
+ #include <linux/vs_memory.h>
+#include <linux/grsecurity.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-@@ -123,10 +124,12 @@ static int aout_core_dump(long signr, st
+@@ -124,10 +125,12 @@ static int aout_core_dump(long signr, st
/* If the size of the dump file exceeds the rlimit, then see what would happen
if we wrote the stack, but not the data area. */
#ifdef __sparc__
@@ -6464,7 +6464,7 @@
if ((dump.u_dsize+dump.u_ssize+1) * PAGE_SIZE >
current->signal->rlim[RLIMIT_CORE].rlim_cur)
dump.u_dsize = 0;
-@@ -134,10 +137,12 @@ static int aout_core_dump(long signr, st
+@@ -135,10 +138,12 @@ static int aout_core_dump(long signr, st
/* Make sure we have enough room to write the stack and data areas. */
#ifdef __sparc__
@@ -6477,7 +6477,7 @@
if ((dump.u_ssize+1) * PAGE_SIZE >
current->signal->rlim[RLIMIT_CORE].rlim_cur)
dump.u_ssize = 0;
-@@ -287,6 +292,8 @@ static int load_aout_binary(struct linux
+@@ -288,6 +293,8 @@ static int load_aout_binary(struct linux
rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur;
if (rlim >= RLIM_INFINITY)
rlim = ~0;
@@ -6486,7 +6486,7 @@
if (ex.a_data + ex.a_bss > rlim)
return -ENOMEM;
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/SOURCES/grsecurity-2.1.9-2.6.16.14.patch?r1=1.1&r2=1.1.2.1&f=u
More information about the pld-cvs-commit
mailing list