Lines Matching +full:non +full:- +full:volatile

1 /* SPDX-License-Identifier: GPL-2.0 */
4 * This file provides wrappers with sanitizer instrumentation for non-atomic
17 * __set_bit - Set a bit in memory
21 * Unlike set_bit(), this function is non-atomic. If it is called on the same
25 static inline void __set_bit(long nr, volatile unsigned long *addr) in __set_bit()
32 * __clear_bit - Clears a bit in memory
36 * Unlike clear_bit(), this function is non-atomic. If it is called on the same
40 static inline void __clear_bit(long nr, volatile unsigned long *addr) in __clear_bit()
47 * __change_bit - Toggle a bit in memory
51 * Unlike change_bit(), this function is non-atomic. If it is called on the same
55 static inline void __change_bit(long nr, volatile unsigned long *addr) in __change_bit()
61 static inline void __instrument_read_write_bitop(long nr, volatile unsigned long *addr) in __instrument_read_write_bitop()
65 * We treat non-atomic read-write bitops a little more special. in __instrument_read_write_bitop()
67 * non-atomicity of the writer is sufficient may be reasonable in __instrument_read_write_bitop()
69 * assume-plain-writes-atomic rule): in __instrument_read_write_bitop()
70 * 1. report read-modify-write races -> check read; in __instrument_read_write_bitop()
72 * races with unmarked readers -> check "atomic" write. in __instrument_read_write_bitop()
86 * __test_and_set_bit - Set a bit and return its old value
90 * This operation is non-atomic. If two instances of this operation race, one
93 static inline bool __test_and_set_bit(long nr, volatile unsigned long *addr) in __test_and_set_bit()
100 * __test_and_clear_bit - Clear a bit and return its old value
104 * This operation is non-atomic. If two instances of this operation race, one
107 static inline bool __test_and_clear_bit(long nr, volatile unsigned long *addr) in __test_and_clear_bit()
114 * __test_and_change_bit - Change a bit and return its old value
118 * This operation is non-atomic. If two instances of this operation race, one
121 static inline bool __test_and_change_bit(long nr, volatile unsigned long *addr) in __test_and_change_bit()
128 * test_bit - Determine whether a bit is set
132 static inline bool test_bit(long nr, const volatile unsigned long *addr) in test_bit()