| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- From 8c2a040e8b66b43da2a517410a5f26929a404df4 Mon Sep 17 00:00:00 2001
- From: Thomas Gleixner <[email protected]>
- Date: Thu, 2 Nov 2017 13:30:03 +0100
- Subject: [PATCH 108/232] bitops: Revert cbe96375025e ("bitops: Add
- clear/set_bit32() to linux/bitops.h")
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- CVE-2017-5754
- These ops are not endian safe and may break on architectures which have
- aligment requirements.
- Reverts: cbe96375025e ("bitops: Add clear/set_bit32() to linux/bitops.h")
- Reported-by: Peter Zijlstra <[email protected]>
- Signed-off-by: Thomas Gleixner <[email protected]>
- Cc: Andi Kleen <[email protected]>
- (cherry picked from commit 1943dc07b45e347c52c1bfdd4a37e04a86e399aa)
- Signed-off-by: Andy Whitcroft <[email protected]>
- Signed-off-by: Kleber Sacilotto de Souza <[email protected]>
- (cherry picked from commit adb64d8c852206281ea6ee6590ae35076a219409)
- Signed-off-by: Fabian Grünbichler <[email protected]>
- ---
- include/linux/bitops.h | 26 --------------------------
- 1 file changed, 26 deletions(-)
- diff --git a/include/linux/bitops.h b/include/linux/bitops.h
- index eb257a96db6d..a83c822c35c2 100644
- --- a/include/linux/bitops.h
- +++ b/include/linux/bitops.h
- @@ -226,32 +226,6 @@ static inline unsigned long __ffs64(u64 word)
- return __ffs((unsigned long)word);
- }
-
- -/*
- - * clear_bit32 - Clear a bit in memory for u32 array
- - * @nr: Bit to clear
- - * @addr: u32 * address of bitmap
- - *
- - * Same as clear_bit, but avoids needing casts for u32 arrays.
- - */
- -
- -static __always_inline void clear_bit32(long nr, volatile u32 *addr)
- -{
- - clear_bit(nr, (volatile unsigned long *)addr);
- -}
- -
- -/*
- - * set_bit32 - Set a bit in memory for u32 array
- - * @nr: Bit to clear
- - * @addr: u32 * address of bitmap
- - *
- - * Same as set_bit, but avoids needing casts for u32 arrays.
- - */
- -
- -static __always_inline void set_bit32(long nr, volatile u32 *addr)
- -{
- - set_bit(nr, (volatile unsigned long *)addr);
- -}
- -
- #ifdef __KERNEL__
-
- #ifndef set_mask_bits
- --
- 2.14.2
|