diff options
Diffstat (limited to '3.2.53')
-rw-r--r-- | 3.2.53/0000_README | 2 | ||||
-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); |