diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2014-05-12 08:35:58 -0400 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2014-05-12 08:35:58 -0400 |
commit | 77b297713485d2da87bfe9b58e57627ecc71b222 (patch) | |
tree | b9435787c9d83aad33649f70b4c47a3bb5b057ad /3.2.58 | |
parent | Grsec/PaX: 3.0-{3.2.58,3.14.3}-201405101947 (diff) | |
download | hardened-patchset-77b297713485d2da87bfe9b58e57627ecc71b222.tar.gz hardened-patchset-77b297713485d2da87bfe9b58e57627ecc71b222.tar.bz2 hardened-patchset-77b297713485d2da87bfe9b58e57627ecc71b222.zip |
Grsec/PaX: 3.0-{3.2.58,3.14.3}-20140511200520140511
Diffstat (limited to '3.2.58')
-rw-r--r-- | 3.2.58/0000_README | 2 | ||||
-rw-r--r-- | 3.2.58/4420_grsecurity-3.0-3.2.58-201405112002.patch (renamed from 3.2.58/4420_grsecurity-3.0-3.2.58-201405101946.patch) | 47 |
2 files changed, 42 insertions, 7 deletions
diff --git a/3.2.58/0000_README b/3.2.58/0000_README index ad7286d..5094122 100644 --- a/3.2.58/0000_README +++ b/3.2.58/0000_README @@ -150,7 +150,7 @@ Patch: 1057_linux-3.2.58.patch From: http://www.kernel.org Desc: Linux 3.2.58 -Patch: 4420_grsecurity-3.0-3.2.58-201405101946.patch +Patch: 4420_grsecurity-3.0-3.2.58-201405112002.patch From: http://www.grsecurity.net Desc: hardened-sources base patch from upstream grsecurity diff --git a/3.2.58/4420_grsecurity-3.0-3.2.58-201405101946.patch b/3.2.58/4420_grsecurity-3.0-3.2.58-201405112002.patch index ed3fd8f..b77f99b 100644 --- a/3.2.58/4420_grsecurity-3.0-3.2.58-201405101946.patch +++ b/3.2.58/4420_grsecurity-3.0-3.2.58-201405112002.patch @@ -8351,10 +8351,37 @@ index 0cbdaa4..f37a97c 100644 } EXPORT_SYMBOL(die_if_kernel); diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c -index 76e4ac1..78f8bb1 100644 +index 76e4ac1..439d7e8 100644 --- a/arch/sparc/kernel/unaligned_64.c +++ b/arch/sparc/kernel/unaligned_64.c -@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs *regs) +@@ -156,17 +156,23 @@ static unsigned long *fetch_reg_addr(unsigned int reg, struct pt_regs *regs) + unsigned long compute_effective_address(struct pt_regs *regs, + unsigned int insn, unsigned int rd) + { ++ int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; + unsigned int rs1 = (insn >> 14) & 0x1f; + unsigned int rs2 = insn & 0x1f; +- int from_kernel = (regs->tstate & TSTATE_PRIV) != 0; ++ unsigned long addr; + + if (insn & 0x2000) { + maybe_flush_windows(rs1, 0, rd, from_kernel); +- return (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); ++ addr = (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); + } else { + maybe_flush_windows(rs1, rs2, rd, from_kernel); +- return (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); ++ addr = (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); + } ++ ++ if (!from_kernel && test_thread_flag(TIF_32BIT)) ++ addr &= 0xffffffff; ++ ++ return addr; + } + + /* This is just to make gcc think die_if_kernel does return... */ +@@ -279,7 +285,7 @@ static void log_unaligned(struct pt_regs *regs) static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); if (__ratelimit(&ratelimit)) { @@ -63174,10 +63201,18 @@ index 03102d9..4ae347e 100644 } diff --git a/fs/proc/stat.c b/fs/proc/stat.c -index 4c9a859..0b51e6b 100644 +index 4c9a859..8c9ebb1 100644 --- a/fs/proc/stat.c +++ b/fs/proc/stat.c -@@ -67,6 +67,18 @@ static int show_stat(struct seq_file *p, void *v) +@@ -11,6 +11,7 @@ + #include <linux/irqnr.h> + #include <asm/cputime.h> + #include <linux/tick.h> ++#include <linux/grsecurity.h> + + #ifndef arch_irq_stat_cpu + #define arch_irq_stat_cpu(cpu) 0 +@@ -67,6 +68,18 @@ static int show_stat(struct seq_file *p, void *v) u64 sum_softirq = 0; unsigned int per_softirq_sums[NR_SOFTIRQS] = {0}; struct timespec boottime; @@ -63196,7 +63231,7 @@ index 4c9a859..0b51e6b 100644 user = nice = system = idle = iowait = irq = softirq = steal = cputime64_zero; -@@ -79,24 +91,27 @@ static int show_stat(struct seq_file *p, void *v) +@@ -79,24 +92,27 @@ static int show_stat(struct seq_file *p, void *v) nice = cputime64_add(nice, kstat_cpu(i).cpustat.nice); system = cputime64_add(system, kstat_cpu(i).cpustat.system); idle = cputime64_add(idle, get_idle_time(i)); @@ -63238,7 +63273,7 @@ index 4c9a859..0b51e6b 100644 seq_printf(p, "cpu %llu %llu %llu %llu %llu %llu %llu %llu %llu " "%llu\n", -@@ -116,12 +131,14 @@ static int show_stat(struct seq_file *p, void *v) +@@ -116,12 +132,14 @@ static int show_stat(struct seq_file *p, void *v) nice = kstat_cpu(i).cpustat.nice; system = kstat_cpu(i).cpustat.system; idle = get_idle_time(i); |