* refs/heads/tmp-495c24a:
Revert half of "ANDROID: cpu/hotplug: create vendor hook for cpu_up/cpu_down"
Revert half of "ANDROID: arm64: add vendor hooks for bti and pauth fault"
Revert half of "ANDROID: vendor_hooks: Add param for android_vh_cpu_up/down"
Revert "ANDROID: vendor_hooks: Add a hook for task tagging"
Revert "ANDROID: GKI: net: add vendor hooks for 'struct nf_conn' lifecycle"
Revert "ANDROID: GKI: net: add vendor hooks for 'struct sock' lifecycle"
Revert "ANDROID: vendor_hooks: add hook and OEM data for slab shrink"
Revert half of "ANDROID: vendor_hooks: Add hooks for memory when debug"
Revert half of "ANDROID: gic-v3: Add vendor hook to GIC v3"
UPSTREAM: tracefs: Set all files to the same group ownership as the mount option
UPSTREAM: tracefs: Have new files inherit the ownership of their parent
UPSTREAM: tracefs: Have tracefs directories not set OTH permission bits by default
Revert "ANDROID: vendor_hooks: Add hooks to recognize special worker thread."
Revert "ANDROID: sysrq: add vendor hook for sysrq crash information"
Revert "ANDROID: user: Add vendor hook to user for GKI purpose"
Revert portions of "ANDROID: sched: Add vendor hooks for sched."
Revert portions of "ANDROID: vendor_hooks: Add hooks for scheduler"
UPSTREAM: vfs: fs_context: fix up param length parsing in legacy_parse_param
ANDROID: GKI: disable CONFIG_FORTIFY_SOURCE
Linux 5.10.81
selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage
thermal: Fix NULL pointer dereferences in of_thermal_ functions
perf/core: Avoid put_page() when GUP fails
scripts/lld-version.sh: Rewrite based on upstream ld-version.sh
erofs: fix unsafe pagevec reuse of hooked pclusters
erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
PCI: Add MSI masking quirk for Nvidia ION AHCI
PCI/MSI: Deal with devices lying about their MSI mask capability
PCI/MSI: Destroy sysfs before freeing entries
parisc/entry: fix trace test in syscall exit path
x86/iopl: Fake iopl(3) CLI/STI usage
net: stmmac: dwmac-rk: fix unbalanced pm_runtime_enable warnings
net: stmmac: fix issue where clk is being unprepared twice
net: stmmac: fix system hang if change mac address after interface ifdown
net: stmmac: fix missing unlock on error in stmmac_suspend()
net: stmmac: platform: fix build error with !CONFIG_PM_SLEEP
net: stmmac: add clocks management for gmac driver
bootconfig: init: Fix memblock leak in xbc_make_cmdline()
loop: Use blk_validate_block_size() to validate block size
block: Add a helper to validate the block size
fortify: Explicitly disable Clang support
Revert "tcp: switch orphan_count to bare per-cpu counters"
Revert "net: sched: update default qdisc visibility after Tx queue cnt changes"
Revert "serial: core: Fix initializing and restoring termios speed"
Linux 5.10.80
soc/tegra: pmc: Fix imbalanced clock disabling in error code path
x86/sev: Make the #VC exception stacks part of the default stacks storage
x86/sev: Add an x86 version of cc_platform_has()
arch/cc: Introduce a function to check for confidential computing features
selftests/bpf: Fix also no-alu32 strobemeta selftest
mmc: moxart: Fix null pointer dereference on pointer host
ath10k: fix invalid dma_addr_t token assignment
SUNRPC: Partial revert of commit 6f9f17287e
PCI: aardvark: Fix PCIe Max Payload Size setting
PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros
drm/sun4i: Fix macros in sun8i_csc.h
powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n
powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload
mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines
mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines
mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines
mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines
mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines
mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines
mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines
mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines
s390/cio: make ccw_device_dma_* more robust
s390/ap: Fix hanging ioctl caused by orphaned replies
s390/tape: fix timer initialization in tape_std_assign()
s390/cio: check the subchannel validity for dev_busid
video: backlight: Drop maximum brightness override for brightness zero
mfd: dln2: Add cell for initializing DLN2 ADC
mm, oom: do not trigger out_of_memory from the #PF
mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks
powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC
powerpc/security: Add a helper to query stf_barrier type
powerpc/bpf: Validate branch ranges
powerpc/lib: Add helper to check if offset is within conditional branch range
memcg: prohibit unconditional exceeding the limit of dying tasks
9p/net: fix missing error check in p9_check_errors
net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE
f2fs: should use GFP_NOFS for directory inodes
irqchip/sifive-plic: Fixup EOI failed when masked
posix-cpu-timers: Clear task::posix_cputimers_work in copy_process()
x86/mce: Add errata workaround for Skylake SKX37
MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL
parisc: Fix backtrace to always include init funtion names
ARM: 9156/1: drop cc-option fallbacks for architecture selection
ARM: 9155/1: fix early early_iounmap()
selftests/net: udpgso_bench_rx: fix port argument
cxgb4: fix eeprom len when diagnostics not implemented
net/smc: fix sk_refcnt underflow on linkdown and fallback
vsock: prevent unnecessary refcnt inc for nonblocking connect
net: stmmac: allow a tc-taprio base-time of zero
net: hns3: allow configure ETS bandwidth of all TCs
net: hns3: fix kernel crash when unload VF while it is being reset
net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any
seq_file: fix passing wrong private data
gve: Fix off by one in gve_tx_timeout()
bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding
bpf, sockmap: Remove unhash handler for BPF sockmap usage
arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions
nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails
llc: fix out-of-bound array index in llc_sk_dev_hash()
perf bpf: Add missing free to bpf_event__print_bpf_prog_info()
zram: off by one in read_block_state()
mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration()
can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for mcp251xfd_chip_rx_int_enable()
mfd: core: Add missing of_node_put for loop iteration
bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed
net: phy: fix duplex out of sync problem while changing settings
drm/nouveau/svm: Fix refcount leak bug and missing check against null bug
ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses
ice: Fix not stopping Tx queues for VFs
ice: Fix replacing VF hardware MAC to existing MAC filter
net: vlan: fix a UAF in vlan_dev_real_dev()
openrisc: fix SMP tlb flush NULL pointer dereference
ethtool: fix ethtool msg len calculation for pause stats
net: davinci_emac: Fix interrupt pacing disable
xen-pciback: Fix return in pm_ctrl_init()
i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'
NFSv4: Fix a regression in nfs_set_open_stateid_locked()
scsi: qla2xxx: Turn off target reset during issue_lip
scsi: qla2xxx: Fix gnl list corruption
scsi: qla2xxx: Relogin during fabric disturbance
scsi: qla2xxx: Changes to support FCP2 Target
ar7: fix kernel builds for compiler test
watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT
m68k: set a default value for MEMORY_RESERVE
signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL)
dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result`
netfilter: nfnetlink_queue: fix OOB when mac header was cleared
soc: fsl: dpaa2-console: free buffer before returning from dpaa2_console_read
auxdisplay: ht16k33: Fix frame buffer device blanking
auxdisplay: ht16k33: Connect backlight to fbdev
auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
Fix user namespace leak
NFS: Fix an Oops in pnfs_mark_request_commit()
NFS: Fix up commit deadlocks
dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro
rtc: rv3032: fix error handling in rv3032_clkout_set_rate()
remoteproc: Fix a memory leak in an error handling path in 'rproc_handle_vdev()'
mtd: core: don't remove debugfs directory if device is in use
PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation
mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()
fs: orangefs: fix error return code of orangefs_revalidate_lookup()
NFS: Fix deadlocks in nfs_scan_commit_list()
opp: Fix return in _opp_add_static_v2()
PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge
PCI: aardvark: Don't spam about PIO Response Status
drm/plane-helper: fix uninitialized variable reference
pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds
NFS: Fix dentry verifier races
i2c: mediatek: fixing the incorrect register offset
nfsd: don't alloc under spinlock in rpc_parse_scope_id
rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined
apparmor: fix error check
power: supply: bq27xxx: Fix kernel crash on IRQ handler register error
mips: cm: Convert to bitfield API to fix out-of-bounds access
virtio_ring: check desc == NULL when using indirect with packed
ASoC: cs42l42: Correct configuring of switch inversion from ts-inv
ASoC: cs42l42: Use device_property API instead of of_property
ASoC: cs42l42: Disable regulators if probe fails
powerpc/44x/fsp2: add missing of_node_put
HID: u2fzero: properly handle timeouts in usb_submit_urb
HID: u2fzero: clarify error check and length calculations
clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL
serial: xilinx_uartps: Fix race condition causing stuck TX
phy: qcom-snps: Correct the FSEL_MASK
phy: ti: gmii-sel: check of_get_address() for failure
phy: qcom-qusb2: Fix a memory leak on probe
pinctrl: equilibrium: Fix function addition in multiple groups
soc: qcom: apr: Add of_node_put() before return
firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available()
usb: dwc2: drd: reset current session before setting the new one
usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled
usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init
serial: imx: fix detach/attach of serial console
scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer
scsi: ufs: Refactor ufshcd_setup_clocks() to remove skip_ref_clk
iio: adis: do not disabe IRQs in 'adis_init()'
usb: typec: STUSB160X should select REGMAP_I2C
soc: qcom: rpmhpd: Make power_on actually enable the domain
soc: qcom: rpmhpd: Provide some missing struct member descriptions
ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER
ASoC: cs42l42: Correct some register default values
ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
ARM: dts: stm32: fix SAI sub nodes register range
ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz
pinctrl: renesas: checker: Fix off-by-one bug in drive register check
staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC
staging: most: dim2: do not double-register the same device
usb: musb: select GENERIC_PHY instead of depending on it
RDMA/mlx4: Return missed an error if device doesn't support steering
scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
power: supply: max17040: fix null-ptr-deref in max17040_probe()
power: supply: rt5033_battery: Change voltage values to µV
usb: gadget: hid: fix error code in do_config()
serial: 8250_dw: Drop wrong use of ACPI_PTR()
powerpc: fix unbalanced node refcount in check_kvm_guest()
powerpc: Fix is_kvm_guest() / kvm_para_available()
powerpc: Reintroduce is_kvm_guest() as a fast-path check
powerpc: Rename is_kvm_guest() to check_kvm_guest()
powerpc: Refactor is_kvm_guest() declaration to new header
video: fbdev: chipsfb: use memset_io() instead of memset()
clk: at91: check pmc node status before registering syscore ops
memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe
soc/tegra: Fix an error handling path in tegra_powergate_power_up()
ASoC: SOF: topology: do not power down primary core during topology removal
arm: dts: omap3-gta04a4: accelerometer irq fix
driver core: Fix possible memory leak in device_link_add()
scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp()
soundwire: debugfs: use controller id and link_id for debugfs
ALSA: hda: Use position buffer for SKL+ again
ALSA: hda: Fix hang during shutdown due to link reset
ALSA: hda: Release controller display power during shutdown/reboot
ALSA: hda: Reduce udelay() at SKL+ position reporting
arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000
arm64: dts: renesas: beacon: Fix Ethernet PHY mode
arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock
JFS: fix memleak in jfs_mount
MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT
scsi: dc395: Fix error case unwinding
ARM: dts: at91: tse850: the emac<->phy interface is rmii
bus: ti-sysc: Fix timekeeping_suspended warning on resume
arm64: dts: meson-g12b: Fix the pwm regulator supply properties
arm64: dts: meson-g12a: Fix the pwm regulator supply properties
arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe
arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes
RDMA/bnxt_re: Fix query SRQ failure
ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY
arm64: dts: rockchip: Fix GPU register width for RK3328
ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc()
clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths
ARM: dts: BCM5301X: Fix memory nodes names
RDMA/rxe: Fix wrong port_cap_flags
iio: st_sensors: disable regulators after device unregistration
iio: st_sensors: Call st_sensors_power_enable() from bus drivers
of: unittest: fix EXPECT text for gpio hog errors
bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit.
bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off.
cgroup: Fix rootcg cpu.stat guest double counting
ibmvnic: Process crqs after enabling interrupts
ibmvnic: don't stop queue in xmit
udp6: allow SO_MARK ctrl msg to affect routing
selftests/bpf: Fix fclose/pclose mismatch in test_progs
crypto: pcrypt - Delay write to padata->info
net: phylink: avoid mvneta warning when setting pause parameters
net: amd-xgbe: Toggle PLL settings during rate change
selftests/bpf: Fix fd cleanup in sk_lookup test
selftests: bpf: Convert sk_lookup ctx access tests to PROG_TEST_RUN
drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits
wcn36xx: Fix discarded frames due to wrong sequence number
wcn36xx: add proper DMA memory barriers in rx path
libertas: Fix possible memory leak in probe and disconnect
libertas_tf: Fix possible memory leak in probe and disconnect
KVM: s390: Fix handle_sske page fault handling
samples/kretprobes: Fix return value if register_kretprobe() failed
spi: spi-rpc-if: Check return value of rpcif_sw_init()
tcp: don't free a FIN sk_buff in tcp_remove_empty_skb()
libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED()
tpm_tis_spi: Add missing SPI ID
tpm: fix Atmel TPM crash caused by too frequent queries
irq: mips: avoid nested irq_enter()
KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm
KVM: s390: pv: avoid double free of sida page
s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap()
libbpf: Fix BTF header parsing checks
libbpf: Fix overflow in BTF sanity checks
libbpf: Allow loading empty BTFs
libbpf: Fix BTF data layout checks and allow empty BTF
bpftool: Avoid leaking the JSON writer prepared for program metadata
KVM: selftests: Fix nested SVM tests when built with clang
KVM: selftests: Add operand to vmsave/vmload/vmrun in svm.c
smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi
drm/msm: Fix potential NULL dereference in DPU SSPP
x86/sev: Fix stack type check in vc_switch_off_ist()
clocksource/drivers/timer-ti-dm: Select TIMER_OF
PM: hibernate: fix sparse warnings
nvme-rdma: fix error code in nvme_rdma_setup_ctrl
phy: micrel: ksz8041nl: do not use power down mode
net: enetc: unmap DMA in enetc_send_cmd()
mwifiex: Send DELBA requests according to spec
rsi: stop thread firstly in rsi_91x_init() error handling
mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req()
mt76: mt7915: fix sta_rec_wtbl tag len
mt76: mt7915: fix possible infinite loop release semaphore
mt76: mt76x02: fix endianness warnings in mt76x02_mac.c
mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi
platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
mmc: mxs-mmc: disable regulator on error and in the remove function
media: ir_toy: assignment to be16 should be of correct type
net: stream: don't purge sk_error_queue in sk_stream_kill_queues()
drm/msm: uninitialized variable in msm_gem_import()
drm/msm: potential error pointer dereference in init()
tcp: switch orphan_count to bare per-cpu counters
kernel/sched: Fix sched_fork() access an invalid sched_task_group
ath10k: fix max antenna gain unit
hwmon: (pmbus/lm25066) Let compiler determine outer dimension of lm25066_coeff
hwmon: Fix possible memleak in __hwmon_device_register()
net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE
memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host()
memstick: avoid out-of-range warning
mmc: sdhci-omap: Fix context restore
mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured
gve: Recover from queue stall due to missed IRQ
b43: fix a lower bounds test
b43legacy: fix a lower bounds test
hwrng: mtk - Force runtime pm ops for sleep ops
crypto: qat - disregard spurious PFVF interrupts
crypto: qat - detect PFVF collision after ACK
media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable()
netfilter: nft_dynset: relax superfluous check on set updates
rcu: Always inline rcu_dynticks_task*_{enter,exit}()
EDAC/amd64: Handle three rank interleaving mode
PM: EM: Fix inefficient states detection
ath9k: Fix potential interrupt storm on queue reset
media: em28xx: Don't use ops->suspend if it is NULL
cpuidle: Fix kobject memory leaks in error paths
crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency
kprobes: Do not use local variable when creating debugfs file
media: cx23885: Fix snd_card_free call on null card pointer
media: tm6000: Avoid card name truncation
media: si470x: Avoid card name truncation
media: radio-wl1273: Avoid card name truncation
media: mtk-vpu: Fix a resource leak in the error handling path of 'mtk_vpu_probe()'
media: TDA1997x: handle short reads of hdmi info frame.
media: v4l2-ioctl: S_CTRL output the right value
media: dvb-usb: fix ununit-value in az6027_rc_query
media: cxd2880-spi: Fix a null pointer dereference on error handling path
media: em28xx: add missing em28xx_close_extension
drm/amdgpu: fix warning for overflow check
arm64: mm: update max_pfn after memory hotplug
drm/ttm: stop calling tt_swapin in vm_access
ath10k: sdio: Add missing BH locking around napi_schdule()
ath10k: Fix missing frame timestamp for beacon/probe-resp
ath11k: Fix memory leak in ath11k_qmi_driver_event_work
ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status
ath11k: Avoid race during regd updates
ath11k: fix some sleeping in atomic bugs
net: dsa: rtl8366rb: Fix off-by-one bug
rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies()
crypto: caam - disable pkc for non-E SoCs
Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync
wilc1000: fix possible memory leak in cfg_scan_result()
wcn36xx: Fix Antenna Diversity Switching
cgroup: Make rebind_subsystems() disable v2 controllers all at once
net: net_namespace: Fix undefined member in key_remove_domain()
lockdep: Let lock_is_held_type() detect recursive read as read
virtio-gpu: fix possible memory allocation failure
drm/v3d: fix wait for TMU write combiner flush
objtool: Fix static_call list generation
x86/xen: Mark cpu_bringup_and_idle() as dead_end_function
objtool: Add xen_start_kernel() to noreturn list
MIPS: lantiq: dma: fix burst length for DEU
rcu: Fix existing exp request check in sync_sched_exp_online_cleanup()
Bluetooth: fix init and cleanup of sco_conn.timeout_work
selftests/bpf: Fix strobemeta selftest regression
netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream state
parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling
parisc/unwind: fix unwinder when CONFIG_64BIT is enabled
erofs: don't trigger WARN() when decompression fails
task_stack: Fix end_of_stack() for architectures with upwards-growing stack
parisc: fix warning in flush_tlb_all
selftests/core: fix conflicting types compile error for close_range()
drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled
x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted
wcn36xx: Correct band/freq reporting on RX
spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe()
btrfs: do not take the uuid_mutex in btrfs_rm_device
btrfs: reflink: initialize return value to 0 in btrfs_extent_same()
ACPI: AC: Quirk GK45 to skip reading _PSR
net: annotate data-race in neigh_output()
vrf: run conntrack only in context of lower/physdev for locally generated packets
ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
gfs2: Fix glock_hash_walk bugs
gfs2: Cancel remote delete work asynchronously
gre/sit: Don't generate link-local addr if addr_gen_mode is IN6_ADDR_GEN_MODE_NONE
ARM: clang: Do not rely on lr register for stacktrace
smackfs: use __GFP_NOFAIL for smk_cipso_doi()
iwlwifi: mvm: disable RX-diversity in powersave
selftests/bpf: Fix perf_buffer test on system with offline cpus
selftests: kvm: fix mismatched fclose() after popen()
PM: hibernate: Get block device exclusively in swsusp_check()
nvme: drop scan_lock and always kick requeue list when removing namespaces
nvmet-tcp: fix use-after-free when a port is removed
nvmet-rdma: fix use-after-free when a port is removed
nvmet: fix use-after-free when a port is removed
media: allegro: ignore interrupt if mailbox is not initialized
block: remove inaccurate requeue check
mwl8k: Fix use-after-free in mwl8k_fw_state_machine()
mt76: mt7915: fix an off-by-one bound check
tracing/cfi: Fix cmp_entries_* functions signature mismatch
workqueue: make sysfs of unbound kworker cpumask more clever
lib/xz: Validate the value before assigning it to an enum variable
lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression
memstick: r592: Fix a UAF bug when removing the driver
md: update superblock after changing rdev flags in state_store
block: bump max plugged deferred size from 16 to 32
drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture()
leaking_addresses: Always print a trailing newline
net: phy: micrel: make *-skew-ps check more lenient
drm/amdkfd: fix resume error when iommu disabled in Picasso
ACPI: battery: Accept charges over the design capacity as full
iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value
mmc: moxart: Fix reference count leaks in moxart_probe
ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create()
tracefs: Have tracefs directories not set OTH permission bits by default
net-sysfs: try not to restart the syscall if it will fail eventually
media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte()
media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info
media: ipu3-imgu: imgu_fmt: Handle properly try
ACPICA: Avoid evaluating methods too early during system resume
fs/proc/uptime.c: Fix idle time reporting in /proc/uptime
ipmi: Disable some operations during a panic
media: rcar-csi2: Add checking to rcsi2_start_receiver()
brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet
rtw88: fix RX clock gate setting while fifo dump
ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
media: mceusb: return without resubmitting URB in case of -EPROTO error.
media: imx: set a media_device bus_info string
media: s5p-mfc: Add checking to s5p_mfc_probe().
media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe()
media: uvcvideo: Set unique vdev name based in type
media: uvcvideo: Return -EIO for control errors
media: uvcvideo: Set capability in s_param
media: stm32: Potential NULL pointer dereference in dcmi_irq_thread()
media: atomisp: Fix error handling in probe
media: netup_unidvb: handle interrupt properly according to the firmware
media: mt9p031: Fix corrupted frame after restarting stream
ath10k: high latency fixes for beacon buffer
ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets
ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED
ath11k: Avoid reg rules update during firmware recovery
drm/amdgpu: Fix MMIO access page fault
fscrypt: allow 256-bit master keys with AES-256-XTS
mwifiex: Properly initialize private structure on interface type changes
mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type
x86: Increase exception stack sizes
ath11k: Align bss_chan_info structure with firmware
smackfs: Fix use-after-free in netlbl_catmap_walk()
rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop
net: sched: update default qdisc visibility after Tx queue cnt changes
locking/lockdep: Avoid RCU-induced noinstr fail
MIPS: lantiq: dma: reset correct number of channel
MIPS: lantiq: dma: add small delay after reset
platform/x86: wmi: do not fail if disabling fails
rcutorture: Avoid problematic critical section nesting on PREEMPT_RT
drm/panel-orientation-quirks: add Valve Steam Deck
Bluetooth: fix use-after-free error in lock_sock_nested()
Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg()
drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6
drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1
drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2)
dma-buf: WARN on dmabuf release with pending attachments
power: supply: max17042_battery: Clear status bits in interrupt handler
USB: chipidea: fix interrupt deadlock
USB: iowarrior: fix control-message timeouts
most: fix control-message timeouts
serial: 8250: fix racy uartclk update
USB: serial: keyspan: fix memleak on probe errors
iio: ad5770r: make devicetree property reading consistent
iio: dac: ad5446: Fix ad5622_write() return value
coresight: cti: Correct the parameter for pm_runtime_put
pinctrl: core: fix possible memory leak in pinctrl_enable()
quota: correct error number in free_dqentry()
quota: check block number when reading the block in quota file
PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge
PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge
PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated bridge
PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG
PCI: aardvark: Fix return value of MSI domain .alloc() method
PCI: aardvark: Fix configuring Reference clock
PCI: aardvark: Fix reporting Data Link Layer Link Active
PCI: aardvark: Do not unmask unused interrupts
PCI: aardvark: Fix checking for link up via LTSSM state
PCI: aardvark: Do not clear status bits of masked interrupts
PCI: cadence: Add cdns_plat_pcie_probe() missing return
PCI: pci-bridge-emul: Fix emulation of W1C bits
ovl: fix use after free in struct ovl_aio_req
xen/balloon: add late_initcall_sync() for initial ballooning done
ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume
ALSA: mixer: oss: Fix racy access to slots
ifb: fix building without CONFIG_NET_CLS_ACT
serial: core: Fix initializing and restoring termios speed
ring-buffer: Protect ring_buffer_reset() from reentrancy
powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found
can: j1939: j1939_can_recv(): ignore messages with invalid source address
can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport
KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use
KVM: arm64: Extract ESR_ELx.EC only
power: supply: max17042_battery: use VFSOC for capacity when no rsns
power: supply: max17042_battery: Prevent int underflow in set_soc_threshold
mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines
soc: fsl: dpio: use the combined functions to protect critical zone
soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id
signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT
memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode
signal: Remove the bogus sigkill_pending in ptrace_stop
RDMA/qedr: Fix NULL deref for query_qp on the GSI QP
perf/x86/intel/uncore: Fix Intel ICX IIO event constraints
perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server
rsi: Fix module dev_oper_mode parameter description
rsi: fix rate mask set leading to P2P failure
rsi: fix key enabled check causing unwanted encryption for vap_id > 0
rsi: fix occasional initialisation failure with BT coex
wcn36xx: handle connection loss indication
libata: fix checking of DMA state
mwifiex: Try waking the firmware until we get an interrupt
mwifiex: Read a PCI register after writing the TX ring write pointer
PM: sleep: Do not let "syscore" devices runtime-suspend during system transitions
wcn36xx: Fix (QoS) null data frame bitrate/modulation
wcn36xx: Fix tx_status mechanism
wcn36xx: Fix HT40 capability for 2Ghz band
ifb: Depend on netfilter alternatively to tc
evm: mark evm_fixmode as __ro_after_init
rtl8187: fix control-message timeouts
PCI: Mark Atheros QCA6174 to avoid bus reset
ath10k: fix division by zero in send path
ath10k: fix control-message timeout
ath6kl: fix control-message timeout
ath6kl: fix division by zero in send path
mwifiex: fix division by zero in fw download path
EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell
regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
hwmon: (pmbus/lm25066) Add offset coefficients
selinux: fix race condition when computing ocontext SIDs
ia64: kprobes: Fix to pass correct trampoline address to the handler
KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup
btrfs: call btrfs_check_rw_degradable only if there is a missing device
btrfs: fix lost error handling when replaying directory deletes
btrfs: clear MISSING device status bit in btrfs_close_one_device
rds: stop using dmapool
net/smc: Correct spelling mistake to TCPF_SYN_RECV
net/smc: Fix smc_link->llc_testlink_time overflow
nfp: bpf: relax prog rejection for mtu check through max_pkt_offset
vmxnet3: do not stop tx queues after netif_device_detach()
r8169: Add device 10ec:8162 to driver r8169
nvmet-tcp: fix header digest verification
block: schedule queue restart after BLK_STS_ZONE_RESOURCE
drm: panel-orientation-quirks: Add quirk for GPD Win3
watchdog: Fix OMAP watchdog early handling
net: multicast: calculate csum of looped-back and forwarded packets
spi: spl022: fix Microwire full duplex mode
nvmet-tcp: fix a memory leak when releasing a queue
xen/netfront: stop tx queues during live migration
gpio: mlxbf2.c: Add check for bgpio_init failure
bpf: Prevent increasing bpf_jit_limit above max
bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT
fcnal-test: kill hanging ping/nettest binaries on cleanup
drm: panel-orientation-quirks: Add quirk for Aya Neo 2021
mmc: winbond: don't build on M68K
reset: socfpga: add empty driver allowing consumers to probe
ARM: dts: sun7i: A20-olinuxino-lime2: Fix ethernet phy-mode
hyperv/vmbus: include linux/bitops.h
sfc: Don't use netif_info before net_device setup
sfc: Export fibre-specific supported link modes
cavium: Fix return values of the probe function
mISDN: Fix return values of the probe function
scsi: qla2xxx: Fix unmap of already freed sgl
scsi: qla2xxx: Return -ENOMEM if kzalloc() fails
cavium: Return negative value when pci_alloc_irq_vectors() fails
ALSA: hda/realtek: Fixes HP Spectre x360 15-eb1xxx speakers
ASoC: soc-core: fix null-ptr-deref in snd_soc_del_component_unlocked()
x86/irq: Ensure PI wakeup handler is unregistered before module unload
x86/cpu: Fix migration safety with X86_BUG_NULL_SEL
x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c
fuse: fix page stealing
ext4: refresh the ext4_ext_path struct after dropping i_data_sem.
ext4: ensure enough credits in ext4_ext_shift_path_extents
ext4: fix lazy initialization next schedule time computation in more granular unit
ALSA: timer: Unconditionally unlink slave instances, too
ALSA: timer: Fix use-after-free problem
ALSA: synth: missing check for possible NULL after the call to kstrdup
ALSA: hda: Free card instance properly at probe errors
ALSA: usb-audio: Add registration quirk for JBL Quantum 400
ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk
ALSA: line6: fix control and interrupt message timeouts
ALSA: 6fire: fix control and bulk message timeouts
ALSA: ua101: fix division by zero at probe
ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED
ALSA: hda/realtek: Add quirk for ASUS UX550VE
ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N
ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ
ALSA: hda/realtek: Add quirk for Clevo PC70HS
ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED
ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14
media: v4l2-ioctl: Fix check_ext_ctrls
media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers
media: rkvdec: Support dynamic resolution changes
media: ite-cir: IR receiver stop working after receive overflow
media: rkvdec: Do not override sizeimage for output format
crypto: s5p-sss - Add error handling in s5p_aes_probe()
firmware/psci: fix application of sizeof to pointer
tpm: Check for integer overflow in tpm2_map_response_body()
parisc: Fix ptrace check on syscall return
parisc: Fix set_fixmap() on PA1.x CPUs
exfat: fix incorrect loading of i_blocks for large files
mmc: dw_mmc: Dont wait for DRTO on Write RSP error
mmc: mtk-sd: Add wait dma stop done flow
scsi: qla2xxx: Fix use after free in eh_abort path
scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file
scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd()
ocfs2: fix data corruption on truncate
libata: fix read log timeout value
Input: i8042 - Add quirk for Fujitsu Lifebook T725
Input: elantench - fix misreporting trackpoint coordinates
Input: iforce - fix control-message timeout
binder: use cred instead of task for getsecid
binder: use cred instead of task for selinux checks
binder: use euid from cred instead of using task
usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform
xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay
ANDROID: GKI: fix up abi break in ehci code
Linux 5.10.79
rsi: fix control-message timeout
media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init
staging: rtl8192u: fix control-message timeouts
staging: r8712u: fix control-message timeout
comedi: vmk80xx: fix bulk and interrupt message timeouts
comedi: vmk80xx: fix bulk-buffer overflow
comedi: vmk80xx: fix transfer-buffer overflows
comedi: ni_usb6501: fix NULL-deref in command paths
comedi: dt9812: fix DMA buffers on stack
isofs: Fix out of bound access for corrupted isofs image
staging: rtl8712: fix use-after-free in rtl8712_dl_fw
printk/console: Allow to disable console output by using console="" or console=null
binder: don't detect sender/target during buffer cleanup
usb-storage: Add compatibility quirk flags for iODD 2531/2541
usb: musb: Balance list entry in musb_gadget_queue
usb: gadget: Mark USB_FSL_QE broken on 64-bit
usb: ehci: handshake CMD_RUN instead of STS_HALT
Revert "x86/kvm: fix vcpu-id indexed array sizes"
KVM: x86: avoid warning with -Wbitwise-instead-of-logical
Linux 5.10.78
ALSA: usb-audio: Add Audient iD14 to mixer map quirk table
ALSA: usb-audio: Add Schiit Hel device to mixer map quirk table
Revert "wcn36xx: Disable bmps when encryption is disabled"
ARM: 9120/1: Revert "amba: make use of -1 IRQs warn"
Revert "drm/ttm: fix memleak in ttm_transfered_destroy"
mm: khugepaged: skip huge page collapse for special files
Revert "usb: core: hcd: Add support for deferring roothub registration"
Revert "xhci: Set HCD flag to defer primary roothub registration"
media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
net: ethernet: microchip: lan743x: Fix skb allocation failure
vrf: Revert "Reset skb conntrack connection..."
sfc: Fix reading non-legacy supported link modes
Revert "io_uring: reinforce cancel on flush during exit"
scsi: core: Put LLD module refcnt after SCSI device is released
ANDROID: GKI: fix up abi breakage from "cfg80211: fix management registrations locking"
Linux 5.10.77
perf script: Check session->header.env.arch before using it
riscv: Fix asan-stack clang build
riscv: fix misalgned trap vector base address
scsi: ufs: ufs-exynos: Correct timeout value setting registers
KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu
KVM: s390: clear kicked_mask before sleeping again
lan743x: fix endianness when accessing descriptors
sctp: add vtag check in sctp_sf_ootb
sctp: add vtag check in sctp_sf_do_8_5_1_E_sa
sctp: add vtag check in sctp_sf_violation
sctp: fix the processing for COOKIE_ECHO chunk
sctp: fix the processing for INIT_ACK chunk
sctp: use init_tag from inithdr for ABORT chunk
phy: phy_ethtool_ksettings_set: Lock the PHY while changing settings
phy: phy_start_aneg: Add an unlocked version
phy: phy_ethtool_ksettings_set: Move after phy_start_aneg
phy: phy_ethtool_ksettings_get: Lock the phy for consistency
net/tls: Fix flipped sign in async_wait.err assignment
net: nxp: lpc_eth.c: avoid hang when bringing interface down
net: ethernet: microchip: lan743x: Fix dma allocation failure by using dma_set_mask_and_coherent
net: ethernet: microchip: lan743x: Fix driver crash when lan743x_pm_resume fails
mlxsw: pci: Recycle received packet upon allocation failure
nios2: Make NIOS2_DTB_SOURCE_BOOL depend on !COMPILE_TEST
gpio: xgs-iproc: fix parsing of ngpios property
RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string
net: Prevent infinite while loop in skb_tx_hash()
cfg80211: correct bridge/4addr mode check
net-sysfs: initialize uid and gid before calling net_ns_get_ownership
net: batman-adv: fix error handling
regmap: Fix possible double-free in regcache_rbtree_exit()
reset: brcmstb-rescal: fix incorrect polarity of status bit
arm64: dts: allwinner: h5: NanoPI Neo 2: Fix ethernet node
RDMA/mlx5: Set user priority for DCT
octeontx2-af: Display all enabled PF VF rsrc_alloc entries.
nvme-tcp: fix possible req->offset corruption
nvme-tcp: fix data digest pointer calculation
nvmet-tcp: fix data digest pointer calculation
IB/hfi1: Fix abba locking issue with sc_disable()
IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields
bpf: Fix error usage of map_fd and fdget() in generic_map_update_batch()
bpf: Fix potential race in tail call compatibility check
tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict function
riscv, bpf: Fix potential NULL dereference
cgroup: Fix memory leak caused by missing cgroup_bpf_offline
drm/amdgpu: fix out of bounds write
drm/ttm: fix memleak in ttm_transfered_destroy
mm, thp: bail out early in collapse_file for writeback page
net: lan78xx: fix division by zero in send path
cfg80211: fix management registrations locking
cfg80211: scan: fix RCU in cfg80211_add_nontrans_list()
nvme-tcp: fix H2CData PDU send accounting (again)
ocfs2: fix race between searching chunks and release journal_head from buffer_head
mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard tuning circuit
mmc: sdhci: Map more voltage level to SDHCI_POWER_330
mmc: dw_mmc: exynos: fix the finding clock sample value
mmc: mediatek: Move cqhci init behind ungate clock
mmc: cqhci: clear HALT state after CQE enable
mmc: vub300: fix control-message timeouts
net/tls: Fix flipped sign in tls_err_abort() calls
Revert "net: mdiobus: Fix memory leak in __mdiobus_register"
nfc: port100: fix using -ERRNO as command type mask
tipc: fix size validations for the MSG_CRYPTO type
ata: sata_mv: Fix the error handling of mv_chip_id()
pinctrl: amd: disable and mask interrupts on probe
Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode"
usbnet: fix error return code in usbnet_probe()
usbnet: sanity check for maxpacket
ext4: fix possible UAF when remounting r/o a mmp-protected file system
arm64: Avoid premature usercopy failure
powerpc/bpf: Fix BPF_MOD when imm == 1
io_uring: don't take uring_lock during iowq cancel
ARM: 9141/1: only warn about XIP address when not compile testing
ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
ARM: 9138/1: fix link warning with XIP + frame-pointer
ARM: 9134/1: remove duplicate memcpy() definition
ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
ARM: 9132/1: Fix __get_user_check failure with ARM KASAN images
Linux 5.10.76
pinctrl: stm32: use valid pin identifier in stm32_pinctrl_resume()
ARM: 9122/1: select HAVE_FUTEX_CMPXCHG
selftests: bpf: fix backported ASSERT_FALSE
e1000e: Separate TGP board type from SPT
tracing: Have all levels of checks prevent recursion
net: mdiobus: Fix memory leak in __mdiobus_register
bpf, test, cgroup: Use sk_{alloc,free} for test cases
s390/pci: fix zpci_zdev_put() on reserve
can: isotp: isotp_sendmsg(): fix TX buffer concurrent access in isotp_sendmsg()
scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma()
net: hns3: fix for miscalculation of rx unused desc
sched/scs: Reset the shadow stack when idle_task_exit
scsi: qla2xxx: Fix a memory leak in an error path of qla2x00_process_els()
scsi: iscsi: Fix set_param() handling
Input: snvs_pwrkey - add clk handling
perf/x86/msr: Add Sapphire Rapids CPU support
libperf tests: Fix test_stat_cpu
ALSA: hda: avoid write to STATESTS if controller is in reset
platform/x86: intel_scu_ipc: Update timeout value in comment
isdn: mISDN: Fix sleeping function called from invalid context
ARM: dts: spear3xx: Fix gmac node
net: stmmac: add support for dwmac 3.40a
btrfs: deal with errors when checking if a dir entry exists during log replay
ALSA: hda: intel: Allow repeatedly probing on codec configuration errors
gcc-plugins/structleak: add makefile var for disabling structleak
net: hns3: fix the max tx size according to user manual
drm: mxsfb: Fix NULL pointer dereference crash on unload
net: bridge: mcast: use multicast_membership_interval for IGMPv3
selftests: netfilter: remove stray bash debug line
netfilter: Kconfig: use 'default y' instead of 'm' for bool config option
isdn: cpai: check ctr->cnr to avoid array index out of bound
nfc: nci: fix the UAF of rf_conn_info object
KVM: nVMX: promptly process interrupts delivered while in guest mode
mm, slub: fix incorrect memcg slab count for bulk free
mm, slub: fix potential memoryleak in kmem_cache_open()
mm, slub: fix mismatch between reconstructed freelist depth and cnt
powerpc/idle: Don't corrupt back chain when going idle
KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest
KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest()
powerpc64/idle: Fix SP offsets when saving GPRs
net: dsa: mt7530: correct ds->num_ports
audit: fix possible null-pointer dereference in audit_filter_rules
ASoC: DAPM: Fix missing kctl change notifications
ALSA: hda/realtek: Add quirk for Clevo PC50HS
ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset
vfs: check fd has read access in kernel_read_file_from_fd()
elfcore: correct reference to CONFIG_UML
userfaultfd: fix a race between writeprotect and exit_mmap()
ocfs2: mount fails with buffer overflow in strlen
ocfs2: fix data corruption after conversion from inline format
ceph: fix handling of "meta" errors
ceph: skip existing superblocks that are blocklisted or shut down when mounting
can: j1939: j1939_xtp_rx_rts_session_new(): abort TP less than 9 bytes
can: j1939: j1939_xtp_rx_dat_one(): cancel session if receive TP.DT with error length
can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv
can: j1939: j1939_tp_rxtimer(): fix errant alert in j1939_tp_rxtimer
can: isotp: isotp_sendmsg(): add result check for wait_event_interruptible()
can: isotp: isotp_sendmsg(): fix return error on FC timeout on TX path
can: peak_pci: peak_pci_remove(): fix UAF
can: peak_usb: pcan_usb_fd_decode_status(): fix back to ERROR_ACTIVE state notification
can: rcar_can: fix suspend/resume
net: enetc: fix ethtool counter name for PM0_TERR
drm/panel: ilitek-ili9881c: Fix sync for Feixin K101-IM2BYL02 panel
ice: Add missing E810 device ids
e1000e: Fix packet loss on Tiger Lake and later
net: stmmac: Fix E2E delay mechanism
net: hns3: disable sriov before unload hclge layer
net: hns3: fix vf reset workqueue cannot exit
net: hns3: schedule the polling again when allocation fails
net: hns3: add limit ets dwrr bandwidth cannot be 0
net: hns3: reset DWRR of unused tc to zero
powerpc/smp: do not decrement idle task preempt count in CPU offline
NIOS2: irqflags: rename a redefined register name
net: dsa: lantiq_gswip: fix register definition
ipv6: When forwarding count rx stats on the orig netdev
tcp: md5: Fix overlap between vrf and non-vrf keys
lan78xx: select CRC32
netfilter: ipvs: make global sysctl readonly in non-init netns
netfilter: ip6t_rt: fix rt0_hdr parsing in rt_mt6
ice: fix getting UDP tunnel entry
ASoC: wm8960: Fix clock configuration on slave mode
dma-debug: fix sg checks in debug_dma_map_sg()
netfilter: xt_IDLETIMER: fix panic that occurs when timer_type has garbage value
NFSD: Keep existing listeners on portlist error
xtensa: xtfpga: Try software restart before simulating CPU reset
xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF
drm/amdgpu/display: fix dependencies for DRM_AMD_DC_SI
xen/x86: prevent PVH type from getting clobbered
block: decode QUEUE_FLAG_HCTX_ACTIVE in debugfs output
ARM: dts: at91: sama5d2_som1_ek: disable ISC node by default
arm: dts: vexpress-v2p-ca9: Fix the SMB unit-address
io_uring: fix splice_fd_in checks backport typo
xhci: add quirk for host controllers that don't update endpoint DCS
parisc: math-emu: Fix fall-through warnings
Linux 5.10.75
net: dsa: mv88e6xxx: don't use PHY_DETECT on internal PHY's
ionic: don't remove netdev->dev_addr when syncing uc list
net: mscc: ocelot: warn when a PTP IRQ is raised for an unknown skb
nfp: flow_offload: move flow_indr_dev_register from app init to app start
r8152: select CRC32 and CRYPTO/CRYPTO_HASH/CRYPTO_SHA256
qed: Fix missing error code in qed_slowpath_start()
mqprio: Correct stats in mqprio_dump_class_stats().
platform/x86: intel_scu_ipc: Fix busy loop expiry time
acpi/arm64: fix next_platform_timer() section mismatch error
drm/msm/dsi: fix off by one in dsi_bus_clk_enable error handling
drm/msm/dsi: Fix an error code in msm_dsi_modeset_init()
drm/msm/a6xx: Track current ctx by seqno
drm/msm/mdp5: fix cursor-related warnings
drm/msm: Fix null pointer dereference on pointer edp
drm/edid: In connector_bad_edid() cap num_of_ext by num_blocks read
drm/panel: olimex-lcd-olinuxino: select CRC32
spi: bcm-qspi: clear MSPI spifie interrupt during probe
platform/mellanox: mlxreg-io: Fix read access of n-bytes size attributes
platform/mellanox: mlxreg-io: Fix argument base in kstrtou32() call
mlxsw: thermal: Fix out-of-bounds memory accesses
ata: ahci_platform: fix null-ptr-deref in ahci_platform_enable_regulators()
pata_legacy: fix a couple uninitialized variable bugs
NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
NFC: digital: fix possible memory leak in digital_tg_listen_mdaa()
nfc: fix error handling of nfc_proto_register()
vhost-vdpa: Fix the wrong input in config_cb
ethernet: s2io: fix setting mac address during resume
net: encx24j600: check error in devm_regmap_init_encx24j600
net: dsa: microchip: Added the condition for scheduling ksz_mib_read_work
net: stmmac: fix get_hw_feature() on old hardware
net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp
net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path
net: korina: select CRC32
net: arc: select CRC32
gpio: pca953x: Improve bias setting
sctp: account stream padding length for reconf chunk
nvme-pci: Fix abort command id
ARM: dts: bcm2711-rpi-4-b: Fix pcie0's unit address formatting
ARM: dts: bcm2711-rpi-4-b: fix sd_io_1v8_reg regulator states
ARM: dts: bcm2711: fix MDIO #address- and #size-cells
ARM: dts: bcm2711-rpi-4-b: Fix usb's unit address
tee: optee: Fix missing devices unregister during optee_remove
iio: dac: ti-dac5571: fix an error code in probe()
iio: ssp_sensors: fix error code in ssp_print_mcu_debug()
iio: ssp_sensors: add more range checking in ssp_parse_dataframe()
iio: adc: max1027: Fix the number of max1X31 channels
iio: light: opt3001: Fixed timeout error when 0 lux
iio: mtk-auxadc: fix case IIO_CHAN_INFO_PROCESSED
iio: adc: max1027: Fix wrong shift with 12-bit devices
iio: adc128s052: Fix the error handling path of 'adc128_probe()'
iio: adc: ad7793: Fix IRQ flag
iio: adc: ad7780: Fix IRQ flag
iio: adc: ad7192: Add IRQ flag
driver core: Reject pointless SYNC_STATE_ONLY device links
drivers: bus: simple-pm-bus: Add support for probing simple bus only devices
iio: adc: aspeed: set driver data when adc probe.
powerpc/xive: Discard disabled interrupts in get_irqchip_state()
x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically
nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
EDAC/armada-xp: Fix output of uncorrectable error counter
virtio: write back F_VERSION_1 before validate
misc: fastrpc: Add missing lock before accessing find_vma()
USB: serial: option: add prod. id for Quectel EG91
USB: serial: option: add Telit LE910Cx composition 0x1204
USB: serial: option: add Quectel EC200S-CN module support
USB: serial: qcserial: add EM9191 QDL support
Input: xpad - add support for another USB ID of Nacon GC-100
usb: musb: dsps: Fix the probe error path
efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock()
efi/cper: use stack buffer for error record decoding
cb710: avoid NULL pointer subtraction
xhci: Enable trust tx length quirk for Fresco FL11 USB controller
xhci: Fix command ring pointer corruption while aborting a command
xhci: guard accesses to ep_state in xhci_endpoint_reset()
USB: xhci: dbc: fix tty registration race
mei: me: add Ice Lake-N device id.
x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails
btrfs: fix abort logic in btrfs_replace_file_extents
btrfs: update refs for any root except tree log roots
btrfs: check for error when looking up inode during dir entry replay
btrfs: deal with errors when adding inode reference during log replay
btrfs: deal with errors when replaying dir entry during log replay
btrfs: unlock newly allocated extent buffer after error
drm/msm: Avoid potential overflow in timeout_to_jiffies()
arm64/hugetlb: fix CMA gigantic page order for non-4K PAGE_SIZE
csky: Fixup regs.sr broken in ptrace
csky: don't let sigreturn play with priveleged bits of status register
clk: socfpga: agilex: fix duplicate s2f_user0_clk
s390: fix strrchr() implementation
nds32/ftrace: Fix Error: invalid operands (*UND* and *UND* sections) for `^'
ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW
ALSA: hda/realtek: Fix for quirk to enable speaker output on the Lenovo 13s Gen2
ALSA: hda/realtek: Add quirk for TongFang PHxTxX1
ALSA: hda/realtek - ALC236 headset MIC recording issue
ALSA: hda/realtek: Add quirk for Clevo X170KM-G
ALSA: hda/realtek: Complete partial device name to avoid ambiguity
ALSA: hda - Enable headphone mic on Dell Latitude laptops with ALC3254
ALSA: hda/realtek: Enable 4-speaker output for Dell Precision 5560 laptop
ALSA: seq: Fix a potential UAF by wrong private_free call order
ALSA: pcm: Workaround for a wrong offset in SYNC_PTR compat ioctl
ALSA: usb-audio: Add quirk for VF0770
Linux 5.10.74
hwmon: (pmbus/ibm-cffps) max_power_out swap changes
sched: Always inline is_percpu_thread()
perf/core: fix userpage->time_enabled of inactive events
scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
scsi: ses: Fix unsigned comparison with less than zero
drm/amdgpu: fix gart.bo pin_count leak
net: sun: SUNVNET_COMMON should depend on INET
vboxfs: fix broken legacy mount signature checking
mac80211: check return value of rhashtable_init
net: prevent user from passing illegal stab size
hwmon: (ltc2947) Properly handle errors when looking for the external clock
m68k: Handle arrivals of multiple signals correctly
mac80211: Drop frames from invalid MAC address in ad-hoc mode
netfilter: nf_nat_masquerade: defer conntrack walk to work queue
netfilter: nf_nat_masquerade: make async masq_inet6_event handling generic
ASoC: SOF: loader: release_firmware() on load failure to avoid batching
HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs
netfilter: ip6_tables: zero-initialize fragment offset
HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS
ASoC: Intel: sof_sdw: tag SoundWire BEs as non-atomic
ext4: correct the error path of ext4_write_inline_data_end()
ext4: check and update i_disksize properly
Linux 5.10.73
x86/hpet: Use another crystalball to evaluate HPET usability
x86/entry: Clear X86_FEATURE_SMAP when CONFIG_X86_SMAP=n
x86/entry: Correct reference to intended CONFIG_64_BIT
x86/sev: Return an error on a returned non-zero SW_EXITINFO1[31:0]
x86/Kconfig: Correct reference to MWINCHIP3D
x86/platform/olpc: Correct ifdef symbol to intended CONFIG_OLPC_XO15_SCI
pseries/eeh: Fix the kdump kernel crash during eeh_pseries_init
powerpc/64s: fix program check interrupt emergency stack path
powerpc/bpf: Fix BPF_SUB when imm == 0x80000000
RISC-V: Include clone3() on rv32
bpf, s390: Fix potential memory leak about jit_data
riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for write killable
i2c: mediatek: Add OFFSET_EXT_CONF setting back
i2c: acpi: fix resource leak in reconfiguration device addition
powerpc/iommu: Report the correct most efficient DMA mask for PCI devices
net: prefer socket bound to interface when not in VRF
i40e: Fix freeing of uninitialized misc IRQ vector
i40e: fix endless loop under rtnl
gve: report 64bit tx_bytes counter from gve_handle_report_stats()
gve: fix gve_get_stats()
rtnetlink: fix if_nlmsg_stats_size() under estimation
gve: Avoid freeing NULL pointer
gve: Correct available tx qpl check
drm/nouveau/debugfs: fix file release memory leak
drm/nouveau/kms/nv50-: fix file release memory leak
drm/nouveau: avoid a use-after-free when BO init fails
video: fbdev: gbefb: Only instantiate device when built for IP32
drm/sun4i: dw-hdmi: Fix HDMI PHY clock setup
bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
perf jevents: Tidy error handling
netlink: annotate data races around nlk->bound
net: sfp: Fix typo in state machine debug string
net/sched: sch_taprio: properly cancel timer from taprio_destroy()
net: bridge: fix under estimation in br_get_linkxstats_size()
net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size()
ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
dt-bindings: drm/bridge: ti-sn65dsi86: Fix reg value
arm64: dts: ls1028a: add missing CAN nodes
ptp_pch: Load module automatically if ID matches
powerpc/fsl/dts: Fix phy-connection-type for fm1mac3
net_sched: fix NULL deref in fifo_set_limit()
phy: mdio: fix memory leak
net/mlx5: E-Switch, Fix double allocation of acl flow counter
net/mlx5e: IPSEC RX, enable checksum complete
bpf: Fix integer overflow in prealloc_elems_and_freelist()
soc: ti: omap-prm: Fix external abort for am335x pruss
bpf, arm: Fix register clobbering in div/mod implementation
iwlwifi: pcie: add configuration of a Wi-Fi adapter on Dell XPS 15
xtensa: call irqchip_init only when CONFIG_USE_OF is selected
xtensa: use CONFIG_USE_OF instead of CONFIG_OF
arm64: dts: qcom: pm8150: use qcom,pm8998-pon binding
ath5k: fix building with LEDS=m
PCI: hv: Fix sleep while in non-sleep context when removing child devices from the bus
ARM: dts: imx6qdl-pico: Fix Ethernet support
ARM: dts: imx: Fix USB host power regulator polarity on M53Menlo
ARM: dts: imx: Add missing pinctrl-names for panel on M53Menlo
soc: qcom: mdt_loader: Drop PT_LOAD check on hash segment
ARM: at91: pm: do not panic if ram controllers are not enabled
ARM: dts: qcom: apq8064: Use 27MHz PXO clock as DSI PLL reference
soc: qcom: socinfo: Fixed argument passed to platform_set_data()
bus: ti-sysc: Add break in switch statement in sysc_init_soc()
riscv: Flush current cpu icache before other cpus
ARM: dts: qcom: apq8064: use compatible which contains chipid
ARM: dts: imx6dl-yapp4: Fix lp5562 LED driver probe
ARM: dts: omap3430-sdp: Fix NAND device node
xen/balloon: fix cancelled balloon action
SUNRPC: fix sign error causing rpcsec_gss drops
nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero
nfsd: fix error handling of register_pernet_subsys() in init_nfsd()
ovl: fix IOCB_DIRECT if underlying fs doesn't support direct IO
ovl: fix missing negative dentry check in ovl_rename()
mmc: sdhci-of-at91: replace while loop with read_poll_timeout
mmc: sdhci-of-at91: wait for calibration done before proceed
mmc: meson-gx: do not use memcpy_to/fromio for dram-access-quirk
xen/privcmd: fix error handling in mmap-resource processing
drm/nouveau/kms/tu102-: delay enabling cursor until after assign_windows
usb: typec: tcpm: handle SRC_STARTUP state if cc changes
USB: cdc-acm: fix break reporting
USB: cdc-acm: fix racy tty buffer accesses
usb: chipidea: ci_hdrc_imx: Also search for 'phys' phandle
Partially revert "usb: Kconfig: using select for USB_COMMON dependency"
ANDROID: Different fix for KABI breakage in 5.10.71 in struct sock
ANDROID: ABI: update .xml file with new symbols to track
Linux 5.10.72
libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD.
perf/x86: Reset destroy callback on event init failure
KVM: x86: nSVM: restore int_vector in svm_clear_vintr
kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[]
KVM: do not shrink halt_poll_ns below grow_start
selftests: KVM: Align SMCCC call with the spec in steal_time
tools/vm/page-types: remove dependency on opt_file for idle page tracking
smb3: correct smb3 ACL security descriptor
irqchip/gic: Work around broken Renesas integration
scsi: ses: Retry failed Send/Receive Diagnostic commands
thermal/drivers/tsens: Fix wrong check for tzd in irq handlers
nvme-fc: avoid race between time out and tear down
nvme-fc: update hardware queues before using them
selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn
selftests: be sure to make khdr before other targets
habanalabs/gaudi: fix LBW RR configuration
usb: dwc2: check return value after calling platform_get_resource()
usb: testusb: Fix for showing the connection speed
scsi: sd: Free scsi_disk device via put_device()
ext2: fix sleeping in atomic bugs on error
sparc64: fix pci_iounmap() when CONFIG_PCI is not set
xen-netback: correct success/error reporting for the SKB-with-fraglist case
net: mdio: introduce a shutdown method to mdio device drivers
btrfs: fix mount failure due to past and transient device flush error
btrfs: replace BUG_ON() in btrfs_csum_one_bio() with proper error handling
nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN
platform/x86: touchscreen_dmi: Update info for the Chuwi Hi10 Plus (CWI527) tablet
platform/x86: touchscreen_dmi: Add info for the Chuwi HiBook (CWI514) tablet
spi: rockchip: handle zero length transfers without timing out
ANDROID: Fix up KABI breakage in 5.10.71 in struct sock
Linux 5.10.71
netfilter: nf_tables: Fix oversized kvmalloc() calls
netfilter: conntrack: serialize hash resizes and cleanups
KVM: x86: Handle SRCU initialization failure during page track init
HID: usbhid: free raw_report buffers in usbhid_stop
mm: don't allow oversized kvmalloc() calls
netfilter: ipset: Fix oversized kvmalloc() calls
HID: betop: fix slab-out-of-bounds Write in betop_probe
crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()
usb: hso: remove the bailout parameter
ASoC: dapm: use component prefix when checking widget names
net: udp: annotate data race around udp_sk(sk)->corkflag
HID: u2fzero: ignore incomplete packets without data
ext4: fix potential infinite loop in ext4_dx_readdir()
ext4: add error checking to ext4_ext_replay_set_iblocks()
ext4: fix reserved space counter leakage
ext4: limit the number of blocks in one ADD_RANGE TLV
ext4: fix loff_t overflow in ext4_max_bitmap_size()
ipack: ipoctal: fix module reference leak
ipack: ipoctal: fix missing allocation-failure check
ipack: ipoctal: fix tty-registration error handling
ipack: ipoctal: fix tty registration race
ipack: ipoctal: fix stack information leak
debugfs: debugfs_create_file_size(): use IS_ERR to check for error
elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
nvme: add command id quirk for apple controllers
hwmon: (pmbus/mp2975) Add missed POUT attribute for page 1 mp2975 controller
perf/x86/intel: Update event constraints for ICX
af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
net: sched: flower: protect fl_walk() with rcu
net: phy: bcm7xxx: Fixed indirect MMD operations
net: hns3: fix always enable rx vlan filter problem after selftest
net: hns3: reconstruct function hns3_self_test
net: hns3: fix prototype warning
net: hns3: fix show wrong state when add existing uc mac address
net: hns3: fix mixed flag HCLGE_FLAG_MQPRIO_ENABLE and HCLGE_FLAG_DCB_ENABLE
net: hns3: keep MAC pause mode when multiple TCs are enabled
net: hns3: do not allow call hns3_nic_net_open repeatedly
ixgbe: Fix NULL pointer dereference in ixgbe_xdp_setup
scsi: csiostor: Add module softdep on cxgb4
Revert "block, bfq: honor already-setup queue merges"
net: ks8851: fix link error
selftests, bpf: test_lwt_ip_encap: Really disable rp_filter
selftests, bpf: Fix makefile dependencies on libbpf
bpf: Exempt CAP_BPF from checks against bpf_jit_limit
RDMA/hns: Fix inaccurate prints
e100: fix buffer overrun in e100_get_regs
e100: fix length calculation in e100_get_regs_len
dsa: mv88e6xxx: Include tagger overhead when setting MTU for DSA and CPU ports
dsa: mv88e6xxx: Fix MTU definition
dsa: mv88e6xxx: 6161: Use chip wide MAX MTU
drm/i915/request: fix early tracepoints
smsc95xx: fix stalled rx after link change
net: ipv4: Fix rtnexthop len when RTA_FLOW is present
net: enetc: fix the incorrect clearing of IF_MODE bits
hwmon: (tmp421) fix rounding for negative values
hwmon: (tmp421) report /PVLD condition as fault
mptcp: don't return sockets in foreign netns
sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb
mac80211-hwsim: fix late beacon hrtimer handling
mac80211: mesh: fix potentially unaligned access
mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap
mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug
hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs
bpf, mips: Validate conditional branch offsets
RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure
IB/cma: Do not send IGMP leaves for sendonly Multicast groups
bpf: Handle return value of BPF_PROG_TYPE_STRUCT_OPS prog
ipvs: check that ip_vs_conn_tab_bits is between 8 and 20
drm/amdgpu: correct initial cp_hqd_quantum for gfx9
drm/amd/display: Pass PCI deviceid into DC
RDMA/cma: Do not change route.addr.src_addr.ss_family
media: ir_toy: prevent device from hanging during transmit
KVM: rseq: Update rseq when processing NOTIFY_RESUME on xfer to KVM guest
KVM: nVMX: Filter out all unsupported controls when eVMCS was activated
KVM: x86: nSVM: don't copy virt_ext from vmcb12
KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect()
x86/kvmclock: Move this_cpu_pvti into kvmclock.h
mac80211: fix use-after-free in CCMP/GCMP RX
scsi: ufs: Fix illegal offset in UPIU event trace
gpio: pca953x: do not ignore i2c errors
hwmon: (w83791d) Fix NULL pointer dereference by removing unnecessary structure field
hwmon: (w83792d) Fix NULL pointer dereference by removing unnecessary structure field
hwmon: (w83793) Fix NULL pointer dereference by removing unnecessary structure field
hwmon: (tmp421) handle I2C errors
fs-verity: fix signed integer overflow with i_size near S64_MAX
ACPI: NFIT: Use fallback node id when numa info in NFIT table is incorrect
ALSA: hda/realtek: Quirks to enable speaker output for Lenovo Legion 7i 15IMHG05, Yoga 7i 14ITL5/15ITL5, and 13s Gen2 laptops.
usb: cdns3: fix race condition before setting doorbell
cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory
scsi: qla2xxx: Changes to support kdump kernel for NVMe BFS
cpufreq: schedutil: Use kobject release() method to free sugov_tunables
tty: Fix out-of-bound vmalloc access in imageblit
ANDROID: GKI: update .xml file with new symbols to track
Revert "treewide: Change list_sort to use const pointers"
Revert "crypto: public_key: fix overflow during implicit conversion"
Revert "drm/vmwgfx: fix potential UAF in vmwgfx_surface.c"
Revert "drm: serialize drm_file.master with a new spinlock"
Revert "drm: protect drm_master pointers in drm_lease.c"
Linux 5.10.70
qnx4: work around gcc false positive warning bug
xen/balloon: fix balloon kthread freezing
USB: serial: cp210x: fix dropped characters with CP2102
thermal/drivers/int340x: Do not set a wrong tcc offset on resume
EDAC/dmc520: Assign the proper type to dimm->edac_mode
EDAC/synopsys: Fix wrong value type assignment for edac_mode
spi: Fix tegra20 build with CONFIG_PM=n
net: 6pack: Fix tx timeout and slot time
alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
arm64: Mark __stack_chk_guard as __ro_after_init
parisc: Use absolute_pointer() to define PAGE0
qnx4: avoid stringop-overread errors
sparc: avoid stringop-overread errors
net: i825xx: Use absolute_pointer for memcpy from fixed memory location
compiler.h: Introduce absolute_pointer macro
blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd
block: flush the integrity workqueue in blk_integrity_unregister
block: check if a profile is actually registered in blk_integrity_unregister
amd/display: downgrade validation failure log level
sparc32: page align size in arch_dma_alloc
nvme-rdma: destroy cm id before destroy qp to avoid use after free
nvme-multipath: fix ANA state updates when a namespace is not present
xen/balloon: use a kernel thread instead a workqueue
bpf: Add oversize check before call kvcalloc()
cpufreq: intel_pstate: Override parameters if HWP forced by BIOS
ipv6: delay fib6_sernum increase in fib6_add
m68k: Double cast io functions to unsigned long
blk-mq: avoid to iterate over stale request
net: stmmac: allow CSR clock of 300MHz
net: macb: fix use after free on rmmod
net: phylink: Update SFP selected interface on advertising changes
blktrace: Fix uaf in blk_trace access after removing by sysfs
io_uring: put provided buffer meta data under memcg accounting
x86/asm: Fix SETZ size enqcmds() build failure
x86/asm: Add a missing __iomem annotation in enqcmds()
md: fix a lock order reversal in md_alloc
irqchip/gic-v3-its: Fix potential VPE leak on error
irqchip/goldfish-pic: Select GENERIC_IRQ_CHIP to fix build
scsi: lpfc: Use correct scnprintf() limit
scsi: qla2xxx: Restore initiator in dual mode
cifs: fix a sign extension bug
thermal/core: Potential buffer overflow in thermal_build_list_of_policies()
nvme: keep ctrl->namespaces ordered
treewide: Change list_sort to use const pointers
nvme-tcp: fix incorrect h2cdata pdu offset accounting
fpga: machxo2-spi: Fix missing error code in machxo2_write_complete()
fpga: machxo2-spi: Return an error on failure
tty: synclink_gt: rename a conflicting function name
tty: synclink_gt, drop unneeded forward declarations
scsi: target: Fix the pgr/alua_support_store functions
scsi: iscsi: Adjust iface sysfs attr detection
atlantic: Fix issue in the pm resume flow.
net/mlx4_en: Don't allow aRFS for encapsulated packets
qed: rdma - don't wait for resources under hw error recovery flow
gpio: uniphier: Fix void functions to remove return value
s390/qeth: fix NULL deref in qeth_clear_working_pool_list()
kselftest/arm64: signal: Skip tests if required features are missing
kselftest/arm64: signal: Add SVE to the set of features we can check for
net: dsa: realtek: register the MDIO bus under devres
net: dsa: don't allocate the slave_mii_bus using devres
net/smc: fix 'workqueue leaked lock' in smc_conn_abort_work
net/smc: add missing error check in smc_clc_prfx_set()
net: hns3: check queue id range before using
net: hns3: fix change RSS 'hfunc' ineffective issue
bnxt_en: Fix TX timeout when TX ring size is set to the smallest
enetc: Fix uninitialized struct dim_sample field usage
enetc: Fix illegal access when reading affinity_hint
platform/x86/intel: punit_ipc: Drop wrong use of ACPI_PTR()
afs: Fix updating of i_blocks on file/dir extension
afs: Fix incorrect triggering of sillyrename on 3rd-party invalidation
comedi: Fix memory leak in compat_insnlist()
net: hso: fix muxed tty registration
drm/amd/pm: Update intermediate power state for SI
scsi: sd_zbc: Ensure buffer size is aligned to SECTOR_SIZE
serial: mvebu-uart: fix driver's tx_empty callback
serial: 8250: 8250_omap: Fix RX_LVL register offset
xhci: Set HCD flag to defer primary roothub registration
btrfs: prevent __btrfs_dump_space_info() to underflow its free space
erofs: fix up erofs_lookup tracepoint
mcb: fix error handling in mcb_alloc_bus()
USB: serial: option: add device id for Foxconn T99W265
USB: serial: option: remove duplicate USB device ID
USB: serial: option: add Telit LN920 compositions
USB: serial: mos7840: remove duplicated 0xac24 device ID
usb: core: hcd: Add support for deferring roothub registration
usb: dwc3: core: balance phy init and exit
Re-enable UAS for LaCie Rugged USB3-FW with fk quirk
staging: greybus: uart: fix tty use after free
binder: make sure fd closes complete
Revert "USB: bcma: Add a check for devm_gpiod_get"
USB: cdc-acm: fix minor-number release
USB: serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter
usb-storage: Add quirk for ScanLogic SL11R-IDE older than 2.6c
xen/x86: fix PV trap handling on secondary processors
cifs: fix incorrect check for null pointer in header_assemble
usb: musb: tusb6010: uninitialized data in tusb_fifo_write_unaligned()
usb: dwc2: gadget: Fix ISOC transfer complete handling for DDMA
usb: dwc2: gadget: Fix ISOC flow for BDMA and Slave
usb: gadget: r8a66597: fix a loop in set_feature()
mm: fix uninitialized use in overcommit_policy_handler
ocfs2: drop acl cache for directories too
PCI: aardvark: Increase polling delay to 1.5s while waiting for PIO response
ANDROID: GKI: update the .xml file after modifying the ANDROID_KABI_USE() macro
ANDROID: GKI: rework the ANDROID_KABI_USE() macro to not use __UNIQUE()
ANDROID: GKI: update .xml file to handle previous issues
Linux 5.10.69
drm/nouveau/nvkm: Replace -ENOSYS with -ENODEV
sched/idle: Make the idle timer expire in hard interrupt context
rtc: rx8010: select REGMAP_I2C
blk-mq: allow 4x BLK_MAX_REQUEST_COUNT at blk_plug for multiple_queues
blk-throttle: fix UAF by deleteing timer in blk_throtl_exit()
pwm: stm32-lp: Don't modify HW state in .remove() callback
pwm: rockchip: Don't modify HW state in .remove() callback
pwm: img: Don't modify HW state in .remove() callback
habanalabs: add validity check for event ID received from F/W
nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
nilfs2: fix NULL pointer in nilfs_##name##_attr_release
nilfs2: fix memory leak in nilfs_sysfs_create_device_group
btrfs: fix lockdep warning while mounting sprout fs
btrfs: update the bdev time directly when closing
ceph: lockdep annotations for try_nonblocking_invalidate
ceph: remove the capsnaps when removing caps
ceph: request Fw caps before updating the mtime in ceph_write_iter
dmaengine: xilinx_dma: Set DMA mask for coherent APIs
dmaengine: ioat: depends on !UML
dmaengine: sprd: Add missing MODULE_DEVICE_TABLE
dmaengine: idxd: depends on !UML
iommu/amd: Relocate GAMSup check to early_enable_iommus
parisc: Move pci_dev_is_behind_card_dino to where it is used
dma-buf: DMABUF_MOVE_NOTIFY should depend on DMA_SHARED_BUFFER
drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION()
drm/amdgpu: Disable PCIE_DPM on Intel RKL Platform
thermal/core: Fix thermal_cooling_device_register() prototype
tools/bootconfig: Fix tracing_on option checking in ftrace2bconf.sh
Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
ceph: cancel delayed work instead of flushing on mdsc teardown
ceph: allow ceph_put_mds_session to take NULL or ERR_PTR
platform/chrome: cros_ec_trace: Fix format warnings
platform/chrome: sensorhub: Add trace events for sample
dmaengine: idxd: fix wq slot allocation index check
pwm: mxs: Don't modify HW state in .probe() after the PWM chip was registered
pwm: lpc32xx: Don't modify HW state in .probe() after the PWM chip was registered
PM: sleep: core: Avoid setting power.must_resume to false
profiling: fix shift-out-of-bounds bugs
nilfs2: use refcount_dec_and_lock() to fix potential UAF
prctl: allow to setup brk for et_dyn executables
9p/trans_virtio: Remove sysfs file on probe failure
thermal/drivers/exynos: Fix an error code in exynos_tmu_probe()
perf tools: Allow build-id with trailing zeros
tools lib: Adopt memchr_inv() from kernel
perf test: Fix bpf test sample mismatch reporting
dmaengine: acpi: Avoid comparison GSI with Linux vIRQ
um: virtio_uml: fix memory leak on init failures
coredump: fix memleak in dump_vma_snapshot()
staging: rtl8192u: Fix bitwise vs logical operator in TranslateRxSignalStuff819xUsb()
sctp: add param size validation for SCTP_PARAM_SET_PRIMARY
sctp: validate chunk size in __rcv_asconf_lookup
Revert "net/mlx5: Register to devlink ingress VLAN filter trap"
ARM: 9098/1: ftrace: MODULE_PLT: Fix build problem without DYNAMIC_FTRACE
ARM: 9079/1: ftrace: Add MODULE_PLTS support
ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link()
ARM: 9077/1: PLT: Move struct plt_entries definition to header
ARM: Qualify enabling of swiotlb_init()
s390/pci_mmio: fully validate the VMA before calling follow_pte()
console: consume APC, DM, DCS
PCI: aardvark: Fix reporting CRS value
PCI: pci-bridge-emul: Add PCIe Root Capabilities Register
ANDROID: GKI: Update symbol list for new modules
Linux 5.10.68
net: dsa: bcm_sf2: Fix array overrun in bcm_sf2_num_active_ports()
bnxt_en: Fix error recovery regression
x86/mce: Avoid infinite loop for copy from user recovery
net: renesas: sh_eth: Fix freeing wrong tx descriptor
mfd: lpc_sch: Rename GPIOBASE to prevent build error
mfd: lpc_sch: Partially revert "Add support for Intel Quark X1000"
bnxt_en: Fix possible unintended driver initiated error recovery
bnxt_en: Improve logging of error recovery settings information.
bnxt_en: Convert to use netif_level() helpers.
bnxt_en: Consolidate firmware reset event logging.
bnxt_en: log firmware debug notifications
bnxt_en: Fix asic.rev in devlink dev info command
bnxt_en: fix stored FW_PSID version masks
net: dsa: b53: Fix IMP port setup on BCM5301x
ip_gre: validate csum_start only on pull
qlcnic: Remove redundant unlock in qlcnic_pinit_from_rom
fq_codel: reject silly quantum parameters
netfilter: socket: icmp6: fix use-after-scope
net: dsa: b53: Set correct number of ports in the DSA struct
net: dsa: b53: Fix calculating number of switch ports
net: hso: add failure handler for add_net_device
selftests: mptcp: clean tmp files in simult_flows
net: dsa: tag_rtl4_a: Fix egress tags
gpio: mpc8xxx: Use 'devm_gpiochip_add_data()' to simplify the code and avoid a leak
gpio: mpc8xxx: Fix a resources leak in the error handling path of 'mpc8xxx_probe()'
perf bench inject-buildid: Handle writen() errors
perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}
ARC: export clear_user_page() for modules
mtd: rawnand: cafe: Fix a resource leak in the error handling path of 'cafe_nand_probe()'
PCI: Sync __pci_register_driver() stub for CONFIG_PCI=n
KVM: arm64: Handle PSCI resets before userspace touches vCPU state
KVM: arm64: Fix read-side race on updates to vcpu reset state
mtd: mtdconcat: Check _read, _write callbacks existence before assignment
mtd: mtdconcat: Judge callback existence based on the master
tracing/boot: Fix a hist trigger dependency for boot time tracing
mfd: tqmx86: Clear GPIO IRQ resource when no IRQ is set
PCI: Fix pci_dev_str_match_path() alloc while atomic bug
KVM: arm64: Restrict IPA size to maximum 48 bits on 4K and 16K page size
netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex
netfilter: Fix fall-through warnings for Clang
PCI: iproc: Fix BCMA probe resource handling
PCI: of: Don't fail devm_pci_alloc_host_bridge() on missing 'ranges'
backlight: ktd253: Stabilize backlight
mfd: axp20x: Update AXP288 volatile ranges
s390/bpf: Fix branch shortening during codegen pass
s390/bpf: Fix 64-bit subtraction of the -0x80000000 constant
s390/bpf: Fix optimizing out zero-extensions
NTB: perf: Fix an error code in perf_setup_inbuf()
NTB: Fix an error code in ntb_msit_probe()
ethtool: Fix an error code in cxgb2.c
PCI: ibmphp: Fix double unmap of io_mem
block, bfq: honor already-setup queue merges
net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920
Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6
octeontx2-af: Add additional register check to rvu_poll_reg()
watchdog: Start watchdog in watchdog_set_last_hw_keepalive only if appropriate
PCI: Add ACS quirks for Cavium multi-function devices
PCI: j721e: Add PCIe support for AM64
PCI: j721e: Add PCIe support for J7200
PCI: cadence: Add quirk flag to set minimum delay in LTSSM Detect.Quiet state
PCI: cadence: Use bitfield for *quirk_retrain_flag* instead of bool
tracing/probes: Reject events which have the same name of existing one
PCI: rcar: Fix runtime PM imbalance in rcar_pcie_ep_probe()
mfd: Don't use irq_create_mapping() to resolve a mapping
PCI: tegra: Fix OF node reference leak
PCI: tegra194: Fix MSI-X programming
PCI: tegra194: Fix handling BME_CHGED event
fuse: fix use after free in fuse_read_interrupt()
PCI: Add ACS quirks for NXP LX2xx0 and LX2xx2 platforms
mfd: db8500-prcmu: Adjust map to reality
dt-bindings: mtd: gpmc: Fix the ECC bytes vs. OOB bytes equation
mm/memory_hotplug: use "unsigned long" for PFN in zone_for_pfn_range()
net: hns3: fix the timing issue of VF clearing interrupt sources
net: hns3: disable mac in flr process
net: hns3: change affinity_mask to numa node range
net: hns3: pad the short tunnel frame before sending to hardware
bnxt_en: make bnxt_free_skbs() safe to call after bnxt_free_mem()
KVM: PPC: Book3S HV: Tolerate treclaim. in fake-suspend mode changing registers
ibmvnic: check failover_pending in login response
dt-bindings: arm: Fix Toradex compatible typo
udp_tunnel: Fix udp_tunnel_nic work-queue type
qed: Handle management FW error
selftest: net: fix typo in altname test
tcp: fix tp->undo_retrans accounting in tcp_sacktag_one()
x86/uaccess: Fix 32-bit __get_user_asm_u64() when CC_HAS_ASM_GOTO_OUTPUT=y
net: dsa: destroy the phylink instance on any error in dsa_slave_phy_setup
net/af_unix: fix a data-race in unix_dgram_poll
vhost_net: fix OoB on sendmsg() failure.
gen_compile_commands: fix missing 'sys' package
net: ipa: initialize all filter table slots
events: Reuse value read using READ_ONCE instead of re-reading it
nvme-tcp: fix io_work priority inversion
net/mlx5: Fix potential sleeping in atomic context
net/mlx5: FWTrace, cancel work on alloc pd error flow
perf machine: Initialize srcline string member in add_location struct
drm/rockchip: cdn-dp-core: Make cdn_dp_core_resume __maybe_unused
tipc: increase timeout in tipc_sk_enqueue()
r6040: Restore MDIO clock frequency after MAC reset
net/l2tp: Fix reference count leak in l2tp_udp_recv_core
dccp: don't duplicate ccid when cloning dccp sock
ptp: dp83640: don't define PAGE0
net-caif: avoid user-triggerable WARN_ON(1)
net/{mlx5|nfp|bnxt}: Remove unnecessary RTNL lock assert
ethtool: Fix rxnfc copy to user buffer overflow
tipc: fix an use-after-free issue in tipc_recvmsg
x86/mm: Fix kern_addr_valid() to cope with existing but not present entries
x86/pat: Pass valid address to sanitize_phys()
s390/sclp: fix Secure-IPL facility detection
drm/etnaviv: add missing MMU context put when reaping MMU mapping
drm/etnaviv: reference MMU context when setting up hardware state
drm/etnaviv: fix MMU context leak on GPU reset
drm/etnaviv: exec and MMU state is lost when resetting the GPU
drm/etnaviv: keep MMU context across runtime suspend/resume
drm/etnaviv: stop abusing mmu_context as FE running marker
drm/etnaviv: put submit prev MMU context when it exists
drm/etnaviv: return context from etnaviv_iommu_context_get
drm/amd/amdgpu: Increase HWIP_MAX_INSTANCE to 10
PCI: Add AMD GPU multi-function power dependencies
PM: base: power: don't try to use non-existing RTC for storing data
arm64/sve: Use correct size when reinitialising SVE state
bnx2x: Fix enabling network interfaces without VFs
xen: reset legacy rtc flag for PV domU
io_uring: ensure symmetry in handling iter types in loop_rw_iter()
btrfs: fix upper limit for max_inline for page size 64K
drm/bridge: lt9611: Fix handling of 4k panels
Linux 5.10.67
fanotify: limit number of event merge attempts
drm/panfrost: Clamp lock region to Bifrost minimum
drm/panfrost: Use u64 for size in lock_region
drm/panfrost: Simplify lock_region calculation
drm/amd/display: Update bounding box states (v2)
drm/amd/display: Update number of DCN3 clock states
drm/amdgpu: Fix BUG_ON assert
drm/panfrost: Make sure MMU context lifetime is not bound to panfrost_priv
drm/dp_mst: Fix return code on sideband message failure
drm/msi/mdp4: populate priv->kms in mdp4_kms_init
drm/mgag200: Select clock in PLL update functions
net: dsa: lantiq_gswip: fix maximum frame length
lib/test_stackinit: Fix static initializer test
platform/chrome: cros_ec_proto: Send command again when timeout occurs
libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind
memcg: enable accounting for pids in nested pid namespaces
mm,vmscan: fix divide by zero in get_scan_count
mm/hugetlb: initialize hugetlb_usage in mm_init
mm/hmm: bypass devmap pte when all pfn requested flags are fulfilled
hugetlb: fix hugetlb cgroup refcounting during vma split
s390/pv: fix the forcing of the swiotlb
cpufreq: powernv: Fix init_chip_info initialization in numa=off
scsi: qla2xxx: Sync queue idx with queue_pair_map idx
scsi: qla2xxx: Changes to support kdump kernel
scsi: BusLogic: Fix missing pr_cont() use
ovl: fix BUG_ON() in may_delete() when called from ovl_cleanup()
parisc: fix crash with signals and alloca
io_uring: remove duplicated io_size from rw
fs/io_uring Don't use the return value from import_iovec().
net: hns3: clean up a type mismatch warning
net: w5100: check return value after calling platform_get_resource()
fix array-index-out-of-bounds in taprio_change
net: fix NULL pointer reference in cipso_v4_doi_free
ath9k: fix sleeping in atomic context
ath9k: fix OOB read ar9300_eeprom_restore_internal
wcn36xx: Fix missing frame timestamp for beacon/probe-resp
selftests/bpf: Fix potential unreleased lock
parport: remove non-zero check on count
net/mlx5: DR, Enable QP retransmission
net/mlx5: DR, fix a potential use-after-free bug
iwlwifi: mvm: Fix scan channel flags settings
iwlwifi: fw: correctly limit to monitor dump
iwlwifi: mvm: fix access to BSS elements
iwlwifi: mvm: avoid static queue number aliasing
iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed
iwlwifi: pcie: free RBs during configure
nfsd: fix crash on LOCKT on reexported NFSv3
drm/amdkfd: Account for SH/SE count when setting up cu masks.
ASoC: rockchip: i2s: Fixup config for DAIFMT_DSP_A/B
ASoC: rockchip: i2s: Fix regmap_ops hang
usbip:vhci_hcd USB port can get stuck in the disabled state
usbip: give back URBs for unsent unlink requests during cleanup
usb: musb: musb_dsps: request_irq() after initializing musb
Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set"
cifs: fix wrong release in sess_alloc_buffer() failed path
mmc: core: Return correct emmc response in case of ioctl error
selftests/bpf: Enlarge select() timeout for test_maps
mmc: rtsx_pci: Fix long reads when clock is prescaled
mmc: sdhci-of-arasan: Check return value of non-void funtions
mmc: sdhci-of-arasan: Modified SD default speed to 19MHz for ZynqMP
of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS
ASoC: Intel: Skylake: Fix passing loadable flag for module
ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER
soundwire: intel: fix potential race condition during power down
btrfs: tree-log: check btrfs_lookup_data_extent return value
m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch
octeontx2-pf: Fix NIX1_RX interface backpressure
rtw88: wow: fix size access error of probe request
rtw88: wow: build wow function only if CONFIG_PM is on
rtw88: use read_poll_timeout instead of fixed sleep
rtl8xxxu: Fix the handling of TX A-MPDU aggregation
drm/exynos: Always initialize mapping in exynos_drm_register_dma()
lockd: lockd server-side shouldn't set fl_ops
usb: chipidea: host: fix port index underflow and UBSAN complains
gfs2: Don't call dlm after protocol is unmounted
kselftest/arm64: pac: Fix skipping of tests on systems without PAC
kselftest/arm64: mte: Fix misleading output when skipping tests
net: Fix offloading indirect devices dependency on qdisc order creation
staging: rts5208: Fix get_ms_information() heap buffer size
hwmon: (pmbus/ibm-cffps) Fix write bits for LED control
selftests/bpf: Fix flaky send_signal test
rpc: fix gss_svc_init cleanup on failure
tcp: enable data-less, empty-cookie SYN with TFO_SERVER_COOKIE_NOT_REQD
iomap: pass writeback errors to the mapping
serial: sh-sci: fix break handling for sysrq
opp: Don't print an error if required-opps is missing
Bluetooth: Fix handling of LE Enhanced Connection Complete
nvme: code command_id with a genctr for use-after-free validation
nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data
arm64: dts: ls1046a: fix eeprom entries
arm64: tegra: Fix compatible string for Tegra132 CPUs
ARM: tegra: tamonten: Fix UART pad setting
ARM: tegra: acer-a500: Remove bogus USB VBUS regulators
mac80211: Fix monitor MTU limit so that A-MSDUs get through
drm/display: fix possible null-pointer dereference in dcn10_set_clock()
gpu: drm: amd: amdgpu: amdgpu_i2c: fix possible uninitialized-variable access in amdgpu_i2c_router_select_ddc_port()
net/mlx5: Fix variable type to match 64bit
drm/msm/dp: return correct edid checksum after corrupted edid checksum read
Bluetooth: avoid circular locks in sco_sock_connect
Bluetooth: schedule SCO timeouts with delayed_work
drm/vmwgfx: fix potential UAF in vmwgfx_surface.c
selftests/bpf: Fix xdp_tx.c prog section name
drm/amd/display: fix incorrect CM/TF programming sequence in dwb
drm/amd/display: fix missing writeback disablement if plane is removed
thunderbolt: Fix port linking by checking all adapters
drm: xlnx: zynqmp: release reset to DP controller before accessing DP registers
drm: xlnx: zynqmp_dpsub: Call pm_runtime_get_sync before setting pixel clock
drm/msm/dsi: Fix DSI and DSI PHY regulator config from SDM660
drm/msm: mdp4: drop vblank get/put from prepare/complete_commit
net: ethernet: stmmac: Do not use unreachable() in ipq806x_gmac_probe()
nvmem: qfprom: Fix up qfprom_disable_fuse_blowing() ordering
arm64: dts: qcom: sm8250: Fix epss_l3 unit address
arm64: dts: qcom: msm8996: don't use underscore in node name
arm64: dts: qcom: msm8994: don't use underscore in node name
arm64: dts: qcom: sdm630: don't use underscore in node name
arm64: dts: qcom: ipq6018: drop '0x' from unit address
arm64: dts: qcom: sdm660: use reg value for memory node
arm64: dts: qcom: ipq8074: fix pci node reg property
ARM: dts: imx53-ppd: Fix ACHC entry
serial: 8250_omap: Handle optional overrun-throttle-ms property
arm64: dts: qcom: sdm630: Fix TLMM node and pinctrl configuration
arm64: dts: qcom: sdm630: Rewrite memory map
gfs2: Fix glock recursion in freeze_go_xmote_bh
media: tegra-cec: Handle errors of clk_prepare_enable()
media: TDA1997x: fix tda1997x_query_dv_timings() return value
media: v4l2-dv-timings.c: fix wrong condition in two for-loops
media: imx258: Limit the max analogue gain to 480
media: imx258: Rectify mismatch of VTS value
ASoC: Intel: update sof_pcm512x quirks
ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output
arm64: tegra: Fix Tegra194 PCIe EP compatible string
ARM: dts: at91: use the right property for shutdown controller
bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler()
ARM: dts: stm32: Update AV96 adv7513 node per dtbs_check
ARM: dts: stm32: Set {bitclock,frame}-master phandles on ST DKx
ARM: dts: stm32: Set {bitclock,frame}-master phandles on DHCOM SoM
workqueue: Fix possible memory leaks in wq_numa_init()
Bluetooth: skip invalid hci_sync_conn_complete_evt
ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()
libbpf: Fix race when pinning maps in parallel
samples: bpf: Fix tracex7 error raised on the missing argument
staging: ks7010: Fix the initialization of the 'sleep_status' structure
serial: 8250_pci: make setup_port() parameters explicitly unsigned
hvsi: don't panic on tty_register_driver failure
xtensa: ISS: don't panic in rs_init
serial: 8250: Define RX trigger levels for OxSemi 950 devices
s390: make PCI mio support a machine flag
s390/jump_label: print real address in a case of a jump label bug
flow_dissector: Fix out-of-bounds warnings
ipv4: ip_output.c: Fix out-of-bounds warning in ip_copy_addrs()
video: fbdev: riva: Error out if 'pixclock' equals zero
video: fbdev: kyro: Error out if 'pixclock' equals zero
video: fbdev: asiliantfb: Error out if 'pixclock' equals zero
arm64: dts: allwinner: h6: tanix-tx6: Fix regulator node names
drm/bridge: nwl-dsi: Avoid potential multiplication overflow on 32-bit
bpf/tests: Do not PASS tests without actually testing the result
bpf/tests: Fix copy-and-paste error in double word test
drm/amd/amdgpu: Update debugfs link_settings output link_rate field in hex
drm/amdgpu: Fix a printing message
ethtool: improve compat ioctl handling
nfp: fix return statement in nfp_net_parse_meta()
media: atomisp: pci: fix error return code in atomisp_pci_probe()
media: atomisp: Fix runtime PM imbalance in atomisp_pci_probe
media: platform: stm32: unprepare clocks at handling errors in probe
media: hantro: vp8: Move noisy WARN_ON to vpu_debug
drm/amd/display: Fix timer_per_pixel unit error
selftests: firmware: Fix ignored return val of asprintf() warn
bus: fsl-mc: fix mmio base address for child DPRCs
tty: serial: jsm: hold port lock when reporting modem line changes
staging: board: Fix uninitialized spinlock when attaching genpd
usb: gadget: composite: Allow bMaxPower=0 if self-powered
USB: EHCI: ehci-mv: improve error handling in mv_ehci_enable()
usb: gadget: u_ether: fix a potential null pointer dereference
usb: host: fotg210: fix the actual_length of an iso packet
usb: host: fotg210: fix the endpoint's transactional opportunities calculation
igc: Check if num of q_vectors is smaller than max before array access
rcu: Fix macro name CONFIG_TASKS_RCU_TRACE
drm: protect drm_master pointers in drm_lease.c
drm: serialize drm_file.master with a new spinlock
drm: avoid blocking in drm_clients_info's rcu section
Smack: Fix wrong semantics in smk_access_entry()
netlink: Deal with ESRCH error in nlmsg_notify()
video: fbdev: kyro: fix a DoS bug by restricting user input
ARM: dts: qcom: apq8064: correct clock names
iavf: fix locking of critical sections
iavf: do not override the adapter state in the watchdog task
iio: dac: ad5624r: Fix incorrect handling of an optional regulator.
net: phy: Fix data type in DP83822 dp8382x_disable_wol()
tipc: keep the skb in rcv queue until the whole data is read
PCI: Use pci_update_current_state() in pci_enable_device_flags()
crypto: mxs-dcp - Use sg_mapping_iter to copy data
x86/hyperv: fix for unwanted manipulation of sched_clock when TSC marked unstable
libbpf: Fix reuse of pinned map on older kernel
media: dib8000: rewrite the init prbs logic
ASoC: atmel: ATMEL drivers don't need HAS_DMA
drm/amdgpu: Fix amdgpu_ras_eeprom_init()
drm/vc4: hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET
userfaultfd: prevent concurrent API initialization
kbuild: Fix 'no symbols' warning when CONFIG_TRIM_UNUSD_KSYMS=y
MIPS: Malta: fix alignment of the devicetree buffer
f2fs: should put a page beyond EOF when preparing a write
f2fs: deallocate compressed pages when error happens
f2fs: fix to unmap pages from userspace process in punch_hole()
f2fs: fix unexpected ENOENT comes from f2fs_map_blocks()
f2fs: fix to account missing .skipped_gc_rwsem
soc: mediatek: cmdq: add address shift in jump
KVM: PPC: Fix clearing never mapped TCEs in realmode
clk: at91: clk-generated: Limit the requested rate to our range
fscache: Fix cookie key hashing
RDMA/hns: Fix QP's resp incomplete assignment
powerpc/smp: Update cpu_core_map on all PowerPc systems
platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call
KVM: PPC: Book3S HV Nested: Reflect guest PMU in-use to L0 when guest SPRs are live
scsi: ufs: ufs-exynos: Fix static checker warning
KVM: PPC: Book3S HV: Fix copy_tofrom_guest routines
clk: imx8m: fix clock tree update of TF-A managed clocks
HID: i2c-hid: Fix Elan touchpad regression
iommu/vt-d: Update the virtual command related registers
powerpc/config: Renable MTD_PHYSMAP_OF
scsi: qedf: Fix error codes in qedf_alloc_global_queues()
scsi: qedi: Fix error codes in qedi_alloc_global_queues()
scsi: smartpqi: Fix an error code in pqi_get_raid_map()
powerpc/numa: Consider the max NUMA node for migratable LPAR
pinctrl: single: Fix error return code in pcs_parse_bits_in_pinctrl_entry()
scsi: fdomain: Fix error return code in fdomain_probe()
sunrpc: Fix return value of get_srcport()
SUNRPC query transport's source port
SUNRPC/xprtrdma: Fix reconnection locking
SUNRPC: Fix potential memory corruption
NFSv4/pnfs: The layout barrier indicate a minimal value for the seqid
NFSv4/pNFS: Always allow update of a zero valued layout barrier
NFSv4/pNFS: Fix a layoutget livelock loop
dma-debug: fix debugfs initialization order
openrisc: don't printk() unconditionally
f2fs: reduce the scope of setting fsck tag when de->name_len is zero
cpuidle: pseries: Mark pseries_idle_proble() as __init
RDMA/mlx5: Delete not-available udata check
RDMA/efa: Remove double QP type assignment
powerpc/stacktrace: Include linux/delay.h
cpuidle: pseries: Fixup CEDE0 latency only for POWER10 onwards
scsi: ufs: Fix memory corruption by ufshcd_read_desc_param()
vfio: Use config not menuconfig for VFIO_NOIOMMU
pinctrl: samsung: Fix pinctrl bank pin count
scsi: BusLogic: Use %X for u32 sized integer rather than %lX
docs: Fix infiniband uverbs minor number
RDMA/iwcm: Release resources if iw_cm module initialization fails
IB/hfi1: Adjust pkey entry in index 0
clk: rockchip: drop GRF dependency for rk3328/rk3036 pll types
scsi: bsg: Remove support for SCSI_IOCTL_SEND_COMMAND
pinctrl: armada-37xx: Correct PWM pins definitions
pinctrl: remove empty lines in pinctrl subsystem
f2fs: quota: fix potential deadlock
HID: input: do not report stylus battery state as "full"
PCI: aardvark: Fix masking and unmasking legacy INTx interrupts
PCI: aardvark: Fix checking for PIO status
PCI: Export pci_pio_to_address() for module use
PCI: aardvark: Configure PCIe resources from 'ranges' DT property
PCI: xilinx-nwl: Enable the clock through CCF
PCI: Return ~0 data on pciconfig_read() CAP_SYS_ADMIN failure
PCI: Restrict ASMedia ASM1062 SATA Max Payload Size Supported
PCI/portdrv: Enable Bandwidth Notification only if port supports it
f2fs: fix to do sanity check for sb/cp fields correctly
ARM: 9105/1: atags_to_fdt: don't warn about stack size
libata: add ATA_HORKAGE_NO_NCQ_TRIM for Samsung 860 and 870 SSDs
dmaengine: imx-sdma: remove duplicated sdma_load_context
Revert "dmaengine: imx-sdma: refine to load context only once"
s390/qdio: cancel the ESTABLISH ccw after timeout
s390/qdio: fix roll-back after timeout on ESTABLISH ccw
media: rc-loopback: return number of emitters rather than error
media: uvc: don't do DMA on stack
VMCI: fix NULL pointer dereference when unmapping queue pair
crypto: ccp - shutdown SEV firmware on kexec
dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc()
power: supply: max17042: handle fails of reading status register
block: bfq: fix bfq_set_next_ioprio_data()
crypto: public_key: fix overflow during implicit conversion
wcn36xx: Ensure finish scan is not requested before start scan
iio: ltc2983: fix device probe
arm64: head: avoid over-mapping in map_memory
arm64: mm: Fix TLBI vs ASID rollover
soc: aspeed: p2a-ctrl: Fix boundary check for mmap
soc: aspeed: lpc-ctrl: Fix boundary check for mmap
soc: qcom: aoss: Fix the out of bound usage of cooling_devs
pinctrl: ingenic: Fix incorrect pull up/down info
pinctrl: stmfx: Fix hazardous u8[] to unsigned long cast
clk: socfpga: agilex: add the bypass register for s2f_usr0 clock
clk: socfpga: agilex: fix up s2f_user0_clk representation
clk: socfpga: agilex: fix the parents of the psi_ref_clk
tools/thermal/tmon: Add cross compiling support
selftests/ftrace: Fix requirement check of README file
ceph: fix dereference of null pointer cf
9p/xen: Fix end of loop tests for list_for_each_entry
xen: fix setting of max_pfn in shared_info
powerpc/perf/hv-gpci: Fix counter value parsing
PCI/MSI: Skip masking MSI-X on Xen PV
blk-zoned: allow BLKREPORTZONE without CAP_SYS_ADMIN
blk-zoned: allow zone management send operations without CAP_SYS_ADMIN
btrfs: reset replace target device to allocation state on close
btrfs: wake up async_delalloc_pages waiters after submit
io-wq: fix wakeup race when adding new work
io_uring: fail links of cancelled timeouts
io_uring: add ->splice_fd_in checks
io_uring: place fixed tables under memcg limits
io_uring: limit fixed table size by RLIMIT_NOFILE
rtc: tps65910: Correct driver module alias
Conflicts:
Documentation/devicetree/bindings
Documentation/devicetree/bindings/arm/tegra.yaml
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml
Documentation/devicetree/bindings/mtd/gpmc-nand.txt
Documentation/devicetree/bindings/pinctrl/marvell,armada-37xx-pinctrl.txt
Documentation/devicetree/bindings/regulator/samsung,s5m8767.txt
drivers/hwmon/pmbus/ibm-cffps.c
drivers/scsi/ufs/ufshcd-pltfrm.c
Change-Id: I94d112906379c4c336a78341d21cd20b1eb7d420
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2493 lines
81 KiB
Plaintext
2493 lines
81 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "Kernel hacking"
|
|
|
|
menu "printk and dmesg options"
|
|
|
|
config PRINTK_TIME
|
|
bool "Show timing information on printks"
|
|
depends on PRINTK
|
|
help
|
|
Selecting this option causes time stamps of the printk()
|
|
messages to be added to the output of the syslog() system
|
|
call and at the console.
|
|
|
|
The timestamp is always recorded internally, and exported
|
|
to /dev/kmsg. This flag just specifies if the timestamp should
|
|
be included, not that the timestamp is recorded.
|
|
|
|
The behavior is also controlled by the kernel command line
|
|
parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst
|
|
|
|
config PRINTK_CALLER
|
|
bool "Show caller information on printks"
|
|
depends on PRINTK
|
|
help
|
|
Selecting this option causes printk() to add a caller "thread id" (if
|
|
in task context) or a caller "processor id" (if not in task context)
|
|
to every message.
|
|
|
|
This option is intended for environments where multiple threads
|
|
concurrently call printk() for many times, for it is difficult to
|
|
interpret without knowing where these lines (or sometimes individual
|
|
line which was divided into multiple lines due to race) came from.
|
|
|
|
Since toggling after boot makes the code racy, currently there is
|
|
no option to enable/disable at the kernel command line parameter or
|
|
sysfs interface.
|
|
|
|
config CONSOLE_LOGLEVEL_DEFAULT
|
|
int "Default console loglevel (1-15)"
|
|
range 1 15
|
|
default "7"
|
|
help
|
|
Default loglevel to determine what will be printed on the console.
|
|
|
|
Setting a default here is equivalent to passing in loglevel=<x> in
|
|
the kernel bootargs. loglevel=<x> continues to override whatever
|
|
value is specified here as well.
|
|
|
|
Note: This does not affect the log level of un-prefixed printk()
|
|
usage in the kernel. That is controlled by the MESSAGE_LOGLEVEL_DEFAULT
|
|
option.
|
|
|
|
config CONSOLE_LOGLEVEL_QUIET
|
|
int "quiet console loglevel (1-15)"
|
|
range 1 15
|
|
default "4"
|
|
help
|
|
loglevel to use when "quiet" is passed on the kernel commandline.
|
|
|
|
When "quiet" is passed on the kernel commandline this loglevel
|
|
will be used as the loglevel. IOW passing "quiet" will be the
|
|
equivalent of passing "loglevel=<CONSOLE_LOGLEVEL_QUIET>"
|
|
|
|
config MESSAGE_LOGLEVEL_DEFAULT
|
|
int "Default message log level (1-7)"
|
|
range 1 7
|
|
default "4"
|
|
help
|
|
Default log level for printk statements with no specified priority.
|
|
|
|
This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
|
|
that are auditing their logs closely may want to set it to a lower
|
|
priority.
|
|
|
|
Note: This does not affect what message level gets printed on the console
|
|
by default. To change that, use loglevel=<x> in the kernel bootargs,
|
|
or pick a different CONSOLE_LOGLEVEL_DEFAULT configuration value.
|
|
|
|
config BOOT_PRINTK_DELAY
|
|
bool "Delay each boot printk message by N milliseconds"
|
|
depends on DEBUG_KERNEL && PRINTK && GENERIC_CALIBRATE_DELAY
|
|
help
|
|
This build option allows you to read kernel boot messages
|
|
by inserting a short delay after each one. The delay is
|
|
specified in milliseconds on the kernel command line,
|
|
using "boot_delay=N".
|
|
|
|
It is likely that you would also need to use "lpj=M" to preset
|
|
the "loops per jiffie" value.
|
|
See a previous boot log for the "lpj" value to use for your
|
|
system, and then set "lpj=M" before setting "boot_delay=N".
|
|
NOTE: Using this option may adversely affect SMP systems.
|
|
I.e., processors other than the first one may not boot up.
|
|
BOOT_PRINTK_DELAY also may cause LOCKUP_DETECTOR to detect
|
|
what it believes to be lockup conditions.
|
|
|
|
config DYNAMIC_DEBUG
|
|
bool "Enable dynamic printk() support"
|
|
default n
|
|
depends on PRINTK
|
|
depends on (DEBUG_FS || PROC_FS)
|
|
select DYNAMIC_DEBUG_CORE
|
|
help
|
|
|
|
Compiles debug level messages into the kernel, which would not
|
|
otherwise be available at runtime. These messages can then be
|
|
enabled/disabled based on various levels of scope - per source file,
|
|
function, module, format string, and line number. This mechanism
|
|
implicitly compiles in all pr_debug() and dev_dbg() calls, which
|
|
enlarges the kernel text size by about 2%.
|
|
|
|
If a source file is compiled with DEBUG flag set, any
|
|
pr_debug() calls in it are enabled by default, but can be
|
|
disabled at runtime as below. Note that DEBUG flag is
|
|
turned on by many CONFIG_*DEBUG* options.
|
|
|
|
Usage:
|
|
|
|
Dynamic debugging is controlled via the 'dynamic_debug/control' file,
|
|
which is contained in the 'debugfs' filesystem or procfs.
|
|
Thus, the debugfs or procfs filesystem must first be mounted before
|
|
making use of this feature.
|
|
We refer the control file as: <debugfs>/dynamic_debug/control. This
|
|
file contains a list of the debug statements that can be enabled. The
|
|
format for each line of the file is:
|
|
|
|
filename:lineno [module]function flags format
|
|
|
|
filename : source file of the debug statement
|
|
lineno : line number of the debug statement
|
|
module : module that contains the debug statement
|
|
function : function that contains the debug statement
|
|
flags : '=p' means the line is turned 'on' for printing
|
|
format : the format used for the debug statement
|
|
|
|
From a live system:
|
|
|
|
nullarbor:~ # cat <debugfs>/dynamic_debug/control
|
|
# filename:lineno [module]function flags format
|
|
fs/aio.c:222 [aio]__put_ioctx =_ "__put_ioctx:\040freeing\040%p\012"
|
|
fs/aio.c:248 [aio]ioctx_alloc =_ "ENOMEM:\040nr_events\040too\040high\012"
|
|
fs/aio.c:1770 [aio]sys_io_cancel =_ "calling\040cancel\012"
|
|
|
|
Example usage:
|
|
|
|
// enable the message at line 1603 of file svcsock.c
|
|
nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' >
|
|
<debugfs>/dynamic_debug/control
|
|
|
|
// enable all the messages in file svcsock.c
|
|
nullarbor:~ # echo -n 'file svcsock.c +p' >
|
|
<debugfs>/dynamic_debug/control
|
|
|
|
// enable all the messages in the NFS server module
|
|
nullarbor:~ # echo -n 'module nfsd +p' >
|
|
<debugfs>/dynamic_debug/control
|
|
|
|
// enable all 12 messages in the function svc_process()
|
|
nullarbor:~ # echo -n 'func svc_process +p' >
|
|
<debugfs>/dynamic_debug/control
|
|
|
|
// disable all 12 messages in the function svc_process()
|
|
nullarbor:~ # echo -n 'func svc_process -p' >
|
|
<debugfs>/dynamic_debug/control
|
|
|
|
See Documentation/admin-guide/dynamic-debug-howto.rst for additional
|
|
information.
|
|
|
|
config DYNAMIC_DEBUG_CORE
|
|
bool "Enable core function of dynamic debug support"
|
|
depends on PRINTK
|
|
depends on (DEBUG_FS || PROC_FS)
|
|
help
|
|
Enable core functional support of dynamic debug. It is useful
|
|
when you want to tie dynamic debug to your kernel modules with
|
|
DYNAMIC_DEBUG_MODULE defined for each of them, especially for
|
|
the case of embedded system where the kernel image size is
|
|
sensitive for people.
|
|
|
|
config SYMBOLIC_ERRNAME
|
|
bool "Support symbolic error names in printf"
|
|
default y if PRINTK
|
|
help
|
|
If you say Y here, the kernel's printf implementation will
|
|
be able to print symbolic error names such as ENOSPC instead
|
|
of the number 28. It makes the kernel image slightly larger
|
|
(about 3KB), but can make the kernel logs easier to read.
|
|
|
|
config DEBUG_BUGVERBOSE
|
|
bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EXPERT
|
|
depends on BUG && (GENERIC_BUG || HAVE_DEBUG_BUGVERBOSE)
|
|
default y
|
|
help
|
|
Say Y here to make BUG() panics output the file name and line number
|
|
of the BUG call as well as the EIP and oops trace. This aids
|
|
debugging but costs about 70-100K of memory.
|
|
|
|
config DEBUG_CONSOLE_UNHASHED_POINTERS
|
|
bool "Display unhashed kernel pointers"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Pointers %p and %pK are normally hashed prior to being displayed to
|
|
prevent leaking kernel addresses. On debug builds, always print
|
|
actual pointer values, ignoring the kptr_restrict setting.
|
|
Not to be enabled on production builds.
|
|
|
|
config DYNAMIC_DEBUG_CORE
|
|
bool "Enable core function of dynamic debug support"
|
|
depends on PRINTK
|
|
depends on (DEBUG_FS || PROC_FS)
|
|
help
|
|
Enable core functional support of dynamic debug. It is useful
|
|
when you want to tie dynamic debug to your kernel modules with
|
|
DYNAMIC_DEBUG_MODULE defined for each of them, especially for
|
|
the case of embedded system where the kernel image size is
|
|
sensitive for people.
|
|
|
|
config DEBUG_MODULE_LOAD_INFO
|
|
bool "Use prints for module info under a debug flag"
|
|
help
|
|
If you say Y here the resulting kernel image will include
|
|
debug prints which was kept under DEBUG_MODULE_LOAD_INFO.
|
|
This will be used by developer to debug loadable modules in
|
|
the kernel.
|
|
Say Y here only if you plan to debug the kernel.
|
|
Not to be enabled on production builds.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu # "printk and dmesg options"
|
|
|
|
menu "Compile-time checks and compiler options"
|
|
|
|
config DEBUG_INFO
|
|
bool "Compile the kernel with debug info"
|
|
depends on DEBUG_KERNEL && !COMPILE_TEST
|
|
help
|
|
If you say Y here the resulting kernel image will include
|
|
debugging info resulting in a larger kernel image.
|
|
This adds debug symbols to the kernel and modules (gcc -g), and
|
|
is needed if you intend to use kernel crashdump or binary object
|
|
tools like crash, kgdb, LKCD, gdb, etc on the kernel.
|
|
Say Y here only if you plan to debug the kernel.
|
|
|
|
If unsure, say N.
|
|
|
|
if DEBUG_INFO
|
|
|
|
config DEBUG_INFO_REDUCED
|
|
bool "Reduce debugging information"
|
|
help
|
|
If you say Y here gcc is instructed to generate less debugging
|
|
information for structure types. This means that tools that
|
|
need full debugging information (like kgdb or systemtap) won't
|
|
be happy. But if you merely need debugging information to
|
|
resolve line numbers there is no loss. Advantage is that
|
|
build directory object sizes shrink dramatically over a full
|
|
DEBUG_INFO build and compile times are reduced too.
|
|
Only works with newer gcc versions.
|
|
|
|
config DEBUG_INFO_COMPRESSED
|
|
bool "Compressed debugging information"
|
|
depends on $(cc-option,-gz=zlib)
|
|
depends on $(ld-option,--compress-debug-sections=zlib)
|
|
help
|
|
Compress the debug information using zlib. Requires GCC 5.0+ or Clang
|
|
5.0+, binutils 2.26+, and zlib.
|
|
|
|
Users of dpkg-deb via scripts/package/builddeb may find an increase in
|
|
size of their debug .deb packages with this config set, due to the
|
|
debug info being compressed with zlib, then the object files being
|
|
recompressed with a different compression scheme. But this is still
|
|
preferable to setting $KDEB_COMPRESS to "none" which would be even
|
|
larger.
|
|
|
|
config DEBUG_INFO_SPLIT
|
|
bool "Produce split debuginfo in .dwo files"
|
|
depends on $(cc-option,-gsplit-dwarf)
|
|
help
|
|
Generate debug info into separate .dwo files. This significantly
|
|
reduces the build directory size for builds with DEBUG_INFO,
|
|
because it stores the information only once on disk in .dwo
|
|
files instead of multiple times in object files and executables.
|
|
In addition the debug information is also compressed.
|
|
|
|
Requires recent gcc (4.7+) and recent gdb/binutils.
|
|
Any tool that packages or reads debug information would need
|
|
to know about the .dwo files and include them.
|
|
Incompatible with older versions of ccache.
|
|
|
|
config DEBUG_INFO_DWARF4
|
|
bool "Generate dwarf4 debuginfo"
|
|
depends on $(cc-option,-gdwarf-4)
|
|
help
|
|
Generate dwarf4 debug info. This requires recent versions
|
|
of gcc and gdb. It makes the debug information larger.
|
|
But it significantly improves the success of resolving
|
|
variables in gdb on optimized code.
|
|
|
|
config DEBUG_INFO_BTF
|
|
bool "Generate BTF typeinfo"
|
|
depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
|
|
depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
|
|
help
|
|
Generate deduplicated BTF type information from DWARF debug info.
|
|
Turning this on expects presence of pahole tool, which will convert
|
|
DWARF type info into equivalent deduplicated BTF type info.
|
|
|
|
config GDB_SCRIPTS
|
|
bool "Provide GDB scripts for kernel debugging"
|
|
help
|
|
This creates the required links to GDB helper scripts in the
|
|
build directory. If you load vmlinux into gdb, the helper
|
|
scripts will be automatically imported by gdb as well, and
|
|
additional functions are available to analyze a Linux kernel
|
|
instance. See Documentation/dev-tools/gdb-kernel-debugging.rst
|
|
for further details.
|
|
|
|
endif # DEBUG_INFO
|
|
|
|
config ENABLE_MUST_CHECK
|
|
bool "Enable __must_check logic"
|
|
default y
|
|
help
|
|
Enable the __must_check logic in the kernel build. Disable this to
|
|
suppress the "warning: ignoring return value of 'foo', declared with
|
|
attribute warn_unused_result" messages.
|
|
|
|
config FRAME_WARN
|
|
int "Warn for stack frames larger than"
|
|
range 0 8192
|
|
default 2048 if GCC_PLUGIN_LATENT_ENTROPY
|
|
default 1280 if (!64BIT && PARISC)
|
|
default 1024 if (!64BIT && !PARISC)
|
|
default 2048 if 64BIT
|
|
help
|
|
Tell gcc to warn at build time for stack frames larger than this.
|
|
Setting this too low will cause a lot of warnings.
|
|
Setting it to 0 disables the warning.
|
|
|
|
config STRIP_ASM_SYMS
|
|
bool "Strip assembler-generated symbols during link"
|
|
default n
|
|
help
|
|
Strip internal assembler-generated symbols during a link (symbols
|
|
that look like '.Lxxx') so they don't pollute the output of
|
|
get_wchan() and suchlike.
|
|
|
|
config READABLE_ASM
|
|
bool "Generate readable assembler code"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Disable some compiler optimizations that tend to generate human unreadable
|
|
assembler output. This may make the kernel slightly slower, but it helps
|
|
to keep kernel developers who have to stare a lot at assembler listings
|
|
sane.
|
|
|
|
config HEADERS_INSTALL
|
|
bool "Install uapi headers to usr/include"
|
|
depends on !UML
|
|
help
|
|
This option will install uapi headers (headers exported to user-space)
|
|
into the usr/include directory for use during the kernel build.
|
|
This is unneeded for building the kernel itself, but needed for some
|
|
user-space program samples. It is also needed by some features such
|
|
as uapi header sanity checks.
|
|
|
|
config DEBUG_SECTION_MISMATCH
|
|
bool "Enable full Section mismatch analysis"
|
|
help
|
|
The section mismatch analysis checks if there are illegal
|
|
references from one section to another section.
|
|
During linktime or runtime, some sections are dropped;
|
|
any use of code/data previously in these sections would
|
|
most likely result in an oops.
|
|
In the code, functions and variables are annotated with
|
|
__init,, etc. (see the full list in include/linux/init.h),
|
|
which results in the code/data being placed in specific sections.
|
|
The section mismatch analysis is always performed after a full
|
|
kernel build, and enabling this option causes the following
|
|
additional step to occur:
|
|
- Add the option -fno-inline-functions-called-once to gcc commands.
|
|
When inlining a function annotated with __init in a non-init
|
|
function, we would lose the section information and thus
|
|
the analysis would not catch the illegal reference.
|
|
This option tells gcc to inline less (but it does result in
|
|
a larger kernel).
|
|
|
|
config SECTION_MISMATCH_WARN_ONLY
|
|
bool "Make section mismatch errors non-fatal"
|
|
default y
|
|
help
|
|
If you say N here, the build process will fail if there are any
|
|
section mismatch, instead of just throwing warnings.
|
|
|
|
If unsure, say Y.
|
|
|
|
config DEBUG_FORCE_FUNCTION_ALIGN_32B
|
|
bool "Force all function address 32B aligned" if EXPERT
|
|
help
|
|
There are cases that a commit from one domain changes the function
|
|
address alignment of other domains, and cause magic performance
|
|
bump (regression or improvement). Enable this option will help to
|
|
verify if the bump is caused by function alignment changes, while
|
|
it will slightly increase the kernel size and affect icache usage.
|
|
|
|
It is mainly for debug and performance tuning use.
|
|
|
|
#
|
|
# Select this config option from the architecture Kconfig, if it
|
|
# is preferred to always offer frame pointers as a config
|
|
# option on the architecture (regardless of KERNEL_DEBUG):
|
|
#
|
|
config ARCH_WANT_FRAME_POINTERS
|
|
bool
|
|
|
|
config FRAME_POINTER
|
|
bool "Compile the kernel with frame pointers"
|
|
depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
|
|
default y if (DEBUG_INFO && UML) || ARCH_WANT_FRAME_POINTERS
|
|
help
|
|
If you say Y here the resulting kernel image will be slightly
|
|
larger and slower, but it gives very useful debugging information
|
|
in case of kernel bugs. (precise oopses/stacktraces/warnings)
|
|
|
|
config STACK_VALIDATION
|
|
bool "Compile-time stack metadata validation"
|
|
depends on HAVE_STACK_VALIDATION
|
|
default n
|
|
help
|
|
Add compile-time checks to validate stack metadata, including frame
|
|
pointers (if CONFIG_FRAME_POINTER is enabled). This helps ensure
|
|
that runtime stack traces are more reliable.
|
|
|
|
This is also a prerequisite for generation of ORC unwind data, which
|
|
is needed for CONFIG_UNWINDER_ORC.
|
|
|
|
For more information, see
|
|
tools/objtool/Documentation/stack-validation.txt.
|
|
|
|
config VMLINUX_VALIDATION
|
|
bool
|
|
depends on STACK_VALIDATION && DEBUG_ENTRY && !PARAVIRT
|
|
default y
|
|
|
|
config DEBUG_FORCE_WEAK_PER_CPU
|
|
bool "Force weak per-cpu definitions"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
s390 and alpha require percpu variables in modules to be
|
|
defined weak to work around addressing range issue which
|
|
puts the following two restrictions on percpu variable
|
|
definitions.
|
|
|
|
1. percpu symbols must be unique whether static or not
|
|
2. percpu variables can't be defined inside a function
|
|
|
|
To ensure that generic code follows the above rules, this
|
|
option forces all percpu variables to be defined as weak.
|
|
|
|
endmenu # "Compiler options"
|
|
|
|
menu "Generic Kernel Debugging Instruments"
|
|
|
|
config MAGIC_SYSRQ
|
|
bool "Magic SysRq key"
|
|
depends on !UML
|
|
help
|
|
If you say Y here, you will have some control over the system even
|
|
if the system crashes for example during kernel debugging (e.g., you
|
|
will be able to flush the buffer cache to disk, reboot the system
|
|
immediately or dump some status information). This is accomplished
|
|
by pressing various keys while holding SysRq (Alt+PrintScreen). It
|
|
also works on a serial console (on PC hardware at least), if you
|
|
send a BREAK and then within 5 seconds a command keypress. The
|
|
keys are documented in <file:Documentation/admin-guide/sysrq.rst>.
|
|
Don't say Y unless you really know what this hack does.
|
|
|
|
config MAGIC_SYSRQ_DEFAULT_ENABLE
|
|
hex "Enable magic SysRq key functions by default"
|
|
depends on MAGIC_SYSRQ
|
|
default 0x1
|
|
help
|
|
Specifies which SysRq key functions are enabled by default.
|
|
This may be set to 1 or 0 to enable or disable them all, or
|
|
to a bitmask as described in Documentation/admin-guide/sysrq.rst.
|
|
|
|
config MAGIC_SYSRQ_SERIAL
|
|
bool "Enable magic SysRq key over serial"
|
|
depends on MAGIC_SYSRQ
|
|
default y
|
|
help
|
|
Many embedded boards have a disconnected TTL level serial which can
|
|
generate some garbage that can lead to spurious false sysrq detects.
|
|
This option allows you to decide whether you want to enable the
|
|
magic SysRq key.
|
|
|
|
config MAGIC_SYSRQ_SERIAL_SEQUENCE
|
|
string "Char sequence that enables magic SysRq over serial"
|
|
depends on MAGIC_SYSRQ_SERIAL
|
|
default ""
|
|
help
|
|
Specifies a sequence of characters that can follow BREAK to enable
|
|
SysRq on a serial console.
|
|
|
|
If unsure, leave an empty string and the option will not be enabled.
|
|
|
|
config DEBUG_FS
|
|
bool "Debug Filesystem"
|
|
help
|
|
debugfs is a virtual file system that kernel developers use to put
|
|
debugging files into. Enable this option to be able to read and
|
|
write to these files.
|
|
|
|
For detailed documentation on the debugfs API, see
|
|
Documentation/filesystems/.
|
|
|
|
If unsure, say N.
|
|
|
|
choice
|
|
prompt "Debugfs default access"
|
|
depends on DEBUG_FS
|
|
default DEBUG_FS_ALLOW_ALL
|
|
help
|
|
This selects the default access restrictions for debugfs.
|
|
It can be overridden with kernel command line option
|
|
debugfs=[on,no-mount,off]. The restrictions apply for API access
|
|
and filesystem registration.
|
|
|
|
config DEBUG_FS_ALLOW_ALL
|
|
bool "Access normal"
|
|
help
|
|
No restrictions apply. Both API and filesystem registration
|
|
is on. This is the normal default operation.
|
|
|
|
config DEBUG_FS_DISALLOW_MOUNT
|
|
bool "Do not register debugfs as filesystem"
|
|
help
|
|
The API is open but filesystem is not loaded. Clients can still do
|
|
their work and read with debug tools that do not need
|
|
debugfs filesystem.
|
|
|
|
config DEBUG_FS_ALLOW_NONE
|
|
bool "No access"
|
|
help
|
|
Access is off. Clients get -PERM when trying to create nodes in
|
|
debugfs tree and debugfs is not registered as a filesystem.
|
|
Client can then back-off or continue without debugfs access.
|
|
|
|
endchoice
|
|
|
|
source "lib/Kconfig.kgdb"
|
|
source "lib/Kconfig.ubsan"
|
|
source "lib/Kconfig.kcsan"
|
|
|
|
endmenu
|
|
|
|
config DEBUG_KERNEL
|
|
bool "Kernel debugging"
|
|
help
|
|
Say Y here if you are developing drivers or trying to debug and
|
|
identify kernel problems.
|
|
|
|
config DEBUG_MISC
|
|
bool "Miscellaneous debug code"
|
|
default DEBUG_KERNEL
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say Y here if you need to enable miscellaneous debug code that should
|
|
be under a more specific debug option but isn't.
|
|
|
|
|
|
menu "Memory Debugging"
|
|
|
|
source "mm/Kconfig.debug"
|
|
|
|
config DEBUG_OBJECTS
|
|
bool "Debug object operations"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
If you say Y here, additional code will be inserted into the
|
|
kernel to track the life time of various objects and validate
|
|
the operations on those objects.
|
|
|
|
config DEBUG_OBJECTS_SELFTEST
|
|
bool "Debug objects selftest"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
This enables the selftest of the object debug code.
|
|
|
|
config DEBUG_OBJECTS_FREE
|
|
bool "Debug objects in freed memory"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
This enables checks whether a k/v free operation frees an area
|
|
which contains an object which has not been deactivated
|
|
properly. This can make kmalloc/kfree-intensive workloads
|
|
much slower.
|
|
|
|
config DEBUG_OBJECTS_TIMERS
|
|
bool "Debug timer objects"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
If you say Y here, additional code will be inserted into the
|
|
timer routines to track the life time of timer objects and
|
|
validate the timer operations.
|
|
|
|
config DEBUG_OBJECTS_WORK
|
|
bool "Debug work objects"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
If you say Y here, additional code will be inserted into the
|
|
work queue routines to track the life time of work objects and
|
|
validate the work operations.
|
|
|
|
config DEBUG_OBJECTS_RCU_HEAD
|
|
bool "Debug RCU callbacks objects"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
Enable this to turn on debugging of RCU list heads (call_rcu() usage).
|
|
|
|
config DEBUG_OBJECTS_PERCPU_COUNTER
|
|
bool "Debug percpu counter objects"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
If you say Y here, additional code will be inserted into the
|
|
percpu counter routines to track the life time of percpu counter
|
|
objects and validate the percpu counter operations.
|
|
|
|
config DEBUG_OBJECTS_ENABLE_DEFAULT
|
|
int "debug_objects bootup default value (0-1)"
|
|
range 0 1
|
|
default "1"
|
|
depends on DEBUG_OBJECTS
|
|
help
|
|
Debug objects boot parameter default value
|
|
|
|
config DEBUG_SLAB
|
|
bool "Debug slab memory allocations"
|
|
depends on DEBUG_KERNEL && SLAB
|
|
help
|
|
Say Y here to have the kernel do limited verification on memory
|
|
allocation as well as poisoning memory on free to catch use of freed
|
|
memory. This can make kmalloc/kfree-intensive workloads much slower.
|
|
|
|
config SLUB_DEBUG_ON
|
|
bool "SLUB debugging on by default"
|
|
depends on SLUB && SLUB_DEBUG
|
|
default n
|
|
help
|
|
Boot with debugging on by default. SLUB boots by default with
|
|
the runtime debug capabilities switched off. Enabling this is
|
|
equivalent to specifying the "slub_debug" parameter on boot.
|
|
There is no support for more fine grained debug control like
|
|
possible with slub_debug=xxx. SLUB debugging may be switched
|
|
off in a kernel built with CONFIG_SLUB_DEBUG_ON by specifying
|
|
"slub_debug=-".
|
|
|
|
config SLUB_STATS
|
|
default n
|
|
bool "Enable SLUB performance statistics"
|
|
depends on SLUB && SYSFS
|
|
help
|
|
SLUB statistics are useful to debug SLUBs allocation behavior in
|
|
order find ways to optimize the allocator. This should never be
|
|
enabled for production use since keeping statistics slows down
|
|
the allocator by a few percentage points. The slabinfo command
|
|
supports the determination of the most active slabs to figure
|
|
out which slabs are relevant to a particular load.
|
|
Try running: slabinfo -DA
|
|
|
|
config HAVE_DEBUG_KMEMLEAK
|
|
bool
|
|
|
|
config DEBUG_KMEMLEAK
|
|
bool "Kernel memory leak detector"
|
|
depends on DEBUG_KERNEL && HAVE_DEBUG_KMEMLEAK
|
|
select DEBUG_FS
|
|
select STACKTRACE if STACKTRACE_SUPPORT
|
|
select KALLSYMS
|
|
select CRC32
|
|
help
|
|
Say Y here if you want to enable the memory leak
|
|
detector. The memory allocation/freeing is traced in a way
|
|
similar to the Boehm's conservative garbage collector, the
|
|
difference being that the orphan objects are not freed but
|
|
only shown in /sys/kernel/debug/kmemleak. Enabling this
|
|
feature will introduce an overhead to memory
|
|
allocations. See Documentation/dev-tools/kmemleak.rst for more
|
|
details.
|
|
|
|
Enabling DEBUG_SLAB or SLUB_DEBUG may increase the chances
|
|
of finding leaks due to the slab objects poisoning.
|
|
|
|
In order to access the kmemleak file, debugfs needs to be
|
|
mounted (usually at /sys/kernel/debug).
|
|
|
|
config DEBUG_KMEMLEAK_MEM_POOL_SIZE
|
|
int "Kmemleak memory pool size"
|
|
depends on DEBUG_KMEMLEAK
|
|
range 200 1000000
|
|
default 16000
|
|
help
|
|
Kmemleak must track all the memory allocations to avoid
|
|
reporting false positives. Since memory may be allocated or
|
|
freed before kmemleak is fully initialised, use a static pool
|
|
of metadata objects to track such callbacks. After kmemleak is
|
|
fully initialised, this memory pool acts as an emergency one
|
|
if slab allocations fail.
|
|
|
|
config DEBUG_KMEMLEAK_TEST
|
|
tristate "Simple test for the kernel memory leak detector"
|
|
depends on DEBUG_KMEMLEAK && m
|
|
help
|
|
This option enables a module that explicitly leaks memory.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_KMEMLEAK_DEFAULT_OFF
|
|
bool "Default kmemleak to off"
|
|
depends on DEBUG_KMEMLEAK
|
|
help
|
|
Say Y here to disable kmemleak by default. It can then be enabled
|
|
on the command line via kmemleak=on.
|
|
|
|
config DEBUG_KMEMLEAK_AUTO_SCAN
|
|
bool "Enable kmemleak auto scan thread on boot up"
|
|
default y
|
|
depends on DEBUG_KMEMLEAK
|
|
help
|
|
Depending on the cpu, kmemleak scan may be cpu intensive and can
|
|
stall user tasks at times. This option enables/disables automatic
|
|
kmemleak scan at boot up.
|
|
|
|
Say N here to disable kmemleak auto scan thread to stop automatic
|
|
scanning. Disabling this option disables automatic reporting of
|
|
memory leaks.
|
|
|
|
If unsure, say Y.
|
|
|
|
config DEBUG_STACK_USAGE
|
|
bool "Stack utilization instrumentation"
|
|
depends on DEBUG_KERNEL && !IA64
|
|
help
|
|
Enables the display of the minimum amount of free stack which each
|
|
task has ever had available in the sysrq-T and sysrq-P debug output.
|
|
|
|
This option will slow down process creation somewhat.
|
|
|
|
config SCHED_STACK_END_CHECK
|
|
bool "Detect stack corruption on calls to schedule()"
|
|
depends on DEBUG_KERNEL
|
|
default n
|
|
help
|
|
This option checks for a stack overrun on calls to schedule().
|
|
If the stack end location is found to be over written always panic as
|
|
the content of the corrupted region can no longer be trusted.
|
|
This is to ensure no erroneous behaviour occurs which could result in
|
|
data corruption or a sporadic crash at a later stage once the region
|
|
is examined. The runtime overhead introduced is minimal.
|
|
|
|
config ARCH_HAS_DEBUG_VM_PGTABLE
|
|
bool
|
|
help
|
|
An architecture should select this when it can successfully
|
|
build and run DEBUG_VM_PGTABLE.
|
|
|
|
config DEBUG_VM
|
|
bool "Debug VM"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to turn on extended checks in the virtual-memory system
|
|
that may impact performance.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_VM_VMACACHE
|
|
bool "Debug VMA caching"
|
|
depends on DEBUG_VM
|
|
help
|
|
Enable this to turn on VMA caching debug information. Doing so
|
|
can cause significant overhead, so only enable it in non-production
|
|
environments.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_VM_RB
|
|
bool "Debug VM red-black trees"
|
|
depends on DEBUG_VM
|
|
help
|
|
Enable VM red-black tree debugging information and extra validations.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_VM_PGFLAGS
|
|
bool "Debug page-flags operations"
|
|
depends on DEBUG_VM
|
|
help
|
|
Enables extra validation on page flags operations.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_VM_PGTABLE
|
|
bool "Debug arch page table for semantics compliance"
|
|
depends on MMU
|
|
depends on ARCH_HAS_DEBUG_VM_PGTABLE
|
|
default y if DEBUG_VM
|
|
help
|
|
This option provides a debug method which can be used to test
|
|
architecture page table helper functions on various platforms in
|
|
verifying if they comply with expected generic MM semantics. This
|
|
will help architecture code in making sure that any changes or
|
|
new additions of these helpers still conform to expected
|
|
semantics of the generic MM. Platforms will have to opt in for
|
|
this through ARCH_HAS_DEBUG_VM_PGTABLE.
|
|
|
|
If unsure, say N.
|
|
|
|
config ARCH_HAS_DEBUG_VIRTUAL
|
|
bool
|
|
|
|
config DEBUG_VIRTUAL
|
|
bool "Debug VM translations"
|
|
depends on DEBUG_KERNEL && ARCH_HAS_DEBUG_VIRTUAL
|
|
help
|
|
Enable some costly sanity checks in virtual to page code. This can
|
|
catch mistakes with virt_to_page() and friends.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_NOMMU_REGIONS
|
|
bool "Debug the global anon/private NOMMU mapping region tree"
|
|
depends on DEBUG_KERNEL && !MMU
|
|
help
|
|
This option causes the global tree of anonymous and private mapping
|
|
regions to be regularly checked for invalid topology.
|
|
|
|
config DEBUG_MEMORY_INIT
|
|
bool "Debug memory initialisation" if EXPERT
|
|
default !EXPERT
|
|
help
|
|
Enable this for additional checks during memory initialisation.
|
|
The sanity checks verify aspects of the VM such as the memory model
|
|
and other information provided by the architecture. Verbose
|
|
information will be printed at KERN_DEBUG loglevel depending
|
|
on the mminit_loglevel= command-line option.
|
|
|
|
If unsure, say Y
|
|
|
|
config MEMORY_NOTIFIER_ERROR_INJECT
|
|
tristate "Memory hotplug notifier error injection module"
|
|
depends on MEMORY_HOTPLUG_SPARSE && NOTIFIER_ERROR_INJECTION
|
|
help
|
|
This option provides the ability to inject artificial errors to
|
|
memory hotplug notifier chain callbacks. It is controlled through
|
|
debugfs interface under /sys/kernel/debug/notifier-error-inject/memory
|
|
|
|
If the notifier call chain should be failed with some events
|
|
notified, write the error code to "actions/<notifier event>/error".
|
|
|
|
Example: Inject memory hotplug offline error (-12 == -ENOMEM)
|
|
|
|
# cd /sys/kernel/debug/notifier-error-inject/memory
|
|
# echo -12 > actions/MEM_GOING_OFFLINE/error
|
|
# echo offline > /sys/devices/system/memory/memoryXXX/state
|
|
bash: echo: write error: Cannot allocate memory
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called memory-notifier-error-inject.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_PER_CPU_MAPS
|
|
bool "Debug access to per_cpu maps"
|
|
depends on DEBUG_KERNEL
|
|
depends on SMP
|
|
help
|
|
Say Y to verify that the per_cpu map being accessed has
|
|
been set up. This adds a fair amount of code to kernel memory
|
|
and decreases performance.
|
|
|
|
Say N if unsure.
|
|
|
|
config DEBUG_HIGHMEM
|
|
bool "Highmem debugging"
|
|
depends on DEBUG_KERNEL && HIGHMEM
|
|
help
|
|
This option enables additional error checking for high memory
|
|
systems. Disable for production systems.
|
|
|
|
config HAVE_DEBUG_STACKOVERFLOW
|
|
bool
|
|
|
|
config DEBUG_STACKOVERFLOW
|
|
bool "Check for stack overflows"
|
|
depends on DEBUG_KERNEL && HAVE_DEBUG_STACKOVERFLOW
|
|
help
|
|
Say Y here if you want to check for overflows of kernel, IRQ
|
|
and exception stacks (if your architecture uses them). This
|
|
option will show detailed messages if free stack space drops
|
|
below a certain limit.
|
|
|
|
These kinds of bugs usually occur when call-chains in the
|
|
kernel get too deep, especially when interrupts are
|
|
involved.
|
|
|
|
Use this in cases where you see apparently random memory
|
|
corruption, especially if it appears in 'struct thread_info'
|
|
|
|
If in doubt, say "N".
|
|
|
|
source "lib/Kconfig.kasan"
|
|
source "lib/Kconfig.kfence"
|
|
|
|
endmenu # "Memory Debugging"
|
|
|
|
config DEBUG_SHIRQ
|
|
bool "Debug shared IRQ handlers"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to generate a spurious interrupt just before a shared
|
|
interrupt handler is deregistered (generating one when registering
|
|
is currently disabled). Drivers need to handle this correctly. Some
|
|
don't and need to be caught.
|
|
|
|
menu "Debug Oops, Lockups and Hangs"
|
|
|
|
config PANIC_ON_OOPS
|
|
bool "Panic on Oops"
|
|
help
|
|
Say Y here to enable the kernel to panic when it oopses. This
|
|
has the same effect as setting oops=panic on the kernel command
|
|
line.
|
|
|
|
This feature is useful to ensure that the kernel does not do
|
|
anything erroneous after an oops which could result in data
|
|
corruption or other issues.
|
|
|
|
Say N if unsure.
|
|
|
|
config PANIC_ON_OOPS_VALUE
|
|
int
|
|
range 0 1
|
|
default 0 if !PANIC_ON_OOPS
|
|
default 1 if PANIC_ON_OOPS
|
|
|
|
config PANIC_TIMEOUT
|
|
int "panic timeout"
|
|
default 0
|
|
help
|
|
Set the timeout value (in seconds) until a reboot occurs when
|
|
the kernel panics. If n = 0, then we wait forever. A timeout
|
|
value n > 0 will wait n seconds before rebooting, while a timeout
|
|
value n < 0 will reboot immediately.
|
|
|
|
config LOCKUP_DETECTOR
|
|
bool
|
|
|
|
config SOFTLOCKUP_DETECTOR
|
|
bool "Detect Soft Lockups"
|
|
depends on DEBUG_KERNEL && !S390
|
|
select LOCKUP_DETECTOR
|
|
help
|
|
Say Y here to enable the kernel to act as a watchdog to detect
|
|
soft lockups.
|
|
|
|
Softlockups are bugs that cause the kernel to loop in kernel
|
|
mode for more than 20 seconds, without giving other tasks a
|
|
chance to run. The current stack trace is displayed upon
|
|
detection and the system will stay locked up.
|
|
|
|
config BOOTPARAM_SOFTLOCKUP_PANIC
|
|
bool "Panic (Reboot) On Soft Lockups"
|
|
depends on SOFTLOCKUP_DETECTOR
|
|
help
|
|
Say Y here to enable the kernel to panic on "soft lockups",
|
|
which are bugs that cause the kernel to loop in kernel
|
|
mode for more than 20 seconds (configurable using the watchdog_thresh
|
|
sysctl), without giving other tasks a chance to run.
|
|
|
|
The panic can be used in combination with panic_timeout,
|
|
to cause the system to reboot automatically after a
|
|
lockup has been detected. This feature is useful for
|
|
high-availability systems that have uptime guarantees and
|
|
where a lockup must be resolved ASAP.
|
|
|
|
Say N if unsure.
|
|
|
|
config BOOTPARAM_SOFTLOCKUP_PANIC_VALUE
|
|
int
|
|
depends on SOFTLOCKUP_DETECTOR
|
|
range 0 1
|
|
default 0 if !BOOTPARAM_SOFTLOCKUP_PANIC
|
|
default 1 if BOOTPARAM_SOFTLOCKUP_PANIC
|
|
|
|
config HARDLOCKUP_DETECTOR_PERF
|
|
bool
|
|
select SOFTLOCKUP_DETECTOR
|
|
|
|
#
|
|
# Enables a timestamp based low pass filter to compensate for perf based
|
|
# hard lockup detection which runs too fast due to turbo modes.
|
|
#
|
|
config HARDLOCKUP_CHECK_TIMESTAMP
|
|
bool
|
|
|
|
#
|
|
# arch/ can define HAVE_HARDLOCKUP_DETECTOR_ARCH to provide their own hard
|
|
# lockup detector rather than the perf based detector.
|
|
#
|
|
config HARDLOCKUP_DETECTOR
|
|
bool "Detect Hard Lockups"
|
|
depends on DEBUG_KERNEL && !S390
|
|
depends on HAVE_HARDLOCKUP_DETECTOR_PERF || HAVE_HARDLOCKUP_DETECTOR_ARCH
|
|
select LOCKUP_DETECTOR
|
|
select HARDLOCKUP_DETECTOR_PERF if HAVE_HARDLOCKUP_DETECTOR_PERF
|
|
help
|
|
Say Y here to enable the kernel to act as a watchdog to detect
|
|
hard lockups.
|
|
|
|
Hardlockups are bugs that cause the CPU to loop in kernel mode
|
|
for more than 10 seconds, without letting other interrupts have a
|
|
chance to run. The current stack trace is displayed upon detection
|
|
and the system will stay locked up.
|
|
|
|
config BOOTPARAM_HARDLOCKUP_PANIC
|
|
bool "Panic (Reboot) On Hard Lockups"
|
|
depends on HARDLOCKUP_DETECTOR
|
|
help
|
|
Say Y here to enable the kernel to panic on "hard lockups",
|
|
which are bugs that cause the kernel to loop in kernel
|
|
mode with interrupts disabled for more than 10 seconds (configurable
|
|
using the watchdog_thresh sysctl).
|
|
|
|
Say N if unsure.
|
|
|
|
config BOOTPARAM_HARDLOCKUP_PANIC_VALUE
|
|
int
|
|
depends on HARDLOCKUP_DETECTOR
|
|
range 0 1
|
|
default 0 if !BOOTPARAM_HARDLOCKUP_PANIC
|
|
default 1 if BOOTPARAM_HARDLOCKUP_PANIC
|
|
|
|
config DETECT_HUNG_TASK
|
|
bool "Detect Hung Tasks"
|
|
depends on DEBUG_KERNEL
|
|
default SOFTLOCKUP_DETECTOR
|
|
help
|
|
Say Y here to enable the kernel to detect "hung tasks",
|
|
which are bugs that cause the task to be stuck in
|
|
uninterruptible "D" state indefinitely.
|
|
|
|
When a hung task is detected, the kernel will print the
|
|
current stack trace (which you should report), but the
|
|
task will stay in uninterruptible state. If lockdep is
|
|
enabled then all held locks will also be reported. This
|
|
feature has negligible overhead.
|
|
|
|
config DEFAULT_HUNG_TASK_TIMEOUT
|
|
int "Default timeout for hung task detection (in seconds)"
|
|
depends on DETECT_HUNG_TASK
|
|
default 120
|
|
help
|
|
This option controls the default timeout (in seconds) used
|
|
to determine when a task has become non-responsive and should
|
|
be considered hung.
|
|
|
|
It can be adjusted at runtime via the kernel.hung_task_timeout_secs
|
|
sysctl or by writing a value to
|
|
/proc/sys/kernel/hung_task_timeout_secs.
|
|
|
|
A timeout of 0 disables the check. The default is two minutes.
|
|
Keeping the default should be fine in most cases.
|
|
|
|
config BOOTPARAM_HUNG_TASK_PANIC
|
|
bool "Panic (Reboot) On Hung Tasks"
|
|
depends on DETECT_HUNG_TASK
|
|
help
|
|
Say Y here to enable the kernel to panic on "hung tasks",
|
|
which are bugs that cause the kernel to leave a task stuck
|
|
in uninterruptible "D" state.
|
|
|
|
The panic can be used in combination with panic_timeout,
|
|
to cause the system to reboot automatically after a
|
|
hung task has been detected. This feature is useful for
|
|
high-availability systems that have uptime guarantees and
|
|
where a hung tasks must be resolved ASAP.
|
|
|
|
Say N if unsure.
|
|
|
|
config BOOTPARAM_HUNG_TASK_PANIC_VALUE
|
|
int
|
|
depends on DETECT_HUNG_TASK
|
|
range 0 1
|
|
default 0 if !BOOTPARAM_HUNG_TASK_PANIC
|
|
default 1 if BOOTPARAM_HUNG_TASK_PANIC
|
|
|
|
config WQ_WATCHDOG
|
|
bool "Detect Workqueue Stalls"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say Y here to enable stall detection on workqueues. If a
|
|
worker pool doesn't make forward progress on a pending work
|
|
item for over a given amount of time, 30s by default, a
|
|
warning message is printed along with dump of workqueue
|
|
state. This can be configured through kernel parameter
|
|
"workqueue.watchdog_thresh" and its sysfs counterpart.
|
|
|
|
config TEST_LOCKUP
|
|
tristate "Test module to generate lockups"
|
|
depends on m
|
|
help
|
|
This builds the "test_lockup" module that helps to make sure
|
|
that watchdogs and lockup detectors are working properly.
|
|
|
|
Depending on module parameters it could emulate soft or hard
|
|
lockup, "hung task", or locking arbitrary lock for a long time.
|
|
Also it could generate series of lockups with cooling-down periods.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu # "Debug lockups and hangs"
|
|
|
|
menu "Scheduler Debugging"
|
|
|
|
config SCHED_DEBUG
|
|
bool "Collect scheduler debugging info"
|
|
depends on DEBUG_KERNEL && PROC_FS
|
|
default y
|
|
help
|
|
If you say Y here, the /proc/sched_debug file will be provided
|
|
that can help debug the scheduler. The runtime overhead of this
|
|
option is minimal.
|
|
|
|
config SCHED_INFO
|
|
bool
|
|
default n
|
|
|
|
config SCHEDSTATS
|
|
bool "Collect scheduler statistics"
|
|
depends on DEBUG_KERNEL && PROC_FS
|
|
select SCHED_INFO
|
|
help
|
|
If you say Y here, additional code will be inserted into the
|
|
scheduler and related routines to collect statistics about
|
|
scheduler behavior and provide them in /proc/schedstat. These
|
|
stats may be useful for both tuning and debugging the scheduler
|
|
If you aren't debugging the scheduler or trying to tune a specific
|
|
application, you can say N to avoid the very slight overhead
|
|
this adds.
|
|
|
|
endmenu
|
|
|
|
config DEBUG_TIMEKEEPING
|
|
bool "Enable extra timekeeping sanity checking"
|
|
help
|
|
This option will enable additional timekeeping sanity checks
|
|
which may be helpful when diagnosing issues where timekeeping
|
|
problems are suspected.
|
|
|
|
This may include checks in the timekeeping hotpaths, so this
|
|
option may have a (very small) performance impact to some
|
|
workloads.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_PREEMPT
|
|
bool "Debug preemptible kernel"
|
|
depends on DEBUG_KERNEL && PREEMPTION && TRACE_IRQFLAGS_SUPPORT
|
|
default y
|
|
help
|
|
If you say Y here then the kernel will use a debug variant of the
|
|
commonly used smp_processor_id() function and will print warnings
|
|
if kernel code uses it in a preemption-unsafe way. Also, the kernel
|
|
will detect preemption count underflows.
|
|
|
|
menu "Lock Debugging (spinlocks, mutexes, etc...)"
|
|
|
|
config LOCK_DEBUGGING_SUPPORT
|
|
bool
|
|
depends on TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT
|
|
default y
|
|
|
|
config PROVE_LOCKING
|
|
bool "Lock debugging: prove locking correctness"
|
|
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
|
|
select LOCKDEP
|
|
select DEBUG_SPINLOCK
|
|
select DEBUG_MUTEXES
|
|
select DEBUG_RT_MUTEXES if RT_MUTEXES
|
|
select DEBUG_RWSEMS
|
|
select DEBUG_WW_MUTEX_SLOWPATH
|
|
select DEBUG_LOCK_ALLOC
|
|
select PREEMPT_COUNT if !ARCH_NO_PREEMPT
|
|
select TRACE_IRQFLAGS
|
|
default n
|
|
help
|
|
This feature enables the kernel to prove that all locking
|
|
that occurs in the kernel runtime is mathematically
|
|
correct: that under no circumstance could an arbitrary (and
|
|
not yet triggered) combination of observed locking
|
|
sequences (on an arbitrary number of CPUs, running an
|
|
arbitrary number of tasks and interrupt contexts) cause a
|
|
deadlock.
|
|
|
|
In short, this feature enables the kernel to report locking
|
|
related deadlocks before they actually occur.
|
|
|
|
The proof does not depend on how hard and complex a
|
|
deadlock scenario would be to trigger: how many
|
|
participant CPUs, tasks and irq-contexts would be needed
|
|
for it to trigger. The proof also does not depend on
|
|
timing: if a race and a resulting deadlock is possible
|
|
theoretically (no matter how unlikely the race scenario
|
|
is), it will be proven so and will immediately be
|
|
reported by the kernel (once the event is observed that
|
|
makes the deadlock theoretically possible).
|
|
|
|
If a deadlock is impossible (i.e. the locking rules, as
|
|
observed by the kernel, are mathematically correct), the
|
|
kernel reports nothing.
|
|
|
|
NOTE: this feature can also be enabled for rwlocks, mutexes
|
|
and rwsems - in which case all dependencies between these
|
|
different locking variants are observed and mapped too, and
|
|
the proof of observed correctness is also maintained for an
|
|
arbitrary combination of these separate locking variants.
|
|
|
|
For more details, see Documentation/locking/lockdep-design.rst.
|
|
|
|
config PROVE_RAW_LOCK_NESTING
|
|
bool "Enable raw_spinlock - spinlock nesting checks"
|
|
depends on PROVE_LOCKING
|
|
default n
|
|
help
|
|
Enable the raw_spinlock vs. spinlock nesting checks which ensure
|
|
that the lock nesting rules for PREEMPT_RT enabled kernels are
|
|
not violated.
|
|
|
|
NOTE: There are known nesting problems. So if you enable this
|
|
option expect lockdep splats until these problems have been fully
|
|
addressed which is work in progress. This config switch allows to
|
|
identify and analyze these problems. It will be removed and the
|
|
check permanentely enabled once the main issues have been fixed.
|
|
|
|
If unsure, select N.
|
|
|
|
config LOCK_STAT
|
|
bool "Lock usage statistics"
|
|
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
|
|
select LOCKDEP
|
|
select DEBUG_SPINLOCK
|
|
select DEBUG_MUTEXES
|
|
select DEBUG_RT_MUTEXES if RT_MUTEXES
|
|
select DEBUG_LOCK_ALLOC
|
|
default n
|
|
help
|
|
This feature enables tracking lock contention points
|
|
|
|
For more details, see Documentation/locking/lockstat.rst
|
|
|
|
This also enables lock events required by "perf lock",
|
|
subcommand of perf.
|
|
If you want to use "perf lock", you also need to turn on
|
|
CONFIG_EVENT_TRACING.
|
|
|
|
CONFIG_LOCK_STAT defines "contended" and "acquired" lock events.
|
|
(CONFIG_LOCKDEP defines "acquire" and "release" events.)
|
|
|
|
config DEBUG_RT_MUTEXES
|
|
bool "RT Mutex debugging, deadlock detection"
|
|
depends on DEBUG_KERNEL && RT_MUTEXES
|
|
help
|
|
This allows rt mutex semantics violations and rt mutex related
|
|
deadlocks (lockups) to be detected and reported automatically.
|
|
|
|
config DEBUG_SPINLOCK
|
|
bool "Spinlock and rw-lock debugging: basic checks"
|
|
depends on DEBUG_KERNEL
|
|
select UNINLINE_SPIN_UNLOCK
|
|
help
|
|
Say Y here and build SMP to catch missing spinlock initialization
|
|
and certain other kinds of spinlock errors commonly made. This is
|
|
best used in conjunction with the NMI watchdog so that spinlock
|
|
deadlocks are also debuggable.
|
|
|
|
config DEBUG_MUTEXES
|
|
bool "Mutex debugging: basic checks"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
This feature allows mutex semantics violations to be detected and
|
|
reported.
|
|
|
|
config DEBUG_WW_MUTEX_SLOWPATH
|
|
bool "Wait/wound mutex debugging: Slowpath testing"
|
|
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
|
|
select DEBUG_LOCK_ALLOC
|
|
select DEBUG_SPINLOCK
|
|
select DEBUG_MUTEXES
|
|
help
|
|
This feature enables slowpath testing for w/w mutex users by
|
|
injecting additional -EDEADLK wound/backoff cases. Together with
|
|
the full mutex checks enabled with (CONFIG_PROVE_LOCKING) this
|
|
will test all possible w/w mutex interface abuse with the
|
|
exception of simply not acquiring all the required locks.
|
|
Note that this feature can introduce significant overhead, so
|
|
it really should not be enabled in a production or distro kernel,
|
|
even a debug kernel. If you are a driver writer, enable it. If
|
|
you are a distro, do not.
|
|
|
|
config DEBUG_RWSEMS
|
|
bool "RW Semaphore debugging: basic checks"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
This debugging feature allows mismatched rw semaphore locks
|
|
and unlocks to be detected and reported.
|
|
|
|
config DEBUG_LOCK_ALLOC
|
|
bool "Lock debugging: detect incorrect freeing of live locks"
|
|
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
|
|
select DEBUG_SPINLOCK
|
|
select DEBUG_MUTEXES
|
|
select DEBUG_RT_MUTEXES if RT_MUTEXES
|
|
select LOCKDEP
|
|
help
|
|
This feature will check whether any held lock (spinlock, rwlock,
|
|
mutex or rwsem) is incorrectly freed by the kernel, via any of the
|
|
memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
|
|
vfree(), etc.), whether a live lock is incorrectly reinitialized via
|
|
spin_lock_init()/mutex_init()/etc., or whether there is any lock
|
|
held during task exit.
|
|
|
|
config LOCKDEP
|
|
bool
|
|
depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
|
|
select STACKTRACE
|
|
select KALLSYMS
|
|
select KALLSYMS_ALL
|
|
|
|
config LOCKDEP_SMALL
|
|
bool
|
|
|
|
config DEBUG_LOCKDEP
|
|
bool "Lock dependency engine debugging"
|
|
depends on DEBUG_KERNEL && LOCKDEP
|
|
help
|
|
If you say Y here, the lock dependency engine will do
|
|
additional runtime checks to debug itself, at the price
|
|
of more runtime overhead.
|
|
|
|
config DEBUG_ATOMIC_SLEEP
|
|
bool "Sleep inside atomic section checking"
|
|
select PREEMPT_COUNT
|
|
depends on DEBUG_KERNEL
|
|
depends on !ARCH_NO_PREEMPT
|
|
help
|
|
If you say Y here, various routines which may sleep will become very
|
|
noisy if they are called inside atomic sections: when a spinlock is
|
|
held, inside an rcu read side critical section, inside preempt disabled
|
|
sections, inside an interrupt, etc...
|
|
|
|
config DEBUG_LOCKING_API_SELFTESTS
|
|
bool "Locking API boot-time self-tests"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Say Y here if you want the kernel to run a short self-test during
|
|
bootup. The self-test checks whether common types of locking bugs
|
|
are detected by debugging mechanisms or not. (if you disable
|
|
lock debugging then those bugs wont be detected of course.)
|
|
The following locking APIs are covered: spinlocks, rwlocks,
|
|
mutexes and rwsems.
|
|
|
|
config LOCK_TORTURE_TEST
|
|
tristate "torture tests for locking"
|
|
depends on DEBUG_KERNEL
|
|
select TORTURE_TEST
|
|
help
|
|
This option provides a kernel module that runs torture tests
|
|
on kernel locking primitives. The kernel module may be built
|
|
after the fact on the running kernel to be tested, if desired.
|
|
|
|
Say Y here if you want kernel locking-primitive torture tests
|
|
to be built into the kernel.
|
|
Say M if you want these torture tests to build as a module.
|
|
Say N if you are unsure.
|
|
|
|
config WW_MUTEX_SELFTEST
|
|
tristate "Wait/wound mutex selftests"
|
|
help
|
|
This option provides a kernel module that runs tests on the
|
|
on the struct ww_mutex locking API.
|
|
|
|
It is recommended to enable DEBUG_WW_MUTEX_SLOWPATH in conjunction
|
|
with this test harness.
|
|
|
|
Say M if you want these self tests to build as a module.
|
|
Say N if you are unsure.
|
|
|
|
config SCF_TORTURE_TEST
|
|
tristate "torture tests for smp_call_function*()"
|
|
depends on DEBUG_KERNEL
|
|
select TORTURE_TEST
|
|
help
|
|
This option provides a kernel module that runs torture tests
|
|
on the smp_call_function() family of primitives. The kernel
|
|
module may be built after the fact on the running kernel to
|
|
be tested, if desired.
|
|
|
|
config CSD_LOCK_WAIT_DEBUG
|
|
bool "Debugging for csd_lock_wait(), called from smp_call_function*()"
|
|
depends on DEBUG_KERNEL
|
|
depends on 64BIT
|
|
default n
|
|
help
|
|
This option enables debug prints when CPUs are slow to respond
|
|
to the smp_call_function*() IPI wrappers. These debug prints
|
|
include the IPI handler function currently executing (if any)
|
|
and relevant stack traces.
|
|
|
|
endmenu # lock debugging
|
|
|
|
config TRACE_IRQFLAGS
|
|
depends on TRACE_IRQFLAGS_SUPPORT
|
|
bool
|
|
help
|
|
Enables hooks to interrupt enabling and disabling for
|
|
either tracing or lock debugging.
|
|
|
|
config TRACE_IRQFLAGS_NMI
|
|
def_bool y
|
|
depends on TRACE_IRQFLAGS
|
|
depends on TRACE_IRQFLAGS_NMI_SUPPORT
|
|
|
|
config STACKTRACE
|
|
bool "Stack backtrace support"
|
|
depends on STACKTRACE_SUPPORT
|
|
help
|
|
This option causes the kernel to create a /proc/pid/stack for
|
|
every process, showing its current stack trace.
|
|
It is also used by various kernel debugging features that require
|
|
stack trace generation.
|
|
|
|
config WARN_ALL_UNSEEDED_RANDOM
|
|
bool "Warn for all uses of unseeded randomness"
|
|
default n
|
|
help
|
|
Some parts of the kernel contain bugs relating to their use of
|
|
cryptographically secure random numbers before it's actually possible
|
|
to generate those numbers securely. This setting ensures that these
|
|
flaws don't go unnoticed, by enabling a message, should this ever
|
|
occur. This will allow people with obscure setups to know when things
|
|
are going wrong, so that they might contact developers about fixing
|
|
it.
|
|
|
|
Unfortunately, on some models of some architectures getting
|
|
a fully seeded CRNG is extremely difficult, and so this can
|
|
result in dmesg getting spammed for a surprisingly long
|
|
time. This is really bad from a security perspective, and
|
|
so architecture maintainers really need to do what they can
|
|
to get the CRNG seeded sooner after the system is booted.
|
|
However, since users cannot do anything actionable to
|
|
address this, by default the kernel will issue only a single
|
|
warning for the first use of unseeded randomness.
|
|
|
|
Say Y here if you want to receive warnings for all uses of
|
|
unseeded randomness. This will be of use primarily for
|
|
those developers interested in improving the security of
|
|
Linux kernels running on their architecture (or
|
|
subarchitecture).
|
|
|
|
config DEBUG_KOBJECT
|
|
bool "kobject debugging"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
If you say Y here, some extra kobject debugging messages will be sent
|
|
to the syslog.
|
|
|
|
config DEBUG_KOBJECT_RELEASE
|
|
bool "kobject release debugging"
|
|
depends on DEBUG_OBJECTS_TIMERS
|
|
help
|
|
kobjects are reference counted objects. This means that their
|
|
last reference count put is not predictable, and the kobject can
|
|
live on past the point at which a driver decides to drop it's
|
|
initial reference to the kobject gained on allocation. An
|
|
example of this would be a struct device which has just been
|
|
unregistered.
|
|
|
|
However, some buggy drivers assume that after such an operation,
|
|
the memory backing the kobject can be immediately freed. This
|
|
goes completely against the principles of a refcounted object.
|
|
|
|
If you say Y here, the kernel will delay the release of kobjects
|
|
on the last reference count to improve the visibility of this
|
|
kind of kobject release bug.
|
|
|
|
config HAVE_DEBUG_BUGVERBOSE
|
|
bool
|
|
|
|
menu "Debug kernel data structures"
|
|
|
|
config DEBUG_LIST
|
|
bool "Debug linked list manipulation"
|
|
depends on DEBUG_KERNEL || BUG_ON_DATA_CORRUPTION
|
|
help
|
|
Enable this to turn on extended checks in the linked-list
|
|
walking routines.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_PLIST
|
|
bool "Debug priority linked list manipulation"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to turn on extended checks in the priority-ordered
|
|
linked-list (plist) walking routines. This checks the entire
|
|
list multiple times during each manipulation.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_SG
|
|
bool "Debug SG table operations"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to turn on checks on scatter-gather tables. This can
|
|
help find problems with drivers that do not properly initialize
|
|
their sg tables.
|
|
|
|
If unsure, say N.
|
|
|
|
config DEBUG_NOTIFIERS
|
|
bool "Debug notifier call chains"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to turn on sanity checking for notifier call chains.
|
|
This is most useful for kernel developers to make sure that
|
|
modules properly unregister themselves from notifier chains.
|
|
This is a relatively cheap check but if you care about maximum
|
|
performance, say N.
|
|
|
|
config BUG_ON_DATA_CORRUPTION
|
|
bool "Trigger a BUG when data corruption is detected"
|
|
select DEBUG_LIST
|
|
help
|
|
Select this option if the kernel should BUG when it encounters
|
|
data corruption in kernel memory structures when they get checked
|
|
for validity.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu
|
|
|
|
config DEBUG_CREDENTIALS
|
|
bool "Debug credential management"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to turn on some debug checking for credential
|
|
management. The additional code keeps track of the number of
|
|
pointers from task_structs to any given cred struct, and checks to
|
|
see that this number never exceeds the usage count of the cred
|
|
struct.
|
|
|
|
Furthermore, if SELinux is enabled, this also checks that the
|
|
security pointer in the cred struct is never seen to be invalid.
|
|
|
|
If unsure, say N.
|
|
|
|
source "kernel/rcu/Kconfig.debug"
|
|
|
|
config DEBUG_WQ_FORCE_RR_CPU
|
|
bool "Force round-robin CPU selection for unbound work items"
|
|
depends on DEBUG_KERNEL
|
|
default n
|
|
help
|
|
Workqueue used to implicitly guarantee that work items queued
|
|
without explicit CPU specified are put on the local CPU. This
|
|
guarantee is no longer true and while local CPU is still
|
|
preferred work items may be put on foreign CPUs. Kernel
|
|
parameter "workqueue.debug_force_rr_cpu" is added to force
|
|
round-robin CPU selection to flush out usages which depend on the
|
|
now broken guarantee. This config option enables the debug
|
|
feature by default. When enabled, memory and cache locality will
|
|
be impacted.
|
|
|
|
config DEBUG_BLOCK_EXT_DEVT
|
|
bool "Force extended block device numbers and spread them"
|
|
depends on DEBUG_KERNEL
|
|
depends on BLOCK
|
|
default n
|
|
help
|
|
BIG FAT WARNING: ENABLING THIS OPTION MIGHT BREAK BOOTING ON
|
|
SOME DISTRIBUTIONS. DO NOT ENABLE THIS UNLESS YOU KNOW WHAT
|
|
YOU ARE DOING. Distros, please enable this and fix whatever
|
|
is broken.
|
|
|
|
Conventionally, block device numbers are allocated from
|
|
predetermined contiguous area. However, extended block area
|
|
may introduce non-contiguous block device numbers. This
|
|
option forces most block device numbers to be allocated from
|
|
the extended space and spreads them to discover kernel or
|
|
userland code paths which assume predetermined contiguous
|
|
device number allocation.
|
|
|
|
Note that turning on this debug option shuffles all the
|
|
device numbers for all IDE and SCSI devices including libata
|
|
ones, so root partition specified using device number
|
|
directly (via rdev or root=MAJ:MIN) won't work anymore.
|
|
Textual device names (root=/dev/sdXn) will continue to work.
|
|
|
|
Say N if you are unsure.
|
|
|
|
config CPU_HOTPLUG_STATE_CONTROL
|
|
bool "Enable CPU hotplug state control"
|
|
depends on DEBUG_KERNEL
|
|
depends on HOTPLUG_CPU
|
|
default n
|
|
help
|
|
Allows to write steps between "offline" and "online" to the CPUs
|
|
sysfs target file so states can be stepped granular. This is a debug
|
|
option for now as the hotplug machinery cannot be stopped and
|
|
restarted at arbitrary points yet.
|
|
|
|
Say N if your are unsure.
|
|
|
|
config LATENCYTOP
|
|
bool "Latency measuring infrastructure"
|
|
depends on DEBUG_KERNEL
|
|
depends on STACKTRACE_SUPPORT
|
|
depends on PROC_FS
|
|
depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86
|
|
select KALLSYMS
|
|
select KALLSYMS_ALL
|
|
select STACKTRACE
|
|
select SCHEDSTATS
|
|
select SCHED_DEBUG
|
|
help
|
|
Enable this option if you want to use the LatencyTOP tool
|
|
to find out which userspace is blocking on what kernel operations.
|
|
|
|
source "kernel/trace/Kconfig"
|
|
|
|
config PROVIDE_OHCI1394_DMA_INIT
|
|
bool "Remote debugging over FireWire early on boot"
|
|
depends on PCI && X86
|
|
help
|
|
If you want to debug problems which hang or crash the kernel early
|
|
on boot and the crashing machine has a FireWire port, you can use
|
|
this feature to remotely access the memory of the crashed machine
|
|
over FireWire. This employs remote DMA as part of the OHCI1394
|
|
specification which is now the standard for FireWire controllers.
|
|
|
|
With remote DMA, you can monitor the printk buffer remotely using
|
|
firescope and access all memory below 4GB using fireproxy from gdb.
|
|
Even controlling a kernel debugger is possible using remote DMA.
|
|
|
|
Usage:
|
|
|
|
If ohci1394_dma=early is used as boot parameter, it will initialize
|
|
all OHCI1394 controllers which are found in the PCI config space.
|
|
|
|
As all changes to the FireWire bus such as enabling and disabling
|
|
devices cause a bus reset and thereby disable remote DMA for all
|
|
devices, be sure to have the cable plugged and FireWire enabled on
|
|
the debugging host before booting the debug target for debugging.
|
|
|
|
This code (~1k) is freed after boot. By then, the firewire stack
|
|
in charge of the OHCI-1394 controllers should be used instead.
|
|
|
|
See Documentation/core-api/debugging-via-ohci1394.rst for more information.
|
|
|
|
source "samples/Kconfig"
|
|
|
|
config ARCH_HAS_DEVMEM_IS_ALLOWED
|
|
bool
|
|
|
|
config STRICT_DEVMEM
|
|
bool "Filter access to /dev/mem"
|
|
depends on MMU && DEVMEM
|
|
depends on ARCH_HAS_DEVMEM_IS_ALLOWED
|
|
default y if PPC || X86 || ARM64
|
|
help
|
|
If this option is disabled, you allow userspace (root) access to all
|
|
of memory, including kernel and userspace memory. Accidental
|
|
access to this is obviously disastrous, but specific access can
|
|
be used by people debugging the kernel. Note that with PAT support
|
|
enabled, even in this case there are restrictions on /dev/mem
|
|
use due to the cache aliasing requirements.
|
|
|
|
If this option is switched on, and IO_STRICT_DEVMEM=n, the /dev/mem
|
|
file only allows userspace access to PCI space and the BIOS code and
|
|
data regions. This is sufficient for dosemu and X and all common
|
|
users of /dev/mem.
|
|
|
|
If in doubt, say Y.
|
|
|
|
config IO_STRICT_DEVMEM
|
|
bool "Filter I/O access to /dev/mem"
|
|
depends on STRICT_DEVMEM
|
|
help
|
|
If this option is disabled, you allow userspace (root) access to all
|
|
io-memory regardless of whether a driver is actively using that
|
|
range. Accidental access to this is obviously disastrous, but
|
|
specific access can be used by people debugging kernel drivers.
|
|
|
|
If this option is switched on, the /dev/mem file only allows
|
|
userspace access to *idle* io-memory ranges (see /proc/iomem) This
|
|
may break traditional users of /dev/mem (dosemu, legacy X, etc...)
|
|
if the driver using a given range cannot be disabled.
|
|
|
|
If in doubt, say Y.
|
|
|
|
menu "$(SRCARCH) Debugging"
|
|
|
|
source "arch/$(SRCARCH)/Kconfig.debug"
|
|
|
|
endmenu
|
|
|
|
menu "Kernel Testing and Coverage"
|
|
|
|
source "lib/kunit/Kconfig"
|
|
|
|
config NOTIFIER_ERROR_INJECTION
|
|
tristate "Notifier error injection"
|
|
depends on DEBUG_KERNEL
|
|
select DEBUG_FS
|
|
help
|
|
This option provides the ability to inject artificial errors to
|
|
specified notifier chain callbacks. It is useful to test the error
|
|
handling of notifier call chain failures.
|
|
|
|
Say N if unsure.
|
|
|
|
config PM_NOTIFIER_ERROR_INJECT
|
|
tristate "PM notifier error injection module"
|
|
depends on PM && NOTIFIER_ERROR_INJECTION
|
|
default m if PM_DEBUG
|
|
help
|
|
This option provides the ability to inject artificial errors to
|
|
PM notifier chain callbacks. It is controlled through debugfs
|
|
interface /sys/kernel/debug/notifier-error-inject/pm
|
|
|
|
If the notifier call chain should be failed with some events
|
|
notified, write the error code to "actions/<notifier event>/error".
|
|
|
|
Example: Inject PM suspend error (-12 = -ENOMEM)
|
|
|
|
# cd /sys/kernel/debug/notifier-error-inject/pm/
|
|
# echo -12 > actions/PM_SUSPEND_PREPARE/error
|
|
# echo mem > /sys/power/state
|
|
bash: echo: write error: Cannot allocate memory
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called pm-notifier-error-inject.
|
|
|
|
If unsure, say N.
|
|
|
|
config OF_RECONFIG_NOTIFIER_ERROR_INJECT
|
|
tristate "OF reconfig notifier error injection module"
|
|
depends on OF_DYNAMIC && NOTIFIER_ERROR_INJECTION
|
|
help
|
|
This option provides the ability to inject artificial errors to
|
|
OF reconfig notifier chain callbacks. It is controlled
|
|
through debugfs interface under
|
|
/sys/kernel/debug/notifier-error-inject/OF-reconfig/
|
|
|
|
If the notifier call chain should be failed with some events
|
|
notified, write the error code to "actions/<notifier event>/error".
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called of-reconfig-notifier-error-inject.
|
|
|
|
If unsure, say N.
|
|
|
|
config NETDEV_NOTIFIER_ERROR_INJECT
|
|
tristate "Netdev notifier error injection module"
|
|
depends on NET && NOTIFIER_ERROR_INJECTION
|
|
help
|
|
This option provides the ability to inject artificial errors to
|
|
netdevice notifier chain callbacks. It is controlled through debugfs
|
|
interface /sys/kernel/debug/notifier-error-inject/netdev
|
|
|
|
If the notifier call chain should be failed with some events
|
|
notified, write the error code to "actions/<notifier event>/error".
|
|
|
|
Example: Inject netdevice mtu change error (-22 = -EINVAL)
|
|
|
|
# cd /sys/kernel/debug/notifier-error-inject/netdev
|
|
# echo -22 > actions/NETDEV_CHANGEMTU/error
|
|
# ip link set eth0 mtu 1024
|
|
RTNETLINK answers: Invalid argument
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called netdev-notifier-error-inject.
|
|
|
|
If unsure, say N.
|
|
|
|
config FUNCTION_ERROR_INJECTION
|
|
def_bool y
|
|
depends on HAVE_FUNCTION_ERROR_INJECTION && KPROBES
|
|
|
|
config FAULT_INJECTION
|
|
bool "Fault-injection framework"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Provide fault-injection framework.
|
|
For more details, see Documentation/fault-injection/.
|
|
|
|
config FAILSLAB
|
|
bool "Fault-injection capability for kmalloc"
|
|
depends on FAULT_INJECTION
|
|
depends on SLAB || SLUB
|
|
help
|
|
Provide fault-injection capability for kmalloc.
|
|
|
|
config FAIL_PAGE_ALLOC
|
|
bool "Fault-injection capability for alloc_pages()"
|
|
depends on FAULT_INJECTION
|
|
help
|
|
Provide fault-injection capability for alloc_pages().
|
|
|
|
config FAULT_INJECTION_USERCOPY
|
|
bool "Fault injection capability for usercopy functions"
|
|
depends on FAULT_INJECTION
|
|
help
|
|
Provides fault-injection capability to inject failures
|
|
in usercopy functions (copy_from_user(), get_user(), ...).
|
|
|
|
config FAIL_MAKE_REQUEST
|
|
bool "Fault-injection capability for disk IO"
|
|
depends on FAULT_INJECTION && BLOCK
|
|
help
|
|
Provide fault-injection capability for disk IO.
|
|
|
|
config FAIL_IO_TIMEOUT
|
|
bool "Fault-injection capability for faking disk interrupts"
|
|
depends on FAULT_INJECTION && BLOCK
|
|
help
|
|
Provide fault-injection capability on end IO handling. This
|
|
will make the block layer "forget" an interrupt as configured,
|
|
thus exercising the error handling.
|
|
|
|
Only works with drivers that use the generic timeout handling,
|
|
for others it wont do anything.
|
|
|
|
config FAIL_FUTEX
|
|
bool "Fault-injection capability for futexes"
|
|
select DEBUG_FS
|
|
depends on FAULT_INJECTION && FUTEX
|
|
help
|
|
Provide fault-injection capability for futexes.
|
|
|
|
config FAULT_INJECTION_DEBUG_FS
|
|
bool "Debugfs entries for fault-injection capabilities"
|
|
depends on FAULT_INJECTION && SYSFS && DEBUG_FS
|
|
help
|
|
Enable configuration of fault-injection capabilities via debugfs.
|
|
|
|
config FAIL_FUNCTION
|
|
bool "Fault-injection capability for functions"
|
|
depends on FAULT_INJECTION_DEBUG_FS && FUNCTION_ERROR_INJECTION
|
|
help
|
|
Provide function-based fault-injection capability.
|
|
This will allow you to override a specific function with a return
|
|
with given return value. As a result, function caller will see
|
|
an error value and have to handle it. This is useful to test the
|
|
error handling in various subsystems.
|
|
|
|
config FAIL_MMC_REQUEST
|
|
bool "Fault-injection capability for MMC IO"
|
|
depends on FAULT_INJECTION_DEBUG_FS && MMC
|
|
help
|
|
Provide fault-injection capability for MMC IO.
|
|
This will make the mmc core return data errors. This is
|
|
useful to test the error handling in the mmc block device
|
|
and to test how the mmc host driver handles retries from
|
|
the block device.
|
|
|
|
config FAULT_INJECTION_STACKTRACE_FILTER
|
|
bool "stacktrace filter for fault-injection capabilities"
|
|
depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
|
|
depends on !X86_64
|
|
select STACKTRACE
|
|
depends on FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86
|
|
help
|
|
Provide stacktrace filter for fault-injection capabilities
|
|
|
|
config ARCH_HAS_KCOV
|
|
bool
|
|
help
|
|
An architecture should select this when it can successfully
|
|
build and run with CONFIG_KCOV. This typically requires
|
|
disabling instrumentation for some early boot code.
|
|
|
|
config CC_HAS_SANCOV_TRACE_PC
|
|
def_bool $(cc-option,-fsanitize-coverage=trace-pc)
|
|
|
|
|
|
config KCOV
|
|
bool "Code coverage for fuzzing"
|
|
depends on ARCH_HAS_KCOV
|
|
depends on CC_HAS_SANCOV_TRACE_PC || GCC_PLUGINS
|
|
select DEBUG_FS
|
|
select GCC_PLUGIN_SANCOV if !CC_HAS_SANCOV_TRACE_PC
|
|
select SKB_EXTENSIONS if NET
|
|
help
|
|
KCOV exposes kernel code coverage information in a form suitable
|
|
for coverage-guided fuzzing (randomized testing).
|
|
|
|
If RANDOMIZE_BASE is enabled, PC values will not be stable across
|
|
different machines and across reboots. If you need stable PC values,
|
|
disable RANDOMIZE_BASE.
|
|
|
|
For more details, see Documentation/dev-tools/kcov.rst.
|
|
|
|
config KCOV_ENABLE_COMPARISONS
|
|
bool "Enable comparison operands collection by KCOV"
|
|
depends on KCOV
|
|
depends on $(cc-option,-fsanitize-coverage=trace-cmp)
|
|
help
|
|
KCOV also exposes operands of every comparison in the instrumented
|
|
code along with operand sizes and PCs of the comparison instructions.
|
|
These operands can be used by fuzzing engines to improve the quality
|
|
of fuzzing coverage.
|
|
|
|
config KCOV_INSTRUMENT_ALL
|
|
bool "Instrument all code by default"
|
|
depends on KCOV
|
|
default y
|
|
help
|
|
If you are doing generic system call fuzzing (like e.g. syzkaller),
|
|
then you will want to instrument the whole kernel and you should
|
|
say y here. If you are doing more targeted fuzzing (like e.g.
|
|
filesystem fuzzing with AFL) then you will want to enable coverage
|
|
for more specific subsets of files, and should say n here.
|
|
|
|
config KCOV_IRQ_AREA_SIZE
|
|
hex "Size of interrupt coverage collection area in words"
|
|
depends on KCOV
|
|
default 0x40000
|
|
help
|
|
KCOV uses preallocated per-cpu areas to collect coverage from
|
|
soft interrupts. This specifies the size of those areas in the
|
|
number of unsigned long words.
|
|
|
|
menuconfig RUNTIME_TESTING_MENU
|
|
bool "Runtime Testing"
|
|
def_bool y
|
|
|
|
if RUNTIME_TESTING_MENU
|
|
|
|
config LKDTM
|
|
tristate "Linux Kernel Dump Test Tool Module"
|
|
depends on DEBUG_FS
|
|
help
|
|
This module enables testing of the different dumping mechanisms by
|
|
inducing system failures at predefined crash points.
|
|
If you don't need it: say N
|
|
Choose M here to compile this code as a module. The module will be
|
|
called lkdtm.
|
|
|
|
Documentation on how to use the module can be found in
|
|
Documentation/fault-injection/provoke-crashes.rst
|
|
|
|
config TEST_LIST_SORT
|
|
tristate "Linked list sorting test"
|
|
depends on DEBUG_KERNEL || m
|
|
help
|
|
Enable this to turn on 'list_sort()' function test. This test is
|
|
executed only once during system boot (so affects only boot time),
|
|
or at module load time.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_MIN_HEAP
|
|
tristate "Min heap test"
|
|
depends on DEBUG_KERNEL || m
|
|
help
|
|
Enable this to turn on min heap function tests. This test is
|
|
executed only once during system boot (so affects only boot time),
|
|
or at module load time.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_SORT
|
|
tristate "Array-based sort test"
|
|
depends on DEBUG_KERNEL || m
|
|
help
|
|
This option enables the self-test function of 'sort()' at boot,
|
|
or at module load time.
|
|
|
|
If unsure, say N.
|
|
|
|
config KPROBES_SANITY_TEST
|
|
bool "Kprobes sanity tests"
|
|
depends on DEBUG_KERNEL
|
|
depends on KPROBES
|
|
help
|
|
This option provides for testing basic kprobes functionality on
|
|
boot. Samples of kprobe and kretprobe are inserted and
|
|
verified for functionality.
|
|
|
|
Say N if you are unsure.
|
|
|
|
config BACKTRACE_SELF_TEST
|
|
tristate "Self test for the backtrace code"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
This option provides a kernel module that can be used to test
|
|
the kernel stack backtrace code. This option is not useful
|
|
for distributions or general kernels, but only for kernel
|
|
developers working on architecture code.
|
|
|
|
Note that if you want to also test saved backtraces, you will
|
|
have to enable STACKTRACE as well.
|
|
|
|
Say N if you are unsure.
|
|
|
|
config RBTREE_TEST
|
|
tristate "Red-Black tree test"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
A benchmark measuring the performance of the rbtree library.
|
|
Also includes rbtree invariant checks.
|
|
|
|
config REED_SOLOMON_TEST
|
|
tristate "Reed-Solomon library test"
|
|
depends on DEBUG_KERNEL || m
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_ENC16
|
|
select REED_SOLOMON_DEC16
|
|
help
|
|
This option enables the self-test function of rslib at boot,
|
|
or at module load time.
|
|
|
|
If unsure, say N.
|
|
|
|
config INTERVAL_TREE_TEST
|
|
tristate "Interval tree test"
|
|
depends on DEBUG_KERNEL
|
|
select INTERVAL_TREE
|
|
help
|
|
A benchmark measuring the performance of the interval tree library
|
|
|
|
config PERCPU_TEST
|
|
tristate "Per cpu operations test"
|
|
depends on m && DEBUG_KERNEL
|
|
help
|
|
Enable this option to build test module which validates per-cpu
|
|
operations.
|
|
|
|
If unsure, say N.
|
|
|
|
config ATOMIC64_SELFTEST
|
|
tristate "Perform an atomic64_t self-test"
|
|
help
|
|
Enable this option to test the atomic64_t functions at boot or
|
|
at module load time.
|
|
|
|
If unsure, say N.
|
|
|
|
config ASYNC_RAID6_TEST
|
|
tristate "Self test for hardware accelerated raid6 recovery"
|
|
depends on ASYNC_RAID6_RECOV
|
|
select ASYNC_MEMCPY
|
|
help
|
|
This is a one-shot self test that permutes through the
|
|
recovery of all the possible two disk failure scenarios for a
|
|
N-disk array. Recovery is performed with the asynchronous
|
|
raid6 recovery routines, and will optionally use an offload
|
|
engine if one is available.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_HEXDUMP
|
|
tristate "Test functions located in the hexdump module at runtime"
|
|
|
|
config TEST_STRING_HELPERS
|
|
tristate "Test functions located in the string_helpers module at runtime"
|
|
|
|
config TEST_STRSCPY
|
|
tristate "Test strscpy*() family of functions at runtime"
|
|
|
|
config TEST_KSTRTOX
|
|
tristate "Test kstrto*() family of functions at runtime"
|
|
|
|
config TEST_PRINTF
|
|
tristate "Test printf() family of functions at runtime"
|
|
|
|
config TEST_BITMAP
|
|
tristate "Test bitmap_*() family of functions at runtime"
|
|
help
|
|
Enable this option to test the bitmap functions at boot.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_UUID
|
|
tristate "Test functions located in the uuid module at runtime"
|
|
|
|
config TEST_XARRAY
|
|
tristate "Test the XArray code at runtime"
|
|
|
|
config TEST_OVERFLOW
|
|
tristate "Test check_*_overflow() functions at runtime"
|
|
|
|
config TEST_RHASHTABLE
|
|
tristate "Perform selftest on resizable hash table"
|
|
help
|
|
Enable this option to test the rhashtable functions at boot.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_HASH
|
|
tristate "Perform selftest on hash functions"
|
|
help
|
|
Enable this option to test the kernel's integer (<linux/hash.h>),
|
|
string (<linux/stringhash.h>), and siphash (<linux/siphash.h>)
|
|
hash functions on boot (or module load).
|
|
|
|
This is intended to help people writing architecture-specific
|
|
optimized versions. If unsure, say N.
|
|
|
|
config TEST_IDA
|
|
tristate "Perform selftest on IDA functions"
|
|
|
|
config TEST_PARMAN
|
|
tristate "Perform selftest on priority array manager"
|
|
depends on PARMAN
|
|
help
|
|
Enable this option to test priority array manager on boot
|
|
(or module load).
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_IRQ_TIMINGS
|
|
bool "IRQ timings selftest"
|
|
depends on IRQ_TIMINGS
|
|
help
|
|
Enable this option to test the irq timings code on boot.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_LKM
|
|
tristate "Test module loading with 'hello world' module"
|
|
depends on m
|
|
help
|
|
This builds the "test_module" module that emits "Hello, world"
|
|
on printk when loaded. It is designed to be used for basic
|
|
evaluation of the module loading subsystem (for example when
|
|
validating module verification). It lacks any extra dependencies,
|
|
and will not normally be loaded by the system unless explicitly
|
|
requested by name.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_BITOPS
|
|
tristate "Test module for compilation of bitops operations"
|
|
depends on m
|
|
help
|
|
This builds the "test_bitops" module that is much like the
|
|
TEST_LKM module except that it does a basic exercise of the
|
|
set/clear_bit macros and get_count_order/long to make sure there are
|
|
no compiler warnings from C=1 sparse checker or -Wextra
|
|
compilations. It has no dependencies and doesn't run or load unless
|
|
explicitly requested by name. for example: modprobe test_bitops.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_VMALLOC
|
|
tristate "Test module for stress/performance analysis of vmalloc allocator"
|
|
default n
|
|
depends on MMU
|
|
depends on m
|
|
help
|
|
This builds the "test_vmalloc" module that should be used for
|
|
stress and performance analysis. So, any new change for vmalloc
|
|
subsystem can be evaluated from performance and stability point
|
|
of view.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_USER_COPY
|
|
tristate "Test user/kernel boundary protections"
|
|
depends on m
|
|
help
|
|
This builds the "test_user_copy" module that runs sanity checks
|
|
on the copy_to/from_user infrastructure, making sure basic
|
|
user/kernel boundary testing is working. If it fails to load,
|
|
a regression has been detected in the user/kernel memory boundary
|
|
protections.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_BPF
|
|
tristate "Test BPF filter functionality"
|
|
depends on m && NET
|
|
help
|
|
This builds the "test_bpf" module that runs various test vectors
|
|
against the BPF interpreter or BPF JIT compiler depending on the
|
|
current setting. This is in particular useful for BPF JIT compiler
|
|
development, but also to run regression tests against changes in
|
|
the interpreter code. It also enables test stubs for eBPF maps and
|
|
verifier used by user space verifier testsuite.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_BLACKHOLE_DEV
|
|
tristate "Test blackhole netdev functionality"
|
|
depends on m && NET
|
|
help
|
|
This builds the "test_blackhole_dev" module that validates the
|
|
data path through this blackhole netdev.
|
|
|
|
If unsure, say N.
|
|
|
|
config FIND_BIT_BENCHMARK
|
|
tristate "Test find_bit functions"
|
|
help
|
|
This builds the "test_find_bit" module that measure find_*_bit()
|
|
functions performance.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_FIRMWARE
|
|
tristate "Test firmware loading via userspace interface"
|
|
depends on FW_LOADER
|
|
help
|
|
This builds the "test_firmware" module that creates a userspace
|
|
interface for testing firmware loading. This can be used to
|
|
control the triggering of firmware loading without needing an
|
|
actual firmware-using device. The contents can be rechecked by
|
|
userspace.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_SYSCTL
|
|
tristate "sysctl test driver"
|
|
depends on PROC_SYSCTL
|
|
help
|
|
This builds the "test_sysctl" module. This driver enables to test the
|
|
proc sysctl interfaces available to drivers safely without affecting
|
|
production knobs which might alter system functionality.
|
|
|
|
If unsure, say N.
|
|
|
|
config BITFIELD_KUNIT
|
|
tristate "KUnit test bitfield functions at runtime"
|
|
depends on KUNIT
|
|
help
|
|
Enable this option to test the bitfield functions at boot.
|
|
|
|
KUnit tests run during boot and output the results to the debug log
|
|
in TAP format (http://testanything.org/). Only useful for kernel devs
|
|
running the KUnit test harness, and not intended for inclusion into a
|
|
production build.
|
|
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config SYSCTL_KUNIT_TEST
|
|
tristate "KUnit test for sysctl" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
This builds the proc sysctl unit test, which runs on boot.
|
|
Tests the API contract and implementation correctness of sysctl.
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config LIST_KUNIT_TEST
|
|
tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS
|
|
depends on KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
This builds the linked list KUnit test suite.
|
|
It tests that the API and basic functionality of the list_head type
|
|
and associated macros.
|
|
|
|
KUnit tests run during boot and output the results to the debug log
|
|
in TAP format (https://testanything.org/). Only useful for kernel devs
|
|
running the KUnit test harness, and not intended for inclusion into a
|
|
production build.
|
|
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config LINEAR_RANGES_TEST
|
|
tristate "KUnit test for linear_ranges"
|
|
depends on KUNIT
|
|
select LINEAR_RANGES
|
|
help
|
|
This builds the linear_ranges unit test, which runs on boot.
|
|
Tests the linear_ranges logic correctness.
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config BITS_TEST
|
|
tristate "KUnit test for bits.h"
|
|
depends on KUNIT
|
|
help
|
|
This builds the bits unit test.
|
|
Tests the logic of macros defined in bits.h.
|
|
For more information on KUnit and unit tests in general please refer
|
|
to the KUnit documentation in Documentation/dev-tools/kunit/.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_UDELAY
|
|
tristate "udelay test driver"
|
|
help
|
|
This builds the "udelay_test" module that helps to make sure
|
|
that udelay() is working properly.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_STATIC_KEYS
|
|
tristate "Test static keys"
|
|
depends on m
|
|
help
|
|
Test the static key interfaces.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_KMOD
|
|
tristate "kmod stress tester"
|
|
depends on m
|
|
depends on NETDEVICES && NET_CORE && INET # for TUN
|
|
depends on BLOCK
|
|
select TEST_LKM
|
|
select XFS_FS
|
|
select TUN
|
|
select BTRFS_FS
|
|
help
|
|
Test the kernel's module loading mechanism: kmod. kmod implements
|
|
support to load modules using the Linux kernel's usermode helper.
|
|
This test provides a series of tests against kmod.
|
|
|
|
Although technically you can either build test_kmod as a module or
|
|
into the kernel we disallow building it into the kernel since
|
|
it stress tests request_module() and this will very likely cause
|
|
some issues by taking over precious threads available from other
|
|
module load requests, ultimately this could be fatal.
|
|
|
|
To run tests run:
|
|
|
|
tools/testing/selftests/kmod/kmod.sh --help
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_DEBUG_VIRTUAL
|
|
tristate "Test CONFIG_DEBUG_VIRTUAL feature"
|
|
depends on DEBUG_VIRTUAL
|
|
help
|
|
Test the kernel's ability to detect incorrect calls to
|
|
virt_to_phys() done against the non-linear part of the
|
|
kernel's virtual address map.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_MEMCAT_P
|
|
tristate "Test memcat_p() helper function"
|
|
help
|
|
Test the memcat_p() helper for correctly merging two
|
|
pointer arrays together.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_LIVEPATCH
|
|
tristate "Test livepatching"
|
|
default n
|
|
depends on DYNAMIC_DEBUG
|
|
depends on LIVEPATCH
|
|
depends on m
|
|
help
|
|
Test kernel livepatching features for correctness. The tests will
|
|
load test modules that will be livepatched in various scenarios.
|
|
|
|
To run all the livepatching tests:
|
|
|
|
make -C tools/testing/selftests TARGETS=livepatch run_tests
|
|
|
|
Alternatively, individual tests may be invoked:
|
|
|
|
tools/testing/selftests/livepatch/test-callbacks.sh
|
|
tools/testing/selftests/livepatch/test-livepatch.sh
|
|
tools/testing/selftests/livepatch/test-shadow-vars.sh
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_OBJAGG
|
|
tristate "Perform selftest on object aggreration manager"
|
|
default n
|
|
depends on OBJAGG
|
|
help
|
|
Enable this option to test object aggregation manager on boot
|
|
(or module load).
|
|
|
|
|
|
config TEST_STACKINIT
|
|
tristate "Test level of stack variable initialization"
|
|
help
|
|
Test if the kernel is zero-initializing stack variables and
|
|
padding. Coverage is controlled by compiler flags,
|
|
CONFIG_GCC_PLUGIN_STRUCTLEAK, CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF,
|
|
or CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_MEMINIT
|
|
tristate "Test heap/page initialization"
|
|
help
|
|
Test if the kernel is zero-initializing heap and page allocations.
|
|
This can be useful to test init_on_alloc and init_on_free features.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_HMM
|
|
tristate "Test HMM (Heterogeneous Memory Management)"
|
|
depends on TRANSPARENT_HUGEPAGE
|
|
depends on DEVICE_PRIVATE
|
|
select HMM_MIRROR
|
|
select MMU_NOTIFIER
|
|
help
|
|
This is a pseudo device driver solely for testing HMM.
|
|
Say M here if you want to build the HMM test module.
|
|
Doing so will allow you to run tools/testing/selftest/vm/hmm-tests.
|
|
|
|
If unsure, say N.
|
|
|
|
config TEST_FREE_PAGES
|
|
tristate "Test freeing pages"
|
|
help
|
|
Test that a memory leak does not occur due to a race between
|
|
freeing a block of pages and a speculative page reference.
|
|
Loading this module is safe if your kernel has the bug fixed.
|
|
If the bug is not fixed, it will leak gigabytes of memory and
|
|
probably OOM your system.
|
|
|
|
config TEST_FPU
|
|
tristate "Test floating point operations in kernel space"
|
|
depends on X86 && !KCOV_INSTRUMENT_ALL
|
|
help
|
|
Enable this option to add /sys/kernel/debug/selftest_helpers/test_fpu
|
|
which will trigger a sequence of floating point operations. This is used
|
|
for self-testing floating point control register setting in
|
|
kernel_fpu_begin().
|
|
|
|
If unsure, say N.
|
|
|
|
endif # RUNTIME_TESTING_MENU
|
|
|
|
config MEMTEST
|
|
bool "Memtest"
|
|
help
|
|
This option adds a kernel parameter 'memtest', which allows memtest
|
|
to be set.
|
|
memtest=0, mean disabled; -- default
|
|
memtest=1, mean do 1 test pattern;
|
|
...
|
|
memtest=17, mean do 17 test patterns.
|
|
If you are unsure how to answer this question, answer N.
|
|
|
|
|
|
|
|
config HYPERV_TESTING
|
|
bool "Microsoft Hyper-V driver testing"
|
|
default n
|
|
depends on HYPERV && DEBUG_FS
|
|
help
|
|
Select this option to enable Hyper-V vmbus testing.
|
|
|
|
config PANIC_ON_DATA_CORRUPTION
|
|
bool "Cause a Kernel Panic When Data Corruption is detected"
|
|
help
|
|
Select this option to upgrade warnings for potentially
|
|
recoverable data corruption scenarios to system-halting panics,
|
|
for easier detection and debug.
|
|
If we do not panic immediately after corruptions have been detected,
|
|
the problem context is lost in the ensuing system mayhem.
|
|
|
|
source "Documentation/Kconfig"
|
|
|
|
endmenu # "Kernel Testing and Coverage"
|
|
|
|
endmenu # Kernel hacking
|