mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-06 03:45:24 -04:00
* refs/heads/tmp-a9a13ee: Linux 5.4.45 net: smsc911x: Fix runtime PM imbalance on error selftests: mlxsw: qos_mc_aware: Specify arping timeout as an integer net: ethernet: stmmac: Enable interface clocks on probe for IPQ806x net/ethernet/freescale: rework quiesce/activate for ucc_geth null_blk: return error for invalid zone size s390/mm: fix set_huge_pte_at() for empty ptes drm/edid: Add Oculus Rift S to non-desktop list net: bmac: Fix read of MAC address from ROM x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables io_uring: initialize ctx->sqo_wait earlier i2c: altera: Fix race between xfer_msg and isr thread scsi: pm: Balance pm_only counter of request queue during system resume evm: Fix RCU list related warnings ARC: [plat-eznps]: Restrict to CONFIG_ISA_ARCOMPACT ARC: Fix ICCM & DCCM runtime size checks RDMA/qedr: Fix synchronization methods and memory leaks in qedr RDMA/qedr: Fix qpids xarray api used s390/ftrace: save traced function caller ASoC: intel - fix the card names spi: dw: use "smp_mb()" to avoid sending spi data error powerpc/xmon: Restrict when kernel is locked down powerpc/powernv: Avoid re-registration of imc debugfs directory scsi: hisi_sas: Check sas_port before using it drm/i915: fix port checks for MST support on gen >= 11 airo: Fix read overflows sending packets net: dsa: mt7530: set CPU port to fallback mode scsi: ufs: Release clock if DMA map fails media: staging: ipu3-imgu: Move alignment attribute to field media: Revert "staging: imgu: Address a compiler warning on alignment" mmc: fix compilation of user API kernel/relay.c: handle alloc_percpu returning NULL in relay_open mt76: mt76x02u: Add support for newer versions of the XBox One wifi adapter p54usb: add AirVasT USB stick device-id HID: i2c-hid: add Schneider SCL142ALM to descriptor override HID: multitouch: enable multi-input as a quirk for some devices HID: sony: Fix for broken buttons on DS3 USB dongles mm: Fix mremap not considering huge pmd devmap Revert "cgroup: Add memory barriers to plug cgroup_rstat_updated() race window" ANDROID: GKI: Enable SYS_HYPERVISOR ANDROID: Update ABI representation ANDROID: GKI: disable CONFIG_I2C_CHARDEV ANDROID: GKI: remove netfilter apis from supported symbols Linux 5.4.44 perf: Make perf able to build with latest libbfd netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build netfilter: conntrack: Pass value of ctinfo to __nf_conntrack_update netfilter: conntrack: comparison of unsigned in cthelper confirmation bonding: Fix reference count leak in bond_sysfs_slave_add. net: dsa: declare lockless TX feature for slave ports ipv4: nexthop version of fib_info_nh_uses_dev nexthop: Expand nexthop_is_multipath in a few places nexthops: don't modify published nexthop groups nexthops: Move code from remove_nexthop_from_groups to remove_nh_grp_entry crypto: chelsio/chtls: properly set tp->lsndtime qlcnic: fix missing release in qlcnic_83xx_interrupt_test. xsk: Add overflow check for u64 division, stored into u32 ieee80211: Fix incorrect mask for default PE duration bnxt_en: Fix accumulation of bp->net_stats_prev. esp6: get the right proto for transport mode in esp6_gso_encap netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code netfilter: nfnetlink_cthelper: unbreak userspace helper support netfilter: conntrack: make conntrack userspace helpers work again netfilter: ipset: Fix subcounter update skip netfilter: nft_reject_bridge: enable reject with bridge vlan ip_vti: receive ipip packet by calling ip_tunnel_rcv xfrm: fix error in comment xfrm: fix a NULL-ptr deref in xfrm_local_error xfrm: fix a warning in xfrm_policy_insert_list xfrm interface: fix oops when deleting a x-netns interface xfrm: call xfrm_output_gso when inner_protocol is set in xfrm_output xfrm: remove the xfrm_state_put call becofe going to out_reset xfrm: do pskb_pull properly in __xfrm_transport_prep xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input copy_xstate_to_kernel(): don't leave parts of destination uninitialized x86/dma: Fix max PFN arithmetic overflow on 32 bit systems mac80211: mesh: fix discovery timer re-arming issue / crash x86/syscalls: Revert "x86/syscalls: Make __X32_SYSCALL_BIT be unsigned long" cfg80211: fix debugfs rename crash parisc: Fix kernel panic in mem_init() iommu: Fix reference count leak in iommu_group_alloc. gpio: fix locking open drain IRQ lines Revert "block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT" include/asm-generic/topology.h: guard cpumask_of_node() macro argument fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info() mm: remove VM_BUG_ON(PageSlab()) from page_mapcount() mm,thp: stop leaking unreleased file pages IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode drm/amd/display: drop cursor position check in atomic test RDMA/core: Fix double destruction of uobject ceph: flush release queue when handling caps for unknown inode libceph: ignore pool overlay and cache logic on redirects ALSA: hda/realtek - Add new codec supported for ALC287 ALSA: usb-audio: Quirks for Gigabyte TRX40 Aorus Master onboard audio clk: qcom: gcc: Fix parent for gpll0_out_even exec: Always set cap_ambient in cap_bprm_set_creds ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC ALSA: hda/realtek - Add a model for Thinkpad T570 without DAC workaround ALSA: hwdep: fix a left shifting 1 by 31 UB bug RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() gpio: bcm-kona: Fix return value of bcm_kona_gpio_probe() gpio: pxa: Fix return value of pxa_gpio_probe() mmc: block: Fix use-after-free issue for rpmb ARM: dts: bcm: HR2: Fix PPI interrupt types ARM: dts: bcm2835-rpi-zero-w: Fix led polarity ARM: dts/imx6q-bx50v3: Set display interface clock parents IB/qib: Call kobject_put() when kobject_init_and_add() fails gpu/drm: Ingenic: Fix opaque pointer casted to wrong type soc: mediatek: cmdq: return send msg error code arm64: dts: mt8173: fix vcodec-enc clock gpio: exar: Fix bad handling for ida_simple_get error path ARM: uaccess: fix DACR mismatch with nested exceptions ARM: uaccess: integrate uaccess_save and uaccess_restore ARM: uaccess: consolidate uaccess asm to asm/uaccess-asm.h ARM: 8970/1: decompressor: increase tag size Input: synaptics-rmi4 - fix error return code in rmi_driver_probe() Input: synaptics-rmi4 - really fix attn_data use-after-free Input: i8042 - add ThinkPad S230u to i8042 reset list Input: dlink-dir685-touchkeys - fix a typo in driver name Input: xpad - add custom init packet for Xbox One S controllers Input: evdev - call input_flush_device() on release(), not flush() Input: usbtouchscreen - add support for BonXeon TP drivers: net: hamradio: Fix suspicious RCU usage warning in bpqether.c samples: bpf: Fix build error csky: Fixup raw_copy_from_user() cifs: Fix null pointer check in cifs_read hwmon: (nct7904) Fix incorrect range of temperature limit registers csky: Fixup remove duplicate irq_disable csky: Fixup perf callchain unwind csky: Fixup msa highest 3 bits mask clk: ti: am33xx: fix RTC clock parent riscv: stacktrace: Fix undefined reference to `walk_stackframe' IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() net: freescale: select CONFIG_FIXED_PHY where needed usb: gadget: legacy: fix redundant initialization warnings usb: phy: twl6030-usb: Fix a resource leak in an error handling path in 'twl6030_usb_probe()' usb: dwc3: pci: Enable extcon driver for Intel Merrifield cachefiles: Fix race between read_waiter and read_copier involving op->to_do drm/amdgpu: Use GEM obj reference for KFD BOs drm/amd/powerplay: perform PG ungate prior to CG ungate drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate gfs2: Grab glock reference sooner in gfs2_add_revoke gfs2: move privileged user check to gfs2_quota_lock_check net: microchip: encx24j600: add missed kthread_stop ALSA: usb-audio: add mapping for ASRock TRX40 Creator gpio: tegra: mask GPIO IRQs during IRQ shutdown ARM: dts: rockchip: fix pinctrl sub nodename for spi in rk322x.dtsi ARM: dts: rockchip: swap clock-names of gpu nodes arm64: dts: rockchip: swap interrupts interrupt-names rk3399 gpu node arm64: dts: rockchip: fix status for &gmac2phy in rk3328-evb.dts ARM: dts: rockchip: fix phy nodename for rk3229-xms6 ARM: dts: rockchip: fix phy nodename for rk3228-evb mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails net/mlx4_core: fix a memory leak bug. net: sun: fix missing release regions in cas_init_one(). net/tls: free record only on encryption error net/tls: fix encryption error checking net/mlx5: Annotate mutex destroy for root ns net/mlx5: Fix error flow in case of function_setup failure net/mlx5e: Update netdev txq on completions during closure net/mlx5: Fix memory leak in mlx5_events_init net/mlx5e: Fix inner tirs handling net/mlx5e: kTLS, Destroy key object after destroying the TIS tipc: block BH before using dst_cache sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed sctp: Don't add the shutdown timer if its already been added r8152: support additional Microsoft Surface Ethernet Adapter variant nexthop: Fix attribute checking for groups net/tls: fix race condition causing kernel panic net sched: fix reporting the first-time use timestamp net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()" net: qrtr: Fix passing invalid reference to qrtr_local_enqueue() net: nlmsg_cancel() if put fails for nhmsg net: mvpp2: fix RX hashing for non-10G ports net/mlx5: Add command entry handling completion net: ipip: fix wrong address family in init error path net: inet_csk: Fix so_reuseport bind-address cache in tb->fast* __netif_receive_skb_core: pass skb by reference net: ethernet: ti: cpsw: fix ASSERT_RTNL() warning during suspend net: dsa: mt7530: fix roaming from DSA user ports net: don't return invalid table id error when we fall back to PF_UNSPEC dpaa_eth: fix usage as DSA master, try 3 ax25: fix setsockopt(SO_BINDTODEVICE) ANDROID: GKI: enable CONFIG_USB_DUMMY_HCD FROMGIT: USB: dummy-hcd: use configurable endpoint naming scheme ANDROID: GKI: enable a bunch of HID config options =y UPSTREAM: usb: raw-gadget: fix null-ptr-deref when reenabling endpoints UPSTREAM: usb: raw-gadget: documentation updates UPSTREAM: usb: raw-gadget: support stalling/halting/wedging endpoints UPSTREAM: usb: raw-gadget: fix gadget endpoint selection UPSTREAM: usb: raw-gadget: improve uapi headers comments UPSTREAM: usb: raw-gadget: fix return value of ep read ioctls UPSTREAM: usb: raw-gadget: fix raw_event_queue_fetch locking UPSTREAM: usb: raw-gadget: Fix copy_to/from_user() checks ANDROID: GKI: update abi definitions after enabling PCIEPORTBUS Revert "ANDROID: gki_defconfig: Drop CONFIG_PCIEPORTBUS" ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devices at near max mtu ANDROID: GKI: update abi definitions now that sdcardfs is gone Revert "ANDROID: sdcardfs: Enable modular sdcardfs" ANDROID: remove sdcardfs-needed exports from whitelist Revert "ANDROID: vfs: Add setattr2 for filesystems with per mount permissions" Revert "ANDROID: vfs: Add permission2 for filesystems with per mount permissions" Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem support" Revert "ANDROID: fs: Restore vfs_path_lookup() export" ANDROID: sdcardfs: remove sdcardfs from system FROMGIT: driver core: Update device link status correctly for SYNC_STATE_ONLY links UPSTREAM: driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links UPSTREAM: driver core: Fix SYNC_STATE_ONLY device link implementation Revert "ANDROID: Incremental fs: Avoid continually recalculating hashes" ANDROID: remove unused variable Linux 5.4.43 sched/fair: Fix enqueue_task_fair() warning some more sched/fair: Fix reordering of enqueue/dequeue_task_fair() sched/fair: Reorder enqueue/dequeue_task_fair path tpm: check event log version before reading final events rxrpc: Fix ack discard rxrpc: Trace discarded ACKs iio: adc: stm32-dfsdm: fix device used to request dma iio: adc: stm32-dfsdm: Use dma_request_chan() instead dma_request_slave_channel() iio: adc: stm32-adc: fix device used to request dma iio: adc: stm32-adc: Use dma_request_chan() instead dma_request_slave_channel() x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks flow_dissector: Drop BPF flow dissector prog ref on netns cleanup s390/kexec_file: fix initrd location for kdump kernel rxrpc: Fix a memory leak in rxkad_verify_response() rxrpc: Fix the excessive initial retransmission timeout kasan: disable branch tracing for core runtime rapidio: fix an error in get_user_pages_fast() error handling device-dax: don't leak kernel memory to user space after unloading kmem s390/kaslr: add support for R_390_JMP_SLOT relocation type s390/pci: Fix s390_mmio_read/write with MIO ipack: tpci200: fix error return code in tpci200_register() mei: release me_cl object reference tty: serial: add missing spin_lock_init for SiFive serial console misc: rtsx: Add short delay after exit from ASPM iio: adc: ti-ads8344: Fix channel selection iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()' iio: sca3000: Remove an erroneous 'get_device()' staging: greybus: Fix uninitialized scalar variable staging: kpc2000: fix error return code in kp2000_pcie_probe() staging: iio: ad2s1210: Fix SPI reading media: fdp1: Fix R-Car M3-N naming in debug message Revert "gfs2: Don't demote a glock until its revokes are written" kbuild: Remove debug info from kallsyms linking bpf: Avoid setting bpf insns pages read-only when prog is jited powerpc/64s: Disable STRICT_KERNEL_RWX powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE drm/i915: Propagate error from completed fences drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance. vsprintf: don't obfuscate NULL and error pointers dmaengine: owl: Use correct lock in owl_dma_get_pchan() dmaengine: dmatest: Restore default for channel drm/etnaviv: Fix a leak in submit_pin_objects() dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' apparmor: Fix aa_label refcnt leak in policy_update apparmor: fix potential label refcnt leak in aa_change_profile apparmor: Fix use-after-free in aa_audit_rule_init drm/etnaviv: fix perfmon domain interation arm64: Fix PTRACE_SYSEMU semantics scsi: target: Put lun_ref at end of tmr processing scsi: qla2xxx: Do not log message when reading port speed via sysfs ALSA: hda/realtek - Add more fixup entries for Clevo machines ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme ALSA: pcm: fix incorrect hw_base increase ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295 ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295 ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295 ALSA: hda/realtek: Add quirk for Samsung Notebook ALSA: hda/realtek - Add HP new mute led supported for ALC236 ALSA: hda/realtek - Add supported new mute Led for HP ALSA: hda: Manage concurrent reg access more properly ALSA: hda: patch_realtek: fix empty macro usage in if block ALSA: hda - constify and cleanup static NodeID tables scripts/gdb: repair rb_first() and rb_last() ARM: futex: Address build warning KVM: selftests: Fix build for evmcs.h drm/amd/display: Prevent dpcd reads with passive dongles iommu/amd: Call domain_flush_complete() in update_domain() platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA USB: core: Fix misleading driver bug report stmmac: fix pointer check after utilization in stmmac_interrupt ceph: fix double unlock in handle_cap_export() HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp() x86/apic: Move TSC deadline timer debug printk ftrace/selftest: make unresolved cases cause failure if --fail-unresolved set ibmvnic: Skip fatal error reset after passive init x86/mm/cpa: Flush direct map alias during cpa HID: i2c-hid: reset Synaptics SYNA2393 on resume scsi: ibmvscsi: Fix WARN_ON during event pool release net/ena: Fix build warning in ena_xdp_set() component: Silence bind error on -EPROBE_DEFER aquantia: Fix the media type of AQC100 ethernet controller in the driver vhost/vsock: fix packet delivery order to monitoring devices configfs: fix config_item refcnt leak in configfs_rmdir() scsi: qla2xxx: Delete all sessions before unregister local nvme port scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead HID: alps: Add AUI1657 device ID HID: multitouch: add eGalaxTouch P80H84 support gcc-common.h: Update for GCC 10 net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report() kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check mtd: Fix mtd not registered due to nvmem name collision afs: Don't unlock fetched data pages until the op completes successfully ubi: Fix seq_file usage in detailed_erase_block_info debugfs file i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()' evm: Fix a small race in init_desc() iommu/amd: Fix over-read of ACPI UID from IVRS table i2c: fix missing pm_runtime_put_sync in i2c_device_probe ubifs: remove broken lazytime support fix multiplication overflow in copy_fdtable() mtd: spinand: Propagate ECC information to the MTD structure ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive ubifs: fix wrong use of crypto_shash_descsize() ima: Fix return value of ima_write_policy() evm: Check also if *tfm is an error pointer in init_desc() ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash() KVM: SVM: Fix potential memory leak in svm_cpu_init() i2c: dev: Fix the race between the release of i2c_dev and cdev ANDROID: scsi: ufs: Handle clocks when lrbp fails ANDROID: ABI/Whitelist: add erofs whitelist to unisoc whitelist ANDROID: GKI: Update abi for 5.4.42 update UPSTREAM: serial: samsung: 32-bit access for TX/RX hold registers BACKPORT: serial: samsung: dt-bindings: Add reg-io-width compatible UPSTREAM: serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg ANDROID: fscrypt: handle direct I/O with IV_INO_LBLK_32 BACKPORT: FROMLIST: fscrypt: add support for IV_INO_LBLK_32 policies Linux 5.4.42 bpf: Test_progs, fix test_get_stack_rawtp_err.c build selftest/bpf: fix backported test_select_reuseport selftest changes libbpf: Extract and generalize CPU mask parsing logic Makefile: disallow data races on gcc-10 as well KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce bpf: Fix sk_psock refcnt leak when receiving message SUNRPC: Revert241b1f419f("SUNRPC: Remove xdr_buf_trim()") ARM: dts: r8a7740: Add missing extal2 to CPG node arm64: dts: renesas: r8a77980: Fix IPMMU VIP[01] nodes ARM: dts: r8a73a4: Add missing CMT1 interrupts arm64: dts: imx8mn: Change SDMA1 ahb clock for imx8mn arm64: dts: rockchip: Rename dwc3 device nodes on rk3399 to make dtc happy arm64: dts: rockchip: Replace RK805 PMIC node name with "pmic" on rk3328 boards arm64: dts: meson-g12-common: fix dwc2 clock names arm64: dts: meson-g12b-khadas-vim3: add missing frddr_a status property clk: Unlink clock if failed to prepare or enable Revert "ALSA: hda/realtek: Fix pop noise on ALC225" usb: gadget: legacy: fix error return code in cdc_bind() usb: gadget: legacy: fix error return code in gncm_bind() usb: gadget: audio: Fix a missing error return value in audio_bind() usb: gadget: net2272: Fix a memory leak in an error handling path in 'net2272_plat_probe()' fanotify: fix merging marks masks with FAN_ONDIR dwc3: Remove check for HWO flag in dwc3_gadget_ep_reclaim_trb_sg() clk: rockchip: fix incorrect configuration of rk3228 aclk_gpu* clocks exec: Move would_dump into flush_old_exec x86/unwind/orc: Fix error handling in __unwind_start() x86: Fix early boot crash on gcc-10, third try cifs: fix leaked reference on requeued write powerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG drm/amd/display: add basic atomic check for cursor plane ARM: dts: imx6dl-yapp4: Fix Ursa board Ethernet connection ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries ARM: dts: dra7: Fix bus_dma_limit for PCIe Make the "Reducing compressed framebufer size" message be DRM_INFO_ONCE() usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list USB: gadget: fix illegal array access in binding with UDC usb: cdns3: gadget: prev_req->trb is NULL for ep0 usb: host: xhci-plat: keep runtime active when removing host usb: core: hub: limit HUB_QUIRK_DISABLE_AUTOSUSPEND to USB5534B ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset ALSA: rawmidi: Fix racy buffer resize under concurrent accesses ALSA: hda/realtek - Add COEF workaround for ASUS ZenBook UX431DA ALSA: hda/realtek - Limit int mic boost for Thinkpad T530 USB: usbfs: fix mmap dma mismatch usb: usbfs: correct kernel->user page attribute mismatch gcc-10: avoid shadowing standard library 'free()' in crypto gcc-10: mark more functions __init to avoid section mismatch warnings gcc-10 warnings: fix low-hanging fruit gcc-10: disable 'restrict' warning for now gcc-10: disable 'stringop-overflow' warning for now gcc-10: disable 'array-bounds' warning for now gcc-10: disable 'zero-length-bounds' warning for now Stop the ad-hoc games with -Wno-maybe-initialized net/rds: Use ERR_PTR for rds_message_alloc_sgs() pnp: Use list_for_each_entry() instead of open coding NFSv3: fix rpc receive buffer size for MOUNT call mm, memcg: fix inconsistent oom event behavior s390/ism: fix error return code in ism_probe() hwmon: (da9052) Synchronize access with mfd RDMA/iw_cxgb4: Fix incorrect function parameters RDMA/core: Fix double put of resource IB/core: Fix potential NULL pointer dereference in pkey cache IB/mlx4: Test return value of calls to ib_get_cached_pkey RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() netfilter: nft_set_rbtree: Add missing expired checks netfilter: nft_set_rbtree: Introduce and use nft_rbtree_interval_start() SUNRPC: Signalled ASYNC tasks need to exit nfs: fix NULL deference in nfs4_get_valid_delegation arm64: fix the flush_icache_range arguments in machine_kexec drm/i915/gvt: Fix kernel oops for 3-level ppgtt guest netfilter: conntrack: avoid gcc-10 zero-length-bounds warning NFSv4: Fix fscache cookie aux_data to ensure change_attr is included nfs: fscache: use timespec64 in inode auxdata NFS: Fix fscache super_cookie index_key from changing after umount drm/amdgpu: force fbdev into vram fork: prevent accidental access to clone3 features gfs2: More gfs2_find_jhead fixes mmc: block: Fix request completion in the CQE timeout path mmc: core: Fix recursive locking issue in CQE recovery path mmc: core: Check request type before completing the request mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 mmc: alcor: Fix a resource leak in the error path for ->probe() bpf, sockmap: bpf_tcp_ingress needs to subtract bytes from sg.size bpf, sockmap: msg_pop_data can incorrecty set an sge length drm/i915: Don't enable WaIncreaseLatencyIPCEnabled when IPC is disabled i40iw: Fix error handling in i40iw_manage_arp_cache() ALSA: firewire-lib: fix 'function sizeof not defined' error of tracepoints format bpf: Fix error return code in map_lookup_and_delete_elem() pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler pinctrl: qcom: fix wrong write in update_dual_edge pinctrl: baytrail: Enable pin configuration setting for GPIO chip pinctrl: sunrisepoint: Fix PAD lock register offset for SPT-H ACPI: EC: PM: Avoid premature returns from acpi_s2idle_wake() IB/hfi1: Fix another case where pq is left on waitlist mmc: sdhci-pci-gli: Fix no irq handler from suspend gfs2: Another gfs2_walk_metadata fix ALSA: hda/realtek - Fix S3 pop noise on Dell Wyse ipc/util.c: sysvipc_find_ipc() incorrectly updates position index drm/amdgpu: invalidate L2 before SDMA IBs (v2) drm/amdgpu: simplify padding calculations (v2) drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper() drm/amd/display: Update downspread percent to match spreadsheet for DCN2.1 drm/amd/display: check if REFCLK_CNTL register is present drm/amd/powerplay: avoid using pm_en before it is initialized revised ALSA: hda/hdmi: fix race in monitor detection during probe cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once selftests/ftrace: Check the first record for kprobe_args_type.tc dmaengine: mmp_tdma: Reset channel error on release dmaengine: mmp_tdma: Do not ignore slave config validation errors dmaengine: pch_dma.c: Avoid data race between probe and irq handler riscv: fix vdso build with lld umh: fix memory leak on execve failure r8169: re-establish support for RTL8401 chip version nfp: abm: fix error return code in nfp_abm_vnic_alloc() net: tcp: fix rx timestamp behavior for tcp_recvmsg netprio_cgroup: Fix unlimited memory leak of v2 cgroups net: ipv4: really enforce backoff for redirects net: dsa: loop: Add module soft dependency hinic: fix a bug of ndo_stop dpaa2-eth: prevent array underflow in update_cls_rule() virtio_net: fix lockdep warning on 32 bit tcp: fix SO_RCVLOWAT hangs with fat skbs tcp: fix error recovery in tcp_zerocopy_receive() Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu" pppoe: only process PADT targeted at local interfaces net: stmmac: fix num_por initialization net: phy: fix aneg restart in phy_ethtool_set_eee netlabel: cope with NULL catmap net: fix a potential recursive NETDEV_FEAT_CHANGE dpaa2-eth: properly handle buffer size restrictions mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 selftests/bpf: fix goto cleanup label not defined scsi: sg: add sg_remove_request in sg_write net_sched: fix tcm_parent in tc filter dump sun6i: dsi: fix gcc-4.8 virtio-blk: handle block_device_operations callbacks after hot unplug drop_monitor: work around gcc-10 stringop-overflow warning ftrace/selftests: workaround cgroup RT scheduling issues net: moxa: Fix a potential double 'free_irq()' net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()' SUNRPC: Fix GSS privacy computation of auth->au_ralign SUNRPC: Add "@len" parameter to gss_unwrap() gpio: pca953x: Fix pca953x_gpio_set_config KVM: arm: vgic: Synchronize the whole guest on GIC{D,R}_I{S,C}ACTIVER read net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. shmem: fix possible deadlocks on shmlock_user_lock net: dsa: Do not make user port errors fatal f2fs: flush dirty meta pages when flushing them f2fs: fix checkpoint=disable:%u%% f2fs: rework filename handling f2fs: split f2fs_d_compare() from f2fs_match_name() f2fs: don't leak filename in f2fs_try_convert_inline_dir() ANDROID: clang: update to 11.0.1 FROMLIST: x86_64: fix jiffies ODR violation ANDROID: ABI/Whitelist: add ufs whitelist to unisoc whitelist ANDROID: GKI: Enable net testing options ANDROID: fscrypt: set dun_bytes more precisely ANDROID: dm-default-key: set dun_bytes more precisely ANDROID: block: backport the ability to specify max_dun_bytes ANDROID: Incremental fs: wake up log pollers less often ANDROID: Incremental fs: Fix scheduling while atomic error ANDROID: Incremental fs: Avoid continually recalculating hashes ANDROID: export: Disable symbol trimming on modules ANDROID: ABI/Whitelist: add the symbol sdhci_request_atomic to unisoc whitelist FROMGIT: media: uapi: h264: Add new profile and levels FROMGIT: media: v4l2-ctrl: Add H264 profile and levels ANDROID: GKI: abi update due to mmc patches merged FROMGIT: mmc: host: sdhci-sprd: Implement the request_atomic() API FROMGIT: mmc: host: sdhci: Implement the request_atomic() API FROMGIT: mmc: host: Introduce the request_atomic() for the host FROMGIT: mmc: sdhci: Reduce maximum time under spinlock in sdhci_send_command() FROMGIT: mmc: sdhci: Tidy sdhci_request() a bit FROMGIT: mmc: sdhci: Remove unneeded forward declaration of sdhci_finish_data() FROMGIT: mmc: sdhci: Stop exporting sdhci_send_command() FROMGIT: mmc: sdhci: Add helpers for the auto-CMD23 flag FROMGIT: mmc: sdhci-sprd: Drop redundant cap flags ANDROID: GKI: update abi definition due to 5.4.41 merge Linux 5.4.41 fanotify: merge duplicate events on parent and child fsnotify: replace inode pointer with an object id bdi: add a ->dev_name field to struct backing_dev_info bdi: move bdi_dev_name out of line mm, memcg: fix error return value of mem_cgroup_css_alloc() scripts/decodecode: fix trapping instruction formatting iommu/virtio: Reverse arguments to list_add objtool: Fix stack offset tracking for indirect CFAs netfilter: nf_osf: avoid passing pointer to local var netfilter: nat: never update the UDP checksum when it's 0 arch/x86/kvm/svm/sev.c: change flag passed to GUP fast in sev_pin_memory() KVM: x86: Fixes posted interrupt check for IRQs delivery modes x86/unwind/orc: Fix premature unwind stoppage due to IRET frames x86/unwind/orc: Fix error path for bad ORC entry type x86/unwind/orc: Prevent unwinding before ORC initialization x86/unwind/orc: Don't skip the first frame for inactive tasks x86/entry/64: Fix unwind hints in rewind_stack_do_exit() x86/entry/64: Fix unwind hints in kernel exit path x86/entry/64: Fix unwind hints in register clearing code batman-adv: Fix refcnt leak in batadv_v_ogm_process batman-adv: Fix refcnt leak in batadv_store_throughput_override batman-adv: Fix refcnt leak in batadv_show_throughput_override batman-adv: fix batadv_nc_random_weight_tq iocost: protect iocg->abs_vdebt with iocg->waitq.lock riscv: set max_pfn to the PFN of the last page coredump: fix crash when umh is disabled staging: gasket: Check the return value of gasket_get_bar_index() ceph: demote quotarealm lookup warning to a debug message ceph: fix endianness bug when handling MDS session feature bits mm: limit boost_watermark on small zones mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous() eventpoll: fix missing wakeup for ovflist in ep_poll_callback epoll: atomically remove wait entry on wake up ipc/mqueue.c: change __do_notify() to bypass check_kill_permission() drm: ingenic-drm: add MODULE_DEVICE_TABLE arm64: hugetlb: avoid potential NULL dereference KVM: arm64: Fix 32bit PC wrap-around KVM: arm: vgic: Fix limit condition when writing to GICD_I[CS]ACTIVER KVM: VMX: Explicitly clear RFLAGS.CF and RFLAGS.ZF in VM-Exit RSB path KVM: s390: Remove false WARN_ON_ONCE for the PQAP instruction crypto: arch/nhpoly1305 - process in explicit 4k chunks tracing: Add a vmalloc_sync_mappings() for safe measure USB: serial: garmin_gps: add sanity checking for data length usb: chipidea: msm: Ensure proper controller reset using role switch API USB: uas: add quirk for LaCie 2Big Quadra HID: wacom: Report 2nd-gen Intuos Pro S center button status over BT HID: usbhid: Fix race between usbhid_close() and usbhid_stop() Revert "HID: wacom: generic: read the number of expected touches on a per collection basis" sctp: Fix bundling of SHUTDOWN with COOKIE-ACK HID: wacom: Read HID_DG_CONTACTMAX directly for non-generic devices net: mvpp2: cls: Prevent buffer overflow in mvpp2_ethtool_cls_rule_del() net: mvpp2: prevent buffer overflow in mvpp22_rss_ctx() net/mlx5: Fix command entry leak in Internal Error State net/mlx5: Fix forced completion access non initialized command entry net/mlx5: DR, On creation set CQ's arm_db member to right value bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features(). bnxt_en: Return error when allocating zero size context memory. bnxt_en: Improve AER slot reset. bnxt_en: Reduce BNXT_MSIX_VEC_MAX value to supported CQs per PF. bnxt_en: Fix VF anti-spoof filter setup. tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040 tipc: fix partial topology connection closure sch_sfq: validate silly quantum values sch_choke: avoid potential panic in choke_reset() nfp: abm: fix a memory leak bug net: usb: qmi_wwan: add support for DW5816e net/tls: Fix sk_psock refcnt leak when in tls_data_ready() net/tls: Fix sk_psock refcnt leak in bpf_exec_tx_verdict() net: tc35815: Fix phydev supported/advertising mask net: stricter validation of untrusted gso packets net_sched: sch_skbprio: add message validation to skbprio_change() net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc() net: macsec: preserve ingress frame ordering net: macb: fix an issue about leak related system resources net: dsa: Do not leave DSA master with NULL netdev_ops neigh: send protocol value in neighbor create notification mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly ipv6: Use global sernum for dst validation with nexthop objects fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks dp83640: reverse arguments to list_add_tail devlink: fix return value after hitting end in region read tty: xilinx_uartps: Fix missing id assignment to the console vt: fix unicode console freeing with a common interface drm/amdgpu: drop redundant cg/pg ungate on runpm enter drm/amdgpu: move kfd suspend after ip_suspend_phase1 net: macb: Fix runtime PM refcounting tracing/kprobes: Fix a double initialization typo nvme: fix possible hang when ns scanning fails during error recovery nvme: refactor nvme_identify_ns_descs error handling USB: serial: qcserial: Add DW5816e support ANDROID: GKI: enable CONFIG_IRQ_TIME_ACCOUNTING ANDROID: GKI: Enable CONFIG_STATIC_USERMODEHELPER ANDROID: dm-default-key: Update key size for wrapped keys ANDROID: GKI: x86: Drop CONFIG_DEVPORT Linux 5.4.40 PM / devfreq: Add missing locking while setting suspend_freq udp: document udp_rcv_segment special case for looped packets tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel sources Revert "drm/amd/display: setting the DIG_MODE to the correct value." mm/mremap: Add comment explaining the untagging behaviour of mremap() libbpf: Fix readelf output parsing for Fedora cgroup, netclassid: remove double cond_resched mac80211: add ieee80211_is_any_nullfunc() ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late() platform/x86: GPD pocket fan: Fix error message when temp-limits are out of range x86/kvm: fix a missing-prototypes "vmread_error" ALSA: hda: Match both PCI ID and SSID for driver blacklist hexagon: define ioremap_uc hexagon: clean up ioremap mfd: intel-lpss: Use devm_ioremap_uc for MMIO lib: devres: add a helper function for ioremap_uc Revert "software node: Simplify software_node_release() function" drm/amdgpu: Fix oops when pp_funcs is unset in ACPI event sctp: Fix SHUTDOWN CTSN Ack in the peer restart case drm/i915: Extend WaDisableDARBFClkGating to icl,ehl,tgl net: systemport: suppress warnings on failed Rx SKB allocations net: bcmgenet: suppress warnings on failed Rx SKB allocations mac80211: sta_info: Add lockdep condition for RCU list usage lib/mpi: Fix building for powerpc with clang tracing: Fix memory leaks in trace_events_hist.c cifs: do not share tcons with DFS scripts/config: allow colons in option strings for sed cifs: protect updating server->dstaddr with a spinlock ASoC: rsnd: Fix "status check failed" spam for multi-SSI ASoC: rsnd: Don't treat master SSI in multi SSI setup as parent net: stmmac: Fix sub-second increment net: stmmac: fix enabling socfpga's ptp_ref_clock wimax/i2400m: Fix potential urb refcnt leak drm/amdgpu: Correctly initialize thermal controller for GPUs with Powerplay table v0 (e.g Hawaii) remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe() ASoC: codecs: hdac_hdmi: Fix incorrect use of list_for_each_entry ASoC: rsnd: Fix HDMI channel mapping for multi-SSI mode ASoC: rsnd: Fix parent SSI start/stop in multi-SSI mode usb: dwc3: gadget: Properly set maxpacket limit ASoC: topology: Fix endianness issue ASoC: sgtl5000: Fix VAG power-on handling selftests/ipc: Fix test failure seen after initial test run ASoC: topology: Check return value of soc_tplg_dai_config ASoC: topology: Check return value of pcm_new_ver ASoC: topology: Check soc_tplg_add_route return value ASoC: topology: Check return value of soc_tplg_*_create ASoC: topology: Check return value of soc_tplg_create_tlv drm/bridge: analogix_dp: Split bind() into probe() and real bind() vhost: vsock: kick send_pkt worker once device is started ANDROID: GKI: update abi definition due to FAIR_GROUP_SCHED removal ANDROID: GKI: Remove FAIR_GROUP_SCHED ANDROID: Drop ABI monitoring from KASAN build config ANDROID: Enforce KMI stability Linux 5.4.39 selinux: properly handle multiple messages in selinux_netlink_send() arm64: vdso: Add -fasynchronous-unwind-tables to cflags dmaengine: dmatest: Fix process hang when reading 'wait' parameter dmaengine: dmatest: Fix iteration non-stop logic nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl nvme: prevent double free in nvme_alloc_ns() error handling Fix use after free in get_tree_bdev() ALSA: opti9xx: shut up gcc-10 range warning i2c: aspeed: Avoid i2c interrupt status clear race condition. iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system scsi: target/iblock: fix WRITE SAME zeroing iommu/qcom: Fix local_base status check vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() vfio: avoid possible overflow in vfio_iommu_type1_pin_pages i2c: iproc: generate stop event for slave writes RDMA/cm: Fix an error check in cm_alloc_id_priv() RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() RDMA/core: Fix race between destroy and release FD object RDMA/core: Prevent mixed use of FDs between shared ufiles RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() RDMA/mlx4: Initialize ib_spec on the stack RDMA/mlx5: Set GRH fields in query QP on RoCE scsi: qla2xxx: check UNLOADING before posting async work scsi: qla2xxx: set UNLOADING before waiting for session deletion ARM: dts: imx6qdl-sr-som-ti: indicate powering off wifi is safe dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath dm writecache: fix data corruption when reloading the target dm verity fec: fix hash block number in verity_fec_decode PM: hibernate: Freeze kernel threads in software_resume() PM: ACPI: Output correct message on target power state IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() dlmfs_file_write(): fix the bogosity in handling non-zero *ppos Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM i2c: amd-mp2-pci: Fix Oops in amd_mp2_pci_init() error handling ALSA: pcm: oss: Place the plugin buffer overflow checks correctly ALSA: line6: Fix POD HD500 audio playback ALSA: hda/hdmi: fix without unlocked before return ALSA: usb-audio: Correct a typo of NuPrime DAC-10 USB ID ALSA: hda/realtek - Two front mics on a Lenovo ThinkCenter crypto: caam - fix the address of the last entry of S/G mmc: meson-mx-sdio: remove the broken ->card_busy() op mmc: meson-mx-sdio: Set MMC_CAP_WAIT_WHILE_BUSY mmc: sdhci-msm: Enable host capabilities pertains to R1b response mmc: sdhci-pci: Fix eMMC driver strength for BYT-based controllers mmc: sdhci-xenon: fix annoying 1.8V regulator warning mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout loop btrfs: transaction: Avoid deadlock due to bad initialization timing of fs_info::journal_info btrfs: fix partial loss of prealloc extent past i_size after fsync btrfs: fix block group leak when removing fails btrfs: fix transaction leak in btrfs_recover_relocation NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION drm/qxl: qxl_release use after free drm/qxl: qxl_release leak in qxl_hw_surface_alloc() drm/qxl: qxl_release leak in qxl_draw_dirty_fb() drm/amd/display: Fix green screen issue after suspend drm/edid: Fix off-by-one in DispID DTD pixel clock dma-buf: Fix SET_NAME ioctl uapi ANDROID: Rename build.config.gki.arch_kasan ANDROID: Incremental fs: Fix issues with very large files ANDROID: Correct build.config branch name FROMGIT: f2fs: fix missing check for f2fs_unlock_op ANDROID: Fix build.config.gki-debug UPSTREAM: vdso: Fix clocksource.h macro detection Linux 5.4.38 Revert "ASoC: meson: axg-card: fix codec-to-codec link setup" ANDROID: GKI: update abi definition due to added padding ANDROID: GKI: user_namespace.h: add Android ABI padding to a structure ANDROID: GKI: timer.h: add Android ABI padding to a structure ANDROID: GKI: quota.h: add Android ABI padding to some structures ANDROID: GKI: mmu_notifier.h: add Android ABI padding to some structures ANDROID: GKI: mm.h: add Android ABI padding to a structure ANDROID: GKI: kobject.h: add Android ABI padding to some structures ANDROID: GKI: kernfs.h: add Android ABI padding to some structures ANDROID: GKI: irqdomain.h: add Android ABI padding to a structure ANDROID: GKI: ioport.h: add Android ABI padding to a structure ANDROID: GKI: iomap.h: add Android ABI padding to a structure ANDROID: GKI: hrtimer.h: add Android ABI padding to a structure ANDROID: GKI: genhd.h: add Android ABI padding to some structures ANDROID: GKI: ethtool.h: add Android ABI padding to a structure ANDROID: GKI: dma-mapping.h: add Android ABI padding to a structure ANDROID: GKI: sched: add Android ABI padding to some structures ANDROID: GKI: networking: add Android ABI padding to a lot of networking structures ANDROID: GKI: blk_types.h: add Android ABI padding to a structure ANDROID: GKI: scsi.h: add Android ABI padding to a structure ANDROID: GKI: pci: add Android ABI padding to some structures ANDROID: GKI: update abi definition due to 5.4.37 merge Linux 5.4.37 ASoC: stm32: spdifrx: fix regmap status check ASoC: soc-core: disable route checks for legacy devices ext4: check for non-zero journal inum in ext4_calculate_overhead qed: Fix use after free in qed_chain_free net: use indirect call wrappers for skb_copy_datagram_iter() Crypto: chelsio - Fixes a hang issue during driver registration qed: Fix race condition between scheduling and destroying the slowpath workqueue taprio: do not use BIT() in TCA_TAPRIO_ATTR_FLAG_* definitions hwmon: (jc42) Fix name to have no illegal characters blk-mq: Put driver tag in blk_mq_dispatch_rq_list() when no budget ext4: convert BUG_ON's to WARN_ON's in mballoc.c ext4: increase wait time needed before reuse of deleted inode numbers ext4: use matching invalidatepage in ext4_writepage arm64: Delete the space separator in __emit_inst mac80211: fix channel switch trigger from unknown mesh peer net: stmmac: socfpga: Allow all RGMII modes ALSA: hda: call runtime_allow() for all hda controllers xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status objtool: Support Clang non-section symbols in ORC dump objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN scsi: target: fix PR IN / READ FULL STATUS for FC ALSA: hda: Explicitly permit using autosuspend if runtime PM is supported ALSA: hda: Keep the controller initialization even if no codecs found ALSA: hda: Release resources at error in delayed probe xfs: fix partially uninitialized structure in xfs_reflink_remap_extent afs: Fix length of dump of bad YFSFetchStatus record signal: check sig before setting info in kill_pid_usb_asyncio x86: hyperv: report value of misc_features net: fec: set GPR bit on suspend by DT configuration. libbpf: Initialize *nl_pid so gcc 10 is happy bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B xfs: clear PF_MEMALLOC before exiting xfsaild thread mm: shmem: disable interrupt when acquiring info->lock in userfaultfd_copy path bpf, x86_32: Fix logic error in BPF_LDX zero-extension bpf, x86_32: Fix clobbering of dst for BPF_JSET bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension um: ensure `make ARCH=um mrproper` removes arch/$(SUBARCH)/include/generated/ blk-iocost: Fix error on iocost_ioc_vrate_adj PM: sleep: core: Switch back to async_schedule_dev() netfilter: nat: fix error handling upon registering inet hook perf/core: fix parent pid/tid in task exit events sched/core: Fix reset-on-fork from RT with uclamp net/mlx5: Fix failing fw tracer allocation on s390 s390/pci: do not set affinity for floating irqs cpumap: Avoid warning when CONFIG_DEBUG_PER_CPU_MAPS is enabled ARM: dts: bcm283x: Disable dsi0 node PCI: Move Apex Edge TPU class quirk to fix BAR assignment PCI: Add ACS quirk for Zhaoxin Root/Downstream Ports PCI: Add Zhaoxin Vendor ID PCI: Unify ACS quirk desired vs provided checking PCI: Make ACS quirk implementations more uniform PCI: Add ACS quirk for Zhaoxin multi-function devices PCI: Avoid ASMedia XHCI USB PME# from D0 defect net/mlx5e: Get the latest values from counters in switchdev mode net/mlx5e: Don't trigger IRQ multiple times on XSK wakeup to avoid WQ overruns svcrdma: Fix leak of svc_rdma_recv_ctxt objects svcrdma: Fix trace point use-after-free race xfs: acquire superblock freeze protection on eofblocks scans net/cxgb4: Check the return from t4_query_params properly rxrpc: Fix DATA Tx to disable nofrag for UDP on AF_INET6 socket i2c: altera: use proper variable to hold errno bpf: Forbid XADD on spilled pointers for unprivileged users nfsd: memory corruption in nfsd4_lock() drivers: soc: xilinx: fix firmware driver Kconfig dependency ASoC: wm8960: Fix wrong clock after suspend & resume ASoC: meson: axg-card: fix codec-to-codec link setup ASoC: tas571x: disable regulators on failed probe ASoC: q6dsp6: q6afe-dai: add missing channels to MI2S DAIs s390/ftrace: fix potential crashes when switching tracers counter: 104-quad-8: Add lock guards - generic interface propagate_one(): mnt_set_mountpoint() needs mount_lock iio:ad7797: Use correct attribute_group afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate usb: gadget: udc: atmel: Fix vbus disconnect handling usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete kbuild: fix DT binding schema rule again to avoid needless rebuilds usb: dwc3: gadget: Do link recovery for SS and SSP ASoC: stm32: sai: fix sai probe printk: queue wake_up_klogd irq_work only if per-CPU areas are ready ubifs: Fix ubifs_tnc_lookup() usage in do_kill_orphans() remoteproc: Fix wrong rvring index computation ANDROID: Update ABI representation after enabling CONFIG_HID_BATTERY_STRENGTH ANDROID: GKI: enable CONFIG_HID_BATTERY_STRENGTH ANDROID: Update ABI representation after adding exynos whitelist ANDROID: Add abi_gki_aarch64_exynos_whitelist ANDROID: build.config.gki.aarch64: Enable WHITELIST_STRICT_MODE ANDROID: abi_gki_aarch64_sunxi_whitelist: remove stale symbols ANDROID: abi_gki_aarch64_unisoc_whitelist: remove stale symbols ANDROID: abi_gki_aarch64_qcom_whitelist: Sync with android-5.4 ANDROID: abi_gki_aarch64_hikey960_whitelist: remove stale symbols ANDROID: Incremental fs: Add setattr call ANDROID: GKI: enable CONFIG_RTC_SYSTOHC on x86 ANDROID: drivers: gpu: drm: fix export symbol type ANDROID: driver: gpu: drm: fix export symbol types ANDROID: drm: kirin: fix export symbol type ANDROID: iommu: fix export symbol type ANDROID: ion: fix export symbol type ANDROID: mm/memory.c: fix export symbol type ANDROID: sdcardfs: fix export symbol type ANDROID: SoC: core: fix export symbol type ANDROID: ufshcd-crypto: fix export symbol type ANDROID: GKI: update abi and cf/gf whitelists ANDROID: GKI: enable CONFIG_RTC_SYSTOHC ANDROID: virt_wifi: fix export symbol types ANDROID: vfs: fix export symbol type ANDROID: vfs: fix export symbol types ANDROID: fscrypt: fix export symbol type ANDROID: cfi: fix export symbol types ANDROID: bpf: fix export symbol type Linux 5.4.36 s390/mm: fix page table upgrade vs 2ndary address mode accesses compat: ARM64: always include asm-generic/compat.h powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32 powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP Revert "serial: uartps: Register own uart console and driver structures" Revert "serial: uartps: Move Port ID to device data structure" Revert "serial: uartps: Change uart ID port allocation" Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES" Revert "serial: uartps: Fix error path when alloc failed" Revert "serial: uartps: Use the same dynamic major number for all ports" Revert "serial: uartps: Fix uartps_major handling" serial: sh-sci: Make sure status register SCxSR is read in correct sequence xhci: Don't clear hub TT buffer on ep0 protocol stall xhci: prevent bus suspend if a roothub port detected a over-current condition xhci: Fix handling halted endpoint even if endpoint ring appears empty usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() usb: dwc3: gadget: Fix request completion check fpga: dfl: pci: fix return value of cci_pci_sriov_configure UAS: fix deadlock in error handling and PM flushing work UAS: no use logging any details in case of ENODEV cdc-acm: introduce a cool down cdc-acm: close race betrween suspend() and acm_softint staging: vt6656: Power save stop wake_up_count wrap around. staging: vt6656: Fix pairwise key entry save. staging: vt6656: Fix drivers TBTT timing counter. staging: vt6656: Fix calling conditions of vnt_set_bss_mode staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default. vt: don't use kmalloc() for the unicode screen buffer vt: don't hardcode the mem allocation upper bound staging: comedi: Fix comedi_device refcnt leak in comedi_open staging: comedi: dt2815: fix writing hi byte of analog output powerpc/setup_64: Set cache-line-size based on cache-block-size ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y cifs: fix uninitialised lease_key in open_shroot() iwlwifi: mvm: fix inactive TID removal return value usage iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation iwlwifi: mvm: limit maximum queue appropriately iwlwifi: mvm: beacon statistics shouldn't go backwards iwlwifi: pcie: actually release queue memory in TVQM SUNRPC: Fix backchannel RPC soft lockups mac80211: populate debugfs only after cfg80211 init ASoC: dapm: fixup dapm kcontrol widget audit: check the length of userspace generated audit records signal: Avoid corrupting si_pid and si_uid in do_notify_parent usb-storage: Add unusual_devs entry for JMicron JMS566 tty: rocket, avoid OOB access tty: hvc: fix buffer overflow during hvc_alloc(). KVM: VMX: Enable machine check support for 32bit targets KVM: Check validity of resolved slot when searching memslots KVM: s390: Return last valid slot if approx index is out-of-bounds tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() tpm: fix wrong return value in tpm_pcr_extend tpm/tpm_tis: Free IRQ if probing fails ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif ALSA: hda/hdmi: Add module option to disable audio component binding ALSA: hda/realtek - Add new codec supported for ALC245 ALSA: hda/realtek - Fix unexpected init_amp override ALSA: usx2y: Fix potential NULL dereference tools/vm: fix cross-compile build mm/ksm: fix NULL pointer dereference when KSM zero page is enabled mm/hugetlb: fix a addressing exception caused by huge_pte_offset coredump: fix null pointer dereference on coredump staging: gasket: Fix incongruency in handling of sysfs entries creation vmalloc: fix remap_vmalloc_range() bounds checks tty: serial: owl: add "much needed" clk_prepare_enable() USB: hub: Revert commitbd0e6c9614("usb: hub: try old enumeration scheme first for high speed devices") USB: hub: Fix handling of connect changes during sleep USB: core: Fix free-while-in-use bug in the USB S-Glibrary USB: early: Handle AMD's spec-compliant identifiers, too USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE USB: sisusbvga: Change port variable from signed to unsigned iio: xilinx-xadc: Make sure not exceed maximum samplerate iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode iio: xilinx-xadc: Fix clearing interrupt when enabling trigger iio: xilinx-xadc: Fix ADC-B powerdown iio: adc: ti-ads8344: properly byte swap value iio: adc: stm32-adc: fix sleep in atomic context iio: st_sensors: rely on odr mask to know if odr can be set iio: core: remove extra semi-colon from devm_iio_device_register() macro ALSA: usb-audio: Add connector notifier delegation ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos ALSA: hda: Remove ASUS ROG Zenith from the blacklist KEYS: Avoid false positive ENOMEM error on key read vrf: Check skb for XFRM_TRANSFORMED flag xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish geneve: use the correct nlattr array in NL_SET_ERR_MSG_ATTR vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL net: dsa: b53: Rework ARL bin logic net: dsa: b53: Fix ARL register definitions net: dsa: b53: Fix valid setting for MDB entries net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled vrf: Fix IPv6 with qdisc and xfrm team: fix hang in team_mode_get() tcp: cache line align MAX_TCP_HEADER selftests: Fix suppress test in fib_tests.sh sched: etf: do not assume all sockets are full blown net/x25: Fix x25_neigh refcnt leak when receiving frame net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array net: openvswitch: ovs_ct_exit to be done under ovs_lock net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node net/mlx4_en: avoid indirect call in TX completion net: bcmgenet: correct per TX/RX ring statistics mlxsw: Fix some IS_ERR() vs NULL bugs macvlan: fix null dereference in macvlan_device_event() macsec: avoid to set wrong mtu ipv6: fix restrict IPV6_ADDRFORM operation ipv4: Update fib_select_default to handle nexthop objects cxgb4: fix large delays in PTP synchronization cxgb4: fix adapter crash due to wrong MC size PCI/PM: Add missing link delays required by the PCIe spec PCI/ASPM: Allow re-enabling Clock PM scsi: smartpqi: fix problem with unique ID for physical device scsi: smartpqi: fix call trace in device discovery scsi: smartpqi: fix controller lockup observed during force reboot virtio-blk: improve virtqueue error to BLK_STS tracing/selftests: Turn off timeout setting ASoC: SOF: trace: fix unconditional free in trace release PCI: pciehp: Prevent deadlock on disconnect libbpf: Fix readelf output parsing on powerpc with recent binutils PCI/PM: Add pcie_wait_for_link_delay() drm/amd/display: Not doing optimize bandwidth if flip pending. xhci: Finetune host initiated USB3 rootport link suspend and resume xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet drm/amd/display: Calculate scaling ratios on every medium/full update perf/core: Disable page faults when getting phys address pwm: bcm2835: Dynamically allocate base pwm: renesas-tpu: Fix late Runtime PM enablement nvme: fix compat address handling in several ioctls powerpc/pseries: Fix MCE handling on pseries Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs enabled" loop: Better discard support for block devices s390/cio: avoid duplicated 'ADD' uevents s390/cio: generate delayed uevent for vfio-ccw subchannels lib/raid6/test: fix build on distros whose /bin/sh is not bash kconfig: qconf: Fix a few alignment issues ipc/util.c: sysvipc_find_ipc() should increase position index selftests: kmod: fix handling test numbers above 9 kernel/gcov/fs.c: gcov_seq_next() should increase position index dma-direct: fix data truncation in dma_direct_get_required_mask() drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax nvme: fix deadlock caused by ANA update wrong locking ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() tools/test/nvdimm: Fix out of tree build scsi: iscsi: Report unbind session event when the target has been removed nvme-tcp: fix possible crash in write_zeroes processing pwm: rcar: Fix late Runtime PM enablement ceph: don't skip updating wanted caps when cap is stale ceph: return ceph_mdsc_do_request() errors from __get_parent() scsi: libfc: If PRLI rejected, move rport to PLOGI state scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG scsi: lpfc: Fix crash after handling a pci error scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login watchdog: reset last_hw_keepalive time at start tools/testing/nvdimm: Fix compilation failure without CONFIG_DEV_DAX_PMEM_COMPAT arm64: Silence clang warning on mismatched value/register sizes arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space arm64: Fake the IminLine size on systems affected by Neoverse-N1 #1542419 arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 net, ip_tunnel: fix interface lookup with no key f2fs: fix to avoid memory leakage in f2fs_listxattr ext4: fix extent_status fragmentation for plain files ANDROID: GKI: Update abi and cf/gf whitelists ANDROID: ABI/Whitelist: update pcie whitelist to unisoc whitelist ANDROID: GKI: Update ABI for DRM core changes ANDROID: add compat cross compiler UPSTREAM: arm64: vdso32: Enable Clang Compilation BACKPORT: lib/vdso: Enable common headers BACKPORT: arm: vdso: Enable arm to use common headers BACKPORT: x86/vdso: Enable x86 to use common headers UPSTREAM: arm64: vdso32: Include common headers in the vdso library UPSTREAM: arm64: vdso: Include common headers in the vdso library UPSTREAM: arm64: Introduce asm/vdso/processor.h UPSTREAM: arm64: vdso32: Code clean up UPSTREAM: linux/elfnote.h: Replace elf.h with UAPI equivalent UPSTREAM: scripts: Fix the inclusion order in modpost UPSTREAM: common: Introduce processor.h UPSTREAM: linux/ktime.h: Extract common header for vDSO UPSTREAM: linux/jiffies.h: Extract common header for vDSO UPSTREAM: linux/time64.h: Extract common header for vDSO BACKPORT: linux/time32.h: Extract common header for vDSO BACKPORT: linux/time.h: Extract common header for vDSO UPSTREAM: linux/math64.h: Extract common header for vDSO BACKPORT: linux/clocksource.h: Extract common header for vDSO BACKPORT: arm64: Introduce asm/vdso/clocksource.h BACKPORT: arm: Introduce asm/vdso/clocksource.h BACKPORT: x86: Introduce asm/vdso/clocksource.h UPSTREAM: linux/limits.h: Extract common header for vDSO UPSTREAM: linux/bits.h: Extract common header for vDSO UPSTREAM: linux/const.h: Extract common header for vDSO BACKPORT: lib/vdso: Allow the high resolution parts to be compiled out BACKPORT: lib/vdso: Only read hrtimer_res when needed in __cvdso_clock_getres() UPSTREAM: lib/vdso: Mark do_hres() and do_coarse() as __always_inline UPSTREAM: lib/vdso: Avoid duplication in __cvdso_clock_getres() UPSTREAM: lib/vdso: Let do_coarse() return 0 to simplify the callsite UPSTREAM: lib/vdso: Remove checks on return value for 32 bit vDSO UPSTREAM: lib/vdso: Build 32 bit specific functions in the right context UPSTREAM: lib/vdso: Make __cvdso_clock_getres() static UPSTREAM: arm64: compat: vdso: Expose BUILD_VDSO32 ANDROID: GKI: Enable GENERIC_IRQ_CHIP ANDROID: ABI/Whitelist: update unisoc Whitelist after CONFIG_PPP =m ANDROID: ABI/Whitelist: update for allwinner. ANDROID: gki_defconfig: enable CONFIG_PM_DEVFREQ_EVENT. ANDROID: Incremental fs: Use simple compression in log buffer ANDROID: dm-bow: Fix not to skip trim at framented range ANDROID: Remove VLA from uid_sys_stats.c ANDROID: ABI/Whitelist: add net whitelist to unisoc Whitelist f2fs: fix missing check for f2fs_unlock_op ANDROID: gki_defconfig: enable CONFIG_MMC_CRYPTO ANDROID: Add padding for crypto related structs in UFS and MMC ANDROID: mmc: MMC crypto API ANDROID: GKI: USB: Add vendor specified variables to hc_driver ANDROID: hikey960_gki.fragment enable CONFIG_SDCARD_FS=m ANDROID: GKI: update abi.xml due to additional Android ABI padding ANDROID: GKI: elevator: add Android ABI padding to some structures ANDROID: GKI: dentry: add Android ABI padding to some structures ANDROID: GKI: bio: add Android ABI padding to some structures ANDROID: GKI: scsi: add Android ABI padding to some structures ANDROID: GKI: ufs: add Android ABI padding to some structures ANDROID: sdcardfs: fix export symbol types Linux 5.4.35 bpf, test_verifier: switch bpf_get_stack's 0 s> r8 test bpf: Test_progs, add test to catch retval refine error handling bpf: Test_verifier, bpf_get_stack return value add <0 bpf: fix buggy r0 retval refinement for tracing helpers KEYS: Don't write out to userspace while holding key semaphore mtd: phram: fix a double free issue in error path mtd: lpddr: Fix a double free in probe() docs: Fix path to MTD command line partition parser mtd: spinand: Explicitly use MTD_OPS_RAW to write the bad block marker to OOB mtd: rawnand: free the nand_device object locktorture: Print ratio of acquisitions, not failures tty: evh_bytechan: Fix out of bounds accesses fbmem: Adjust indentation in fb_prepare_logo and fb_blank iio: si1133: read 24-bit signed integer for measurement ARM: dts: sunxi: Fix DE2 clocks register range fbdev: potential information leak in do_fb_ioctl() dma-debug: fix displaying of dma allocation type net: dsa: bcm_sf2: Fix overflow checks drm/nouveau/gr/gp107,gp108: implement workaround for HW hanging during init f2fs: fix to wait all node page writeback iommu/amd: Fix the configuration of GCR3 table root pointer libnvdimm: Out of bounds read in __nd_ioctl() power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks. csky: Fixup init_fpu compile warning with __init sunrpc: Fix gss_unwrap_resp_integ() again ext2: fix debug reference to ext2_xattr_cache iommu/vt-d: Fix page request descriptor size iommu/vt-d: Silence RCU-list debugging warning in dmar_find_atsr() ext2: fix empty body warnings when -Wextra is used SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize iommu/vt-d: Fix mm reference leak iommu/virtio: Fix freeing of incomplete domains drm/vc4: Fix HDMI mode validation um: falloc.h needs to be directly included for older libc ACPICA: Fixes for acpiExec namespace init file f2fs: fix NULL pointer dereference in f2fs_write_begin() csky: Fixup get wrong psr value from phyical reg NFS: Fix memory leaks in nfs_pageio_stop_mirroring() drm/amdkfd: kfree the wrong pointer csky: Fixup cpu speculative execution to IO area x86: ACPI: fix CPU hotplug deadlock leds: core: Fix warning message when init_data drm/nouveau: workaround runpm fail by disabling PCI power management on certain intel bridges KVM: s390: vsie: Fix possible race when shadowing region 3 tables compiler.h: fix error in BUILD_BUG_ON() reporting percpu_counter: fix a data race at vm_committed_as include/linux/swapops.h: correct guards for non_swap_entry() drm/nouveau/svm: fix vma range check for migration drm/nouveau/svm: check for SVM initialized before migrating mm/hugetlb: fix build failure with HUGETLB_PAGE but not HUGEBTLBFS cifs: Allocate encryption header through kmalloc um: ubd: Prevent buffer overrun on command completion ext4: do not commit super on read-only bdev s390/cpum_sf: Fix wrong page count in error message powerpc/maple: Fix declaration made after definition powerpc/prom_init: Pass the "os-term" message to hypervisor btrfs: add RCU locks around block group initialization hibernate: Allow uswsusp to write to swap s390/cpuinfo: fix wrong output when CPU0 is offline f2fs: Add a new CP flag to help fsck fix resize SPO issues f2fs: Fix mount failure due to SPO after a successful online resize FS NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails phy: uniphier-usb3ss: Add Pro5 support f2fs: fix to show norecovery mount option KVM: PPC: Book3S HV: Fix H_CEDE return code for nested guests ARM: dts: rockchip: fix lvds-encoder ports subnode for rk3188-bqedison2qc NFSv4.2: error out when relink swapfile NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() NFS: alloc_nfs_open_context() must use the file cred when available rtc: 88pm860x: fix possible race condition dma-coherent: fix integer overflow in the reserved-memory dma allocation soc: imx: gpc: fix power up sequencing arm64: dts: clearfog-gt-8k: set gigabit PHY reset deassert delay arm64: tegra: Fix Tegra194 PCIe compatible string arm64: tegra: Add PCIe endpoint controllers nodes for Tegra194 clk: tegra: Fix Tegra PMC clock out parents power: supply: bq27xxx_battery: Silence deferred-probe error arm64: dts: allwinner: a64: Fix display clock register range ARM: dts: rockchip: fix vqmmc-supply property name for rk3188-bqedison2qc f2fs: fix the panic in do_checkpoint() net/mlx5e: Enforce setting of a single FEC mode clk: at91: usb: continue if clk_hw_round_rate() return zero clk: Don't cache errors from clk_ops::get_phase() drm/ttm: flush the fence on the bo after we individualize the reservation object x86/Hyper-V: Free hv_panic_page when fail to register kmsg dump rbd: call rbd_dev_unprobe() after unwatching and flushing notifies rbd: avoid a deadlock on header_rwsem when flushing notifies block, bfq: invoke flush_idle_tree after reparent_active_queues in pd_offline block, bfq: make reparent_leaf_entity actually work only on leaf entities block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroup afs: Fix race between post-modification dir edit and readdir/d_revalidate afs: Fix afs_d_validate() to set the right directory version afs: Fix rename operation status delivery afs: Fix decoding of inline abort codes from version 1 status records afs: Fix missing XDR advance in xdr_decode_{AFS,YFS}FSFetchStatus() x86/Hyper-V: Report crash data in die() when panic_on_oops is set x86/Hyper-V: Report crash register data when sysctl_record_panic_msg is not set x86/Hyper-V: Report crash register data or kmsg before running crash kernel x86/Hyper-V: Trigger crash enlightenment only once during system crash. x86/Hyper-V: Unload vmbus channel in hv panic callback of: overlay: kmemleak in dup_and_fixup_symbol_prop() of: unittest: kmemleak in of_unittest_overlay_high_level() of: unittest: kmemleak in of_unittest_platform_populate() of: unittest: kmemleak on changeset destroy xsk: Add missing check on user supplied headroom size ALSA: hda: Don't release card at firmware loading error irqchip/mbigen: Free msi_desc on device teardown netfilter: nf_tables: report EOPNOTSUPP on unsupported flags/object type kbuild, btf: Fix dependencies for DEBUG_INFO_BTF ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN. ALSA: hda: Honor PM disablement in PM freeze and thaw_noirq ops scsi: sg: add sg_remove_request in sg_common_write objtool: Fix switch table detection in .text.unlikely arm, bpf: Fix offset overflow for BPF_MEM BPF_DW arm, bpf: Fix bugs with ALU64 {RSH, ARSH} BPF_K shift by 0 xsk: Fix out of boundary write in __xsk_rcv_memcpy watchdog: sp805: fix restart handler ext4: use non-movable memory for superblock readahead ANDROID: ABI/Whitelist: update unisoc Whitelist to latest ANDROID: iommu: Kconfig: Make ARM_SMMU depend on QCOM_SCM || !QCOM_SCM ANDROID: GKI: enable CONFIG_DYNAMIC_DEBUG_CORE FROMLIST: BACKPORT: dynamic_debug: Add an option to enable dynamic debug for modules only ANDROID: init: GKI: enable hidden configs for GPU FROMLIST: clocksource/drivers/sprd: Add module support to Spreadtrum timer FROMLIST: drivers/clocksource/timer-of: Remove __init markings UPSTREAM: gpu/trace: add a gpu total memory usage tracepoint Linux 5.4.34 x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE scsi: target: fix hang when multiple threads try to destroy the same iscsi session scsi: target: remove boilerplate code x86/resctrl: Fix invalid attempt at removing the default resource group x86/resctrl: Preserve CDP enable over CPU hotplug irqchip/ti-sci-inta: Fix processing of masked irqs ext4: do not zeroout extents beyond i_disksize i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and CHT drm/amdgpu: fix the hw hang during perform system reboot and reset drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled net/mlx5e: Use preactivate hook to set the indirection table net/mlx5e: Rename hw_modify to preactivate net/mlx5e: Encapsulate updating netdev queues into a function mac80211_hwsim: Use kstrndup() in place of kasprintf() mac80211: fix race in ieee80211_register_hw() nl80211: fix NL80211_ATTR_FTM_RESPONDER policy btrfs: check commit root generation in should_ignore_root tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation keys: Fix proc_keys_next to increase position index arm64: vdso: don't free unallocated pages ALSA: usb-audio: Check mapping at creating connector controls, too ALSA: usb-audio: Don't create jack controls for PCM terminals ALSA: usb-audio: Don't override ignore_ctl_error value from the map ALSA: usb-audio: Filter error from connector kctl ops, too ALSA: hda/realtek - Enable the headset mic on Asus FX505DT ASoC: Intel: mrfld: return error codes when an error occurs ASoC: Intel: mrfld: fix incorrect check on p->sink usb: dwc3: gadget: Don't clear flags before transfer ended arm64: dts: librem5-devkit: add a vbus supply to usb0 ARM: dts: imx7-colibri: fix muxing of usbc_det pin clk: at91: usb: use proper usbs_mask clk: at91: sam9x60: fix usb clock parents ext4: fix incorrect inodes per group in error message ext4: fix incorrect group count in ext4_fill_super error message net/bpfilter: remove superfluous testing message pwm: pca9685: Fix PWM/GPIO inter-operation perf report: Fix no branch type statistics report issue acpi/nfit: improve bounds checking for 'func' jbd2: improve comments about freeing data buffers whose page mapping is NULL platform/chrome: cros_ec_rpmsg: Fix race with host event scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic ovl: fix value of i_ino for lower hardlink corner case Revert "ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()" net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes net/mlx5e: Fix pfnum in devlink port attribute net/mlx5e: Fix nest_level for vlan pop action net/mlx5e: Add missing release firmware call net/mlx5: Fix frequent ioread PCI access during recovery net: ethernet: mediatek: move mt7623 settings out off the mt7530 net: dsa: mt7530: move mt7623 settings out off the mt7530 net: tun: record RX queue in skb before do_xdp_generic() net: revert default NAPI poll timeout to 2 jiffies net: qrtr: send msgs from local of same id as broadcast net: phy: micrel: use genphy_read_status for KSZ9131 net: ipv6: do not consider routes via gateways for anycast address check net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode l2tp: Allow management of tunnels and session in user namespace hsr: check protocol version in hsr_newlink() amd-xgbe: Use __napi_schedule() in BH context ANDROID: Add C protos for dma_buf/drm_prime get_uuid f2fs: fix quota_sync failure due to f2fs_lock_op f2fs: support read iostat f2fs: Fix the accounting of dcc->undiscard_blks f2fs: fix to handle error path of f2fs_ra_meta_pages() f2fs: report the discard cmd errors properly f2fs: fix long latency due to discard during umount f2fs: add tracepoint for f2fs iostat f2fs: introduce sysfs/data_io_flag to attach REQ_META/FUA ANDROID: GKI: update abi for 5.4.33 changes Linux 5.4.33 scsi: lpfc: fix inlining of lpfc_sli4_cleanup_poll_list() ASoC: stm32: sai: Add missing cleanup efi/x86: Fix the deletion of variables in mixed mode mfd: dln2: Fix sanity checking for endpoints bpf: Fix tnum constraints for 32-bit comparisons mmc: sdhci: Refactor sdhci_set_timeout() mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static powerpc/kasan: Fix kasan_remap_early_shadow_ro() drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode drm/amdgpu: fix gfx hang during suspend with video playback (v2) drm/dp_mst: Fix clearing payload state on topology disable Revert "drm/dp_mst: Remove VCPI while disabling topology mgr" scsi: lpfc: Fix broken Credit Recovery after driver load scsi: lpfc: Fix configuration of BB credit recovery in service parameters scsi: lpfc: Fix Fabric hostname registration if system hostname changes scsi: lpfc: Add registration for CPU Offline/Online events dm clone: Add missing casts to prevent overflows and data corruption dm clone: Fix handling of partial region discards dm clone: replace spin_lock_irqsave with spin_lock_irq dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone() arm64: Always force a branch protection mode when the compiler has one powerpc: Make setjmp/longjmp signature standard scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug powerpc/64: Prevent stack protection in early boot powerpc/kprobes: Ignore traps that happened in real mode powerpc/xive: Fix xmon support on the PowerNV platform powerpc/64: Setup a paca before parsing device tree etc. powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured IPIs powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE entries powerpc/fsl_booke: Avoid creating duplicate tlb1 entry powerpc/64/tm: Don't let userspace set regs->trap via sigreturn xen/blkfront: fix memory allocation flags in blkfront_setup_indirect() ipmi: fix hung processes in __get_guid() libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set hfsplus: fix crash and filesystem corruption when deleting files cpufreq: powernv: Fix use-after-free kmod: make request_module() return an error when autoloading is disabled clk: ingenic/TCU: Fix round_rate returning error clk: ingenic/jz4770: Exit with error if CGU init failed ftrace/kprobe: Show the maxactive number on kprobe_events Input: i8042 - add Acer Aspire 5738z to nomux list s390/diag: fix display of diagnose call statistics perf tools: Support Python 3.8+ in Makefile ocfs2: no need try to truncate file beyond i_size fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once() ext4: fix a data race at inode->i_blocks NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() NFS: Fix use-after-free issues in nfs_pageio_add_request() nfsd: fsnotify on rmdir under nfsd/clients/ powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable drm/amdgpu: unify fw_write_wait for new gfx9 asics drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK drm: Remove PageReserved manipulation from drm_pci_alloc drm/etnaviv: rework perfmon query infrastructure drm/i915/gem: Flush all the reloc_gpu batch vfio: platform: Switch to platform_get_irq_optional() selftests/powerpc: Add tlbie_test in .gitignore selftests/vm: fix map_hugetlb length used for testing read and write selftests: vm: drop dependencies on page flags from mlock2 tests arm64: armv8_deprecated: Fix undef_hook mask for thumb setend arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board scsi: lpfc: Fix lpfc_io_buf resource leak in lpfc_get_scsi_buf_s4 error path scsi: ufs: fix Auto-Hibern8 error detection scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point crypto: ccree - dec auth tag size from cryptlen map crypto: ccree - only try to map auth tag if needed crypto: ccree - protect against empty or NULL scatterlists crypto: caam - update xts sector size for large input length crypto: caam/qi2 - fix chacha20 data size error xarray: Fix early termination of xas_for_each_marked XArray: Fix xas_pause for large multi-index entries dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions() dm clone: Add overflow check for number of regions dm verity fec: fix memory leak in verity_fec_dtr dm integrity: fix a crash with unusually large tag size dm writecache: add cond_resched to avoid CPU hangs mm, memcg: do not high throttle allocators based on wraparound arm64: dts: allwinner: h5: Fix PMU compatible sched/core: Remove duplicate assignment in sched_tick_remote() arm64: dts: allwinner: h6: Fix PMU compatible net: qualcomm: rmnet: Allow configuration updates to existing devices tools: gpio: Fix out-of-tree build regression powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init() mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions io_uring: honor original task RLIMIT_FSIZE erofs: correct the remaining shrink objects crypto: mxs-dcp - fix scatterlist linearization for hash crypto: rng - Fix a refcounting bug in crypto_rng_reset() remoteproc: Fix NULL pointer dereference in rproc_virtio_notify remoteproc: qcom_q6v5_mss: Reload the mba region on coredump remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown btrfs: use nofs allocations for running delayed items btrfs: fix missing semaphore unlock in btrfs_sync_file btrfs: unset reloc control if we fail to recover btrfs: fix missing file extent item for hole after ranged fsync btrfs: drop block from cache on error in relocation btrfs: set update the uuid generation as soon as possible btrfs: reloc: clean dirty subvols if we fail to start a transaction Btrfs: fix crash during unmount due to race with delayed inode workers btrfs: Don't submit any btree write bio if the fs has errors mtd: spinand: Do not erase the block before writing a bad block marker mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers CIFS: Fix bug which the return value by asynchronous read is error smb3: fix performance regression with setting mtime KVM: VMX: fix crash cleanup when KVM wasn't used KVM: VMX: Add a trampoline to fix VMREAD error handling KVM: x86: Gracefully handle __vmalloc() failure during VM allocation KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support KVM: x86: Allocate new rmap and large page tracking when moving memslot KVM: s390: vsie: Fix delivery of addressing exceptions KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks KVM: nVMX: Properly handle userspace interrupt window request platform/x86: asus-wmi: Support laptops where the first battery is named BATT x86/entry/32: Add missing ASM_CLAC to general_protection entry x86/tsc_msr: Make MSR derived TSC frequency more accurate x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices x86/tsc_msr: Use named struct initializers signal: Extend exec_id to 64bits ath9k: Handle txpower changes even when TPC is disabled PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there PM / Domains: Allow no domain-idle-states DT property in genpd when parsing MIPS: OCTEON: irq: Fix potential NULL pointer dereference MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3 pstore: pstore_ftrace_seq_next should increase position index io_uring: remove bogus RLIMIT_NOFILE check in file registration irqchip/versatile-fpga: Apply clear-mask earlier genirq/debugfs: Add missing sanity checks to interrupt injection cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus() KEYS: reaching the keys quotas correctly tpm: tpm2_bios_measurements_next should increase position index tpm: tpm1_bios_measurements_next should increase position index tpm: Don't make log failures fatal sched/fair: Fix enqueue_task_fair warning PCI: endpoint: Fix for concurrent memory allocation in OB address region PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM PCI: Add boot interrupt quirk mechanism for Xeon chipsets PCI/ASPM: Clear the correct bits when enabling L1 substates PCI: pciehp: Fix indefinite wait on sysfs requests efi/x86: Add TPM related EFI tables to unencrypted mapping checks nvme-fc: Revert "add module to ops template to allow module references" nvmet-tcp: fix maxh2cdata icresp parameter thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n ACPI: PM: s2idle: Refine active GPEs check ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE acpi/x86: ignore unspecified bit positions in the ACPI global lock field seccomp: Add missing compat_ioctl for notify media: ti-vpe: cal: fix a kernel oops when unloading module media: ti-vpe: cal: fix disable_irqs to only the intended target media: hantro: Read be32 words starting at every fourth byte media: venus: firmware: Ignore secure call error on first resume ALSA: hda/realtek - Add quirk for MSI GL63 ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups ALSA: hda/realtek - Set principled PC Beep configuration for ALC256 ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256 ALSA: hda/realtek - a fake key event is triggered by running shutup ALSA: hda/realtek: Enable mute LED on an HP system ALSA: pcm: oss: Fix regression by buffer overflow fix ALSA: ice1724: Fix invalid access for enumerated ctl items ALSA: hda: Fix potential access overflow in beep helper ALSA: hda: Add driver blacklist ALSA: usb-audio: Add mixer workaround for TRX40 and co usb: gadget: composite: Inform controller driver of self-powered usb: gadget: f_fs: Fix use after free issue as part of queue failure ASoC: topology: use name_prefix for new kcontrol ASoC: dpcm: allow start or stop during pause for backend ASoC: dapm: connect virtual mux with default value ASoC: fix regwmask btrfs: track reloc roots based on their commit root bytenr btrfs: restart relocate_tree_blocks properly btrfs: remove a BUG_ON() from merge_reloc_roots() btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is at least queued block, bfq: fix use-after-free in bfq_idle_slice_timer_body locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps() spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion firmware: fix a double abort case with fw_load_sysfs_fallback md: check arrays is suspended in mddev_detach before call quiesce operations irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency usb: dwc3: core: add support for disabling SS instances in park mode media: i2c: ov5695: Fix power on and off sequences block: Fix use-after-free issue accessing struct io_cq genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy() efi/x86: Ignore the memory attributes table on i386 x86/boot: Use unsigned comparison for addresses cpufreq: imx6q: fix error handling gfs2: Don't demote a glock until its revokes are written gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty pstore/platform: fix potential mem leak if pstore_init_fs failed libata: Remove extra scsi_host_put() in ata_scsi_add_hosts() media: i2c: video-i2c: fix build errors due to 'imply hwmon' block, bfq: move forward the getting of an extra ref in bfq_bfqq_move PCI/switchtec: Fix init_completion race condition with poll_wait() selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault sched: Avoid scale real weight down to zero media: allegro: fix type of gop_length in channel_create message time/sched_clock: Expire timer in hardirq context irqchip/versatile-fpga: Handle chained IRQs properly debugfs: Check module state before warning in {full/open}_proxy_open() block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices dma-mapping: Fix dma_pgprot() for unencrypted coherent pages x86: Don't let pgprot_modify() change the page encryption bit ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add() xhci: bail out early if driver can't accress host in resume media: imx: imx7-media-csi: Fix video field handling media: imx: imx7_mipi_csis: Power off the source when stopping streaming null_blk: fix spurious IO errors after failed past-wp access null_blk: Handle null_add_dev() failures properly null_blk: Fix the null_add_dev() error path firmware: arm_sdei: fix double-lock on hibernate with shared events media: venus: hfi_parser: Ignore HEVC encoding for V1 staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL media: rc: add keymap for Videostrong KII Pro i2c: pca-platform: Use platform_irq_get_optional i2c: st: fix missing struct parameter description qlcnic: Fix bad kzalloc null test cfg80211: Do not warn on same channel at the end of CSA drm/scheduler: fix rare NULL ptr race cxgb4/ptp: pass the sign of offset delta in FW CMD selftests/net: add definition for SOL_DCCP to fix compilation errors for old libc hinic: fix wrong value of MIN_SKB_LEN hinic: fix wrong para of wait_for_completion_timeout hinic: fix out-of-order excution in arm cpu hinic: fix the bug of clearing event queue hinic: fix a bug of waitting for IO stopped net: vxge: fix wrong __VA_ARGS__ usage net: stmmac: platform: Fix misleading interrupt error msg rxrpc: Fix call interruptibility handling rxrpc: Abstract out the calculation of whether there's Tx space soc: fsl: dpio: register dpio irq handlers after dpio create Input: tm2-touchkey - add support for Coreriver TC360 variant iwlwifi: mvm: Fix rate scale NSS configuration bpf: Fix deadlock with rq_lock in bpf_send_signal() ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage ANDROID: GKI: ABI update for dma-buf/DRM get_uuid change ANDROID: ABI/Whitelist: update for db845c after changing drivers to modules. ANDROID: Switch CONFIG_QCOM_PDC CONFIG_QCOM_SCM and CONFIG_ARM_SMMU to be loaded as modules ANDROID: firmware: QCOM_SCM: Allow qcom_scm driver to be loadable as a permenent module ANDROID: irqchip: Allow QCOM_PDC to be loadable as a perment module ANDROID: irq: irqchip: Export irq_chip_retrigger_hierarchy and irq_chip_set_vcpu_affinity_parent ANDROID: irq: irqdomain: Export irq_domain_update_bus_token ANDROID: GKI: Add DRM_TTM config to GKI FROMLIST: drm/prime: add support for virtio exported objects FROMLIST: dma-buf: add support for virtio exported objects ANDROID: Incremental fs: Fix create_file performance UPSTREAM: Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.4.y' into android-5.4 (v5.7-rc1) ANDROID: fix allmodconfig build to use the right toolchain ANDROID: Incremental fs: Fix compound page usercopy crash ANDROID: Incremental fs: Clean up incfs_test build process ANDROID: Incremental fs: make remount log buffer change atomic ANDROID: Incremental fs: Optimize get_filled_block ANDROID: Incremental fs: Fix mislabeled __user ptrs ANDROID: Incremental fs: Use 64-bit int for file_size when writing hash blocks ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl f2fs: keep inline_data when compression conversion f2fs: fix to disable compression on directory f2fs: add missing CONFIG_F2FS_FS_COMPRESSION f2fs: switch discard_policy.timeout to bool type f2fs: fix to verify tpage before releasing in f2fs_free_dic() f2fs: show compression in statx f2fs: clean up dic->tpages assignment f2fs: compress: support zstd compress algorithm f2fs: compress: add .{init,destroy}_decompress_ctx callback f2fs: compress: fix to call missing destroy_compress_ctx() f2fs: change default compression algorithm f2fs: clean up {cic,dic}.ref handling f2fs: fix to use f2fs_readpage_limit() in f2fs_read_multi_pages() f2fs: xattr.h: Make stub helpers inline f2fs: fix to avoid double unlock f2fs: fix potential .flags overflow on 32bit architecture f2fs: fix NULL pointer dereference in f2fs_verity_work() f2fs: fix to clear PG_error if fsverity failed f2fs: don't call fscrypt_get_encryption_info() explicitly in f2fs_tmpfile() f2fs: don't trigger data flush in foreground operation f2fs: fix NULL pointer dereference in f2fs_write_begin() f2fs: clean up f2fs_may_encrypt() f2fs: fix to avoid potential deadlock f2fs: don't change inode status under page lock f2fs: fix potential deadlock on compressed quota file f2fs: delete DIO read lock f2fs: don't mark compressed inode dirty during f2fs_iget() f2fs: fix to account compressed blocks in f2fs_compressed_blocks() f2fs: xattr.h: Replace zero-length array with flexible-array member f2fs: fix to update f2fs_super_block fields under sb_lock f2fs: Add a new CP flag to help fsck fix resize SPO issues f2fs: Fix mount failure due to SPO after a successful online resize FS f2fs: use kmem_cache pool during inline xattr lookups f2fs: skip migration only when BG_GC is called f2fs: fix to show tracepoint correctly f2fs: avoid __GFP_NOFAIL in f2fs_bio_alloc f2fs: introduce F2FS_IOC_GET_COMPRESS_BLOCKS f2fs: fix to avoid triggering IO in write path f2fs: add prefix for f2fs slab cache name f2fs: introduce DEFAULT_IO_TIMEOUT f2fs: skip GC when section is full f2fs: add migration count iff migration happens f2fs: clean up bggc mount option f2fs: clean up lfs/adaptive mount option f2fs: fix to show norecovery mount option f2fs: clean up parameter of macro XATTR_SIZE() f2fs: clean up codes with {f2fs_,}data_blkaddr() f2fs: show mounted time f2fs: Use scnprintf() for avoiding potential buffer overflow f2fs: allow to clear F2FS_COMPR_FL flag f2fs: fix to check dirty pages during compressed inode conversion f2fs: fix to account compressed inode correctly f2fs: fix wrong check on F2FS_IOC_FSSETXATTR f2fs: fix to avoid use-after-free in f2fs_write_multi_pages() f2fs: fix to avoid using uninitialized variable f2fs: fix inconsistent comments f2fs: remove i_sem lock coverage in f2fs_setxattr() f2fs: cover last_disk_size update with spinlock f2fs: fix to check i_compr_blocks correctly f2fs: fix to avoid potential deadlock f2fs: add missing function name in kernel message f2fs: recycle unused compress_data.chksum feild f2fs: fix to avoid NULL pointer dereference f2fs: fix leaking uninitialized memory in compressed clusters f2fs: fix the panic in do_checkpoint() f2fs: fix to wait all node page writeback mm/swapfile.c: move inode_lock out of claim_swapfile fscrypt: don't evict dirty inodes after removing key Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt Documentation/devicetree/bindings/serial/samsung_uart.txt abi_gki_aarch64_qcom_whitelist build.config.common drivers/firmware/Kconfig drivers/firmware/Makefile drivers/firmware/qcom_scm.c drivers/gpu/Makefile drivers/irqchip/qcom-pdc.c drivers/md/dm-default-key.c drivers/mmc/core/Kconfig drivers/mmc/host/sdhci-msm.c drivers/pci/pci-driver.c drivers/usb/dwc3/gadget.c include/linux/dma-mapping.h include/linux/mmc/host.h init/Kconfig.gki kernel/dma/mapping.c kernel/sched/core.c kernel/sched/fair.c lib/Kconfig.debug net/qrtr/qrtr.c Change-Id: I4db80470ba7be66c94cb7345f292bfa1e095723d Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2184 lines
72 KiB
Text
2184 lines
72 KiB
Text
# 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 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.
|
|
|
|
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.
|
|
|
|
config DEBUG_INFO_REDUCED
|
|
bool "Reduce debugging information"
|
|
depends on DEBUG_INFO
|
|
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_SPLIT
|
|
bool "Produce split debuginfo in .dwo files"
|
|
depends on DEBUG_INFO
|
|
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 DEBUG_INFO
|
|
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
|
|
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"
|
|
depends on DEBUG_INFO
|
|
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.
|
|
|
|
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 (needs gcc 4.4)"
|
|
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.
|
|
Requires gcc 4.4
|
|
|
|
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 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.
|
|
|
|
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 OPTIMIZE_INLINING
|
|
def_bool y
|
|
help
|
|
This option determines if the kernel forces gcc to inline the functions
|
|
developers have marked 'inline'. Doing so takes away freedom from gcc to
|
|
do what it thinks is best, which is desirable for the gcc 3.x series of
|
|
compilers. The gcc 4.x series have a rewritten inlining algorithm and
|
|
enabling this option will generate a smaller kernel there. Hopefully
|
|
this algorithm is so good that allowing gcc 4.x and above to make the
|
|
decision will become the default in the future. Until then this option
|
|
is there to test gcc for this.
|
|
|
|
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.
|
|
|
|
#
|
|
# 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 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"
|
|
|
|
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 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 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 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"
|
|
|
|
endmenu # "Memory Debugging"
|
|
|
|
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
|
|
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 DEBUG_SHIRQ
|
|
bool "Debug shared IRQ handlers"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Enable this to generate a spurious interrupt as soon as a shared
|
|
interrupt handler is registered, and just before one is deregistered.
|
|
Drivers ought to be able to handle interrupts coming in at those
|
|
points; some don't and need to be caught.
|
|
|
|
menu "Debug Lockups and Hangs"
|
|
|
|
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
|
|
select HARDLOCKUP_DETECTOR_ARCH if HAVE_HARDLOCKUP_DETECTOR_ARCH
|
|
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.
|
|
|
|
endmenu # "Debug 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
|
|
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 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 PANIC_ON_SCHED_BUG
|
|
bool "Panic on all bugs encountered by the scheduler"
|
|
help
|
|
Say Y here to panic on all 'BUG:' conditions encountered by the
|
|
scheduler, even potentially-recoverable ones such as scheduling
|
|
while atomic and sleeping from invalid context etc.
|
|
|
|
Say N if unsure.
|
|
|
|
config PANIC_ON_RT_THROTTLING
|
|
bool "Panic on RT throttling"
|
|
help
|
|
Say Y here to enable the kernel to panic when a realtime
|
|
runqueue is throttled. This may be useful for detecting
|
|
and debugging RT throttling issues.
|
|
|
|
Say N if unsure.
|
|
|
|
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.
|
|
|
|
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 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 && PREEMPT && 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
|
|
|
|
choice
|
|
prompt "Perform Action on spinlock bug"
|
|
depends on DEBUG_SPINLOCK
|
|
|
|
default DEBUG_SPINLOCK_BITE_ON_BUG
|
|
|
|
config DEBUG_SPINLOCK_BITE_ON_BUG
|
|
bool "Cause a Watchdog Bite on Spinlock bug"
|
|
depends on QCOM_WATCHDOG_V2
|
|
help
|
|
On a spinlock bug, cause a watchdog bite so that we can get
|
|
the precise state of the system captured at the time of spin
|
|
dump. This is mutually exclusive with the below
|
|
DEBUG_SPINLOCK_PANIC_ON_BUG config.
|
|
|
|
config DEBUG_SPINLOCK_PANIC_ON_BUG
|
|
bool "Cause a Kernel Panic on Spinlock bug"
|
|
help
|
|
On a spinlock bug, cause a kernel panic so that we can get the complete
|
|
information about the system at the time of spin dump in the dmesg.
|
|
This is mutually exclusive with the above DEBUG_SPINLOCK_BITE_ON_BUG.
|
|
endchoice
|
|
|
|
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 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 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 FRAME_POINTER if !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86
|
|
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.
|
|
|
|
endmenu # lock debugging
|
|
|
|
config TRACE_IRQFLAGS
|
|
bool
|
|
help
|
|
Enables hooks to interrupt enabling and disabling for
|
|
either tracing or lock debugging.
|
|
|
|
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
|
|
|
|
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_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 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 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 capabilitiy for alloc_pages()"
|
|
depends on FAULT_INJECTION
|
|
help
|
|
Provide fault-injection capability for alloc_pages().
|
|
|
|
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
|
|
select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86
|
|
help
|
|
Provide stacktrace filter for fault-injection capabilities
|
|
|
|
config LATENCYTOP
|
|
bool "Latency measuring infrastructure"
|
|
depends on DEBUG_KERNEL
|
|
depends on STACKTRACE_SUPPORT
|
|
depends on PROC_FS
|
|
select FRAME_POINTER if !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/debugging-via-ohci1394.txt for more information.
|
|
|
|
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_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_BITFIELD
|
|
tristate "Test bitfield functions at runtime"
|
|
help
|
|
Enable this option to test the bitfield 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_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 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.
|
|
|
|
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 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.
|
|
|
|
source "samples/Kconfig"
|
|
|
|
source "lib/Kconfig.kgdb"
|
|
|
|
source "lib/Kconfig.ubsan"
|
|
|
|
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.
|
|
|
|
source "arch/$(SRCARCH)/Kconfig.debug"
|
|
|
|
endmenu # Kernel hacking
|