1# SPDX-License-Identifier: GPL-2.0 2 3# We want to map these types to `isize`/`usize` manually, instead of 4# define them as `int`/`long` depending on platform bitwidth. 5--blocklist-type __kernel_s?size_t 6--blocklist-type __kernel_ptrdiff_t 7 8--opaque-type xregs_state 9--opaque-type desc_struct 10--opaque-type arch_lbr_state 11--opaque-type local_apic 12 13# Packed type cannot transitively contain a `#[repr(align)]` type. 14--opaque-type alt_instr 15--opaque-type x86_msi_data 16--opaque-type x86_msi_addr_lo 17# s390-only: same packed/align issue as above (E0588). 18--opaque-type lowcore 19--opaque-type tod_clock 20--opaque-type tpi_info 21--opaque-type uv_cb.* 22--opaque-type uv_secret.* 23--opaque-type zpci_fib 24 25# If SMP is disabled, `arch_spinlock_t` is defined as a ZST which triggers a Rust 26# warning. We don't need to peek into it anyway. 27--opaque-type spinlock 28 29# enums that appear in indirect function calls should specify a cfi type 30--newtype-enum lru_status 31--with-attribute-custom-enum=lru_status='#[cfi_encoding="10lru_status"]' 32 33# `seccomp`'s comment gets understood as a doctest 34--no-doc-comments 35 36# These functions use the `__preserve_most` calling convention, which neither bindgen 37# nor Rust currently understand, and which Clang currently declares to be unstable. 38--blocklist-function __list_.*_report 39 40# These constants are sometimes not recognized by bindgen depending on config. 41# We use const helpers to aid bindgen, to avoid conflicts when constants are 42# recognized, block generation of the non-helper constants. 43--blocklist-item ARCH_SLAB_MINALIGN 44--blocklist-item ARCH_KMALLOC_MINALIGN 45--blocklist-item VM_MERGEABLE 46--blocklist-item VM_READ 47--blocklist-item VM_WRITE 48--blocklist-item VM_EXEC 49--blocklist-item VM_SHARED 50--blocklist-item VM_MAYREAD 51--blocklist-item VM_MAYWRITE 52--blocklist-item VM_MAYEXEC 53--blocklist-item VM_MAYEXEC 54--blocklist-item VM_PFNMAP 55--blocklist-item VM_IO 56--blocklist-item VM_DONTCOPY 57--blocklist-item VM_DONTEXPAND 58--blocklist-item VM_LOCKONFAULT 59--blocklist-item VM_ACCOUNT 60--blocklist-item VM_NORESERVE 61--blocklist-item VM_HUGETLB 62--blocklist-item VM_SYNC 63--blocklist-item VM_ARCH_1 64--blocklist-item VM_WIPEONFORK 65--blocklist-item VM_DONTDUMP 66--blocklist-item VM_SOFTDIRTY 67--blocklist-item VM_MIXEDMAP 68--blocklist-item VM_HUGEPAGE 69--blocklist-item VM_NOHUGEPAGE 70 71# Structs should implement `Zeroable` when all of their fields do. 72--with-derive-custom-struct .*=MaybeZeroable 73--with-derive-custom-union .*=MaybeZeroable 74