summaryrefslogtreecommitdiff
path: root/3.2.53
diff options
context:
space:
mode:
Diffstat (limited to '3.2.53')
-rw-r--r--3.2.53/0000_README2
-rw-r--r--3.2.53/4420_grsecurity-3.0-3.2.53-201312021727.patch (renamed from 3.2.53/4420_grsecurity-3.0-3.2.53-201312011108.patch)20
2 files changed, 16 insertions, 6 deletions
diff --git a/3.2.53/0000_README b/3.2.53/0000_README
index 8426af2..9af2616 100644
--- a/3.2.53/0000_README
+++ b/3.2.53/0000_README
@@ -130,7 +130,7 @@ Patch: 1052_linux-3.2.53.patch
From: http://www.kernel.org
Desc: Linux 3.2.53
-Patch: 4420_grsecurity-3.0-3.2.53-201312011108.patch
+Patch: 4420_grsecurity-3.0-3.2.53-201312021727.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.2.53/4420_grsecurity-3.0-3.2.53-201312011108.patch b/3.2.53/4420_grsecurity-3.0-3.2.53-201312021727.patch
index 15444aa..0b81548 100644
--- a/3.2.53/4420_grsecurity-3.0-3.2.53-201312011108.patch
+++ b/3.2.53/4420_grsecurity-3.0-3.2.53-201312021727.patch
@@ -11516,7 +11516,7 @@ index 58cb6d4..a4b806c 100644
/* Atomic operations are already serializing on x86 */
#define smp_mb__before_atomic_dec() barrier()
diff --git a/arch/x86/include/asm/atomic64_32.h b/arch/x86/include/asm/atomic64_32.h
-index 24098aa..1e37723 100644
+index 24098aa..820ea9d 100644
--- a/arch/x86/include/asm/atomic64_32.h
+++ b/arch/x86/include/asm/atomic64_32.h
@@ -12,6 +12,14 @@ typedef struct {
@@ -11556,7 +11556,7 @@ index 24098aa..1e37723 100644
* atomic64_xchg - xchg atomic64 variable
* @v: pointer to type atomic64_t
* @n: value to assign
-@@ -77,6 +100,24 @@ static inline void atomic64_set(atomic64_t *v, long long i)
+@@ -77,12 +100,30 @@ static inline void atomic64_set(atomic64_t *v, long long i)
}
/**
@@ -11581,6 +11581,13 @@ index 24098aa..1e37723 100644
* atomic64_read - read atomic64 variable
* @v: pointer to type atomic64_t
*
+ * Atomically reads the value of @v and returns it.
+ */
+-static inline long long atomic64_read(atomic64_t *v)
++static inline long long __intentional_overflow(-1) atomic64_read(atomic64_t *v)
+ {
+ long long r;
+ asm volatile(ATOMIC64_ALTERNATIVE(read)
@@ -93,6 +134,22 @@ static inline long long atomic64_read(atomic64_t *v)
}
@@ -11669,12 +11676,15 @@ index 24098aa..1e37723 100644
* @i: integer value to subtract
* @v: pointer to type atomic64_t
diff --git a/arch/x86/include/asm/atomic64_64.h b/arch/x86/include/asm/atomic64_64.h
-index 0e1cbfc..5623683 100644
+index 0e1cbfc..adf5aa7 100644
--- a/arch/x86/include/asm/atomic64_64.h
+++ b/arch/x86/include/asm/atomic64_64.h
-@@ -18,7 +18,19 @@
+@@ -16,9 +16,21 @@
+ * Atomically reads the value of @v.
+ * Doesn't imply a read memory barrier.
*/
- static inline long atomic64_read(const atomic64_t *v)
+-static inline long atomic64_read(const atomic64_t *v)
++static inline long __intentional_overflow(-1) atomic64_read(const atomic64_t *v)
{
- return (*(volatile long *)&(v)->counter);
+ return (*(volatile const long *)&(v)->counter);