aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compiler.h
AgeCommit message (Expand)AuthorFilesLines
2025-12-08include/linux: change "__auto_type" to "auto"H. Peter Anvin1-1/+1
2025-12-06Merge tag 'mm-nonmm-stable-2025-12-06-11-14' of git://git.kernel.org/pub/scm/...Linus Torvalds1-6/+0
2025-11-12compiler.h: remove ARCH_SEL()Thomas Weißschuh1-6/+0
2025-10-14compiler.h: Make addressable symbols less of an eyesoreJosh Poimboeuf1-1/+1
2025-10-14compiler: Tweak __UNIQUE_ID() namingJosh Poimboeuf1-1/+5
2025-09-29Merge tag 'hardening-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+1
2025-09-24kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFIKees Cook1-1/+1
2025-08-18compiler: remove __ADDRESSABLE_ASM{_STR,}() againJan Beulich1-8/+0
2025-04-29build_bug.h: more user friendly error messages in BUILD_BUG_ON_ZERO()Vincent Mailhol1-2/+2
2025-04-01Merge tag 'mm-stable-2025-03-30-16-52' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-0/+20
2025-03-24Merge tag 'x86-core-2025-03-22' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-0/+10
2025-03-24Merge tag 'hardening-v6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-1/+17
2025-03-16compiler.h: introduce TYPEOF_UNQUAL() macroUros Bizjak1-0/+20
2025-03-03Merge tag 'v6.14-rc5' into x86/core, to pick up fixesIngo Molnar1-1/+1
2025-03-03compiler.h: Introduce __must_be_noncstr()Kees Cook1-1/+17
2025-02-28Merge tag 'objtool-urgent-2025-02-28' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-1/+1
2025-02-25objtool: Fix C jump table annotations for ClangArd Biesheuvel1-1/+1
2025-02-14x86/cfi: Clean up linkagePeter Zijlstra1-0/+10
2025-02-08Merge tag 'hardening-v6.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-13/+19
2025-02-06compiler.h: Introduce __must_be_byte_array()Kees Cook1-1/+7
2025-02-06compiler.h: Move C string helpers into C-only kernel sectionKees Cook1-13/+13
2025-01-26Merge tag 'bitmap-for-6.14' of https://github.com:/norov/linuxLinus Torvalds1-0/+22
2025-01-21Merge tag 'objtool-core-2025-01-20' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-30/+7
2024-12-30compiler.h: add const_true()Vincent Mailhol1-0/+22
2024-12-13x86/static-call: provide a way to do very early static-call updatesJuergen Gross1-11/+26
2024-12-02objtool: Remove annotate_{,un}reachable()Peter Zijlstra1-27/+0
2024-12-02unreachable: UnifyPeter Zijlstra1-3/+7
2024-11-16compiler.h: Fix undefined BUILD_BUG_ON_ZERO()Philipp Reisner1-2/+9
2024-09-26compiler.h: specify correct attribute for .rodata..c_jump_tableTiezhu Yang1-1/+1
2024-08-22string: Check for "nonstring" attribute on strscpy() argumentsKees Cook1-0/+3
2024-07-30minmax: improve macro expansion and type checkingLinus Torvalds1-0/+9
2024-07-21Merge tag 'mm-nonmm-stable-2024-07-21-15-07' of git://git.kernel.org/pub/scm/...Linus Torvalds1-4/+2
2024-06-28compiler.h: simplify data_race() macroAlexey Dobriyan1-4/+2
2024-05-30kcsan: Add example to data_race() kerneldoc headerPaul E. McKenney1-1/+9
2024-04-09compiler.h: Add missing quote in macro commentThorsten Blum1-1/+1
2024-03-22Merge tag 'loongarch-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ch...Linus Torvalds1-0/+9
2024-03-12Merge tag 'hardening-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-0/+39
2024-03-11LoongArch: Add ORC stack unwinder supportTiezhu Yang1-0/+9
2024-03-01compiler.h: Explain how __is_constexpr() worksKees Cook1-0/+39
2024-02-14Merge tag 'v6.8-rc4' into x86/percpu, to resolve conflicts and refresh the br...Ingo Molnar1-4/+9
2023-10-23x86/percpu: Introduce const-qualified const_pcpu_hot to micro-optimize code g...Uros Bizjak1-1/+1
2023-10-18compiler.h: move __is_constexpr() to compiler.hDavid Laight1-0/+8
2023-10-04compiler.h: unify __UNIQUE_IDNick Desaulniers1-4/+1
2023-05-17tracing: make ftrace_likely_update() declaration visibleArnd Bergmann1-3/+2
2022-11-02overflow: Introduce overflows_type() and castable_to_type()Kees Cook1-0/+1
2022-09-26treewide: Drop function_nocfiSami Tolvanen1-10/+0
2022-09-26cfi: Drop __CFI_ADDRESSABLESami Tolvanen1-2/+4
2022-08-29tracing: Define the is_signed_type() macro onceBart Van Assche1-0/+6
2022-04-22objtool: Add CONFIG_OBJTOOLJosh Poimboeuf1-3/+3
2022-03-15x86,objtool: Move the ASM_REACHABLE annotation to objtool.hPeter Zijlstra1-7/+0
2022-02-02x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asmNick Desaulniers1-16/+5
2021-12-21compiler.h: Fix annotation macro misplacement with ClangJosh Poimboeuf1-2/+2
2021-09-15compiler.h: Introduce absolute_pointer macroGuenter Roeck1-0/+2
2021-06-30Merge tag 'clang-features-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-0/+10
2021-06-14CFI: Move function_nocfi() into compiler.hMark Rutland1-0/+10
2021-05-19compiler.h: Avoid using inline asm operand modifiersVasily Gorbik1-8/+14
2021-01-22jump_label: Do not profile branch annotationsSteven Rostedt (VMware)1-0/+2
2020-11-14compiler.h: fix barrier_data() on clangArvind Sankar1-2/+16
2020-10-25treewide: Convert macro and uses of __section(foo) to __section("foo")Joe Perches1-4/+4
2020-10-13compiler.h: avoid escaped section namesNick Desaulniers1-1/+1
2020-09-01compiler.h: Make __ADDRESSABLE() symbol truly uniqueJosh Poimboeuf1-1/+1
2020-08-03Merge tag 'core-headers-2020-08-03' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-53/+0
2020-07-24compiler.h: Move instrumentation_begin()/end() to new <linux/instrumentation....Ingo Molnar1-53/+0
2020-07-21compiler.h: Move compiletime_assert() macros into compiler_types.hWill Deacon1-41/+0
2020-07-21compiler.h: Split {READ,WRITE}_ONCE definitions out into rwonce.hWill Deacon1-91/+2
2020-06-25rcu: Fixup noinstr warningsPeter Zijlstra1-1/+1
2020-06-11compiler.h: Move function attributes to compiler_types.hMarco Elver1-29/+0
2020-06-11compiler.h: Avoid nested statement expression in data_race()Marco Elver1-5/+5
2020-06-11compiler.h: Remove data_race() and unnecessary checks from {READ,WRITE}_ONCE()Marco Elver1-11/+2
2020-06-11kcsan: Remove 'noinline' from __no_kcsan_or_inlineMarco Elver1-4/+2
2020-06-11Rebase locking/kcsan to locking/urgentThomas Gleixner1-11/+60
2020-06-10Merge branch 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds1-79/+69
2020-06-05compiler.h: Enforce that READ_ONCE_NOCHECK() access size is sizeof(long)Will Deacon1-2/+5
2020-06-05READ_ONCE: Fix comment describing 2x32-bit atomicityWill Deacon1-3/+3
2020-06-01Merge tag 'core-kprobes-2020-06-01' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-0/+53
2020-05-19vmlinux.lds.h: Create section for protection against instrumentationThomas Gleixner1-0/+53
2020-05-15x86: Fix early boot crash on gcc-10, third tryBorislav Petkov1-0/+6
2020-05-08Merge branch 'kcsan-for-tip' of git://git.kernel.org/pub/scm/linux/kernel/git...Thomas Gleixner1-2/+2
2020-04-16READ_ONCE: Drop pointer qualifiers when reading from scalar typesWill Deacon1-3/+3
2020-04-16READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accessesWill Deacon1-3/+30
2020-04-16READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()Will Deacon1-79/+39
2020-04-13kcsan: Change data_race() to no longer require marking racing accessesMarco Elver1-2/+2
2020-04-13Merge tag 'v5.7-rc1' into locking/kcsan, to resolve conflicts and refreshIngo Molnar1-1/+1
2020-04-07compiler.h: fix error in BUILD_BUG_ON() reportingVegard Nossum1-1/+1
2020-03-21compiler.h, seqlock.h: Remove unnecessary kcsan.h includesMarco Elver1-2/+0
2020-03-21kcsan: Add docbook header for data_race()Paul E. McKenney1-6/+8
2020-01-07kcsan: Add __no_kcsan function attributeMarco Elver1-2/+5
2019-11-20kcsan: Improve various small stylistic detailsIngo Molnar1-1/+1
2019-11-16include/linux/compiler.h: Introduce data_race(expr) macroMarco Elver1-0/+20
2019-11-16kcsan: Add Kernel Concurrency Sanitizer infrastructureMarco Elver1-8/+29
2019-09-08include/linux/compiler.h: fix Oops for Clang-compiled kernelsNick Desaulniers1-4/+4
2019-07-09objtool: Add support for C jump tablesJosh Poimboeuf1-0/+5
2019-05-09tracing: Simplify "if" macro codeLinus Torvalds1-17/+18
2019-01-09include/linux/compiler*.h: fix OPTIMIZER_HIDE_VARMichael S. Tsirkin1-1/+3
2018-12-19Revert "x86/objtool: Use asm macros to work around GCC inlining bugs"Ingo Molnar1-43/+13
2018-11-05compiler: remove __no_sanitize_address_or_inline againMartin Schwidefsky1-1/+1
2018-11-01Merge tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojed...Linus Torvalds1-11/+13
2018-10-28Merge tag 'vla-v4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ke...Linus Torvalds1-16/+1
2018-10-19compiler.h: update definition of unreachable()ndesaulniers@google.com1-1/+4
2018-10-11compiler.h: give up __compiletime_assert_fallback()Masahiro Yamada1-16/+1
2018-10-04x86/objtool: Use asm macros to work around GCC inlining bugsNadav Amit1-13/+43
2018-09-30Compiler Attributes: remove uses of __attribute__ from compiler.hMiguel Ojeda1-6/+6
2018-09-30Compiler Attributes: KENTRY used twice the "used" attributeMiguel Ojeda1-1/+1
2018-09-30Compiler Attributes: remove unneeded sparse (__CHECKER__) testsMiguel Ojeda1-4/+0
2018-09-30Compiler Attributes: homogenize __must_be_arrayMiguel Ojeda1-0/+7
2018-09-30Compiler Attributes: always use the extra-underscores syntaxMiguel Ojeda1-4/+4
2018-09-30Compiler Attributes: remove unused attributesMiguel Ojeda1-4/+0
2018-08-22module: use relative references for __ksymtab entriesArd Biesheuvel1-0/+19
2018-08-22linux/compiler.h: don't use boolRasmus Villemoes1-1/+1
2018-06-04branch-check: fix long->int truncation when profiling branchesMikulas Patocka1-1/+1
2018-02-21bug.h: work around GCC PR82365 in BUG()Arnd Bergmann1-0/+5
2018-02-12Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert...Linus Torvalds1-0/+4
2018-02-08compiler-gcc.h: Introduce __optimize function attributeGeert Uytterhoeven1-0/+4
2018-02-01compiler.h: Add read_word_at_a_time() function.Andrey Ryabinin1-0/+8
2018-02-01compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()Andrey Ryabinin1-8/+6
2017-12-12compiler.h: Remove ACCESS_ONCE()Mark Rutland1-36/+11
2017-11-14Merge branch 'linus' into core/objtool, to pick up dependent commitsIngo Molnar1-282/+4
2017-11-07objtool: Make unreachable annotation inline asms explicitly volatileJosh Poimboeuf1-8/+8
2017-11-07objtool: Add a comment for the unreachable annotation macrosJosh Poimboeuf1-0/+5
2017-11-07Merge branch 'linus' into locking/core, to resolve conflictsIngo Molnar1-2/+3
2017-11-04objtool: Prevent GCC from merging annotate_unreachable(), take 2Josh Poimboeuf1-2/+2
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-24locking/barriers: Kill lockless_dereference()Will Deacon1-20/+0
2017-10-24locking/barriers: Add implicit smp_read_barrier_depends() to READ_ONCE()Will Deacon1-0/+1
2017-10-24linux/compiler.h: Split into compiler.h and compiler_types.hWill Deacon1-262/+3
2017-09-04Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-0/+4
2017-09-04Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-1/+27
2017-08-31include/linux/compiler.h: don't perform compiletime_assert with -O0Joe Stringer1-1/+5
2017-08-26Merge branch 'linus' into x86/mm to pick up fixes and to fix conflictsIngo Molnar1-0/+5
2017-08-10Merge branch 'x86/urgent' into x86/asm, to pick up fixesIngo Molnar1-0/+5
2017-07-28objtool: Assume unannotated UD2 instructions are dead endsJosh Poimboeuf1-1/+24
2017-07-25x86/asm: Add ASM_UNREACHABLEKees Cook1-0/+3
2017-07-19Merge tag 'gcc-plugins-v4.13-rc2' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-0/+5
2017-07-18compiler-gcc.h: Introduce __nostackprotector function attributeTom Lendacky1-0/+4
2017-07-05Merge tag 'gcc-plugins-v4.13-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-0/+12
2017-06-30task_struct: Allow randomized layoutKees Cook1-0/+5
2017-06-22gcc-plugins: Add the randstruct pluginKees Cook1-0/+8
2017-06-08rcu: Remove SPARSE_RCU_POINTER Kconfig optionPaul E. McKenney1-4/+0
2017-05-28compiler: Add __designated_init annotationKees Cook1-0/+4
2017-02-27Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-8/+0
2017-02-27kprobes: move kprobe declarations to asm-generic/kprobes.hLuis R. Rodriguez1-8/+0
2017-02-27Merge tag 'trace-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/rost...Linus Torvalds1-10/+17
2017-01-19tracing: Show number of constants profiled in likely profilerSteven Rostedt (VMware)1-5/+10
2017-01-18gcc-plugins: Add structleak for more stack initializationKees Cook1-1/+5
2017-01-17tracing: Process constants for (un)likely() profilerSteven Rostedt (VMware)1-6/+8
2016-10-15Merge tag 'gcc-plugins-v4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds1-0/+4
2016-10-14Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek...Linus Torvalds1-0/+23
2016-10-10latent_entropy: Mark functions with __latent_entropyEmese Revfy1-0/+4
2016-09-09kbuild: allow archs to select link dead code/data eliminationNicholas Piggin1-0/+23
2016-09-05locking/barriers: Don't use sizeof(void) in lockless_dereference()Johannes Berg1-3/+4
2016-08-18locking/barriers: Suppress sparse warnings in lockless_dereference()Johannes Berg1-3/+3
2016-07-28Merge tag 'libnvdimm-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+0
2016-07-12pmem: kill __pmem address spaceDan Williams1-2/+0
2016-06-14locking/barriers: Move smp_cond_load_acquire() to asm-generic/barrier.hPeter Zijlstra1-37/+0
2016-06-14locking/barriers: Introduce smp_acquire__after_ctrl_dep()Peter Zijlstra1-5/+12
2016-06-14locking/barriers: Replace smp_cond_acquire() with smp_cond_load_acquire()Peter Zijlstra1-6/+19
2016-06-08locking/barriers: Validate lockless_dereference() is used on a pointer typePeter Zijlstra1-0/+4
2016-05-19compiler.h: add support for malloc attributeRasmus Villemoes1-0/+4
2016-03-15Merge commit 'fixes.2015.02.23a' into core/rcuIngo Molnar1-4/+8
2016-02-29Merge tag 'v4.5-rc6' into locking/core, to pick up fixesIngo Molnar1-1/+1
2016-02-23sparse: Add __private to privatize members of structsBoqun Feng1-4/+8
2016-02-15tracing: Fix freak link error caused by branch tracerArnd Bergmann1-1/+1
2016-02-09locking/atomics: Update comment about READ_ONCE() and structuresKonrad Rzeszutek Wilk1-2/+3
2015-12-04locking, sched: Introduce smp_cond_acquire() and use itPeter Zijlstra1-0/+17
2015-11-05compiler.h: add support for function attribute assume_alignedRasmus Villemoes1-0/+8
2015-11-04Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s39...Linus Torvalds1-1/+1
2015-11-03atomic: remove all traces of READ_ONCE_CTRL() and atomic*_read_ctrl()Linus Torvalds1-16/+0
2015-10-20compiler, atomics, kasan: Provide READ_ONCE_NOCHECK()Andrey Ryabinin1-13/+53
2015-10-14s390/compiler.h Fix sparse vs. hotpatchChristian Borntraeger1-1/+1
2015-08-12locking, compiler.h: Cast away attributes in the WRITE_ONCE() magicChristian Borntraeger1-1/+6
2015-07-11Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-1/+1
2015-07-01Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+15
2015-06-30sparse: fix misplaced __pmem definitionDan Williams1-1/+1
2015-06-29Merge tag 'libnvdimm-for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-0/+2
2015-06-26arch, x86: pmem api for ensuring durability of persistent memory updatesRoss Zwisler1-0/+2
2015-06-24rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()Stephen Rothwell1-1/+1
2015-06-22Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-2/+2
2015-05-28rcu: Move lockless_dereference() out of rcupdate.hPeter Zijlstra1-0/+15
2015-05-27smp: Make control dependencies work on Alpha, improve documentationPaul E. McKenney1-0/+16
2015-05-19locking/arch: Add WRITE_ONCE() to set_mb()Peter Zijlstra1-1/+1
2015-05-08kernel: Replace reference to ASSIGN_ONCE() with WRITE_ONCE() in commentPreeti U Murthy1-1/+1
2015-05-04lib: make memzero_explicit more robust against dead store eliminationDaniel Borkmann1-0/+4
2015-03-27locking: Remove atomicy checks from {READ,WRITE}_ONCEPeter Zijlstra1-16/+0
2015-02-21kernel: make READ_ONCE() valid on const argumentsLinus Torvalds1-3/+3
2015-02-14Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/borntr...Linus Torvalds1-5/+16
2015-02-11Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s39...Linus Torvalds1-0/+4
2015-01-29ftrace: let notrace function attribute disable hotpatching if necessaryHeiko Carstens1-0/+4
2015-01-21Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/pau...Ingo Molnar1-1/+1
2015-01-19kernel: Fix sparse warning for ACCESS_ONCEChristian Borntraeger1-1/+1
2015-01-19kernel: tighten rules for ACCESS ONCEChristian Borntraeger1-5/+16
2015-01-13kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)Christian Borntraeger1-6/+6
2015-01-06compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release()Paul E. McKenney1-1/+1
2014-12-18kernel: Provide READ_ONCE and ASSIGN_ONCEChristian Borntraeger1-0/+74
2014-06-12Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+2
2014-06-04compiler.h: avoid sparse errors in __compiletime_error_fallback()James Hogan1-2/+11
2014-04-24kprobes: Introduce NOKPROBE_SYMBOL() macro to maintain kprobes blacklistMasami Hiramatsu1-0/+2
2014-04-09LLVMLinux: Add support for clang to compiler.h and new compiler-clang.hMark Charlebois1-0/+7
2014-01-23Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-0/+4
2014-01-12arch: Introduce smp_load_acquire(), smp_store_release()Peter Zijlstra1-0/+9
2013-12-05crypto: more robust crypto_memneqCesar Eduardo Barros1-0/+4