29f0788ed7
* refs/heads/tmp-ff4725c: UPSTREAM: usb: gadget: udc: Handle gadget_connect failure during bind operation ANDROID: GKI: Update oplus symbol list ANDROID: fs/passthrough: Fix compatibility with R/O file system ANDROID: vendor_hooks: add hooks for adjust kvmalloc_node alloc_flags FROMLIST: usb: typec: tcpm: Fix sink caps op current check UPSTREAM: scsi: ufs: core: Add advanced RPMB support where UFSHCI 4.0 does not support EHS length in UTRD ANDROID: ABI: Update symbol list for MediatTek ANDROID: vendor_hooks: Add hook for mmc queue Revert "proc: allow pid_revalidate() during LOOKUP_RCU" UPSTREAM: scsi: ufs: ufs-qcom: Clear qunipro_g4_sel for HW major version > 5 ANDROID: GKI: Update symbols to symbol list ANDROID: vendor_hook: Add hook to tune readaround size ANDROID: add for tuning readahead size ANDROID: vendor_hooks: Add hooks to avoid key threads stalled in memory allocations ANDROID: GKI: Update oplus symbol list ANDROID: vendor_hooks: add hooks for adjust kvmalloc_node alloc_flags UPSTREAM: netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c ANDROID: GKI: Update oplus symbol list update oplus symbol list for Addding hooks for adjusting alloc_flags ANDROID: vendor_hooks: Add hooks for adjusting alloc_flags ANDROID: ABI: Update symbol list for imx ANDROID: abi_gki_aarch64_qcom: Add __netif_rx ANDROID: ABI: Update sony symbol list and stg ANDROID: mmc: Add vendor hooks for sdcard failure diagnostics ANDROID: Update symbol list for mtk UPSTREAM: scsi: ufs: mcq: Fix the search/wrap around logic UPSTREAM: scsi: ufs: core: Fix ufshcd_inc_sq_tail() function bug FROMLIST: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1 Revert "ANDROID: KVM: arm64: Don't allocate from handle_host_mem_abort" BACKPORT: usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment UPSTREAM: mm: multi-gen LRU: don't spin during memcg release UPSTREAM: vringh: don't use vringh_kiov_advance() in vringh_iov_xfer() BACKPORT: usb: gadget: uvc: Add missing initialization of ssp config descriptor BACKPORT: usb: gadget: unconditionally allocate hs/ss descriptor in bind operation UPSTREAM: usb: gadget: f_uvc: change endpoint allocation in uvc_function_bind() UPSTREAM: usb: gadget: function: Remove unused declarations UPSTREAM: usb: gadget: uvc: clean up comments and styling in video_pump UPSTREAM: mm/page_alloc: use write_seqlock_irqsave() instead write_seqlock() + local_irq_save(). UPSTREAM: cpuidle: teo: Update idle duration estimate when choosing shallower state BACKPORT: Revert "PCI: dwc: Wait for link up only if link is started" UPSTREAM: ravb: Fix use-after-free issue in ravb_tx_timeout_work() UPSTREAM: ravb: Fix up dma_free_coherent() call in ravb_remove() BACKPORT: usb: typec: altmodes/displayport: Signal hpd low when exiting mode ANDROID: KVM: arm64: Fix KVM_HOST_S2_DEFAULT_MMIO_PTE encoding ANDROID: Update the ABI symbol list ANDROID: fs/proc: Perform priority inheritance around access_remote_vm() UPSTREAM: serial: 8250_dw: fall back to poll if there's no interrupt ANDROID: Update the ABI representation ANDROID: power: Add vendor hook for suspend ANDROID: Update the ABI symbol list UPSTREAM: of: reserved-mem: print out reserved-mem details during boot ANDROID: GKI: Update symbol list for xiaomi "abi_gki_aarch64_xiaomi" ANDROID: Update symbols list and ABI for qcom ANDROID: fuse-bpf: Add NULL pointer check in fuse_entry_revalidate ANDROID: GKI: Update oplus symbol list update oplus symbol list for Addding hooks for adjusting alloc_flags ANDROID: vendor_hooks: Add hooks for adjusting alloc_flags UPSTREAM: libceph: harden msgr2.1 frame segment length checks ANDROID: Update the ABI symbol list ANDROID: mm: Add vendor hook in filemap_get_folio() UPSTREAM: netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP UPSTREAM: netfilter: ipset: Add schedule point in call_ad(). UPSTREAM: net: xfrm: Fix xfrm_address_filter OOB read UPSTREAM: igb: set max size RX buffer when store bad packet is enabled ANDROID: GKI: fix ABI breakage in struct hid_device UPSTREAM: HID: input: map battery system charging FROMGIT: maple_tree: add GFP_KERNEL to allocations in mas_expected_entries() UPSTREAM: maple_tree: replace data before marking dead in split and spanning store UPSTREAM: maple_tree: change mas_adopt_children() parent usage UPSTREAM: maple_tree: introduce mas_tree_parent() definition UPSTREAM: maple_tree: introduce mas_put_in_tree() UPSTREAM: maple_tree: reorder replacement of nodes to avoid live lock ANDROID: GKI: add allowed list for Exynosauto SoC ANDROID: Update the ABI symbol list ANDROID: Update the ABI symbol list ANDROID: KVM: Update nVHE stack size to 8KB ANDROID: Update the ABI symbol list ANDROID: mm: Add vendor hook in rmqueue() FROMLIST: virt: geniezone: Add memory pin/unpin support FROMLIST: virt: geniezone: Add block-based demand paging support FROMLIST: virt: geniezone: Add demand paging support ANDROID: virt: geniezone: Refactoring memory region support ANDROID: virt: geniezone: Refactor code comments from mainline v6 accordingly ANDROID: virt: geniezone: Refactoring vgic to align with upstream v6 ANDROID: virt: geniezone: Refactoring vcpu to align with upstream v6 ANDROID: virt: geniezone: Refactoring vm capability to align with upstream v6 ANDROID: virt: geniezone: Refactoring irqfd to align with upstream v6 ANDROID: sched: Add EXPORT_SYMBOL_GPL for sched_wakeup ANDROID: vendor_hooks: Export direct reclaim trace points ANDROID: mm: freeing MIGRATE_ISOLATE page instantly ANDROID: KVM: arm64: Allow setting device attr in stage-2 PTEs ANDROID: KVM: arm64: Fix hyp tracing build dependencies Revert "arm64: errata: Mitigate Ampere1 erratum AC03_CPU_38 at stage-2" Revert "locking/rtmutex: Fix task->pi_waiters integrity" Revert "ring-buffer: Fix wrong stat of cpu_buffer->read" FROMLIST: Revert "fuse: Apply flags2 only when userspace set the FUSE_INIT_EXT" Revert "sched/psi: Fix avgs_work re-arm in psi_avgs_work()" Revert "sched/psi: Rearrange polling code in preparation" Revert "sched/psi: Rename existing poll members in preparation" Revert "sched/psi: Extract update_triggers side effect" Revert "sched/psi: Allow unprivileged polling of N*2s period" Revert "sched/psi: use kernfs polling functions for PSI trigger polling" Revert "Revert "8250: add support for ASIX devices with a FIFO bug"" ANDROID: GKI: Fix block/genhd.c exports from having their CRC changed Revert "blk-mq: fix potential io hang by wrong 'wake_batch'" Revert "bpf: Remove bpf trampoline selector" Revert "drm/bridge: Introduce pre_enable_prev_first to alter bridge init order" Revert "drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec" Linux 6.1.43 dma-buf: fix an error pointer vs NULL bug dma-buf: keep the signaling time of merged fences v3 test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation selftests: mptcp: sockopt: use 'iptables-legacy' if available mptcp: ensure subflow is unhashed before cleaning the backlog cpufreq: intel_pstate: Drop ACPI _PSS states table patching ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily ACPI: processor: perflib: Use the "no limit" frequency QoS drm/amd/display: Write to correct dirty_rect drm/amd/display: perform a bounds check before filling dirty rectangles tracing: Fix trace_event_raw_event_synth() if else statement drm/amd/display: set per pipe dppclk to 0 when dpp is off rbd: retrieve and check lock owner twice before blocklisting rbd: harden get_lock_owner_info() a bit rbd: make get_lock_owner_info() return a single locker or NULL dm cache policy smq: ensure IO doesn't prevent cleaner policy progress drm/i915/dpt: Use shmem for dpt objects ceph: never send metrics if disable_send_metrics is set PM: sleep: wakeirq: fix wake irq arming arm64/sme: Set new vector length before reallocating ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register s390/dasd: print copy pair message only for the correct error s390/dasd: fix hanging device after quiesce/resume LoongArch: BPF: Enable bpf_probe_read{, str}() on LoongArch LoongArch: BPF: Fix check condition to call lu32id in move_imm() Revert "um: Use swap() to make code cleaner" soundwire: fix enumeration completion selftests: mptcp: join: only check for ip6tables if needed net: dsa: qca8k: fix mdb add/del case with 0 VID net: dsa: qca8k: fix broken search_and_del net: dsa: qca8k: fix search_and_insert wrong handling of new rule virtio-net: fix race between set queues and probe xen: speed up grant-table reclaim proc/vmcore: fix signedness bug in read_from_oldmem() locking/rtmutex: Fix task->pi_waiters integrity irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation irq-bcm6345-l1: Do not assume a fixed block to cpu mapping tpm_tis: Explicitly check for error code ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info() nfsd: Remove incorrect check in nfsd4_validate_stateid file: always lock position for FMODE_ATOMIC_POS x86/MCE/AMD: Decrement threshold_bank refcount when removing threshold blocks btrfs: check for commit error at btrfs_attach_transaction_barrier() btrfs: check if the transaction was aborted at btrfs_wait_for_commit() btrfs: account block group tree when calculating global reserve size hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled hwmon: (k10temp) Enable AMD3255 Proc to show negative temperature ALSA: hda/relatek: Enable Mute LED on HP 250 G8 ALSA: hda/realtek: Support ASUS G713PV laptop Revert "xhci: add quirk for host controllers that don't update endpoint DCS" tty: n_gsm: fix UAF in gsm_cleanup_mux staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext() staging: r8712: Fix memory leak in _r8712_init_xmit_priv() Documentation: security-bugs.rst: clarify CVE handling Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group Revert "usb: xhci: tegra: Fix error check" usb: xhci-mtk: set the dma max_seg_size usb: cdns3: fix incorrect calculation of ep_buf_size when more than one config USB: quirks: add quirk for Focusrite Scarlett usb: ohci-at91: Fix the unhandle interrupt when resume usb: misc: ehset: fix wrong if condition usb: dwc3: don't reset device side if dwc3 was configured as host-only usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy Revert "usb: dwc3: core: Enable AutoRetry feature in the controller" usb: typec: Use sysfs_emit_at when concatenating the string usb: typec: Iterate pds array when showing the pd list usb: typec: Set port->pd before adding device for typec_port can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED USB: serial: simple: sort driver entries USB: serial: simple: add Kaufmann RKS+CAN VCP USB: serial: option: add Quectel EC200A module support USB: serial: option: support Quectel EM060K_128 serial: sifive: Fix sifive_serial_console_setup() section serial: 8250_dw: Preserve original value of DLF register serial: qcom-geni: drop bogus runtime pm state update KVM: x86: Disallow KVM_SET_SREGS{2} if incoming CR0 is invalid KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest KVM: Grab a reference to KVM for VM and vCPU stats file descriptors usb: gadget: core: remove unbalanced mutex_unlock in usb_gadget_activate USB: gadget: Fix the memory leak in raw_gadget driver usb: gadget: call usb_gadget_check_config() to verify UDC capability Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()" tracing: Fix warning in trace_buffered_event_disable() ring-buffer: Fix wrong stat of cpu_buffer->read ata: pata_ns87415: mark ns87560_tf_read static ublk: fail to recover device if queue setup is interrupted ublk: fail to start device if queue setup is interrupted ublk_drv: move ublk_get_device_from_id into ublk_ctrl_uring_cmd drm/msm: Disallow submit with fence id 0 drm/msm: Switch idr_lock to spinlock RDMA/irdma: Report correct WC error RDMA/irdma: Fix op_type reporting in CQEs drm/amd/display: Unlock on error path in dm_handle_mst_sideband_msg_ready_event() drm/amd: Fix an error handling mistake in psp_sw_init() dm raid: protect md_stop() with 'reconfig_mutex' dm raid: clean up four equivalent goto tags in raid_ctr() dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths xenbus: check xen_domain in xenbus_probe_initcall drm/i915: Fix an error handling path in igt_write_huge() smb3: do not set NTLMSSP_VERSION flag for negotiate not auth request block: Fix a source code comment in include/uapi/linux/blkzoned.h ASoC: fsl_spdif: Silence output on stop cxl/acpi: Return 'rc' instead of '0' in cxl_parse_cfmws() cxl/acpi: Fix a use-after-free in cxl_parse_cfmws() drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb() RDMA/bnxt_re: Prevent handling any completions after qp destroy RDMA/mthca: Fix crash when polling CQ for shared QPs RDMA/irdma: Fix data race on CQP request done RDMA/irdma: Fix data race on CQP completion stats RDMA/irdma: Add missing read barriers drm/msm/adreno: Fix snapshot BINDLESS_DATA size drm/msm/dpu: drop enum dpu_core_perf_data_bus_id RDMA/mlx4: Make check for invalid flags stricter tipc: stop tipc crypto on failure in tipc_node_create tipc: check return value of pskb_trim() benet: fix return value check in be_lancer_xmit_workarounds() net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64 net/sched: mqprio: add extack to mqprio_parse_nlattr() net/sched: mqprio: refactor nlattr parsing to a separate function mm: suppress mm fault logging if fatal signal already pending netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR netfilter: nft_set_rbtree: fix overlap expiration walk igc: Fix Kernel Panic during ndo_tx_timeout callback x86/traps: Fix load_unaligned_zeropad() handling for shared TDX memory platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100 net: stmmac: Apply redundant write work around on 4.xx too octeontx2-af: Fix hash extraction enable configuration octeontx2-af: Removed unnecessary debug messages. team: reset team's flags when down link is P2P device bonding: reset bond's flags when down link is P2P device ice: Fix memory management in ice_ethtool_fdir.c tcp: Reduce chance of collisions in inet6_hashfn(). ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address ethernet: atheros: fix return value check in atl1e_tso_csum() atheros: fix return value check in atl1_tso() phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe() vxlan: fix GRO with VXLAN-GPE vxlan: generalize vxlan_parse_gpe_hdr and remove unused args vxlan: calculate correct header length for GPE net: hns3: fix wrong bw weight of disabled tc issue net: hns3: fix wrong tc bandwidth weight data issue net: hns3: fix the imp capability bit cannot exceed 32 bits issue net: phy: marvell10g: fix 88x3310 power up iavf: check for removal state before IAVF_FLAG_PF_COMMS_FAILED iavf: fix potential deadlock on allocation failure i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir() media: amphion: Fix firmware path to match linux-firmware media: staging: atomisp: select V4L2_FWNODE soundwire: qcom: update status correctly with mask phy: qcom-snps-femto-v2: properly enable ref clock phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc phy: phy-mtk-dp: Fix an error code in probe() drm/amd/display: Prevent vtotal from being set to 0 drm/amd/display: Fix possible underflow for displays with large vblank drm/amd/display: update extended blank for dcn314 onwards drm/amd/display: Add FAMS validation before trying to use it drm/amd/display: fix dc/core/dc.c kernel-doc drm/amd/display: Rework comments on dc file maple_tree: fix 32 bit mas_next testing maple_tree: add __init and __exit to test module test_maple_tree: test modifications while iterating tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails Revert "tracing: Add "(fault)" name injection to kernel probes" tracing: Allow synthetic events to pass around stacktraces tracing/probes: Fix to avoid double count of the string length on the array tracing/probes: Add symstr type for dynamic events mptcp: do not rely on implicit state check in mptcp_listen() mptcp: introduce 'sk' to replace 'sock->sk' in mptcp_listen() arm64: errata: Mitigate Ampere1 erratum AC03_CPU_38 at stage-2 KVM: arm64: Condition HW AF updates on config option drm/ttm: never consider pinned BOs for eviction&swap tty: fix hang on tty device with no_room set n_tty: Rename tail to old_tail in n_tty_read() drm/ttm: Don't leak a resource on eviction error drm/ttm: Don't print error message if eviction was interrupted drm/amd/display: Set minimum requirement for using PSR-SU on Phoenix drm/amd/display: Set minimum requirement for using PSR-SU on Rembrandt drm/amd/display: Update correct DCN314 register header drm/amd/display: fix dcn315 single stream crb allocation drm/amd/display: add pixel rate based CRB allocation support drm/amd/display: fix unbounded requesting for high pixel rate modes on dcn315 drm/amd/display: use low clocks for no plane configs drm/amd/display: add ODM case when looking for first split pipe drm/amd/display: Use min transition for all SubVP plane add/remove drm/amd/display: Include surface of unaffected streams drm/amd/display: Copy DC context in the commit streams drm/amd/display: Enable new commit sequence only for DCN32x drm/amd/display: Rework context change check drm/amd/display: Check if link state is valid drm/amd/display: add FB_DAMAGE_CLIPS support PCI: rockchip: Don't advertise MSI-X in PCIe capabilities PCI: rockchip: Fix window mapping and address translation for endpoint PCI: rockchip: Remove writes to unused registers PCI/ASPM: Avoid link retraining race PCI/ASPM: Factor out pcie_wait_for_retrain() PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link() MIPS: Loongson: Fix build error when make modules_install MIPS: Loongson: Move arch cflags to MIPS top level Makefile i2c: nomadik: Remove a useless call in the remove function i2c: nomadik: Use devm_clk_get_enabled() i2c: nomadik: Remove unnecessary goto label i2c: Improve size determinations i2c: Delete error messages for failed memory allocations btrfs: fix race between quota disable and relocation gpio: mvebu: fix irq domain leak gpio: mvebu: Make use of devm_pwmchip_add pwm: Add a stub for devm_pwmchip_add() gpio: tps68470: Make tps68470_gpio_output() always set the initial value io_uring: don't audit the capability check in io_uring_create() KVM: s390: pv: fix index value of replaced ASCE powerpc/pseries/vas: Hold mmap_mutex after mmap lock during window close blk-mq: Fix stall due to recursive flush plug jbd2: Fix wrongly judgement for buffer head removing while doing checkpoint drm/amd: Align SMU11 SMU_MSG_OverridePcieParameters implementation with SMU13 drm/amd: Move helper for dynamic speed switch check out of smu13 ovl: fix null pointer dereference in ovl_permission() drm/amd/display: Keep PHY active for dp config platform/x86/amd/pmf: reduce verbosity of apmf_get_system_params platform/x86/amd/pmf: Notify OS power slider update netfilter: nf_tables: fix underflow in chain reference counter netfilter: nf_tables: fix underflow in object reference counter ANDROID: ABI: Update STG ABI to format version 2 Linux 6.1.42 Revert "drm/amd/display: edp do not add non-edid timings" drm/amd/display: Add polling method to handle MST reply packet drm/amd/display: fix linux dp link lost handled only one time drm/amd/display: Clean up errors & warnings in amdgpu_dm.c drm/amd/display: force connector state when bpc changes during compliance drm/dp_mst: Clear MSG_RDY flag before sending new message drm/amd/display: fix some coding style issues drm/amd/display: use max_dsc_bpp in amdgpu_dm selftests/bpf: Fix sk_assign on s390x selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code selftests/bpf: make test_align selftest more robust bpf: aggressively forget precise markings during state checkpointing bpf: stop setting precise in current state bpf: allow precision tracking for programs with subprogs scripts/kallsyms: update the usage in the comment block scripts/kallsyms.c Make the comment up-to-date with current implementation kallsyms: add kallsyms_seqs_of_names to list of special symbols spi: dw: Remove misleading comment for Mount Evans SoC drm/ttm: fix bulk_move corruption when adding a entry tracing/histograms: Return an error if we fail to add histogram to hist_vars list jbd2: recheck chechpointing non-dirty buffer net: phy: prevent stale pointer dereference in phy_init() tcp: annotate data-races around fastopenq.max_qlen tcp: annotate data-races around icsk->icsk_user_timeout tcp: annotate data-races around tp->notsent_lowat tcp: annotate data-races around rskq_defer_accept tcp: annotate data-races around tp->linger2 tcp: annotate data-races around icsk->icsk_syn_retries tcp: annotate data-races around tp->keepalive_probes tcp: annotate data-races around tp->keepalive_intvl tcp: annotate data-races around tp->keepalive_time tcp: annotate data-races around tp->tsoffset tcp: annotate data-races around tp->tcp_tx_delay Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor() Bluetooth: ISO: fix iso_conn related locking and validity issues Bluetooth: hci_event: call disconnect callback before deleting conn Bluetooth: use RCU for hci_conn_params and iterate safely in hci_sync netfilter: nf_tables: skip bound chain on rule flush netfilter: nf_tables: skip bound chain in netns release path netfilter: nft_set_pipapo: fix improper element removal netfilter: nf_tables: can't schedule in nft_chain_validate netfilter: nf_tables: fix spurious set element insertion failure ALSA: hda/realtek: Fix generic fixup definition for cs35l41 amp llc: Don't drop packet from non-root netns. fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe Revert "tcp: avoid the lookup process failing to get sk in ehash table" net:ipv6: check return value of pskb_trim() net: ipv4: Use kfree_sensitive instead of kfree tcp: annotate data-races around tcp_rsk(req)->ts_recent tcp: annotate data-races around tcp_rsk(req)->txhash net: ipv4: use consistent txhash in TIME_WAIT and SYN_RECV igc: Prevent garbled TX queue with XDP ZEROCOPY igc: Avoid transmit queue timeout for XDP bpf, arm64: Fix BTI type used for freplace attached functions bpf: Repeat check_max_stack_depth for async callbacks bpf: Fix subprog idx logic in check_max_stack_depth octeontx2-pf: Dont allocate BPIDs for LBK interfaces security: keys: Modify mismatched function name iavf: fix reset task race with iavf_remove() iavf: fix a deadlock caused by rtnl and driver's lock circular dependencies iavf: Wait for reset in callbacks which trigger it iavf: make functions static where possible iavf: send VLAN offloading caps once after VFR iavf: Move netdev_update_features() into watchdog task iavf: use internal state to free traffic IRQs iavf: Fix out-of-bounds when setting channels on remove iavf: Fix use-after-free in free_netdev net: dsa: microchip: correct KSZ8795 static MAC table access net: dsa: microchip: ksz8_r_sta_mac_table(): Avoid using error code for empty entries net: dsa: microchip: ksz8: Make ksz8_r_sta_mac_table() static net: dsa: microchip: ksz8: Separate static MAC table operations for code reuse net: sched: cls_bpf: Undo tcf_bind_filter in case of an error net: sched: cls_u32: Undo refcount decrement in case update failed net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode net: sched: cls_matchall: Undo tcf_bind_filter in case of failure after mall_set_parms ASoC: SOF: ipc3-dtrace: uninitialized data in dfsentry_trace_filter_write() cifs: fix mid leak during reconnection after timeout threshold net: ethernet: mtk_eth_soc: handle probe deferral bridge: Add extack warning when enabling STP in netns. net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field() dsa: mv88e6xxx: Do a final check before timing out kallsyms: strip LTO-only suffixes from promoted global functions kallsyms: Correctly sequence symbols when CONFIG_LTO_CLANG=y kallsyms: Improve the performance of kallsyms_lookup_name() spi: s3c64xx: clear loopback bit after loopback test btrfs: be a bit more careful when setting mirror_num_ret in btrfs_map_block perf build: Fix library not found error when using CSLIBS fbdev: imxfb: Removed unneeded release_mem_region fbdev: imxfb: warn about invalid left/right margin spi: bcm63xx: fix max prepend length pinctrl: renesas: rzg2l: Handle non-unique subnode names pinctrl: renesas: rzv2m: Handle non-unique subnode names sched/psi: use kernfs polling functions for PSI trigger polling sched/psi: Allow unprivileged polling of N*2s period sched/psi: Extract update_triggers side effect sched/psi: Rename existing poll members in preparation sched/psi: Rearrange polling code in preparation sched/psi: Fix avgs_work re-arm in psi_avgs_work() sched/fair: Use recent_used_cpu to test p->cpus_ptr ASoC: qcom: q6apm: do not close GPR port before closing graph ASoC: codecs: wcd938x: fix dB range for HPHL and HPHR ASoC: codecs: wcd938x: fix mbhc impedance loglevel ASoC: amd: acp: fix for invalid dai id handling in acp_get_byte_count() net: hns3: fix strncpy() not using dest-buf length as length issue igb: Fix igb_down hung on surprise removal wifi: iwlwifi: pcie: add device id 51F1 for killer 1675 wifi: iwlwifi: mvm: avoid baid size integer overflow wifi: iwlwifi: Add support for new PCI Id wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point() devlink: report devlink_port_type_warn source device net: ethernet: litex: add support for 64 bit stats wifi: ath11k: fix memory leak in WMI firmware stats spi: dw: Add compatible for Intel Mount Evans SoC wifi: mac80211_hwsim: Fix possible NULL dereference wifi: ath11k: add support default regdb while searching board-2.bin for WCN6855 bpf: tcp: Avoid taking fast sock lock in iterator bpf: Address KCSAN report on bpf_lru_list bpf: Print a warning only if writing to unprivileged_bpf_disabled. wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range sched/fair: Don't balance task to its current running CPU rcu: Mark additional concurrent load from ->cpu_no_qs.b.exp rcu-tasks: Avoid pr_info() with spin lock in cblist_init_generic() ACPI: video: Add backlight=native DMI quirk for Dell Studio 1569 FS: JFS: Check for read-only mounted filesystem in txBegin FS: JFS: Fix null-ptr-deref Read in txBegin MIPS: dec: prom: Address -Warray-bounds warning fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev udf: Fix uninitialized array access for some pathnames ovl: check type and offset of struct vfsmount in ovl_entry HID: add quirk for 03f0:464a HP Elite Presenter Mouse quota: fix warning in dqgrab() quota: Properly disable quotas when add_dquot_ref() fails ALSA: emu10k1: roll up loops in DSP setup code for Audigy drm/radeon: Fix integer overflow in radeon_cs_parser_init ext4: correct inline offset when handling xattrs in inode body ASoC: codecs: wcd938x: fix soundwire initialisation race ASoC: codecs: wcd938x: fix codec initialisation race ASoC: codecs: wcd934x: fix resource leaks on component remove ASoC: codecs: wcd938x: fix missing mbhc init error handling ASoC: codecs: wcd938x: fix resource leaks on component remove ASoC: tegra: Fix AMX byte map ASoC: qdsp6: audioreach: fix topology probe deferral ASoC: codecs: wcd-mbhc-v2: fix resource leaks on component remove ASoC: codecs: wcd938x: fix missing clsh ctrl error handling ASoC: cs42l51: fix driver to properly autoload with automatic module loading ASoC: rt5640: Fix sleep in atomic context ASoC: tegra: Fix ADX byte map ASoC: fsl_sai: Revert "ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode" ASoC: fsl_sai: Disable bit clock with transmitter drm/amd/display: Keep PHY active for DP displays on DCN31 drm/amd/display: check TG is non-null before checking if enabled drm/amd/display: Disable MPC split by default on special asic drm/amd/display: only accept async flips for fast updates drm/client: Fix memory leak in drm_client_modeset_probe drm/client: Fix memory leak in drm_client_target_cloned drm/amdgpu/pm: make mclk consistent for smu 13.0.7 drm/amdgpu/pm: make gfxclock consistent for sienna cichlid drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel dma-buf/dma-resv: Stop leaking on krealloc() failure selftests: tc: add ConnTrack procfs kconfig can: gs_usb: gs_can_open(): improve error handling can: bcm: Fix UAF in bcm_proc_show() can: mcp251xfd: __mcp251xfd_chip_set_mode(): increase poll timeout arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes regmap: Account for register length in SMBus I/O limits of: Preserve "of-display" device name for compatibility regmap: Drop initial version of maximum transfer length fixes selftests: tc: add 'ct' action kconfig dep selftests: tc: set timeout to 15 minutes btrfs: fix race between balance and cancel/pause fuse: ioctl: translate ENOSYS in outarg btrfs: zoned: fix memory leak after finding block group with super blocks btrfs: set_page_extent_mapped after read_folio in btrfs_cont_expand fuse: Apply flags2 only when userspace set the FUSE_INIT_EXT fuse: revalidate: don't invalidate if interrupted btrfs: fix warning when putting transaction with qgroups enabled after abort perf probe: Add test for regression introduced by switch to die_get_decl_file() keys: Fix linking a duplicate key to a keyring's assoc_array maple_tree: fix node allocation testing on 32 bit maple_tree: set the node limit when creating a new root node ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx ALSA: hda/realtek: Add quirk for Clevo NS70AU ALSA: hda/realtek - remove 3k pull low procedure io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq Linux 6.1.41 x86/cpu/amd: Add a Zenbleed fix x86/cpu/amd: Move the errata checking functionality up Linux 6.1.40 net/ncsi: change from ndo_set_mac_address to dev_set_mac_address net/ncsi: make one oem_gma function for all mfr id drm/atomic: Fix potential use-after-free in nonblocking commits net/sched: sch_qfq: reintroduce lmax bound check for MTU swiotlb: mark swiotlb_memblock_alloc() as __init Revert "drm/amd: Disable PSR-SU on Parade 0803 TCON" MIPS: kvm: Fix build error with KVM_MIPS_DEBUG_COP0_COUNTERS enabled scsi: qla2xxx: Fix end of loop test scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue scsi: qla2xxx: Pointer may be dereferenced scsi: qla2xxx: Correct the index of array scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport() scsi: qla2xxx: Fix potential NULL pointer dereference scsi: qla2xxx: Fix buffer overrun scsi: qla2xxx: Avoid fcport pointer dereference scsi: qla2xxx: Array index may go out of bound scsi: qla2xxx: Fix mem access after free scsi: qla2xxx: Wait for io return on terminate rport scsi: qla2xxx: Fix hang in task management scsi: qla2xxx: Fix task management cmd fail due to unavailable resource scsi: qla2xxx: Fix task management cmd failure scsi: qla2xxx: Multi-que support for TMF tracing/user_events: Fix struct arg size match check tracing/probes: Fix to update dynamic data counter if fetcharg uses it tracing/probes: Fix not to count error code to total length selftests: mptcp: pm_nl_ctl: fix 32-bit support selftests: mptcp: depend on SYN_COOKIES selftests: mptcp: userspace_pm: report errors with 'remove' tests selftests: mptcp: userspace_pm: use correct server port selftests: mptcp: sockopt: return error if wrong mark selftests: mptcp: connect: fail if nft supposed to work tracing: Fix null pointer dereference in tracing_err_log_open() fprobe: Ensure running fprobe_exit_handler() finished before calling rethook_free() fprobe: Release rethook after the ftrace_ops is unregistered pwm: meson: fix handling of period/duty if greater than UINT_MAX pwm: meson: modify and simplify calculation in meson_pwm_get_state PM: QoS: Restore support for default value on frequency QoS perf/x86: Fix lockdep warning in for_each_sibling_event() on SPR xtensa: ISS: fix call to split_if_spec cifs: if deferred close is disabled then close files immediately drm/amd/pm: conditionally disable pcie lane/speed switching for SMU13 drm/amd/pm: share the code around SMU13 pcie parameters update ftrace: Fix possible warning on checking all pages used in ftrace_process_locs() ring-buffer: Fix deadloop issue on reading trace_pipe net: ena: fix shift-out-of-bounds in exponential backoff regmap-irq: Fix out-of-bounds access when allocating config buffers perf: RISC-V: Remove PERF_HES_STOPPED flag checking in riscv_pmu_start() samples: ftrace: Save required argument registers in sample trampolines nvme: don't reject probe due to duplicate IDs for single-ported PCIe devices tracing: Fix memory leak of iter->temp when reading trace_pipe tracing/histograms: Add histograms to hist_vars if they have referenced variables dm: verity-loadpin: Add NULL pointer check for 'bdev' parameter s390/decompressor: fix misaligned symbol build error bus: ixp4xx: fix IXP4XX_EXP_T1_MASK Revert "8250: add support for ASIX devices with a FIFO bug" soundwire: qcom: fix storing port config out-of-bounds opp: Fix use-after-free in lazy_opp_tables after probe deferral meson saradc: fix clock divider mask length xhci: Show ZHAOXIN xHCI root hub speed correctly xhci: Fix TRB prefetch issue of ZHAOXIN hosts xhci: Fix resume issue of some ZHAOXIN hosts ceph: don't let check_caps skip sending responses for revoke msgs ceph: fix blindly expanding the readahead windows ceph: add a dedicated private data for netfs rreq libceph: harden msgr2.1 frame segment length checks firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool() tty: serial: imx: fix rs485 rx after tx tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error serial: atmel: don't enable IRQs prematurely drm/ttm: Don't leak a resource on swapout move error drm/amdgpu: avoid restore process run into dead loop. drm/amd/display: Add monitor specific edid quirk drm/amd/display: Correct `DMUB_FW_VERSION` macro drm/amd/display: add a NULL pointer check drm/amd: Disable PSR-SU on Parade 0803 TCON drm/amdgpu: fix clearing mappings for BOs that are always valid in VM drm/amd/display: disable seamless boot if force_odm_combine is enabled drm/amd/display: Remove Phantom Pipe Check When Calculating K1 and K2 drm/amd/display: edp do not add non-edid timings drm/amd/display: fix seamless odm transitions drm/rockchip: vop: Leave vblank enabled in self-refresh drm/atomic: Allow vblank-enabled + self-refresh "disable" scsi: lpfc: Fix double free in lpfc_cmpl_els_logo_acc() caused by lpfc_nlp_not_used() fs: dlm: fix mismatch of plock results from userspace fs: dlm: make F_SETLK use unkillable wait_event fs: dlm: interrupt posix locks only when process is killed fs: dlm: fix cleanup pending ops when interrupted fs: dlm: return positive pid value for F_GETLK dm init: add dm-mod.waitfor to wait for asynchronously probed block devices md/raid0: add discard support for the 'original' layout mfd: pm8008: Fix module autoloading misc: pci_endpoint_test: Re-init completion for every test misc: pci_endpoint_test: Free IRQs before removing the device PCI: rockchip: Set address alignment for endpoint mode PCI: rockchip: Use u32 variable to access 32-bit registers PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked PCI: rockchip: Write PCI Device ID to correct register PCI: rockchip: Assert PCI Configuration Enable bit after probe PCI: epf-test: Fix DMA transfer completion detection PCI: epf-test: Fix DMA transfer completion initialization PCI: qcom: Disable write access to read only registers for IP v2.3.3 PCI: Add function 1 DMA alias quirk for Marvell 88SE9235 PCI: Release resource invalidated by coalescing PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold s390/zcrypt: do not retry administrative requests scsi: mpi3mr: Propagate sense data for admin queue SCSI I/O dm integrity: reduce vmalloc space footprint on 32-bit architectures hwrng: imx-rngc - fix the timeout for init and self check jfs: jfs_dmap: Validate db_l2nbperpage while mounting ext2/dax: Fix ext2_setsize when len is page aligned soc: qcom: mdt_loader: Fix unconditional call to scm_pas_mem_setup fs: dlm: revert check required context while close ext4: only update i_reserved_data_blocks on successful block allocation ext4: turn quotas off if mount failed after enabling quotas ext4: fix to check return value of freeze_bdev() in ext4_shutdown() ext4: fix wrong unit use in ext4_mb_new_blocks ext4: get block from bh in ext4_free_blocks for fast commit replay ext4: fix wrong unit use in ext4_mb_clear_bb ext4: Fix reusing stale buffer heads from last failed mounting MIPS: KVM: Fix NULL pointer dereference MIPS: Loongson: Fix cpu_probe_loongson() again powerpc/64s: Fix native_hpte_remove() to be irq-safe powerpc/security: Fix Speculation_Store_Bypass reporting on Power10 misc: fastrpc: Create fastrpc scalar with correct buffer count powerpc: Fail build if using recordmcount with binutils v2.37 tracing/user_events: Fix incorrect return value for writing operation when events are disabled kasan: add kasan_tag_mismatch prototype net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver net: bcmgenet: Ensure MDIO unregistration has clocks enabled mtd: rawnand: meson: fix unaligned DMA buffers handling tpm: return false from tpm_amd_is_rng_defective on non-x86 platforms tpm: tis_i2c: Limit write bursts to I2C_SMBUS_BLOCK_MAX (32) bytes tpm: tis_i2c: Limit read bursts to I2C_SMBUS_BLOCK_MAX (32) bytes tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation tpm: Do not remap from ACPI resources again for Pluton TPM pinctrl: amd: Unify debounce handling into amd_pinconf_set() pinctrl: amd: Drop pull up select configuration pinctrl: amd: Use amd_pinconf_set() for all config options pinctrl: amd: Only use special debounce behavior for GPIO 0 pinctrl: amd: Revert "pinctrl: amd: disable and mask interrupts on probe" pinctrl: amd: Detect and mask spurious interrupts pinctrl: amd: Fix mistake in handling clearing pins at startup pinctrl: amd: Detect internal GPIO0 debounce handling pinctrl: amd: Add fields for interrupt status and wake status pinctrl: amd: Adjust debugfs output pinctrl: amd: Add Z-state wake control bits f2fs: fix deadlock in i_xattr_sem and inode page lock f2fs: fix the wrong condition to determine atomic context drm/amd/pm: add abnormal fan detection for smu 13.0.0 drm/amdgpu: Fix minmax warning drm/amdgpu: add the fan abnormal detection feature drm/amd/pm: revise the ASPM settings for thunderbolt attached scenario drm/amdgpu/sdma4: set align mask to 255 drm/client: Send hotplug event after registering a client cifs: fix session state check in smb2_find_smb_ses ovl: fix null pointer dereference in ovl_get_acl_rcu() ovl: let helper ovl_i_path_real() return the realinode fs/ntfs3: Check fields while reading nvme-pci: fix DMA direction of unmapping integrity data net/sched: sch_qfq: account for stab overhead in qfq_enqueue net/sched: sch_qfq: refactor parsing of netlink parameters wifi: rtw89: debug: fix error code in rtw89_debug_priv_send_h2c_set() net/sched: make psched_mtu() RTNL-less safe netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write() riscv: mm: fix truncation warning on RV32 net/sched: flower: Ensure both minimum and maximum ports are specified bpf: cpumap: Fix memory leak in cpu_map_update_elem wifi: airo: avoid uninitialized warning in airo_get_rate() erofs: fix fsdax unavailability for chunk-based regular files erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF erofs: avoid useless loops in z_erofs_pcluster_readmore() when reading beyond EOF octeontx2-pf: Add additional check for MCAM rules drm/i915: Fix one wrong caching mode enum usage drm/i915: Don't preserve dpll_hw_state for slave crtc in Bigjoiner riscv, bpf: Fix inconsistent JIT image generation nvme: fix the NVME_ID_NS_NVM_STS_MASK definition igc: Fix inserting of empty frame for launchtime igc: Fix launchtime before start of cycle kernel/trace: Fix cleanup logic of enable_trace_eprobe platform/x86: wmi: Break possible infinite loop when parsing GUID net: dsa: qca8k: Add check for skb_copy ipv6/addrconf: fix a potential refcount underflow for idev NTB: ntb_tool: Add check for devm_kcalloc NTB: ntb_transport: fix possible memory leak while device_register() fails ntb: intel: Fix error handling in intel_ntb_pci_driver_init() NTB: amd: Fix error handling in amd_ntb_pci_driver_init() ntb: idt: Fix error handling in idt_pci_driver_init() udp6: fix udp6_ehashfn() typo icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev(). net: prevent skb corruption on frag list segmentation net: bgmac: postpone turning IRQs off to avoid SoC hangs ionic: remove WARN_ON to prevent panic_on_warn octeontx2-af: Move validation of ptp pointer before its usage octeontx2-af: Promisc enable/disable through mbox gve: Set default duplex configuration to full net/sched: cls_fw: Fix improper refcount update leads to use-after-free net: mvneta: fix txq_map in case of txq_number==1 bpf: Fix max stack depth check for async callbacks scsi: ufs: ufs-mediatek: Add dependency for RESET_CONTROLLER scsi: qla2xxx: Fix error code in qla2x00_start_sp() blk-crypto: use dynamic lock class for blk_crypto_profile::lock igc: Handle PPS start time programming for past time values igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings net/mlx5e: Check for NOT_READY flag state after locking net/mlx5e: fix memory leak in mlx5e_ptp_open net/mlx5e: fix memory leak in mlx5e_fs_tt_redirect_any_create net/mlx5e: fix double free in mlx5e_destroy_flow_table igc: Remove delay during TX ring configuration ice: Fix max_rate check while configuring TX rate limits drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags swiotlb: reduce the number of areas to match actual memory pool size swiotlb: reduce the swiotlb buffer size on allocation failure swiotlb: always set the number of areas before allocating the pool drm/bridge: ti-sn65dsi86: Fix auxiliary bus lifetime drm/panel: simple: Add connector_type for innolux_at043tn24 ksmbd: fix out of bounds read in smb2_sess_setup ksmbd: add missing compound request handing in some commands workqueue: clean up WORK_* constant types, clarify masking net: lan743x: Don't sleep in atomic context HID: amd_sfh: Fix for shift-out-of-bounds HID: amd_sfh: Rename the float32 variable Linux 6.1.39 io_uring: Use io_schedule* in cqring wait sh: hd64461: Handle virq offset for offchip IRQ base and HD64461 IRQ sh: mach-dreamcast: Handle virq offset in cascaded IRQ demux sh: mach-highlander: Handle virq offset in cascaded IRL demux sh: mach-r2d: Handle virq offset in cascaded IRL demux block/partition: fix signedness issue for Amiga partitions tty: serial: fsl_lpuart: add earlycon for imx8ulp platform wireguard: netlink: send staged packets when setting initial private key wireguard: queueing: use saner cpu selection wrapping netfilter: nf_tables: prevent OOB access in nft_byteorder_eval netfilter: nf_tables: do not ignore genmask when looking up chain by id netfilter: conntrack: Avoid nf_ct_helper_hash uses after free netfilter: nf_tables: unbind non-anonymous set if rule construction fails mtd: parsers: refer to ARCH_BCMBCA instead of ARCH_BCM4908 drm/i915/tc: Fix system resume MST mode restore for DP-alt sinks drm/i915/tc: Fix TC port link ref init for DP MST during HW readout drm/i915: Fix TypeC mode initialization during system resume mm/mmap: Fix extra maple tree write xfs: fix xfs_inodegc_stop racing with mod_delayed_work xfs: disable reaping in fscounters scrub xfs: check that per-cpu inodegc workers actually run on that cpu xfs: explicitly specify cpu when forcing inodegc delayed work to run immediately fs: no need to check source blktrace: use inline function for blk_trace_remove() while blktrace is disabled leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename ARM: orion5x: fix d2net gpio initialization ARM: dts: qcom: ipq4019: fix broken NAND controller properties override regulator: tps65219: Fix matching interrupts for their regulators ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path ASoC: mediatek: mt8173: Fix irq error path btrfs: do not BUG_ON() on tree mod log failure at __btrfs_cow_block() btrfs: fix extent buffer leak after tree mod log failure at split_node() btrfs: fix race when deleting quota root from the dirty cow roots list btrfs: reinsert BGs failed to reclaim btrfs: add block-group tree to lockdep classes btrfs: bail out reclaim process if filesystem is read-only btrfs: delete unused BGs while reclaiming BGs btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile ipvs: increase ip_vs_conn_tab_bits range for 64BIT usb: typec: ucsi: Mark dGPUs as DEVICE scope i2c: nvidia-gpu: Remove ccgx,firmware-build property i2c: nvidia-gpu: Add ACPI property to align with device-tree fs: Lock moved directories fs: Establish locking order for unrelated directories Revert "f2fs: fix potential corruption when moving a directory" ext4: Remove ext4 locking of moved directory fs: avoid empty option when generating legacy mount string jffs2: reduce stack usage in jffs2_build_xattr_subsystem() shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs mm/damon/ops-common: atomically test and clear young on ptes and pmds autofs: use flexible array in ioctl structure integrity: Fix possible multiple allocation in integrity_inode_get() um: Use HOST_DIR for mrproper watch_queue: prevent dangling pipe pointer bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent bcache: Remove unnecessary NULL point check in node allocations bcache: fixup btree_cache_wait list damage wifi: mt76: mt7921e: fix init command fail with enabled device wifi: ath10k: Serialize wake_tx_queue ops wifi: cfg80211: fix regulatory disconnect for non-MLO mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used. mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M mmc: core: disable TRIM on Kingston EMMC04G-M627 io_uring: wait interruptibly for request completions on exit irqchip/loongson-pch-pic: Fix initialization of HT vector register NFSD: add encoding of op_recall flag for write delegation irqchip/loongson-pch-pic: Fix potential incorrect hwirq assignment i2c: qup: Add missing unwind goto in qup_i2c_probe() btrfs: do not BUG_ON() on tree mod log failure at balance_level() extcon: usbc-tusb320: Unregister typec port on driver removal extcon: usbc-tusb320: Convert to i2c's .probe_new() dm ioctl: Avoid double-fetch of version dm ioctl: have constant on the right side of the test dm: avoid split of quoted strings where possible dm: fix undue/missing spaces i2c: xiic: Don't try to handle more interrupt events after error apparmor: fix missing error check for rhashtable_insert_fast sh: dma: Fix DMA channel offset calculation s390/qeth: Fix vipa deletion afs: Fix accidental truncation when storing data octeontx-af: fix hardware timestamp configuration net: dsa: sja1105: always enable the send_meta options net: dsa: tag_sja1105: fix MAC DA patching from meta frames pptp: Fix fib lookup calls. riscv: move memblock_allow_resize() after linear mapping is ready fanotify: disallow mount/sb marks on kernel internal pseudo fs net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX xsk: Honor SO_BINDTODEVICE on bind bpf, btf: Warn but return no error for NULL btf from __register_btf_kfunc_id_set() tcp: annotate data races in __tcp_oow_rate_limited() net: fix net_dev_start_xmit trace event vs skb_transport_offset() net: dsa: tag_sja1105: fix source port decoding in vlan_filtering=0 bridge mode net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode powerpc: dts: turris1x.dts: Fix PCIe MEM size for pci2 node powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y ntfs: Fix panic about slab-out-of-bounds caused by ntfs_listxattr() octeontx2-af: Add validation before accessing cgx and lmac octeontx2-af: Fix mapping for NIX block from CGX connection f2fs: fix error path handling in truncate_dnode() mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0 drm/amd: Don't try to enable secure display TA multiple times drm/amdgpu: fix number of fence calculations spi: bcm-qspi: return error if neither hif_mspi nor mspi is available mlxsw: minimal: fix potential memory leak in mlxsw_m_linecards_init net: dsa: vsc73xx: fix MTU configuration ibmvnic: Do not reset dql stats on NON_FATAL err Bluetooth: MGMT: Fix marking SCAN_RSP as not connectable Bluetooth: MGMT: Use BIT macro when defining bitfields Bluetooth: MGMT: add CIS feature bits to controller information Bluetooth: ISO: use hci_sync for setting CIG parameters Bluetooth: fix invalid-bdaddr quirk for non-persistent setup Add MODULE_FIRMWARE() for FIRMWARE_TG357766. net: dsa: tag_sja1105: always prefer source port information from INCL_SRCPT net: dsa: sja1105: always enable the INCL_SRCPT option net: dsa: felix: don't drop PTP frames with tag_8021q when RX timestamping is disabled net: mscc: ocelot: don't keep PTP configuration of all ports in single structure net: mscc: ocelot: don't report that RX timestamping is enabled by default spi: spi-geni-qcom: enable SPI_CONTROLLER_MUST_TX for GPI DMA mode net/sched: act_ipt: add sanity checks on skb before calling target net: add a couple of helpers for iph tot_len net/sched: act_ipt: add sanity checks on table name and hook locations sctp: fix potential deadlock on &net->sctp.addr_wq_lock media: cec: i2c: ch7322: also select REGMAP f2fs: check return value of freeze_super() drm/i915/guc/slpc: Apply min softlimit correctly drm/i915/psr: Use hw.adjusted mode when calculating io/fast wake times rtc: st-lpc: Release some resources in st_rtc_probe() in case of error md/raid10: fix the condition to call bio_end_io_acct() pwm: mtk_disp: Fix the disable flow of disp_pwm pwm: ab8500: Fix error code in probe() pwm: sysfs: Do not apply state to already disabled PWMs pwm: imx-tpm: force 'real_period' to be zero in suspend lib/bitmap: drop optimization of bitmap_{from,to}_arr64 phy: tegra: xusb: check return value of devm_kzalloc() mfd: stmpe: Only disable the regulators if they are enabled hwtracing: hisi_ptt: Fix potential sleep in atomic context clk: qcom: mmcc-msm8974: fix MDSS_GDSC power flags misc: fastrpc: check return value of devm_kasprintf() cpufreq: mediatek: correct voltages for MT7622 and MT7623 KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler KVM: s390: vsie: fix the length of APCB bitmap mfd: stmfx: Nullify stmfx->vdd in case of error mfd: stmfx: Fix error path in stmfx_chip_init bus: fsl-mc: don't assume child devices are all fsl-mc devices nvmem: rmem: Use NVMEM_DEVID_AUTO nvmem: sunplus-ocotp: release otp->clk before return drivers: fwnode: fix fwnode_irq_get[_byname]() device property: Clarify description of returned value in some functions device property: Fix documentation for fwnode_get_next_parent() serial: 8250_omap: Use force_suspend and resume for system suspend Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection" mfd: intel-lpss: Add missing check for platform_get_resource mfd: wcd934x: Fix an error handling path in wcd934x_slim_probe() usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe() usb: common: usb-conn-gpio: Set last role to unknown before initial detection usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe() usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove() KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io() f2fs: fix potential deadlock due to unpaired node_write lock use gfs2: Fix duplicate should_fault_in_pages() call sh: Avoid using IRQ0 on SH3 and SH4 media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var() media: venus: helpers: Fix ALIGN() of non power of two mfd: rt5033: Drop rt5033-battery sub-device coresight: Fix loss of connection info when a module is unloaded i3c: master: svc: fix cpu schedule in spin lock lkdtm: replace ll_rw_block with submit_bh kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR serial: 8250: lock port for UART_IER access in omap8250_irq() serial: core: lock port for start_rx() in uart_resume_port() serial: 8250: lock port for stop_rx() in omap8250_irq() serial: core: lock port for stop_rx() in uart_suspend_port() usb: misc: eud: Fix eud sysfs path (use 'qcom_eud') usb: hide unused usbfs_notify_suspend/resume functions usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe() extcon: Fix kernel doc of property capability fields to avoid warnings extcon: Fix kernel doc of property fields to avoid warnings usb: gadget: u_serial: Add null pointer check in gserial_suspend usb: dwc3: qcom: Fix potential memory leak staging: vchiq_arm: mark vchiq_platform_init() static clk: qcom: mmcc-msm8974: use clk_rcg2_shared_ops for mdp_clk_src clock clk: qcom: dispcc-qcm2290: Fix GPLL0_OUT_DIV handling clk: qcom: dispcc-qcm2290: Fix BI_TCXO_AO handling clk: qcom: ipq6018: fix networking resets clk: qcom: reset: support resetting multiple bits media: mediatek: vcodec: using decoder status instead of core work count media: hi846: fix usage of pm_runtime_get_if_in_use() media: i2c: Correct format propagation for st-mipid02 media: usb: siano: Fix warning due to null work_func_t function pointer media: videodev2.h: Fix struct v4l2_input tuner index comment media: amphion: initiate a drain of the capture queue in dynamic resolution change media: amphion: drop repeated codec data for vc1g format media: amphion: drop repeated codec data for vc1l format media: usb: Check az6007_read() return value clk: qcom: gcc-qcm2290: Mark RCGs shared where applicable clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks clk: qcom: camcc-sc7180: Add parent dependency to all camera GDSCs clk: qcom: mmcc-msm8974: remove oxili_ocmemgx_clk serial: 8250: omap: Fix freeing of resources on failed register usb: dwc2: Fix some error handling paths usb: dwc2: platform: Improve error reporting for problems during .remove() sh: j2: Use ioremap() to translate device tree address into kernel memory f2fs: do not allow to defragment files have FI_COMPRESS_RELEASED dt-bindings: power: reset: qcom-pon: Only allow reboot-mode pre-pmk8350 w1: fix loop in w1_fini() w1: w1_therm: fix locking behavior in convert_t SUNRPC: Fix UAF in svc_tcp_listen_data_ready() btrfs: fix race when deleting free space root from the dirty cow roots list block: increment diskseq on all media change events block: change all __u32 annotations to __be32 in affs_hardblocks.h block: add overflow checks for Amiga partition support block: fix signed int overflow in Amiga partition support ALSA: pcm: Fix potential data race at PCM memory allocation helpers ALSA: jack: Fix mutex call in snd_jack_report() ALSA: hda/realtek: Add quirk for Clevo NPx0SNx ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook mm/mmap: Fix VM_LOCKED check in do_vmi_align_munmap() Revert "drm/amd/display: edp do not add non-edid timings" iio: accel: fxls8962af: fixup buffer scan element type iio: accel: fxls8962af: errata bug only applicable for FXLS8962AF iio: adc: ad7192: Fix internal/external clock selection iio: adc: ad7192: Fix null ad7192_state pointer access phy: tegra: xusb: Clear the driver reference in usb-phy dev usb: dwc3: gadget: Propagate core init errors to UDC during pullup USB: serial: option: add LARA-R6 01B PIDs md/raid1-10: fix casting from randomized structure in raid1_submit_write() x86/efi: Make efi_set_virtual_address_map IBT safe arm64: sme: Use STR P to clear FFR context field in streaming SVE mode ksmbd: avoid field overflow warning smb: client: fix broken file attrs with nodfs mounts cifs: do all necessary checks for credits within or before locking cifs: prevent use-after-free by freeing the cfile later efi/libstub: Disable PCI DMA before grabbing the EFI memory map kbuild: Disable GCOV for *.mod.o hwrng: st - keep clock enabled while hwrng is registered dax/kmem: Pass valid argument to memory_group_register_static dax: Introduce alloc_dev_dax_id() dax: Fix dax_mapping_release() use after free SMB3: Do not send lease break acknowledgment if all file handles have been closed NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION NFSv4.2: fix wrong shrinker_id crypto: qat - unmap buffers before free for RSA crypto: qat - unmap buffer before free for DH crypto: qat - Use helper to set reqsize crypto: kpp - Add helper to set reqsize ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard modpost: fix off by one in is_executable_section() crypto: jitter - correct health test during initialization crypto: marvell/cesa - Fix type mismatch warning modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24} modpost: fix section mismatch message for R_ARM_ABS32 crypto: nx - fix build warnings when DEBUG_FS is not enabled modpost: remove broken calculation of exception_table_entry size hwrng: virtio - Fix race on data_avail and actual data vfio/mdev: Move the compat_class initialization to module init PCI: vmd: Fix uninitialized variable usage in vmd_enable_domain() PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction PCI: endpoint: Fix a Kconfig prompt of vNTB driver PCI: endpoint: Fix Kconfig indent style powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo riscv: uprobes: Restore thread.bad_cause PCI: qcom: Disable write access to read only registers for IP v2.9.0 PCI: qcom: Use DWC helpers for modifying the read-only DBI registers PCI: qcom: Use lower case for hex PCI: qcom: Sort and group registers and bitfield definitions PCI: qcom: Remove PCIE20_ prefix from register definitions powerpc: update ppc_save_regs to save current r1 in pt_regs powerpc: simplify ppc_save_regs powerpc/powernv/sriov: perform null check on iov before dereferencing iov pinctrl: at91-pio4: check return value of devm_kasprintf() pinctrl: microchip-sgpio: check return value of devm_kasprintf() powerpc/64s: Fix VAS mm use after free perf tool x86: Fix perf_env memory leak perf tool x86: Consolidate is_amd check into single function platform/x86/dell/dell-rbtn: Fix resources leaking on error path perf dwarf-aux: Fix off-by-one in die_get_varname() platform/x86: thinkpad_acpi: Fix lkp-tests warnings for platform profiles perf script: Fix allocation of evsel->priv related to per-event dump files powerpc/signal32: Force inlining of __unsafe_save_user_regs() and save_tm_user_regs_unsafe() powerpc/interrupt: Don't read MSR from interrupt_exit_kernel_prepare() kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures pinctrl: npcm7xx: Add missing check for ioremap pinctrl:sunplus: Add check for kmalloc platform/x86: think-lmi: Correct NVME password handling platform/x86: think-lmi: Correct System password interface platform/x86: think-lmi: mutex protection around multiple WMI calls pinctrl: cherryview: Return correct value if pin in push-pull mode perf bench: Add missing setlocale() call to allow usage of %'d style formatting scsi: lpfc: Revise NPIV ELS unsol rcv cmpl logic to drop ndlp based on nlp_state PCI: Add pci_clear_master() stub for non-CONFIG_PCI pinctrl: sunplus: Add check for kmalloc PCI: ftpci100: Release the clock resources PCI: pciehp: Cancel bringup sequence if card is not present scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe() PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free platform/x86: lenovo-yogabook: Set default keyboard backligh brightness on probe() platform/x86: lenovo-yogabook: Reprobe devices on remove() platform/x86: lenovo-yogabook: Fix work race on remove() pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors scsi: qedf: Fix NULL dereference in error handling PCI: vmd: Reset VMD config register between soft reboots PCI: cadence: Fix Gen2 Link Retraining process ASoC: amd: acp: clear pdm dma interrupt mask ARM: dts: lan966x: kontron-d10: fix SPI CS ARM: dts: lan966x: kontron-d10: fix board reset clk: Fix memory leak in devm_clk_notifier_register() ASoC: imx-audmix: check return value of devm_kasprintf() ovl: update of dentry revalidate flags after copy up drivers: meson: secure-pwrc: always enable DMA domain clk: ti: clkctrl: check return value of kasprintf() clk: keystone: sci-clk: check return value of kasprintf() clk: si5341: free unused memory on probe failure clk: si5341: check return value of {devm_}kasprintf() clk: si5341: return error if one synth clock registration fails clk: cdce925: check return value of kasprintf() clk: vc5: check memory returned by kasprintf() drm/msm/dpu: correct MERGE_3D length drm/amdgpu: Fix usage of UMC fill record in RAS drm/amdgpu: Fix memcpy() in sienna_cichlid_append_powerplay_table function. arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz arm64: dts: mediatek: Add cpufreq nodes for MT8192 drm/msm/dp: Free resources after unregistering them drm/msm/dsi: Remove incorrect references to slice_count drm/msm/dsi: Flip greater-than check for slice_count and slice_per_intf drm/msm/dsi: Use DSC slice(s) packet size to compute word count drm/msm/dpu: Fix slice_last_group_size calculation drm/msm/dpu: do not enable color-management if DSPPs are not available ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer clk: tegra: tegra124-emc: Fix potential memory leak clk: clocking-wizard: Fix Oops in clk_wzrd_register_divider() clk: bcm: rpi: Fix off by one in raspberrypi_discover_clocks() arm64: dts: qcom: sm8250-edo: Panel framebuffer is 2.5k instead of 4k arm64: dts: qcom: sdm845: Flush RSC sleep & wake votes clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe() clk: imx93: fix memory leak and missing unwind goto in imx93_clocks_probe clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe clk: imx: clk-imxrt1050: fix memory leak in imxrt1050_clocks_probe RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context RDMA/bnxt_re: wraparound mbox producer index drm/msm/a5xx: really check for A510 in a5xx_gpu_init amdgpu: validate offset_in_bo of drm_amdgpu_gem_va RDMA/rxe: Fix access checks in rxe_check_bind_mw RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mw.c RDMA/rxe: Add ibdev_dbg macros for rxe HID: uclogic: Modular KUnit tests should not depend on KUNIT=y drm/radeon: fix possible division-by-zero errors drm/amd/display: Fix artifacting on eDP panels when engaging freesync video mode soc: mediatek: SVS: Fix MT8192 GPU node name drm/amdkfd: Fix potential deallocation of previously deallocated memory. drm/amd/display: Fix a test dml32_rq_dlg_get_rq_reg() drm/amd/display: Fix a test CalculatePrefetchSchedule() clk: Export clk_hw_forward_rate_request() ARM: dts: BCM5301X: fix duplex-full => full-duplex hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272 hwmon: (gsc-hwmon) fix fan pwm temperature scaling ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2 Input: pm8941-powerkey - fix debounce on gen2+ PMICs arm64: dts: ti: k3-j7200: Fix physical address of pin fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() drm/msm/dpu: set DSC flush bit correctly at MDP CTL flush register arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1 ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier RDMA/hns: Fix hns_roce_table_get return value IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes soc/fsl/qe: fix usb.c build errors ARM: dts: meson8: correct uart_B and uart_C clock references ASoC: es8316: Do not set rate constraints for unsupported MCLKs ASoC: es8316: Increment max value for ALC Capture Target Volume control ARM: dts: qcom: apq8074-dragonboard: Set DMA as remotely controlled memory: brcmstb_dpfe: fix testing array offset after use ARM: dts: stm32: Shorten the AV96 HDMI sound card name arm64: dts: mediatek: mt8183: Add mediatek,broken-save-restore-fw to kukui arm64: dts: qcom: apq8096: fix fixed regulator name property arm64: dts: qcom: pm7250b: add missing spmi-vadc include ARM: omap2: fix missing tick_broadcast() prototype ARM: ep93xx: fix missing-prototype warnings drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H drm/bridge: ti-sn65dsi83: Fix enable/disable flow to meet spec drm/bridge: Introduce pre_enable_prev_first to alter bridge init order arm64: dts: qcom: apq8016-sbc: Fix 1.8V power rail on LS expansion arm64: dts: qcom: apq8016-sbc: Fix regulator constraints arm64: dts: qcom: sdm845-polaris: add missing touchscreen child node reg arm64: dts: qcom: sm8350: correct DMA controller unit address arm64: dts: qcom: sm8350: Add GPI DMA compatible fallback arm64: dts: qcom: sdm845: correct camss unit address arm64: dts: qcom: sdm630: correct camss unit address arm64: dts: qcom: msm8996: correct camss unit address arm64: dts: qcom: msm8994: correct SPMI unit address arm64: dts: qcom: msm8916: correct MMC unit address arm64: dts: qcom: msm8916: correct camss unit address ARM: dts: qcom: msm8974: do not use underscore in node name (again) drm/bridge: anx7625: Prevent endless probe loop drm/bridge: anx7625: Convert to i2c's .probe_new() ARM: dts: gta04: Move model property out of pinctrl node clk: renesas: rzg2l: Fix CPG_SIPLL5_CLK1 register write iommu/virtio: Return size mapped for a detached domain iommu/virtio: Detach domain on endpoint release drm/msm/dpu: Set DPU_DATA_HCTL_EN for in INTF_SC7180_MASK drm/msm/disp/dpu: get timing engine status from intf status register drm/msm/dsi: don't allow enabling 14nm VCO with unprogrammed rate RDMA/bnxt_re: Fix to remove an unnecessary log RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid RDMA/bnxt_re: Use unique names while registering interrupts RDMA/bnxt_re: Fix to remove unnecessary return labels RDMA/bnxt_re: Disable/kill tasklet only if it is enabled hwmon: (f71882fg) prevent possible division by zero clk: imx: scu: use _safe list iterator to avoid a use after free drm/bridge: tc358767: Switch to devm MIPI-DSI helpers arm64: dts: microchip: sparx5: do not use PSCI on reference boards bus: ti-sysc: Fix dispc quirk masking bool variables ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards drm/vkms: Fix RGB565 pixel conversion drm: Add fixed-point helper to get rounded integer values drm/vkms: isolate pixel conversion functionality ASoC: Intel: sof_sdw: remove SOF_SDW_TGL_HDMI for MeteorLake devices driver: soc: xilinx: use _safe loop iterator to avoid a use after free drm/panel: sharp-ls043t1le01: adjust mode settings drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks` Input: adxl34x - do not hardcode interrupt trigger type clk: rs9: Fix .driver_data content in i2c_device_id clk: vc7: Fix .driver_data content in i2c_device_id clk: vc5: Fix .driver_data content in i2c_device_id bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page clk: vc5: Use `clamp()` to restrict PLL range mm: call arch_swap_restore() from do_swap_page() ARM: dts: meson8b: correct uart_B and uart_C clock references ARM: dts: BCM5301X: Drop "clock-names" from the SPI node drm/vram-helper: fix function names in vram helper doc drm/bridge: tc358768: fix THS_TRAILCNT computation drm/bridge: tc358768: fix TXTAGOCNT computation drm/bridge: tc358768: fix THS_ZEROCNT computation drm/bridge: tc358768: fix TCLK_TRAILCNT computation drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation drm/bridge: tc358768: fix TCLK_ZEROCNT computation drm/bridge: tc358768: fix PLL target frequency drm/bridge: tc358768: fix PLL parameters computation drm/bridge: tc358768: always enable HS video mode drm/bridge: ti-sn65dsi83: Fix enable error path Input: drv260x - sleep between polling GO bit drm/bridge: it6505: Move a variable assignment behind a null pointer check in receive_timing_debugfs_show() drm/amd/display: Explicitly specify update type per plane info change radeon: avoid double free in ci_dpm_init() drm/amd/display: Add logging for display MALL refresh setting netlink: Add __sock_i_ino() for __netlink_diag_dump(). ipvlan: Fix return value of ipvlan_queue_xmit() netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value. netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one lib/ts_bm: reset initial match offset for every block of text net: nfc: Fix use-after-free caused by nfc_llcp_find_local sfc: fix crash when reading stats while NIC is resetting ocfs2: Fix use of slab data with sendpage net: axienet: Move reset before 64-bit DMA detection gtp: Fix use-after-free in __gtp_encap_destroy(). selftests: rtnetlink: remove netdevsim device after ipsec offload test bonding: do not assume skb mac_header is set netlink: do not hard code device address lenth in fdb dumps netlink: fix potential deadlock in netlink_set_err() net: stmmac: fix double serdes powerdown can: kvaser_pciefd: Set hardware timestamp on transmitted packets can: kvaser_pciefd: Add function to set skb hwtstamps can: length: fix bitstuffing count bpf: Fix bpf socket lookup from tc/xdp to respect socket VRF bindings bpf: Call __bpf_sk_lookup()/__bpf_skc_lookup() directly via TC hookpoint bpf: Factor out socket lookup functions for the TC hookpoint. wifi: ath9k: convert msecs to jiffies where needed wifi: iwlwifi: mvm: indicate HW decrypt for beacon protection mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston Canvas Go Plus from 11/2019 wifi: ieee80211: Fix the common size calculation for reconfiguration ML wifi: cfg80211/mac80211: Fix ML element common size calculation wifi: cfg80211: fix regulatory disconnect with OCB/NAN wifi: cfg80211: drop incorrect nontransmitted BSS update code wifi: cfg80211: rewrite merging of inherited elements wifi: mac80211: Remove "Missing iftype sband data/EHT cap" spam wifi: iwlwifi: pcie: fix NULL pointer dereference in iwl_pcie_irq_rx_msix_handler() wifi: iwlwifi: pull from TXQs with softirqs disabled wifi: ath11k: Add missing check for ioremap rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO wifi: mac80211: Fix permissions for valid_links debugfs entry wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key() memstick r592: make memstick_debug_get_tpc_name() static mmc: mediatek: Avoid ugly error message when SDIO wakeup IRQ isn't used kexec: fix a memory leak in crash_shrink_memory() watchdog/perf: more properly prevent false positives with turbo modes watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config selftests: cgroup: fix unexpected failure on test_memcg_low ice: handle extts in the miscellaneous interrupt thread wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled selftests/bpf: Fix check_mtu using wrong variable type wifi: mac80211: recalc min chandef for new STA links wifi: ath10k: Trigger STA disconnect after reconfig complete on hardware restart samples/bpf: xdp1 and xdp2 reduce XDPBUFSIZE to 60 wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes wifi: ray_cs: Fix an error handling path in ray_probe() wifi: wl3501_cs: Fix an error handling path in wl3501_probe() wifi: atmel: Fix an error handling path in atmel_probe() wifi: orinoco: Fix an error handling path in orinoco_cs_probe() wifi: orinoco: Fix an error handling path in spectrum_cs_probe() regulator: core: Streamline debugfs operations regulator: core: Fix more error checking for debugfs_create_dir() selftests/bpf: Do not use sign-file as testcase bpf: Fix memleak due to fentry attach failure bpf: Remove bpf trampoline selector bpftool: JIT limited misreported as negative value on aarch64 nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect() spi: dw: Round of n_bytes to power of 2 bpf: Don't EFAULT for {g,s}setsockopt with wrong optlen libbpf: fix offsetof() and container_of() to work with CO-RE sctp: add bpf_bypass_getsockopt proto callback wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan() wifi: wilc1000: fix for absent RSN capabilities WFA testcase spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG samples/bpf: Fix buffer overflow in tcp_basertt libbpf: btf_dump_type_data_check_overflow needs to consider BTF_MEMBER_BITFIELD_SIZE wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation igc: Enable and fix RX hash usage by netstack pstore/ram: Add check for kstrdup ima: Fix build warnings evm: Fix build warnings evm: Complete description of evm_inode_setattr() locking/atomic: arm: fix sync ops x86/mm: Fix __swp_entry_to_pte() for Xen PV guests perf/ibs: Fix interface via core pmu events kselftest: vDSO: Fix accumulation of uninitialized ret when CLOCK_REALTIME is undefined rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup() rcuscale: Move shutdown from wait_event() to wait_event_idle() rcutorture: Correct name of use_softirq module parameter rcu-tasks: Stop rcu_tasks_invoke_cbs() from using never-onlined CPUs rcu: Make rcu_cpu_starting() rely on interrupts being disabled thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe() cpufreq: intel_pstate: Fix energy_performance_preference for passive ARM: 9303/1: kprobes: avoid missing-declaration warnings PM: domains: Move the verification of in-params from genpd_add_device() powercap: RAPL: Fix CONFIG_IOSF_MBI dependency drivers/perf: hisi: Don't migrate perf to the CPU going to teardown x86/tdx: Fix race between set_memory_encrypted() and load_unaligned_zeropad() x86/mm: Allow guest.enc_status_change_prepare() to fail perf/arm-cmn: Fix DTC reset PM: domains: fix integer overflow issues in genpd_parse_state() clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode(). tick/rcu: Fix bogus ratelimit condition posix-timers: Prevent RT livelock in itimer_delete() erofs: fix compact 4B support for 16k block size erofs: simplify iloc() svcrdma: Prevent page release when nothing was received irqchip/jcore-aic: Fix missing allocation of IRQ descriptors irqchip/stm32-exti: Fix warning on initialized field overwritten block: fix blktrace debugfs entries leakage md/raid1-10: submit write io directly if bitmap is not enabled md/raid1-10: factor out a helper to submit normal write md/raid1-10: factor out a helper to add bio to plug md/raid10: fix io loss while replacement replace rdev md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request md/raid10: fix wrong setting of max_corr_read_errors md/raid10: fix overflow of md/safe_mode_delay md/raid10: check slab-out-of-bounds in md_bitmap_get_counter nvme-core: fix dev_pm_qos memleak nvme-core: add missing fault-injection cleanup nvme-auth: don't ignore key generation failures when initializing ctrl keys nvme-core: fix memory leak in dhchap_ctrl_secret nvme-core: fix memory leak in dhchap_secret_store nvme-auth: no need to reset chap contexts on re-authentication nvme-auth: remove symbol export from nvme_auth_reset nvme-auth: rename authentication work elements nvme-auth: rename __nvme_auth_[reset|free] to nvme_auth[reset|free]_dhchap lockd: drop inappropriate svc_get() from locked_get() blk-mq: fix potential io hang by wrong 'wake_batch' virt: sevguest: Add CONFIG_CRYPTO dependency x86/sev: Fix calculation of end address based on number of pages blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost x86/resctrl: Only show tasks' pid in current pid namespace erofs: kill hooked chains to avoid loops on deduplicated compressed images erofs: move zdata.h into zdata.c erofs: remove tagged pointer helpers erofs: avoid tagged pointers to mark sync decompression erofs: clean up cached I/O strategies block: Fix the type of the second bdev_op_is_zoned_write() argument fs: pipe: reveal missing function protoypes drm: use mgr->dev in drm_dbg_kms in drm_dp_add_payload_part2 Linux 6.1.38 drm/amd/display: Ensure vmin and vmax adjust for DCE drm/amdgpu: Validate VM ioctl flags. docs: Set minimal gtags / GNU GLOBAL version to 6.6.5 scripts/tags.sh: Resolve gtags empty index generation perf symbols: Symbol lookup with kcore can fail if multiple segments match stext nubus: Partially revert proc_create_single_data() conversion execve: always mark stack as growing down during early stack setup PCI/ACPI: Call _REG when transitioning D-states PCI/ACPI: Validate acpi_pci_set_power_state() parameter drm/amd/display: Do not update DRR while BW optimizations pending drm/amd/display: Remove optimization for VRR updates xtensa: fix lock_mm_and_find_vma in case VMA not found Linux 6.1.37 xtensa: fix NOMMU build with lock_mm_and_find_vma() conversion csky: fix up lock_mm_and_find_vma() conversion parisc: fix expand_stack() conversion sparc32: fix lock_mm_and_find_vma() conversion Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe" HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651. HID: wacom: Use ktime_t rather than int when dealing with timestamps HID: hidraw: fix data race on device refcount fbdev: fix potential OOB read in fast_imageblit() mm: always expand the stack with the mmap write lock held execve: expand new process stack manually ahead of time mm: make find_extend_vma() fail if write lock not held powerpc/mm: convert coprocessor fault to lock_mm_and_find_vma() mm/fault: convert remaining simple cases to lock_mm_and_find_vma() arm/mm: Convert to using lock_mm_and_find_vma() riscv/mm: Convert to using lock_mm_and_find_vma() mips/mm: Convert to using lock_mm_and_find_vma() powerpc/mm: Convert to using lock_mm_and_find_vma() arm64/mm: Convert to using lock_mm_and_find_vma() mm: make the page fault mmap locking killable mm: introduce new 'lock_mm_and_find_vma()' page fault helper maple_tree: fix potential out-of-bounds access in mas_wr_end_piv() can: isotp: isotp_sendmsg(): fix return error fix on TX path x86/smp: Cure kexec() vs. mwait_play_dead() breakage x86/smp: Use dedicated cache-line for mwait_play_dead() x86/smp: Remove pointless wmb()s from native_stop_other_cpus() x86/smp: Dont access non-existing CPUID leaf x86/smp: Make stop_other_cpus() more robust x86/microcode/AMD: Load late on both threads too mm, hwpoison: when copy-on-write hits poison, take page offline mm, hwpoison: try to recover from copy-on write faults mptcp: ensure listener is unhashed before updating the sk status mm/mmap: Fix error return in do_vmi_align_munmap() mm/mmap: Fix error path in do_vmi_align_munmap() Revert "gpiolib: Fix irq_domain resource tracking for gpiochip_irqchip_add_domain()" Linux 6.1.36 smb: move client and server files to common directory fs/smb i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys KVM: arm64: Restore GICv2-on-GICv3 functionality vhost_net: revert upend_idx only on retriable error vhost_vdpa: tell vqs about the negotiated drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl drm/exynos: vidi: fix a wrong error return null_blk: Fix: memory release when memory_backed=1 ARM: dts: Fix erroneous ADS touchscreen polarities i2c: mchp-pci1xxxx: Avoid cast to incompatible function type ALSA: hda/realtek: Add "Intel Reference board" and "NUC 13" SSID in the ALC256 ASoC: fsl_sai: Enable BCI bit if SAI works on synchronous mode with BYP asserted s390/purgatory: disable branch profiling gfs2: Don't get stuck writing page onto itself under direct I/O ASoC: amd: yc: Add Thinkpad Neo14 to quirks list for acp6x ASoC: nau8824: Add quirk to active-high jack-detect soundwire: qcom: add proper error paths in qcom_swrm_startup() soundwire: dmi-quirks: add new mapping for HP Spectre x360 ASoC: simple-card: Add missing of_node_put() in case of error ASoC: codecs: wcd938x-sdw: do not set can_multi_write flag spi: lpspi: disable lpspi module irq in DMA mode s390/cio: unregister device when the only path is gone arm64: dts: qcom: sc7280-qcard: drop incorrect dai-cells from WCD938x SDW arm64: dts: qcom: sc7280-idp: drop incorrect dai-cells from WCD938x SDW Input: soc_button_array - add invalid acpi_index DMI quirk handling nvme: improve handling of long keep alives nvme: check IO start time when deciding to defer KA nvme: double KA polling frequency to avoid KATO with TBKAS on usb: gadget: udc: fix NULL dereference in remove() btrfs: fix an uninitialized variable warning in btrfs_log_inode nfcsim.c: Fix error checking for debugfs_create_dir media: cec: core: don't set last_initiator if tx in progress media: cec: core: disable adapter in cec_devnode_unregister smb3: missing null check in SMB2_change_notify arm64: Add missing Set/Way CMO encodings HID: wacom: Add error check to wacom_parse_and_register() scsi: target: iscsi: Prevent login threads from racing between each other gpiolib: Fix irq_domain resource tracking for gpiochip_irqchip_add_domain() gpio: sifive: add missing check for platform_get_irq gpiolib: Fix GPIO chip IRQ initialization restriction arm64: dts: rockchip: fix nEXTRST on SOQuartz arm64: dts: rockchip: Enable GPU on SOQuartz CM4 revert "net: align SO_RCVMARK required privileges with SO_MARK" sch_netem: acquire qdisc lock in netem_change() platform/x86/amd/pmf: Register notify handler only if SPS is enabled selftests: forwarding: Fix race condition in mirror installation io_uring/net: use the correct msghdr union member in io_sendmsg_copy_hdr bpf: Force kprobe multi expected_attach_type for kprobe_multi link bpf/btf: Accept function names that contain dots Revert "net: phy: dp83867: perform soft reset and retain established link" netfilter: nfnetlink_osf: fix module autoload netfilter: nf_tables: disallow updates of anonymous sets netfilter: nf_tables: reject unbound chain set before commit phase netfilter: nf_tables: reject unbound anonymous set before commit phase netfilter: nf_tables: disallow element updates of bound anonymous sets netfilter: nft_set_pipapo: .walk does not deal with generations netfilter: nf_tables: drop map element references from preparation phase netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain netfilter: nf_tables: fix chain binding transaction logic be2net: Extend xmit workaround to BE3 chip net: dsa: mt7530: fix handling of LLDP frames net: dsa: mt7530: fix handling of BPDUs on MT7530 switch net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch ipvs: align inner_mac_header for encapsulation mmc: usdhi60rol0: fix deferred probing mmc: sh_mmcif: fix deferred probing mmc: sdhci-acpi: fix deferred probing mmc: owl: fix deferred probing mmc: omap_hsmmc: fix deferred probing mmc: omap: fix deferred probing mmc: mvsdio: fix deferred probing mmc: mtk-sd: fix deferred probing net: qca_spi: Avoid high load if QCA7000 is not available sfc: use budget for TX completions net/mlx5: DR, Fix wrong action data allocation in decap action xfrm: Linearize the skb after offloading if needed. selftests: net: fcnal-test: check if FIPS mode is enabled selftests: net: vrf-xfrm-tests: change authentication and encryption algos selftests: net: tls: check if FIPS mode is enabled bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable. xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets bpf: Fix verifier id tracking of scalars on spill bpf: track immediate values written to stack by BPF_ST instruction KVM: arm64: PMU: Restore the host's PMUSERENR_EL0 xfrm: Ensure policies always checked on XFRM-I input path xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c xfrm: Treat already-verified secpath entries as optional ieee802154: hwsim: Fix possible memory leaks mmc: meson-gx: fix deferred probing memfd: check for non-NULL file_seals in memfd_create() syscall x86/mm: Avoid using set_pgd() outside of real PGD pages nilfs2: prevent general protection fault in nilfs_clear_dirty_page() io_uring/poll: serialize poll linked timer start with poll removal arm64: dts: rockchip: Fix rk356x PCIe register and range mappings regmap: spi-avmm: Fix regmap_bus max_raw_write regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK spi: spi-geni-qcom: correctly handle -EPROBE_DEFER from dma_request_chan() wifi: iwlwifi: pcie: Handle SO-F device for PCI id 0x7AF0 bpf: ensure main program has an extable mmc: sunxi: fix deferred probing mmc: bcm2835: fix deferred probing mmc: sdhci-spear: fix deferred probing mmc: mmci: stm32: fix max busy timeout calculation mmc: meson-gx: remove redundant mmc_request_done() call from irq context mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 mmc: litex_mmc: set PROBE_PREFER_ASYNCHRONOUS cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex in freezer_css_{online,offline}() cgroup: Do not corrupt task iteration when rebinding subsystem mptcp: consolidate fallback and non fallback state machine mptcp: fix possible list corruption on passive MPJ mptcp: fix possible divide by zero in recvmsg() mptcp: handle correctly disconnect() failures io_uring/net: disable partial retries for recvmsg with cmsg io_uring/net: clear msg_controllen on partial sendmsg retry PCI: hv: Add a per-bus mutex state_lock PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" PCI: hv: Fix a race condition bug in hv_pci_query_relations() Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails KVM: Avoid illegal stage2 mapping on invalid memory slot ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() nilfs2: fix buffer corruption due to concurrent device reads scripts: fix the gfp flags header path in gfp-translate writeback: fix dereferencing NULL mapping->host on writeback_page_template selftests: mptcp: join: fix "userspace pm add & remove address" selftests: mptcp: join: skip fail tests if not supported selftests: mptcp: join: skip userspace PM tests if not supported selftests: mptcp: join: skip test if iptables/tc cmds fail selftests: mptcp: sockopt: skip TCP_INQ checks if not supported selftests: mptcp: diag: skip listen tests if not supported selftests/mount_setattr: fix redefine struct mount_attr build error selftests: mptcp: join: skip MPC backups tests if not supported selftests: mptcp: join: skip fullmesh flag tests if not supported selftests: mptcp: join: skip backup if set flag on ID not supported selftests: mptcp: join: skip implicit tests if not supported selftests: mptcp: join: support RM_ADDR for used endpoints or not selftests: mptcp: join: skip Fastclose tests if not supported selftests: mptcp: join: support local endpoint being tracked or not selftests: mptcp: join: skip check if MIB counter not supported selftests: mptcp: join: helpers to skip tests selftests: mptcp: join: use 'iptables-legacy' if available selftests: mptcp: lib: skip if not below kernel version selftests: mptcp: userspace pm: skip if not supported selftests: mptcp: userspace pm: skip if 'ip' tool is unavailable selftests: mptcp: sockopt: skip getsockopt checks if not supported selftests: mptcp: sockopt: relax expected returned size selftests: mptcp: pm nl: skip fullmesh flag checks if not supported selftests: mptcp: pm nl: remove hardcoded default limits selftests: mptcp: connect: skip disconnect tests if not supported selftests: mptcp: connect: skip transp tests if not supported selftests: mptcp: lib: skip if missing symbol selftests: mptcp: join: fix ShellCheck warnings selftests: mptcp: remove duplicated entries in usage tick/common: Align tick period during sched_timer setup ksmbd: validate session id and tree id in the compound request ksmbd: fix out-of-bound read in smb2_write ksmbd: validate command payload size tpm_crb: Add support for CRB devices based on Pluton tpm, tpm_tis: Claim locality in interrupt handler mm: Fix copy_from_user_nofault(). ata: libata-scsi: Avoid deadlock on rescan after device resume tty: serial: fsl_lpuart: reduce RX watermark to 0 on LS1028A tty: serial: fsl_lpuart: make rx_watermark configurable for different platforms drm/amd/display: fix the system hang while disable PSR drm/amd/display: Add wrapper to call planes and stream update drm/amd/display: Use dc_update_planes_and_stream ANDROID: GKI: irq-gic-v3: fix up breakage in 6.1.35 merge Linux 6.1.35 kbuild: Update assembler calls to use proper flags and language target MIPS: Prefer cc-option for additions to cflags MIPS: Move '-Wa,-msoft-float' check from as-option to cc-option x86/boot/compressed: prefer cc-option for CFLAGS additions scsi: target: core: Fix error path in target_setup_session() neighbour: delete neigh_lookup_nodev as not used net/sched: act_api: add specific EXT_WARN_MSG for tc action Revert "net/sched: act_api: move TCA_EXT_WARN_MSG to the correct hierarchy" net/sched: act_api: move TCA_EXT_WARN_MSG to the correct hierarchy drm/amdgpu: Don't set struct drm_driver.output_poll_changed rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period parisc: Delete redundant register definitions in <asm/assembly.h> afs: Fix vlserver probe RTT handling octeon_ep: Add missing check for ioremap selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET net: tipc: resize nlattr array to correct size dm: don't lock fs when the map is NULL during suspend or resume sfc: fix XDP queues mode with legacy IRQ net: macsec: fix double free of percpu stats net: lapbether: only support ethernet devices net: dsa: felix: fix taprio guard band overflow at 10Mbps with jumbo frames net/sched: cls_api: Fix lockup on flushing explicitly created chain ext4: drop the call to ext4_error() from ext4_get_group_info() cifs: fix lease break oops in xfstest generic/098 selftests: forwarding: hw_stats_l3: Set addrgenmode in a separate step net/sched: qdisc_destroy() old ingress and clsact Qdiscs before grafting net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs sched: add new attr TCA_EXT_WARN_MSG to report tc extact message selftests/tc-testing: Fix SFB db test selftests/tc-testing: Fix Error: failed to find target LOG selftests/tc-testing: Fix Error: Specified qdisc kind is unknown. drm/nouveau: add nv_encoder pointer check for NULL drm/nouveau/dp: check for NULL nv_connector->native_mode drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow drm/nouveau: don't detect DSM for non-NVIDIA device net: phylink: use a dedicated helper to parse usgmii control word net: phylink: report correct max speed for QUSGMII igb: fix nvm.ops.read() error handling igc: Fix possible system crash when loading module igc: Clean the TX buffer and TX descriptor ring sctp: fix an error code in sctp_sf_eat_auth() ipvlan: fix bound dev checking for IPv6 l3s mode net: ethtool: correct MAX attribute value for stats IB/isert: Fix incorrect release of isert connection IB/isert: Fix possible list corruption in CMA handler IB/isert: Fix dead lock in ib_isert RDMA/mlx5: Fix affinity assignment IB/uverbs: Fix to consider event queue closing also upon non-blocking mode RDMA/cma: Always set static rate to 0 for RoCE RDMA/mlx5: Create an indirect flow table for steering anchor RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions octeontx2-af: fix lbk link credits on cn10k octeontx2-af: fixed resource availability check iavf: remove mask from iavf_irq_enable_queues() RDMA/rxe: Fix the use-before-initialization error of resp_pkts RDMA/rxe: Removed unused name from rxe_task struct wifi: mac80211: take lock before setting vif links wifi: cfg80211: fix link del callback to call correct handler wifi: mac80211: fix link activation settings order net/sched: cls_u32: Fix reference counter leak leading to overflow octeontx2-af: Fix promiscuous mode net/sched: act_pedit: Parse L3 Header for L4 offset net/sched: act_pedit: remove extra check for key type net/sched: simplify tcf_pedit_act igb: Fix extts capture value format for 82580/i354/i350 ping6: Fix send to link-local addresses with VRF. net: enetc: correct the indexes of highest and 2nd highest TCs netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE ice: Fix XDP memory leak when NIC is brought up and down netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM netfilter: nf_tables: integrate pipapo into commit protocol spi: fsl-dspi: avoid SCK glitches with continuous transfers spi: cadence-quadspi: Add missing check for dma_set_mask RDMA/rxe: Fix ref count error in check_rkey() RDMA/rxe: Fix packet length checks RDMA/rtrs: Fix rxe_dealloc_pd warning RDMA/rtrs: Fix the last iu->buf leak in err path usb: dwc3: gadget: Reset num TRBs before giving back the request USB: dwc3: fix use-after-free on core driver unbind USB: dwc3: qcom: fix NULL-deref on suspend usb: gadget: udc: core: Prevent soft_connect_store() race usb: gadget: udc: core: Offload usb_udc_vbus_handler processing usb: typec: Fix fast_role_swap_current show function usb: typec: ucsi: Fix command cancellation serial: lantiq: add missing interrupt ack USB: serial: option: add Quectel EM061KGL series clk: pxa: fix NULL pointer dereference in pxa3xx_clk_update_accr thunderbolt: Mask ring interrupt on Intel hardware as well thunderbolt: dma_test: Use correct value for absent rings when creating paths thunderbolt: Do not touch CL state configuration during discovery ALSA: hda/realtek: Add a quirk for Compaq N14JP6 drm/amdgpu: add missing radeon secondary PCI ID drm/amd/pm: workaround for compute workload type on some skus drm/amd: Tighten permissions on VBIOS flashing attributes drm/amd: Make sure image is written to trigger VBIOS image update flow drm/amd/display: edp do not add non-edid timings net: usb: qmi_wwan: add support for Compal RXM-G1 drm/amdgpu: vcn_4_0 set instance 0 init sched score to 1 RDMA/uverbs: Restrict usage of privileged QKEYs nouveau: fix client work fence deletion race net: ethernet: stmicro: stmmac: fix possible memory leak in __stmmac_open dm thin: fix issue_discard to pass GFP_NOIO to __blkdev_issue_discard dm thin metadata: check fail_io before using data_sm ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback ALSA: usb-audio: Fix broken resume due to UAC3 power state btrfs: can_nocow_file_extent should pass down args->strict from callers btrfs: fix iomap_begin length for nocow writes btrfs: do not ASSERT() on duplicated global roots powerpc/purgatory: remove PGO flags riscv/purgatory: remove PGO flags x86/purgatory: remove PGO flags kexec: support purgatories with .text.hot sections io_uring/net: save msghdr->msg_control for retries LoongArch: Fix perf event id calculation nilfs2: reject devices with insufficient block count nilfs2: fix possible out-of-bounds segment allocation in resize ioctl nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key() nios2: dts: Fix tse_mac "max-frame-size" property zswap: do not shrink if cgroup may not zswap ocfs2: check new file size on fallocate call ocfs2: fix use-after-free when unmounting read-only filesystem epoll: ep_autoremove_wake_function should use list_del_init_careful wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid() wifi: cfg80211: fix locking in regulatory disconnect irqchip/gic: Correctly validate OF quirk descriptors NVMe: Add MAXIO 1602 to bogus nid list. io_uring: unlock sqd->lock before sq thread release CPU drm:amd:amdgpu: Fix missing buffer object unlock in failure path xen/blkfront: Only check REQ_FUA for writes ASoC: dwc: move DMA init to snd_soc_dai_driver probe() ASoC: cs35l41: Fix default regmap values for some registers mips: Move initrd_start check after initrd address sanitisation. MIPS: Alchemy: fix dbdma2 MIPS: Restore Au1300 support MIPS: unhide PATA_PLATFORM parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory() parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu() ASoC: Intel: avs: Add missing checks on FE startup ASoC: Intel: avs: Account for UID of ACPI device ASoC: soc-pcm: test if a BE can be prepared btrfs: handle memory allocation failure in btrfs_csum_one_bio btrfs: scrub: try harder to mark RAID56 block groups read-only drm: panel-orientation-quirks: Change Air's quirk to support Air Plus power: supply: Fix logic checking if system is running from battery irqchip/meson-gpio: Mark OF related data as maybe unused irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues regulator: Fix error checking for debugfs_create_dir platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0 PCI/DPC: Quirk PIO log size for Intel Ice Lake Root Ports power: supply: Ratelimit no data debug output selftests: gpio: gpio-sim: Fix BUG: test FAILED due to recent change tools: gpio: fix debounce_period_us output of lsgpio ARM: dts: vexpress: add missing cache properties power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule() power: supply: sc27xx: Fix external_power_changed race power: supply: ab8500: Fix external_power_changed race of: overlay: Fix missing of_node_put() in error case of init_overlay_changeset() ksmbd: validate smb request protocol id EDAC/qcom: Get rid of hardcoded register offsets qcom: llcc/edac: Fix the base address used for accessing LLCC banks cgroup: fix missing cpus_read_{lock,unlock}() in cgroup_transfer_tasks() cgroup: always put cset in cgroup_css_set_put_fork cgroup: bpf: use cgroup_lock()/cgroup_unlock() wrappers test_firmware: prevent race conditions by a correct implementation of locking test_firmware: Use kstrtobool() instead of strtobool() x86/head/64: Switch to KERNEL_CS as soon as new GDT is installed Revert "Bluetooth: fix debugfs registration" Revert "Bluetooth: hci_sync: add lock to protect HCI_UNREGISTER" Revert "net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down" Revert "neighbour: fix unaligned access to pneigh_entry" Revert "tcp: deny tcp_disconnect() when threads are waiting" Revert "bpf, sockmap: Pass skb ownership through read_skb" Revert "bpf, sockmap: Convert schedule_work into delayed_work" Revert "bpf, sockmap: Reschedule is now done through backlog" Revert "bpf, sockmap: Improved check for empty queue" Revert "bpf, sockmap: Handle fin correctly" Revert "bpf, sockmap: TCP data stall on recv before accept" Revert "bpf, sockmap: Wake up polling after data copy" Revert "bpf, sockmap: Incorrectly handling copied_seq" Linux 6.1.34 Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE" wifi: rtw88: correct PS calculation for SUPPORTS_DYNAMIC_PS wifi: rtw89: correct PS calculation for SUPPORTS_DYNAMIC_PS ext4: only check dquot_initialize_needed() when debugging Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled" ksmbd: check the validation of pdu_size in ksmbd_conn_handler_loop ksmbd: fix out-of-bound read in parse_lease_state() ksmbd: fix out-of-bound read in deassemble_neg_contexts() vhost_vdpa: support PACKED when setting-getting vring_base vhost: support PACKED when setting-getting vring_base vduse: avoid empty string for dev name riscv: fix kprobe __user string arg print fault issue soundwire: stream: Add missing clear of alloc_slave_rt eeprom: at24: also select REGMAP riscv: mm: Ensure prot of VM_WRITE and VM_EXEC must be readable i2c: sprd: Delete i2c adapter in .remove's error path gpio: sim: fix memory corruption when adding named lines and unnamed hogs firmware: arm_ffa: Set handle field to zero in memory descriptor i2c: mv64xxx: Fix reading invalid status value in atomic mode arm64: dts: imx8mn-beacon: Fix SPI CS pinmux blk-mq: fix blk_mq_hw_ctx active request accounting ASoC: simple-card-utils: fix PCM constraint error check ASoC: mediatek: mt8195: fix use-after-free in driver remove path ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards ASoC: codecs: wsa881x: do not set can_multi_write flag ASoC: codecs: wsa883x: do not set can_multi_write flag ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc ARM: at91: pm: fix imbalanced reference counter for ethernet devices arm64: dts: qcom: sc8280xp: Flush RSC sleep & wake votes mm: page_table_check: Ensure user pages are not slab pages mm: page_table_check: Make it dependent on EXCLUSIVE_SYSTEM_RAM usb: usbfs: Use consistent mmap functions usb: usbfs: Enforce page requirements for mmap pinctrl: meson-axg: add missing GPIOA_18 gpio group soc: qcom: icc-bwmon: fix incorrect error code passed to dev_err_probe() virtio_net: use control_buf for coalesce params rbd: get snapshot context after exclusive lock is ensured to be held rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta' Bluetooth: hci_qca: fix debugfs registration Bluetooth: fix debugfs registration Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk s390/dasd: Use correct lock while counting channel queue length ceph: fix use-after-free bug for inodes when flushing capsnaps selftests: mptcp: update userspace pm subflow tests selftests: mptcp: update userspace pm addr tests mptcp: update userspace pm infos mptcp: add address into userspace pm list mptcp: only send RM_ADDR in nl_cmd_remove can: j1939: avoid possible use-after-free when j1939_can_rx_register fails can: j1939: change j1939_netdev_lock type to mutex can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket wifi: iwlwifi: mvm: Fix -Warray-bounds bug in iwl_mvm_wait_d3_notif() drm/amd/display: Reduce sdp bw after urgent to 90% drm/amd/pm: Fix power context allocation in SMU13 drm/amdgpu: change reserved vram info print drm/amdgpu: fix xclk freq on CHIP_STONEY drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs drm/i915/gt: Use the correct error value when kernel_context() fails ALSA: hda/realtek: Add quirks for Asus ROG 2024 laptops using CS35L41 ALSA: hda/realtek: Add Lenovo P3 Tower platform ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01 ALSA: ice1712,ice1724: fix the kcontrol->id initialization ALSA: hda/realtek: Add quirk for Clevo NS50AU ALSA: cmipci: Fix kctl->id initialization ALSA: gus: Fix kctl->id initialization ALSA: ymfpci: Fix kctl->id initialization ALSA: hda: Fix kctl->id initialization Input: fix open count when closing inhibited device Input: psmouse - fix OOB access in Elantech protocol Input: xpad - delete a Razer DeathAdder mouse VID/PID entry batman-adv: Broken sync while rescheduling delayed work bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks bnxt_en: Prevent kernel panic when receiving unexpected PHC_UPDATE event bnxt_en: Skip firmware fatal error recovery if chip is not accessible bnxt_en: Query default VLAN before VNIC setup on a VF bnxt_en: Don't issue AP reset during ethtool's reset operation net: bcmgenet: Fix EEE implementation lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram bpf: Add extra path pointer check to d_path helper net: sched: fix possible refcount leak in tc_chain_tmplt_add() net: sched: act_police: fix sparse errors in tcf_police_dump() net: sched: move rtm_tca_policy declaration to include file drm/i915/selftests: Add some missing error propagation drm/i915/selftests: Stop using kthread_stop() net: sched: add rcu annotations around qdisc->qdisc_sleeping rfs: annotate lockless accesses to RFS sock flow table rfs: annotate lockless accesses to sk->sk_rxhash tcp: gso: really support BIG TCP ipv6: rpl: Fix Route of Death. netfilter: nf_tables: out-of-bound check in chain blob netfilter: ipset: Add schedule point in call_ad(). netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper netfilter: nft_bitwise: fix register tracking selftests/bpf: Fix sockopt_sk selftest selftests/bpf: Verify optval=NULL case wifi: cfg80211: fix locking in sched scan stop work qed/qede: Fix scheduling while atomic wifi: mac80211: don't translate beacon/presp addrs wifi: mac80211: mlme: fix non-inheritence element wifi: cfg80211: reject bad AP MLD address wifi: mac80211: use correct iftype HE cap Bluetooth: L2CAP: Add missing checks for invalid DCID Bluetooth: ISO: don't try to remove CIG if there are bound CIS left Bluetooth: Fix l2cap_disconnect_req deadlock Bluetooth: hci_sync: add lock to protect HCI_UNREGISTER drm/i915: Use 18 fast wake AUX sync len drm/i915: Explain the magic numbers for AUX SYNC/precharge length net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values net: enetc: correct rx_bytes statistics of XDP net: enetc: correct the statistics of rx bytes net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down bpf: Fix elem_size not being set for inner maps bpf: Fix UAF in task local storage net/ipv4: ping_group_range: allow GID from 2147483648 to 4294967294 net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods neighbour: fix unaligned access to pneigh_entry bpf, sockmap: Avoid potential NULL dereference in sk_psock_verdict_data_ready() wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll afs: Fix setting of mtime when creating a file/dir/symlink spi: qup: Request DMA before enabling clocks platform/surface: aggregator_tabletsw: Add support for book mode in KIP subsystem platform/surface: aggregator: Allow completion work-items to be executed in parallel spi: mt65xx: make sure operations completed before unloading net: sfp: fix state loss when updating state_hw_mask scsi: megaraid_sas: Add flexible array member for SGLs Revert "Revert "binder_alloc: add missing mmap_lock calls when using the VMA"" Revert "Revert "android: binder: stop saving a pointer to the VMA"" Revert "binder: add lockless binder_alloc_(set|get)_vma()" Revert "binder: fix UAF caused by faulty buffer cleanup" Revert "binder: fix UAF of alloc->vma in race with munmap()" ANDROID: GKI: add skb_pull_data to android/abi_gki_aarch64_virtual_device ANDROID: GKI: preserve CRC generation for some bluetooth symbols Revert "Revert "usb: gadget: udc: core: Invoke usb_gadget_connect only when started"" Revert "tipc: add tipc_bearer_min_mtu to calculate min mtu" Revert "tipc: do not update mtu if msg_max is too small in mtu negotiation" Revert "tipc: check the bearer min mtu properly when setting it by netlink" Revert "platform: Provide a remove callback that returns no value" Revert "ASoC: fsl_micfil: Fix error handler with pm_runtime_enable" Revert "firmware: arm_sdei: Fix sleep from invalid context BUG" ANDROID: add memset32 to db835c list of exported symbols needed. Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__" Revert "posix-cpu-timers: Implement the missing timer_wait_running callback" Revert "KVM: arm64: Avoid vcpu->mutex v. kvm->lock inversion in CPU_ON" Revert "KVM: arm64: Avoid lock inversion when setting the VM register width" Revert "KVM: arm64: Use config_lock to protect data ordered against KVM_RUN" Revert "KVM: arm64: Use config_lock to protect vgic state" Revert "KVM: arm64: vgic: Don't acquire its_lock before config_lock" ANDROID: add Android KABI build files to root .gitignore file ANDROID: add more gki_module headers to .gitignore file Linux 6.1.33 ext4: enable the lazy init thread when remounting read/write selftests: mptcp: join: avoid using 'cmp --bytes' selftests: mptcp: simult flows: skip if MPTCP is not supported selftests: mptcp: diag: skip if MPTCP is not supported arm64: efi: Use SMBIOS processor version to key off Ampere quirk tls: rx: strp: don't use GFP_KERNEL in softirq context xfs: verify buffer contents when we skip log replay drm/amd/display: Have Payload Properly Created After Resume iommu/amd/pgtbl_v2: Fix domain max address tpm, tpm_tis: Request threaded interrupt handler regmap: Account for register length when chunking fs/ntfs3: Validate MFT flags before replaying logs KEYS: asymmetric: Copy sig and digest in public_key_verify_signature() ksmbd: fix multiple out-of-bounds read during context decoding ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate ksmbd: fix incorrect AllocationSize set in smb2_get_info ksmbd: fix UAF issue from opinfo->conn ksmbd: fix credit count leakage KVM: x86: Account fastpath-only VM-Exits in vCPU stats KVM: arm64: Populate fault info for watchpoint test_firmware: fix the memory leak of the allocated firmware buffer test_firmware: fix a memory leak with reqs buffer powerpc/xmon: Use KSYM_NAME_LEN in array size serial: cpm_uart: Fix a COMPILE_TEST dependency serial: 8250_tegra: Fix an error handling path in tegra_uart_probe() fbcon: Fix null-ptr-deref in soft_cursor ext4: add lockdep annotations for i_data_sem for ea_inode's ext4: disallow ea_inodes with extended attributes ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find() ext4: add EA_INODE checking to ext4_iget() mptcp: fix active subflow finalization mptcp: fix connect timeout handling selftests: mptcp: userspace pm: skip if MPTCP is not supported selftests: mptcp: sockopt: skip if MPTCP is not supported selftests: mptcp: join: skip if MPTCP is not supported selftests: mptcp: pm nl: skip if MPTCP is not supported selftests: mptcp: connect: skip if MPTCP is not supported tracing/probe: trace_probe_primary_from_call(): checked list_first_entry tracing/histograms: Allow variables to have some modifiers tracing/timerlat: Always wakeup the timerlat thread mtdchar: mark bits of ioctl handler noinline selinux: don't use make's grouped targets feature yet io_uring: undeprecate epoll_ctl support riscv: perf: Fix callchain parse error with kernel tracepoint events tpm, tpm_tis: correct tpm_tis_flags enumeration values iommu/amd: Fix domain flush size when syncing iotlb powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall block: fix revalidate performance regression phy: qcom-qmp-pcie-msm8996: fix init-count imbalance phy: qcom-qmp-combo: fix init-count imbalance btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK mmc: pwrseq: sd8787: Fix WILC CHIP_EN and RESETN toggling order mmc: vub300: fix invalid response handling x86/mtrr: Revert 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case") drm/amd/pm: reverse mclk and fclk clocks levels for renoir drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp drm/amd/pm: reverse mclk clocks levels for SMU v13.0.5 drm/amd/pm: resolve reboot exception for si oland drm/amd/pm: reverse mclk and fclk clocks levels for vangogh drm/amd/pm: reverse mclk and fclk clocks levels for SMU v13.0.4 drm/amdgpu: enable tmz by default for GC 11.0.1 ata: libata-scsi: Use correct device no in ata_find_dev() scsi: stex: Fix gcc 13 warnings misc: fastrpc: reject new invocations during device removal misc: fastrpc: return -EPIPE to invocations on device removal md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk() usb: gadget: f_fs: Add unbind event before functionfs_unbind usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818 iio: dac: build ad5758 driver when AD5758 is selected iio: adc: stm32-adc: skip adc-diff-channels setup if none is present iio: adc: ad7192: Change "shorted" channels to differential iio: addac: ad74413: fix resistance input processing iio: dac: mcp4725: Fix i2c_master_send() return value handling iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag iio: adc: stm32-adc: skip adc-channels setup if none is present iio: light: vcnl4035: fixed chip ID check dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value iio: imu: inv_icm42600: fix timestamp reset HID: wacom: avoid integer overflow in wacom_intuos_inout() HID: google: add jewel USB id iio: adc: mxs-lradc: fix the order of two cleanup operations iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method media: uvcvideo: Don't expose unsupported formats to userspace drivers: base: cacheinfo: Fix shared_cpu_map changes in event of CPU hotplug mailbox: mailbox-test: fix a locking issue in mbox_test_message_write() media: mediatek: vcodec: Only apply 4K frame sizes on decoder formats KVM: arm64: vgic: Fix locking comment KVM: arm64: vgic: Wrap vgic_its_create() with config_lock KVM: arm64: vgic: Fix a circular locking issue block: Deny writable memory mapping if block is read-only nvme-pci: Add quirk for Teamgroup MP33 SSD ublk: fix AB-BA lockdep warning drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged ceph: silence smatch warning in reconnect_caps_cb() atm: hide unused procfs functions drm/msm: Be more shouty if per-process pgtables aren't working ALSA: oss: avoid missing-prototype warnings nvme: do not let the user delete a ctrl before a complete initialization nvme-multipath: don't call blk_mark_disk_dead in nvme_mpath_remove_disk netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT net: wwan: t7xx: Ensure init is completed before system sleep wifi: b43: fix incorrect __packed annotation scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed wifi: iwlwifi: mvm: Add locking to the rate read flow wifi: mac80211: recalc chanctx mindef before assigning wifi: mac80211: consider reserved chanctx for mindef wifi: mac80211: simplify chanctx allocation arm64: vdso: Pass (void *) to virt_to_page() arm64/mm: mark private VM_FAULT_X defines as vm_fault_t ARM: dts: stm32: add pin map for CAN controller on stm32f7 wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P s390/topology: honour nr_cpu_ids when adding CPUs s390/pkey: zeroize key blobs ASoC: SOF: pm: save io region state in case of errors in resume ASoC: SOF: sof-client-probes: fix pm_runtime imbalance in error handling ASoC: SOF: pcm: fix pm_runtime imbalance in error handling ASoC: SOF: debug: conditionally bump runtime_pm counter on exceptions media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221 media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*() media: dvb-core: Fix use-after-free due to race at dvb_register_device() media: dvb-core: Fix use-after-free due on race condition at dvb_net media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb() media: dvb_ca_en50221: fix a size write bug media: netup_unidvb: fix irq init by register it at the end of probe media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer() media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer() media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer() media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer() media: dvb_demux: fix a bug for the continuity counter ASoC: ssm2602: Add workaround for playback distortions ALSA: hda/realtek: Add quirks for ASUS GU604V and GU603V ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs xfrm: Check if_id in inbound policy/secpath match um: harddog: fix modular build ASoC: dwc: limit the number of overrun messages ASoC: amd: yc: Add DMI entry to support System76 Pangolin 12 nvme-pci: add quirk for missing secondary temperature thresholds nvme-pci: add NVME_QUIRK_BOGUS_NID for HS-SSD-FUTURE 2048G block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE nbd: Fix debugfs_create_dir error checking fbdev: stifb: Fix info entry in sti_struct on error path fbdev: modedb: Add 1920x1080 at 60 Hz video mode fbdev: imsttfb: Fix use after free bug in imsttfb_probe drm/amdgpu: set gfx9 onwards APU atomics support to be true gfs2: Don't deref jdesc in evict platform/mellanox: fix potential race in mlxbf-tmfifo driver platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE hwmon: (k10temp) Add PCI ID for family 19, model 78h ARM: 9295/1: unwind:fix unwind abort for uleb128 case btrfs: abort transaction when sibling keys check fails for leaves drm/ast: Fix ARM compatibility mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write() drm/amdgpu: Use the default reset when loading or reloading the driver ASoC: Intel: soc-acpi-cht: Add quirk for Nextbook Ares 8A tablet ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs. watchdog: menz069_wdt: fix watchdog initialisation drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init" mptcp: add annotations around sk->sk_shutdown accesses mptcp: fix data race around msk->first access mptcp: consolidate passive msk socket initialization mptcp: simplify subflow_syn_recv_sock() mptcp: avoid unneeded address copy mptcp: add annotations around msk->subflow accesses mptcp: avoid unneeded __mptcp_nmpc_socket() usage rtnetlink: call validate_linkmsg in rtnl_create_link mtd: rawnand: marvell: don't set the NAND frequency select mtd: rawnand: marvell: ensure timing values are written net: dsa: mv88e6xxx: Increase wait after reset deactivation tcp: fix mishandling when the sack compression is deferred. net/sched: flower: fix possible OOB write in fl_set_geneve_opt() iommu/mediatek: Flush IOTLB completely only if domain has been attached net/mlx5: Read embedded cpu after init bit cleared net/mlx5e: Fix error handling in mlx5e_refresh_tirs nvme: fix the name of Zone Append for verbose logging nfsd: fix double fget() bug in __write_ports_addfd() udp6: Fix race condition in udp6_sendmsg & connect net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report net: sched: fix NULL pointer dereference in mq_attach net/sched: Prohibit regrafting ingress or clsact Qdiscs net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs net/sched: sch_clsact: Only create under TC_H_CLSACT net/sched: sch_ingress: Only create under TC_H_INGRESS net/smc: Don't use RMBs not mapped to new link in SMCRv2 ADD LINK net/smc: Scan from current RMB list when no position specified tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set tcp: deny tcp_disconnect() when threads are waiting af_packet: do not use READ_ONCE() in packet_bind() RDMA/irdma: Fix Local Invalidate fencing RDMA/irdma: Prevent QP use after free mtd: rawnand: ingenic: fix empty stub helper definitions perf ftrace latency: Remove unnecessary "--" from --use-nsec option amd-xgbe: fix the false linkup in xgbe_phy_status tls: improve lockless access safety of tls_err_abort() af_packet: Fix data-races of pkt_sk(sk)->num. netrom: fix info-leak in nr_write_internal() net: mellanox: mlxbf_gige: Fix skb_panic splat under memory pressure net/mlx5e: Don't attach netdev profile while handling internal error net/mlx5: fw_tracer, Fix event handling net/mlx5: SF, Drain health before removing device net/mlx5: Drain health before unregistering devlink riscv: Fix unused variable warning when BUILTIN_DTB is set dmaengine: pl330: rename _start to prevent build error nfsd: make a copy of struct iattr before calling notify_change iommu/amd: Fix up merge conflict resolution iommu/amd: Handle GALog overflows iommu/amd: Don't block updates to GATag if guest mode is on iommu/rockchip: Fix unwind goto issue RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx RDMA/bnxt_re: Fix a possible memory leak dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved() RDMA/hns: Modify the value of long message loopback slice RDMA/hns: Fix base address table allocation RDMA/hns: Fix timeout attr in query qp for HIP08 RDMA/efa: Fix unsupported page sizes in device phy: amlogic: phy-meson-g12a-mipi-dphy-analog: fix CNTL2_DIF_TX_CTL0 value RDMA/bnxt_re: Fix the page_size used during the MR creation Linux 6.1.32 tools headers UAPI: Sync the linux/in.h with the kernel sources netfilter: ctnetlink: Support offloaded conntrack entry deletion cpufreq: amd-pstate: Add ->fast_switch() callback cpufreq: amd-pstate: Update policy->cur in amd_pstate_adjust_perf() block: fix bio-cache for passthru IO Revert "thermal/drivers/mellanox: Use generic thermal_zone_get_trip() function" bluetooth: Add cmd validity checks at the start of hci_sock_ioctl() drm/amd: Don't allow s0ix on APUs older than Raven octeontx2-af: Add validation for lmac type RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task" wifi: iwlwifi: mvm: fix potential memory leak wifi: iwlwifi: mvm: support wowlan info notification version 2 wifi: rtw89: correct 5 MHz mask setting net: phy: mscc: enable VSC8501/2 RGMII RX clock page_pool: fix inconsistency for page_pool_ring_[un]lock() net: page_pool: use in_softirq() instead vfio/type1: check pfn valid before converting to struct page blk-mq: fix race condition in active queue accounting bpf, sockmap: Incorrectly handling copied_seq bpf, sockmap: Wake up polling after data copy bpf, sockmap: TCP data stall on recv before accept bpf, sockmap: Handle fin correctly bpf, sockmap: Improved check for empty queue bpf, sockmap: Reschedule is now done through backlog bpf, sockmap: Convert schedule_work into delayed_work bpf, sockmap: Pass skb ownership through read_skb gpio-f7188x: fix chip name and pin count on Nuvoton chip net/mlx5: E-switch, Devcom, sync devcom events and devcom comp register tls: rx: strp: preserve decryption status of skbs when needed tls: rx: strp: factor out copying skb data tls: rx: strp: force mixed decrypted records into copy mode tls: rx: strp: fix determining record length in copy mode tls: rx: strp: set the skb->len of detached / CoW'ed skbs tls: rx: device: fix checking decryption status platform/x86/amd/pmf: Fix CnQF and auto-mode after resume selftests/bpf: Fix pkg-config call building sign-file firmware: arm_ffa: Fix usage of partition info get count flag ipv{4,6}/raw: fix output xfrm lookup wrt protocol inet: Add IP_LOCAL_PORT_RANGE socket option Linux 6.1.31 net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE 3c589_cs: Fix an error handling path in tc589_probe() net/smc: Reset connection when trying to use SMCRv2 fails. regulator: mt6359: add read check for PMIC MT6359 firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay net/mlx5: Devcom, serialize devcom registration net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device net/mlx5: Collect command failures data only for known commands net/mlx5: Fix error message when failing to allocate device memory net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE net/mlx5: Handle pairing of E-switch via uplink un/load APIs net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs net/mlx5e: do as little as possible in napi poll when budget is 0 net/mlx5e: Use correct encap attribute during invalidation net/mlx5e: Fix deadlock in tc route query code net/mlx5e: Fix SQ wake logic in ptp napi_poll context platform/mellanox: mlxbf-pmc: fix sscanf() error checking forcedeth: Fix an error handling path in nv_probe() sctp: fix an issue that plpmtu can never go to complete state cxl: Wait Memory_Info_Valid before access memory related info ASoC: Intel: avs: Access path components under lock ASoC: Intel: avs: Fix declaration of enum avs_channel_config ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg x86/show_trace_log_lvl: Ensure stack pointer is aligned, again xen/pvcalls-back: fix double frees with pvcalls_new_active_socket() x86/pci/xen: populate MSI sysfs entries ARM: dts: imx6qdl-mba6: Add missing pvcie-supply regulator coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet() platform/x86: ISST: Remove 8 socket limit regulator: pca9450: Fix BUCK2 enable_mask fs: fix undefined behavior in bit shift for SB_NOUSER firmware: arm_ffa: Fix FFA device names for logical partitions firmware: arm_ffa: Check if ffa_driver remove is present before executing optee: fix uninited async notif value power: supply: sbs-charger: Fix INHIBITED bit for Status reg power: supply: bq24190: Call power_supply_changed() after updating input current power: supply: bq25890: Call power_supply_changed() after updating input current or voltage power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes power: supply: bq27xxx: Move bq27xxx_battery_update() down power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status() power: supply: bq27xxx: Fix poll_interval handling and races on remove power: supply: bq27xxx: Fix I2C IRQ race on remove power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe power: supply: leds: Fix blink to LED on transition cifs: mapchars mount option ignored ipv6: Fix out-of-bounds access in ipv6_find_tlv() lan966x: Fix unloading/loading of the driver bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields octeontx2-pf: Fix TSOv6 offload selftests: fib_tests: mute cleanup error message drm: fix drmm_mutex_init() net: fix skb leak in __skb_tstamp_tx() ASoC: lpass: Fix for KASAN use_after_free out of bounds media: radio-shark: Add endpoint checks USB: sisusbvga: Add endpoint checks USB: core: Add routines for endpoint checks in old drivers udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated(). net: fix stack overflow when LRO is disabled for virtual interfaces fbdev: udlfb: Fix endpoint check debugobjects: Don't wake up kswapd from fill_pool() irqchip/mips-gic: Use raw spinlock for gic_lock irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms perf/x86/uncore: Correct the number of CHAs on SPR drm/amd/amdgpu: limit one queue per gang selftests/memfd: Fix unknown type name build failure binder: fix UAF of alloc->vma in race with munmap() binder: fix UAF caused by faulty buffer cleanup binder: add lockless binder_alloc_(set|get)_vma() Revert "android: binder: stop saving a pointer to the VMA" Revert "binder_alloc: add missing mmap_lock calls when using the VMA" drm/amd/pm: Fix output of pp_od_clk_voltage drm/amd/pm: add missing NotifyPowerSource message mapping for SMU13.0.7 drm/radeon: reintroduce radeon_dp_work_func content drm/mgag200: Fix gamma lut not initialized. dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type btrfs: use nofs when cleaning up aborted transactions gpio: mockup: Fix mode of debugfs files parisc: Handle kprobes breakpoints only in kernel context parisc: Enable LOCKDEP support parisc: Allow to reboot machine after system halt parisc: Fix flush_dcache_page() for usage from irq context parisc: Handle kgdb breakpoints only in kernel context parisc: Use num_present_cpus() in alternative patching code xtensa: add __bswap{si,di}2 helpers xtensa: fix signal delivery to FDPIC process m68k: Move signal frame following exception on 68020/030 net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize ASoC: rt5682: Disable jack detection interrupt during suspend power: supply: bq25890: Fix external_power_changed race power: supply: axp288_fuel_gauge: Fix external_power_changed race mmc: block: ensure error propagation for non-blk mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works SUNRPC: Don't change task->tk_status after the call to rpc_exit_task ALSA: hda/realtek: Enable headset onLenovo M70/M90 ALSA: hda: Fix unhandled register update during auto-suspend period ALSA: hda/ca0132: add quirk for EVGA X299 DARK platform/x86/intel/ifs: Annotate work queue on stack so object debug does not complain x86/mm: Avoid incomplete Global INVLPG flushes arm64: Also reset KASAN tag if page is not PG_mte_tagged ocfs2: Switch to security_inode_init_security() drm/amd/display: hpd rx irq not working with eDP interface net: dsa: mv88e6xxx: Add RGMII delay to 88E6320 platform/x86: hp-wmi: Fix cast to smaller integer type warning skbuff: Proactively round up to kmalloc bucket size drm/amdgpu/mes11: enable reg active poll drm/amd/amdgpu: update mes11 api def watchdog: sp5100_tco: Immediately trigger upon starting. tpm: Prevent hwrng from activating during resume tpm: Re-enable TPM chip boostrapping non-tpm_tis TPM drivers tpm, tpm_tis: startup chip before testing for interrupts tpm_tis: Use tpm_chip_{start,stop} decoration inside tpm_tis_resume tpm, tpm_tis: Only handle supported interrupts tpm, tpm_tis: Avoid cache incoherency in test for interrupts usb: dwc3: fix gadget mode suspend interrupt handler issue Linux 6.1.30 drm/amdgpu: reserve the old gc_11_0_*_mes.bin drm/amd/amdgpu: introduce gc_*_mes_2.bin v2 drm/amdgpu: declare firmware for new MES 11.0.4 crypto: testmgr - fix RNG performance in fuzz tests remoteproc: imx_dsp_rproc: Fix kernel test robot sparse warning rethook, fprobe: do not trace rethook related functions rethook: use preempt_{disable, enable}_notrace in rethook_trampoline_handler arm64: mte: Do not set PG_mte_tagged if tags were not initialized s390/qdio: fix do_sqbs() inline assembly constraint s390/crypto: use vector instructions only if available for ChaCha20 s390/dasd: fix command reject error on ESE devices nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode() powerpc/64s/radix: Fix soft dirty tracking tpm/tpm_tis: Disable interrupts for more Lenovo devices powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device powerpc/iommu: DMA address offset is incorrectly calculated with 2MB TCEs dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries drm/amdgpu/gfx11: update gpu_clock_counter logic drm/amdgpu: refine get gpu clock counter method drm/amdgpu/gfx11: Adjust gfxoff before powergating on gfx11 as well drm/amdgpu/gfx10: Disable gfxoff before disabling powergating. drm/amdgpu/gmc11: implement get_vbios_fb_size() drm/amd/pm: fix possible power mode mismatch between driver and PMFW ceph: force updating the msg pointer in non-split case vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF thunderbolt: Clear registers properly when auto clear isn't in use serial: qcom-geni: fix enabling deactivated interrupt serial: 8250_exar: Add support for USR298x PCI Modems serial: Add support for Advantech PCI-1611U card mm: fix zswap writeback race condition maple_tree: make maple state reusable after mas_empty_area() statfs: enforce statfs[64] structure initialization KVM: Fix vcpu_array[0] races ksmbd: fix global-out-of-bounds in smb2_find_context_vals ksmbd: fix wrong UserName check in session_user ksmbd: allocate one more byte for implied bcc[0] ksmbd: smb2: Allow messages padded to 8byte boundary SMB3: drop reference to cfile before sending oplock break SMB3: Close all deferred handles of inode in case of handle lease break wifi: rtw88: use work to update rate to avoid RCU warning can: kvaser_pciefd: Disable interrupts in probe error path can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt can: kvaser_pciefd: Clear listen-only bit if not explicitly requested can: kvaser_pciefd: Empty SRB buffer in probe can: kvaser_pciefd: Call request_irq() before enabling interrupts can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop() can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag ALSA: hda/realtek: Fix mute and micmute LEDs for yet another HP laptop ALSA: hda/realtek: Add quirk for HP EliteBook G10 laptops ALSA: hda/realtek: Add quirk for 2nd ASUS GU603 ALSA: hda/realtek: Add a quirk for HP EliteDesk 805 ALSA: hda/realtek: Add quirk for Clevo L140AU ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table ALSA: hda: Fix Oops by 9.1 surround channel names xhci: Fix incorrect tracking of free space on transfer rings xhci-pci: Only run d3cold avoidance quirk for s2idle Revert "usb: gadget: udc: core: Invoke usb_gadget_connect only when started" Revert "usb: gadget: udc: core: Prevent redundant calls to pullup" usb: typec: altmodes/displayport: fix pin_assignment_show usb: gadget: u_ether: Fix host MAC address case usb: dwc3: debugfs: Resume dwc3 before accessing registers usb: dwc3: gadget: Improve dwc3_gadget_suspend() and dwc3_gadget_resume() USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value usb-storage: fix deadlock when a scsi command timeouts more than once USB: usbtmc: Fix direction for 0-length ioctl control messages ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go bridge: always declare tunnel functions netfilter: nft_set_rbtree: fix null deref on element insertion netfilter: nf_tables: fix nft_trans type confusion net: selftests: Fix optstring net: pcs: xpcs: fix C73 AN not getting enabled net: wwan: iosm: fix NULL pointer dereference when removing device vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit() igb: fix bit_shift to be in [1..8] range net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset cassini: Fix a memory leak in the error handling path of cas_init_one() tun: Fix memory leak for detached NAPI queue. net: tun: rebuild error handling in tun_get_user scsi: storvsc: Don't pass unused PFNs to Hyper-V host wifi: iwlwifi: mvm: don't trust firmware n_channels wifi: iwlwifi: mvm: fix OEM's name in the tas approved list wifi: iwlwifi: fix OEM's name in the ppag approved list wifi: iwlwifi: fw: fix DBGI dump wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock wifi: mac80211: Abort running color change when stopping the AP wifi: mac80211: fix min center freq offset tracing wifi: mac80211: fortify the spinlock against deadlock by interrupt wifi: cfg80211: Drop entries with invalid BSSIDs in RNR ice: Fix ice VF reset during iavf initialization ice: introduce clear_reset_state operation net: bcmgenet: Restore phy_stop() depending upon suspend/close net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop() can: dev: fix missing CAN XL support in can_put_echo_skb() s390/cio: include subchannels without devices also for evaluation tipc: check the bearer min mtu properly when setting it by netlink tipc: do not update mtu if msg_max is too small in mtu negotiation tipc: add tipc_bearer_min_mtu to calculate min mtu virtio_net: Fix error unwinding of XDP initialization virtio-net: Maintain reverse cleanup order net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() drm/exynos: fix g2d_open/close helper function definitions ASoC: SOF: topology: Fix logic for copying tuples ASoC: mediatek: mt8186: Fix use-after-free in driver remove path SUNRPC: Fix trace_svc_register() call site SUNRPC: always free ctxt when freeing deferred request SUNRPC: double free xprt_ctxt while still in use media: netup_unidvb: fix use-after-free at del_timer() net: hns3: fix reset timeout when enable full VF net: hns3: fix reset delay time to avoid configuration timeout net: hns3: fix sending pfc frames after reset issue net: hns3: fix output information incomplete for dumping tx queue info with debugfs net: dsa: rzn1-a5psw: disable learning for standalone ports net: dsa: rzn1-a5psw: fix STP states handling net: dsa: rzn1-a5psw: enable management frames for CPU port erspan: get the proto with the md version for collect_md serial: 8250_bcm7271: fix leak in `brcmuart_probe` serial: 8250_bcm7271: balance clk_enable calls serial: arc_uart: fix of_iomap leak in `arc_serial_probe` tcp: fix possible sk_priority leak in tcp_v4_send_reset() vsock: avoid to close connected socket after the timeout sfc: disable RXFCS and RXALL features by default ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15 wifi: mt76: connac: fix stats->tx_bytes calculation ALSA: firewire-digi00x: prevent potential use after free net: phy: dp83867: add w/a for packet errors seen with short cables net: fec: Better handle pm_runtime_get() failing in .remove() selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test drm/msm: Fix submit error-path leaks af_key: Reject optional tunnel/BEET mode templates in outbound policies xfrm: Reject optional tunnel/BEET mode templates in outbound policies cpupower: Make TSC read per CPU for Mperf monitor ASoC: fsl_micfil: Fix error handler with pm_runtime_enable platform: Provide a remove callback that returns no value dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi drm/msm/dpu: Remove duplicate register defines from INTF drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header drm/msm/dpu: Assign missing writeback log_mask drm/msm/dp: unregister audio driver during unbind Revert "Fix XFRM-I support for nested ESP tunnels" xfrm: don't check the default policy if the policy allows the packet drm/amdgpu: drop gfx_v11_0_cp_ecc_error_irq_funcs platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct platform/x86: Move existing HP drivers to a new hp subdir parisc: Replace regular spinlock with spin_trylock on panic path mfd: intel-lpss: Add Intel Meteor Lake PCH-S LPSS PCI IDs mfd: dln2: Fix memory leak in dln2_probe() mfd: intel_soc_pmic_chtwc: Add Lenovo Yoga Book X90F to intel_cht_wc_models soundwire: bus: Fix unbalanced pm_runtime_put() causing usage count underflow soundwire: qcom: gracefully handle too many ports in DT phy: st: miphy28lp: use _poll_timeout functions for waits soundwire: dmi-quirks: add remapping for Intel 'Rooks County' NUC M15 recordmcount: Fix memory leaks in the uwrite function lkdtm/stackleak: Fix noinstr violation sched: Fix KCSAN noinstr violation mcb-pci: Reallocate memory region to avoid memory overlapping serial: 8250: Reinit port->pm on port specific driver unbind usb: typec: tcpm: fix multiple times discover svids error HID: wacom: generic: Set battery quirk only when we see battery data HID: Ignore battery for ELAN touchscreen on ROG Flow X13 GV301RA HID: apple: Set the tilde quirk flag on the Geyser 3 ASoC: amd: yc: Add ThinkBook 14 G5+ ARP to quirks list for acp6x ASoC: amd: Add Dell G15 5525 to quirks list ALSA: hda: LNL: add HD Audio PCI ID usb: typec: ucsi: acpi: add quirk for ASUS Zenbook UM325 spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3 HID: logitech-hidpp: Reconcile USB and Unifying serials HID: logitech-hidpp: Don't use the USB serial for USB devices ASoC: amd: yc: Add DMI entries to support HP OMEN 16-n0xxx (8A42) staging: axis-fifo: initialize timeouts in init only HID: apple: Set the tilde quirk flag on the Geyser 4 and later staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE Bluetooth: btrtl: Add the support for RTL8851B Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp Bluetooth: Add new quirk for broken set random RPA timeout for ATS2851 Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set Bluetooth: btintel: Add LE States quirk support Bluetooth: btrtl: check for NULL in btrtl_set_quirks() Bluetooth: Improve support for Actions Semi ATS2851 based devices Bluetooth: btrtl: add support for the RTL8723CS Bluetooth: Add new quirk for broken local ext features page 2 Bluetooth: btusb: Add new PID/VID 04ca:3801 for MT7663 ipvs: Update width of source for ip_vs_sync_conn_options nbd: fix incomplete validation of ioctl arg wifi: ath11k: Fix SKB corruption in REO destination ring wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace null_blk: Always check queue mode setting from configfs wifi: iwlwifi: fix iwl_mvm_max_amsdu_size() for MLO wifi: ath11k: Ignore frags from uninitialized peer in dp. block, bfq: Fix division by zero error on zero wsum wifi: iwlwifi: mvm: fix ptk_pn memory leak wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf wifi: iwlwifi: add a new PCI device ID for BZ device wifi: iwlwifi: pcie: fix possible NULL pointer dereference md: fix soft lockup in status_resync bpf: Add preempt_count_{sub,add} into btf id deny list samples/bpf: Fix fout leak in hbm's run_bpf_prog f2fs: fix to check readonly condition correctly f2fs: fix to drop all dirty pages during umount() if cp_error is set f2fs: Fix system crash due to lack of free space in LFS crypto: jitter - permanent and intermittent health errors ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa() ext4: set goal start correctly in ext4_mb_normalize_request scsi: ufs: ufs-pci: Add support for Intel Lunar Lake gfs2: Fix inode height consistency check scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition lib: cpu_rmap: Avoid use after free on rmap->obj array entries scsi: target: iscsit: Free cmds before session free netdev: Enforce index cap in netdev_get_tx_queue net: Catch invalid index in XPS mapping net: pasemi: Fix return type of pasemi_mac_start_tx() bnxt: avoid overflow in bnxt_get_nvram_directory() scsi: lpfc: Correct used_rpi count when devloss tmo fires with no recovery scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow ext2: Check block size validity during mount wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex wifi: brcmfmac: pcie: Provide a buffer of random bytes to the device bpf: Annotate data races in bpf_local_storage wifi: ath: Silence memcpy run-time false positive warning media: mediatek: vcodec: Fix potential array out-of-bounds in decoder queue_setup media: Prefer designated initializers over memset for subdev pad ops drm/amdgpu: Fix sdma v4 sw fini error drm/amd: Fix an out of bounds error in BIOS parser drm/amd/display: Correct DML calculation to follow HW SPEC ACPI: video: Remove desktops without backlight DMI quirks irqchip/gicv3: Workaround for NVIDIA erratum T241-FABRIC-4 arm64: dts: qcom: sdm845-polaris: Drop inexistent properties ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects ACPICA: Avoid undefined behavior: applying zero offset to null pointer drm/msm/dp: Clean up handling of DP AUX interrupts drm/tegra: Avoid potential 32-bit integer overflow remoteproc: stm32_rproc: Add mutex protection for workqueue drm/amd/display: fixed dcn30+ underflow issue ACPI: EC: Fix oops when removing custom query handlers firmware: arm_sdei: Fix sleep from invalid context BUG arm64: dts: imx8mq-librem5: Remove dis_u3_susphy_quirk from usb_dwc3_0 memstick: r592: Fix UAF bug in r592_remove due to race condition drm/rockchip: dw_hdmi: cleanup drm encoder during unbind ACPI: processor: Check for null return of devm_kzalloc() in fch_misc_setup() media: pvrusb2: VIDEO_PVRUSB2 depends on DVB_CORE to use dvb_* symbols media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish() arm64: dts: qcom: msm8996: Add missing DWC3 quirks remoteproc: imx_dsp_rproc: Add custom memory copy implementation for i.MX DSP Cores regmap: cache: Return error in cache sync operations for REGCACHE_NONE drm/amd/display: Use DC_LOG_DC in the trasform pixel function drm/amd/display: Enable HostVM based on rIOMMU active platform/x86: x86-android-tablets: Add Acer Iconia One 7 B1-750 data drm/amd/display: Correct DML calculation to align HW formula drm/amd/display: populate subvp cmd info only for the top pipe drm/displayid: add displayid_get_header() and check bounds better fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode() open: return EINVAL for O_DIRECTORY | O_CREAT rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access selftests: cgroup: Add 'malloc' failures checks in test_memcontrol refscale: Move shutdown from wait_event() to wait_event_idle() ext4: allow ext4_get_group_info() to fail ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled ext4: reflect error codes from ext4_multi_mount_protect() to its callers fbdev: arcfb: Fix error handling in arcfb_probe() drm/i915: taint kernel when force probing unsupported devices drm/i915: Expand force_probe to block probe of devices as well. drm/i915/dp: prevent potential div-by-zero drm/i915: Fix NULL ptr deref by checking new_crtc_state drm/i915/guc: Don't capture Gen8 regs on Xe devices af_unix: Fix data races around sk->sk_shutdown. af_unix: Fix a data race of sk->sk_receive_queue->qlen. net: datagram: fix data-races in datagram_poll() net: mscc: ocelot: fix stat counter register values ipvlan:Fix out-of-bounds caused by unclear skb->cb gve: Remove the code of clearing PBA bit tcp: add annotations around sk->sk_shutdown accesses net: add vlan_get_protocol_and_depth() helper net: deal with most data-races in sk_wait_event() net: annotate sk->sk_err write from do_recvmmsg() netlink: annotate accesses to nlk->cb_running bonding: fix send_peer_notif overflow netfilter: conntrack: fix possible bug_on with enable_hooks=1 netfilter: nf_tables: always release netdev hooks from notifier net: phy: bcm7xx: Correct read from expansion register net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs(). net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register linux/dim: Do nothing if no time delta between samples tick/broadcast: Make broadcast device replacement work correctly scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe() net: skb_partial_csum_set() fix against transport header magic value ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings drm/mipi-dsi: Set the fwnode for mipi_dsi_device drm/fbdev-generic: prohibit potential out-of-bounds access Linux 6.1.29 drm/amd/display: Fix hang when skipping modeset spi: fsl-cpm: Use 16 bit mode for large transfers with even size spi: fsl-spi: Re-organise transfer bits_per_word adaptation x86: fix clear_user_rep_good() exception handling annotation x86/amd_nb: Add PCI ID for family 19h model 78h f2fs: inode: fix to do sanity check on extent cache correctly f2fs: fix to do sanity check on extent cache correctly drm/dsc: fix DP_DSC_MAX_BPP_DELTA_* macro values ext4: fix invalid free tracking in ext4_xattr_move_to_block() ext4: remove a BUG_ON in ext4_mb_release_group_pa() ext4: fix lockdep warning when enabling MMP ext4: bail out of ext4_xattr_ibody_get() fails for any reason ext4: add bounds checking in get_max_inline_xattr_value_size() ext4: fix deadlock when converting an inline directory in nojournal mode ext4: improve error handling from ext4_dirhash() ext4: improve error recovery code paths in __ext4_remount() ext4: check iomap type only if ext4_iomap_begin() does not fail ext4: fix data races when using cached status extents ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum ext4: fix WARNING in mb_find_extent locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers drm/dsc: fix drm_edp_dsc_sink_output_bpp() DPCD high byte usage drm: Add missing DP DSC extended capability definitions. ksmbd: fix racy issue from smb2 close and logoff with multichannel ksmbd: block asynchronous requests when making a delay on session setup ksmbd: destroy expired sessions ksmbd: fix racy issue from session setup and logoff ksmbd: Implements sess->ksmbd_chann_list as xarray drm/amd/display: Change default Z8 watermark values drm/amd/display: Update Z8 SR exit/enter latencies drm/amd/display: Update Z8 watermarks for DCN314 ASoC: codecs: wcd938x: fix accessing regmap on unattached devices ASoC: codecs: constify static sdw_slave_ops struct ASoC: rt1318: Add RT1318 SDCA vendor-specific driver drm/amd/display: Lowering min Z8 residency time drm/amd/display: Update minimum stutter residency for DCN314 Z8 drm/amd/display: Add minimum Z8 residency debug option drm/amd/display: Fix Z8 support configurations drm/amd/display: Add debug option to skip PSR CRTC disable drm/amd/display: Add Z8 allow states to z-state support list drm/amd/display: Refactor eDP PSR codes drm/i915: Check pipe source size when using skl+ scalers drm/i915/mtl: update scaler source and destination limits for MTL wifi: rtw88: rtw8821c: Fix rfe_option field width irqchip/loongson-eiointc: Fix registration of syscore_ops irqchip/loongson-eiointc: Fix incorrect use of acpi_get_vec_parent irqchip/loongarch: Adjust acpi_cascade_irqdomain_init() and sub-routines drm/msm: fix missing wq allocation error handling drm/msm: Hangcheck progress detection drm/msm/adreno: Simplify read64/write64 helpers f2fs: factor out victim_entry usage from general rb_tree use f2fs: allocate the extent_cache by default f2fs: refactor extent_cache to support for read and more f2fs: remove unnecessary __init_extent_tree f2fs: move internal functions into extent_cache.c f2fs: specify extent cache for read explicitly drm/msm/adreno: adreno_gpu: Use suspend() instead of idle() on load error fs/ntfs3: Refactoring of various minor issues HID: wacom: insert timestamp to packed Bluetooth (BT) events HID: wacom: Set a default resolution for older tablets drm/amd: Use `amdgpu_ucode_*` helpers for MES drm/amd: Add a new helper for loading/validating microcode drm/amd: Load MES microcode during early_init drm/amdgpu: remove deprecated MES version vars drm/amd/pm: avoid potential UBSAN issue on legacy asics drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend drm/amd/pm: parse pp_handle under appropriate conditions drm/amd/display: Enforce 60us prefetch for 200Mhz DCFCLK modes drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2) drm/amdgpu: change gfx 11.0.4 external_id range drm/amdgpu/jpeg: Remove harvest checking for JPEG3 drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v11_0_hw_fini drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini() drm/amdgpu: fix amdgpu_irq_put call trace in gmc_v10_0_hw_fini drm/amd/display: fix flickering caused by S/G mode drm/amd/display: filter out invalid bits in pipe_fuses drm/amd/display: Fix 4to1 MPC black screen with DPP RCO drm/amd/display: Add NULL plane_state check for cursor disable logic drm/panel: otm8009a: Set backlight parent to panel device irqchip/loongson-eiointc: Fix returned value on parsing MADT irqchip/loongson-pch-pic: Fix pch_pic_acpi_init calling f2fs: fix potential corruption when moving a directory f2fs: fix null pointer panic in tracepoint in __replace_atomic_write_block drm/i915/dsi: Use unconditional msleep() instead of intel_dsi_msleep() drm/msm: fix workqueue leak on bind errors drm/msm: fix vram leak on bind errors drm/msm: fix drm device leak on bind errors drm/msm: fix NULL-deref on irq uninstall drm/msm: fix NULL-deref on snapshot tear down drm/i915/color: Fix typo for Plane CSC indexes drm/bridge: lt8912b: Fix DSI Video Mode drm/msm/adreno: fix runtime PM imbalance at gpu load ARM: dts: aspeed: romed8hm3: Fix GPIO polarity of system-fault LED ARM: dts: s5pv210: correct MIPI CSIS clock name ARM: dts: exynos: fix WM8960 clock name in Itop Elite ARM: dts: aspeed: asrock: Correct firmware flash SPI clocks sysctl: clarify register_sysctl_init() base directory order remoteproc: rcar_rproc: Call of_node_put() on iteration error remoteproc: imx_rproc: Call of_node_put() on iteration error remoteproc: imx_dsp_rproc: Call of_node_put() on iteration error remoteproc: st: Call of_node_put() on iteration error remoteproc: stm32: Call of_node_put() on iteration error proc_sysctl: enhance documentation proc_sysctl: update docs for __register_sysctl_table() sh: nmi_debug: fix return value of __setup handler sh: init: use OF_EARLY_FLATTREE for early init sh: mcount.S: fix build error when PRINTK is not enabled sh: math-emu: fix macro redefined warning SMB3: force unmount was failing to close deferred close files smb3: fix problem remounting a share after shutdown inotify: Avoid reporting event with invalid wd platform/x86: thinkpad_acpi: Add profile force ability platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i platform/x86: thinkpad_acpi: Fix platform profiles on T490 platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet platform/x86/intel-uncore-freq: Return error on write frequency cifs: release leases for deferred close handles when freezing cifs: fix pcchunk length type in smb2_copychunk_range btrfs: zoned: fix full zone super block reading on ZNS btrfs: zoned: zone finish data relocation BG with last IO btrfs: fix space cache inconsistency after error loading it from disk btrfs: print-tree: parent bytenr must be aligned to sector size btrfs: make clear_cache mount option to rebuild FST without disabling it btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add btrfs: don't free qgroup space unless specified btrfs: fix encoded write i_size corruption with no-holes btrfs: fix assertion of exclop condition when starting balance btrfs: properly reject clear_cache and v1 cache for block-group-tree btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones btrfs: fix btrfs_prev_leaf() to not return the same key twice x86/retbleed: Fix return thunk alignment RISC-V: fix taking the text_mutex twice during sifive errata patching RISC-V: take text_mutex during alternative patching perf stat: Separate bperf from bpf_profiler perf tracepoint: Fix memory leak in is_valid_tracepoint() perf symbols: Fix return incorrect build_id size in elf_read_build_id() crypto: engine - fix crypto_queue backlog handling crypto: engine - Use crypto_request_complete crypto: api - Add scaffolding to change completion function signature crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs() perf cs-etm: Fix timeless decode mode detection perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp() perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents perf vendor events power9: Remove UTF-8 characters from JSON files perf ftrace: Make system wide the default target for latency subcommand perf tests record_offcpu.sh: Fix redirection of stderr to stdin perf vendor events s390: Remove UTF-8 characters from JSON file perf scripts intel-pt-events.py: Fix IPC output for Python 2 perf record: Fix "read LOST count failed" msg with sample read net: enetc: check the index of the SFI rather than the handle virtio_net: suppress cpu stall when free_unused_bufs ice: block LAN in case of VF to VF offload net: dsa: mt7530: fix network connectivity with multiple CPU ports net: dsa: mt7530: split-off common parts from mt7531_setup net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621 KVM: s390: fix race in gmap_make_secure() ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init` drm/amdgpu: add a missing lock for AMDGPU_SCHED af_packet: Don't send zero-byte data in packet_sendmsg_spkt(). ionic: catch failure from devlink_alloc ethtool: Fix uninitialized number of lanes ionic: remove noise from ethtool rxnfc error msg octeontx2-vf: Detach LF resources on probe cleanup octeontx2-pf: Disable packet I/O for graceful exit octeontx2-af: Skip PFs if not enabled octeontx2-af: Fix issues with NPC field hash extract octeontx2-af: Update/Fix NPC field hash extract feature octeontx2-pf: Add additional checks while configuring ucast/bcast/mcast rules octeontx2-af: Allow mkex profile without DMAC and add L2M/L2B header extraction support octeontx2-pf: Increase the size of dmac filter flows octeontx2-af: Fix depth of cam and mem table. octeontx2-af: Fix start and end bit for scan config octeontx2-af: Secure APR table update with the lock selftests: netfilter: fix libmnl pkg-config usage drm/i915/mtl: Add the missing CPU transcoder mask in intel_device_info riscv: compat_syscall_table: Fixup compile warning rxrpc: Fix hard call timeout units sfc: Fix module EEPROM reporting for QSFP modules r8152: move setting r8153b_rx_agg_chg_indicate() r8152: fix the poor throughput for 2.5G devices r8152: fix flow control issue of RTL8156A net/sched: act_mirred: Add carrier check i2c: tegra: Fix PEC support for SMBUS block read RISC-V: mm: Enable huge page support to kernel_page_present() function watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe() block: Skip destroyed blkg when restart in blkg_destroy_all() writeback: fix call of incorrect macro net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu net: ipv6: fix skb hash for some RST packets selftests: srv6: make srv6_end_dt46_l3vpn_test more robust sit: update dev->needed_headroom in ipip6_tunnel_bind_dev() net/sched: cls_api: remove block_cb from driver_list before freeing tcp: fix skb_copy_ubufs() vs BIG TCP net/ncsi: clear Tx enable mode when handling a Config required AEN octeontx2-pf: mcs: Do not reset PN while updating secy octeontx2-pf: mcs: Fix shared counters logic octeontx2-pf: mcs: Clear stats before freeing resource octeontx2-pf: mcs: Match macsec ethertype along with DMAC octeontx2-pf: mcs: Fix NULL pointer dereferences octeontx2-af: mcs: Fix MCS block interrupt octeontx2-af: mcs: Config parser to skip 8B header octeontx2-af: mcs: Write TCAM_DATA and TCAM_MASK registers at once octeonxt2-af: mcs: Fix per port bypass config ixgbe: Fix panic during XDP_TX with > 64 CPUs drm/amd/display: Update bounding box values for DCN321 drm/amd/display: Do not clear GPINT register when releasing DMUB from reset drm/amd/display: Reset OUTBOX0 r/w pointer on DMUB reset drm/amd/display: Fixes for dcn32_clk_mgr implementation drm/amd/display: Return error code on DSC atomic check failure drm/amd/display: Add missing WA and MCLK validation drm/amd/display: Remove FPU guards from the DML folder scsi: qedi: Fix use after free bug in qedi_remove() ASoC: Intel: soc-acpi-byt: Fix "WM510205" match no longer working KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission faults KVM: VMX: Make CR0.WP a guest owned bit KVM: x86: Make use of kvm_read_cr*_bits() when testing bits KVM: x86: Do not unload MMU roots when only toggling CR0.WP with TDP enabled KVM: x86/mmu: Avoid indirect call for get_cr3 drm/amd/display: Ext displays with dock can't recognized after resume fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup() mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s25hx SEMPER flash mailbox: zynqmp: Fix counts of child nodes mailbox: zynq: Switch to flexible array to simplify code soc: qcom: llcc: Do not create EDAC platform device on SDM845 qcom: llcc/edac: Support polling mode for ECC handling mtd: spi-nor: spansion: Enable JFFS2 write buffer for Infineon s28hx SEMPER flash mtd: spi-nor: Add a RWW flag mtd: spi-nor: add SFDP fixups for Quad Page Program mtd: spi-nor: spansion: Remove NO_SFDP_FLAGS from s28hs512t info KVM: x86/pmu: Disallow legacy LBRs if architectural LBRs are available KVM: x86: Track supported PERF_CAPABILITIES in kvm_caps perf/x86/core: Zero @lbr instead of returning -1 in x86_perf_get_lbr() stub crypto: ccp - Clear PSP interrupt status register before calling handler drm/vmwgfx: Fix Legacy Display Unit atomic drm support drm/vmwgfx: Remove explicit and broken vblank handling usb: dwc3: gadget: Execute gadget stop after halting the controller USB: dwc3: gadget: drop dead hibernation code Linux 6.1.28 netfilter: nf_tables: deactivate anonymous set from preparation phase scsi: libsas: Grab the ATA port lock in sas_ata_device_link_abort() debugobject: Ensure pool refill (again) drm/amd/display (gcc13): fix enum mismatch i40e: use int for i40e_status i40e: Remove string printing for i40e_status i40e: Remove unused i40e status codes sfc (gcc13): synchronize ef100_enqueue_skb()'s return type block/blk-iocost (gcc13): keep large values in a new enum perf intel-pt: Fix CYC timestamps after standalone CBR perf auxtrace: Fix address filter entire kernel size wifi: ath11k: synchronize ath11k_mac_he_gi_to_nl80211_he_gi()'s return type bonding (gcc13): synchronize bond_{a,t}lb_xmit() types thunderbolt: Use correct type in tb_port_is_clx_enabled() prototype cifs: protect session status check in smb2_reconnect() cifs: fix potential use-after-free bugs in TCP_Server_Info::hostname blk-iocost: avoid 64-bit division in ioc_timer_fn dm: don't lock fs when the map is NULL in process of resume dm ioctl: fix nested locking in table_clear() to remove deadlock concern dm flakey: fix a crash with invalid table line dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path dm clone: call kmem_cache_destroy() in dm_clone_init() error path dm verity: fix error handling for check_at_most_once on FEC vhost_vdpa: fix unmap process in no-batch mode mm/mempolicy: correctly update prev when policy is equal on mbind ia64: fix an addr to taddr in huge_pte_offset() s390/dasd: fix hanging blockdevice after request requeue btrfs: scrub: reject unsupported scrub flags scripts/gdb: fix lx-timerlist for Python3 clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent clk: microchip: fix potential UAF in auxdev release callback wifi: rtw89: fix potential race condition between napi_init and napi_enable wifi: rtl8xxxu: RTL8192EU always needs full init mailbox: zynqmp: Fix typo in IPI documentation kcsan: Avoid READ_ONCE() in read_instrumented_memory() mailbox: zynqmp: Fix IPI isr handling mtd: spi-nor: core: Update flash's current address mode when changing address mode mtd: core: fix error path for nvmem provider mtd: core: fix nvmem error reporting mtd: core: provide unique name for nvmem device, take two kasan: hw_tags: avoid invalid virt_to_page() md/raid5: Improve performance for sequential IO md/raid10: fix null-ptr-deref in raid10_sync_request drbd: correctly submit flush bio on barrier mm: do not reclaim private data from pinned page nilfs2: fix infinite loop in nilfs_mdt_get_block() nilfs2: do not write dirty data after degenerating to read-only ALSA: hda/realtek: Fix mute and micmute LEDs for an HP laptop ALSA: hda/realtek: support HP Pavilion Aero 13-be0xxx Mute LED ALSA: hda/realtek: Add quirk for ASUS UM3402YAR using CS35L41 ALSA: hda/realtek: Add quirk for ThinkPad P1 Gen 6 ALSA: usb-audio: Add quirk for Pioneer DDJ-800 parisc: Ensure page alignment in flush functions parisc: Fix argument pointer in real64_call_asm() afs: Avoid endless loop if file is larger than expected afs: Fix getattr to report server i_size on dirs, not local size afs: Fix updating of i_size with dv jump from server PM: hibernate: Do not get block device exclusively in test_resume mode PM: hibernate: Turn snapshot_test into global variable ACPI: PM: Do not turn of unused power resources on the Toshiba Click Mini hte: tegra-194: Fix off by one in tegra_hte_map_to_line_id() hte: tegra: fix 'struct of_device_id' build error mfd: arizona-spi: Add missing MODULE_DEVICE_TABLE mfd: ocelot-spi: Fix unsupported bulk read mfd: tqmx86: Correct board names for TQMxE39x mfd: tqmx86: Specify IO port register range more precisely mfd: tqmx86: Do not access I2C_DETECT register through io_base thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe pinctrl-bcm2835.c: fix race condition when setting gpio dir dmaengine: at_xdmac: do not enable all cyclic channels dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing dmaengine: dw-edma: Fix to change for continuous transfer dma: gpi: remove spurious unlock in gpi_ch_init phy: ti: j721e-wiz: Fix unreachable code in wiz_mode_select() phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port soundwire: intel: don't save hw_params for use in prepare soundwire: cadence: rename sdw_cdns_dai_dma_data as sdw_cdns_dai_runtime pwm: mtk-disp: Configure double buffering before reading in .get_state() pwm: mtk-disp: Disable shadow registers before setting backlight values leds: tca6507: Fix error handling of using fwnode_property_read_string dmaengine: mv_xor_v2: Fix an error code. pinctrl: ralink: reintroduce ralink,rt2880-pinmux compatible string leds: TI_LMU_COMMON: select REGMAP instead of depending on it pinctrl: renesas: r8a779g0: Fix ERROROUTC function names pinctrl: renesas: r8a779g0: Fix Group 6/7 pin functions pinctrl: renesas: r8a779g0: Fix Group 4/5 pin functions pinctrl: renesas: r8a779f0: Fix tsn1_avtp_pps pin group pinctrl: renesas: r8a779a0: Remove incorrect AVB[01] pinmux configuration ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline ext4: fix i_disksize exceeding i_size problem in paritally written case SMB3: Close deferred file handles in case of handle lease break SMB3: Add missing locks to protect deferred close file list timekeeping: Fix references to nonexistent ktime_get_fast_ns() openrisc: Properly store r31 to pt_regs on unhandled exceptions clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails RDMA/mlx5: Use correct device num_ports when modify DC SUNRPC: remove the maximum number of retries in call_bind_status RDMA/mlx5: Fix flow counter query via DEVX RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR swiotlb: fix debugfs reporting of reserved memory pools swiotlb: relocate PageHighMem test away from rmem_swiotlb_setup Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe clk: qcom: dispcc-qcm2290: Remove inexistent DSI1PHY clk clk: qcom: dispcc-qcm2290: get rid of test clock clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling clk: qcom: lpassaudiocc-sc7280: Add required gdsc power domain clks in lpass_cc_sc7280_desc clk: qcom: lpasscc-sc7280: Skip qdsp6ss clock registration iommu/amd: Set page size bitmap during V2 domain allocation NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease clk: imx: imx8ulp: Fix XBAR_DIVBUS and AD_SLOW clock parents clk: imx: fracn-gppll: disable hardware select control clk: imx: fracn-gppll: fix the rate table IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order RDMA/srpt: Add a check for valid 'mad_agent' pointer RDMA/cm: Trace icm_send_rej event before the cm state is reset power: supply: rk817: Fix low SOC bugs clk: qcom: gcc-sm6115: Mark RCGs shared where applicable RDMA/siw: Remove namespace check from siw_netdev_event() clk: add missing of_node_put() in "assigned-clocks" property parsing power: supply: generic-adc-battery: fix unit scaling iommu/mediatek: Set dma_mask for PGTABLE_PA_35_EN fs/ntfs3: Fix slab-out-of-bounds read in hdr_delete_de() fs/ntfs3: Fix OOB read in indx_insert_into_buffer fs/ntfs3: Add check for kmemdup fs/ntfs3: Fix memory leak if ntfs_read_mft failed RDMA/erdma: Use fixed hardware page size rtc: k3: handle errors while enabling wake irq rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() rtc: omap: include header for omap_rtc_power_off_program prototype workqueue: Fix hung time report of worker pools clk: qcom: gcc-qcm2290: Fix up gcc_sdcc2_apps_clk_src RDMA/rdmavt: Delete unnecessary NULL check clk: mediatek: mt8135: Properly use CLK_IS_CRITICAL flag clk: mediatek: mt7622: Properly use CLK_IS_CRITICAL flag clk: mediatek: Consistently use GATE_MTK() macro clk: mediatek: mt2712: Add error handling to clk_mt2712_apmixed_probe() RDMA/siw: Fix potential page_array out of range access IB/hifi1: add a null check of kzalloc_node in hfi1_ipoib_txreq_init clk: at91: clk-sam9x60-pll: fix return value check tracing/user_events: Ensure write index cannot be negative sched/rt: Fix bad task migration for rt tasks riscv: Fix ptdump when KASAN is enabled Revert "objtool: Support addition to set CFA base" perf/core: Fix hardlockup failure caused by perf throttle sched/fair: Fix inaccurate tally of ttwu_move_affine powerpc/rtas: use memmove for potentially overlapping buffer copy macintosh: via-pmu-led: requires ATA to be set powerpc/sysdev/tsi108: fix resource printk format warnings powerpc/wii: fix resource printk format warnings powerpc/mpc512x: fix resource printk format warning powerpc/perf: Properly detect mpc7450 family macintosh/windfarm_smu_sat: Add missing of_node_put() selftests/powerpc/pmu: Fix sample field check in the mmcra_thresh_marked_sample_test fbdev: mmp: Fix deferred clk handling in mmphw_probe() virtio_ring: don't update event idx on get_buf spmi: Add a check for remove callback when removing a SPMI driver staging: rtl8192e: Fix W_DISABLE# does not work after stop/start spi: cadence-quadspi: use macro DEFINE_SIMPLE_DEV_PM_OPS serial: 8250: Add missing wakeup event reporting tty: serial: fsl_lpuart: adjust buffer length to the intended size firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe usb: mtu3: fix kernel panic at qmu transfer done irq handler usb: chipidea: fix missing goto in `ci_hdrc_probe` usb: gadget: tegra-xudc: Fix crash in vbus_draw sh: sq: Fix incorrect element size for allocating bitmap buffer uapi/linux/const.h: prefer ISO-friendly __typeof__ scripts/gdb: raise error with reduced debugging information i2c: xiic: xiic_xfer(): Fix runtime PM leak on error path i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path spi: cadence-quadspi: fix suspend-resume implementations drm/panel: novatek-nt35950: Only unregister DSI1 if it exists PCI/PM: Extend D3hot delay for NVIDIA HDA controllers ASoC: fsl_mqs: move of_node_put() to the correct location drm/panel: novatek-nt35950: Improve error handling coresight: etm_pmu: Set the module field cacheinfo: Check sib_leaf in cache_leaves_are_shared() HID: amd_sfh: Handle "no sensors" enabled for SFH1.1 HID: amd_sfh: Increase sensor command timeout for SFH1.1 HID: amd_sfh: Correct the stop all command HID: amd_sfh: Add support for shutdown operation HID: amd_sfh: Fix illuminance value HID: amd_sfh: Correct the sensor enable and disable command HID: amd_sfh: Correct the structure fields scripts/gdb: bail early if there are no generic PD scripts/gdb: bail early if there are no clocks ia64: salinfo: placate defined-but-not-used warning ia64: mm/contig: fix section mismatch warning/error PCI/EDR: Clear Device Status after EDR error recovery of: Fix modalias string generation vmci_host: fix a race condition in vmci_host_poll() causing GPF spi: fsl-spi: Fix CPM/QE mode Litte Endian interconnect: qcom: rpm: drop bogus pm domain attach spi: qup: Don't skip cleanup in remove's error path linux/vt_buffer.h: allow either builtin or modular for macros ASoC: es8316: Handle optional IRQ assignment PCI: imx6: Install the fault handler only on compatible match ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition spi: imx: Don't skip cleanup in remove's error path spi: atmel-quadspi: Free resources even if runtime resume failed in .remove() spi: atmel-quadspi: Don't leak clk enable count in pm resume serial: 8250_bcm7271: Fix arbitration handling iio: light: max44009: add missing OF device matching fpga: bridge: fix kernel-doc parameter description serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted usb: dwc3: gadget: Change condition for processing suspend event usb: host: xhci-rcar: remove leftover quirk handling pstore: Revert pmsg_lock back to a normal mutex drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler() drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler() ASoC: cs35l41: Only disable internal boost ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. net: amd: Fix link leak when verifying config failed netlink: Use copy_to_user() for optval in netlink_getsockopt(). Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work" ipv4: Fix potential uninit variable access bug in __ip_make_skb() net/sched: sch_fq: fix integer overflow of "credit" net: dpaa: Fix uninitialized variable in dpaa_stop() netfilter: nf_tables: don't write table validation state without mutex bpf: Don't EFAULT for getsockopt with optval=NULL bpf: Fix race between btf_put and btf_idr walk. net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports net/mlx5e: Nullify table pointer when failing to create net/mlx5: Use recovery timeout on sync reset flow Revert "net/mlx5: Remove "recovery" arg from mlx5_load_one() function" net/mlx5: Suspend auxiliary devices only in case of PCI device suspend net/mlx5: Remove "recovery" arg from mlx5_load_one() function net/mlx5e: Fix error flow in representor failing to add vport rx rule net/mlx5: E-switch, Don't destroy indirect table in split rule net/mlx5: E-switch, Create per vport table based on devlink encap mode net/mlx5e: Don't clone flow post action attributes second time ixgbe: Enable setting RSS table to default values ixgbe: Allow flow hash to be set via ethtool wifi: iwlwifi: fw: fix memory leak in debugfs netfilter: conntrack: fix wrong ct->timeout value netfilter: conntrack: restore IPS_CONFIRMED out of nf_conntrack_hash_check_insert() wifi: iwlwifi: mvm: check firmware response size wifi: mt76: connac: fix txd multicast rate setting wifi: mt76: mt7921e: stop chip reset worker in unregister hook wifi: mt76: mt7921e: improve reliability of dma reset wifi: mt76: mt7921: fix missing unwind goto in `mt7921u_probe` mt76: mt7921: fix kernel panic by accessing unallocated eeprom.data wifi: mt76: fix 6GHz high channel not be scanned wifi: mt76: mt7921e: fix probe timeout after reboot wifi: mt76: add flexible polling wait-interval support wifi: mt76: handle failure of vzalloc in mt7615_coredump_work wifi: mt76: mt7915: expose device tree match table wifi: iwlwifi: make the loop for card preparation effective io_uring/rsrc: use nospec'ed indexes jdb2: Don't refuse invalidation of already invalidated buffers wifi: iwlwifi: fw: move memset before early return wifi: iwlwifi: mvm: initialize seq variable wifi: iwlwifi: yoyo: Fix possible division by zero wifi: iwlwifi: yoyo: skip dump correctly on hw error wifi: iwlwifi: mvm: don't drop unencrypted MCAST frames md/raid10: don't call bio_start_io_acct twice for bio which experienced read error md/raid10: fix memleak of md thread md/raid10: fix memleak for 'conf->bio_split' md/raid10: fix leak of 'r10bio->remaining' for recovery md/raid10: fix task hung in raid10d f2fs: fix to check return value of inc_valid_block_count() f2fs: fix to check return value of f2fs_do_truncate_blocks() bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap wifi: iwlwifi: mvm: don't set CHECKSUM_COMPLETE for unsupported protocols wifi: iwlwifi: trans: don't trigger d3 interrupt twice wifi: iwlwifi: debug: fix crash in __iwl_err() blk-mq: don't plug for head insertions in blk_execute_rq_nowait selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach selftests/bpf: Use read_perf_max_sample_freq() in perf_event_stackmap nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage" nvme: fix async event trace event nvmet: fix I/O Command Set specific Identify Controller nvmet: fix Identify Active Namespace ID list handling nvmet: fix Identify Controller handling nvmet: fix Identify Namespace handling nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns() bpf, sockmap: fix deadlocks in the sockhash and sockmap wifi: ath11k: fix writing to unintended memory region net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling net: ethernet: stmmac: dwmac-rk: rework optional clock handling scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup() bpf/btf: Fix is_int_ptr() wifi: iwlwifi: fix duplicate entry in iwl_dev_info_table f2fs: fix to avoid use-after-free for cached IPU bio xsk: Fix unaligned descriptor validation crypto: drbg - Only fail when jent is unavailable in FIPS mode bpftool: Fix bug for long instructions in program CFG dumps selftests/bpf: Wait for receive in cg_storage_multi test selftests: xsk: Deflakify STATS_RX_DROPPED test selftests: xsk: Disable IPv6 on VETH1 selftests: xsk: Use correct UMEM size in testapp_invalid_desc net: qrtr: correct types of trace event parameters f2fs: fix iostat lock protection wifi: rt2x00: Fix memory leak when handling surveys scsi: hisi_sas: Handle NCQ error when IPTT is valid scsi: libsas: Add sas_ata_device_link_abort() wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg() wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg() crypto: sa2ul - Select CRYPTO_DES crypto: caam - Clear some memory in instantiate_rng f2fs: fix scheduling while atomic in decompression path f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages() f2fs: apply zone capacity to all zone type f2fs: fix uninitialized skipped_gc_rwsem f2fs: handle dqget error in f2fs_transfer_project_quota() net: sunhme: Fix uninitialized return code scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS scsi: target: iscsit: Fix TAS handling during conn cleanup scsi: target: Fix multiple LUN_RESET handling scsi: target: iscsit: Stop/wait on cmds during conn close scsi: target: iscsit: isert: Alloc per conn cmd counter scsi: target: Pass in cmd counter to use during cmd setup scsi: target: Move cmd counter allocation scsi: target: Move sess cmd counter to new struct scsi: target: core: Change the way target_xcopy_do_work() sets restiction on max I/O bpf: Fix __reg_bound_offset 64->32 var_off subreg propagation netfilter: keep conntrack reference until IPsecv6 policy checks are done net: dsa: qca8k: remove assignment of an_enabled in pcs_get_state() libbpf: Fix ld_imm64 copy logic for ksym in light skeleton. net/packet: convert po->auxdata to an atomic flag net/packet: convert po->origdev to an atomic flag net/packet: annotate accesses to po->xmit vlan: partially enable SIOCSHWTSTAMP in container net: pcs: xpcs: remove double-read of link state when using AN bpf: Remove misleading spec_v1 check on var-offset stack read selftests/bpf: Fix a fd leak in an error path in network_helpers.c wifi: ath11k: fix deinitialization of firmware resources scm: fix MSG_CTRUNC setting condition for SO_PASSSEC crypto: qat - fix concurrency issue when device state changes bpf: fix precision propagation verbose logging bpf: take into account liveness when propagating precision wifi: rtw88: mac: Return the original error from rtw_mac_power_switch() wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser() tools: bpftool: Remove invalid \' json escape wifi: ath6kl: reduce WARN to dev_dbg() in callback wifi: brcmfmac: support CQM RSSI notification with older firmware wifi: ath11k: fix SAC bug on peer addition with sta band migration wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list() wifi: ath5k: Use platform_get_irq() to get the interrupt wifi: ath11k: Use platform_get_irq() to get the interrupt wifi: ath9k: hif_usb: fix memory leak of remain_skbs wifi: ath6kl: minor fix for allocation size platform/chrome: cros_typec_switch: Add missing fwnode_handle_put() hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E rpmsg: glink: Propagate TX failures in intentless mode as well cpufreq: use correct unit when verify cur freq ACPI: bus: Ensure that notify handlers are not running after removal tick/common: Align tick period with the HZ tick. drm/i915: Make intel_get_crtc_new_encoder() less oopsy debugobject: Prevent init race with static objects media: mediatek: vcodec: add remove function for decoder platform driver media: mediatek: vcodec: fix decoder disable pm crash perf/arm-cmn: Fix port detection for CMN-700 arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step x86/ioapic: Don't return 0 from arch_dynirq_lower_bound() regulator: stm32-pwr: fix of_iomap leak media: venus: dec: Fix capture formats enumeration order media: venus: dec: Fix handling of the start cmd media: rc: gpio-ir-recv: Fix support for wake-up drm/amd/display: Fix potential null dereference media: hi846: Fix memleak in hi846_init_controls() media: v4l: async: Return async sub-devices to subnotifier list media: rcar_fdp1: Fix refcount leak in probe and remove function media: platform: mtk-mdp3: fix potential frame size overflow in mdp_try_fmt_mplane() media: saa7134: fix use after free bug in saa7134_finidev due to race condition media: dm1105: Fix use after free bug in dm1105_remove due to race condition platform/x86/amd: pmc: Move out of BIOS SMN pair for STB init platform/x86/amd: pmc: Utilize SMN index 0 for driver probe platform/x86/amd: pmc: Move idlemask check into `amd_pmc_idlemask_read` platform/x86/amd: pmc: Don't dump data after resume from s0i3 on picasso platform/x86/amd: pmc: Hide SMU version and program attributes for Picasso platform/x86/amd: pmc: Don't try to read SMU version on Picasso platform/x86/amd/pmf: Move out of BIOS SMN pair for driver probe media: rkvdec: fix use after free bug in rkvdec_remove media: cedrus: fix use after free bug in cedrus_remove due to race condition media: mediatek: vcodec: change lat thread decode error condition media: mediatek: vcodec: making sure queue_work successfully media: mediatek: vcodec: remove unused lat_buf media: mediatek: vcodec: add core decode done event media: mediatek: vcodec: move lat_buf to the top of core list media: mediatek: vcodec: using each instance lat_buf count replace core ready list media: mediatek: vcodec: add params to record lat and core lat_buf count media: mediatek: vcodec: Force capture queue format to MM21 media: mediatek: vcodec: Make MM21 the default capture format media: mediatek: vcodec: Use 4K frame size when supported by stateful decoder arm64: dts: sc7280: Rename qspi data12 as data23 arm64: dts: sc7180: Rename qspi data12 as data23 arm64: dts: qcom: msm8994-angler: removed clash with smem_region arm64: dts: qcom: msm8994-angler: Fix cont_splash_mem mapping x86/apic: Fix atomic update of offset in reserve_eilvt_offset() regulator: core: Avoid lockdep reports when resolving supplies regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow() drm/ttm/pool: Fix ttm_pool_alloc error path drm/ttm: optimize pool allocations a bit v2 arm64: dts: qcom: apq8096-db820c: drop unit address from PMI8994 regulator arm64: dts: qcom: msm8994-msft-lumia-octagon: drop unit address from PMI8994 regulator arm64: dts: qcom: msm8994-kitakami: drop unit address from PMI8994 regulator arm64: dts: qcom: sc7180-trogdor-pazquel: correct trackpad supply arm64: dts: qcom: sc7180-trogdor-lazor: correct trackpad supply arm64: dts: qcom: sc7280-herobrine-villager: correct trackpad supply gpu: host1x: Fix memory leak of device names gpu: host1x: Fix potential double free if IOMMU is disabled soc: renesas: renesas-soc: Release 'chipid' from ioremap() soc: bcm: brcmstb: biuctrl: fix of_iomap leak mailbox: mpfs: switch to txdone_poll drm/mediatek: dp: Change the aux retries times when receiving AUX_DEFER drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe() ACPI: VIOT: Initialize the correct IOMMU fwspec arm64: dts: mediatek: mt8192-asurada: Fix voltage constraint for Vgpu cpufreq: qcom-cpufreq-hw: Revert adding cpufreq qos cpufreq: mediatek: Raise proc and sram max voltage for MT7622/7623 cpufreq: mediatek: raise proc/sram max voltage for MT8516 cpufreq: mediatek: fix KP caused by handler usage after regulator_put/clk_put cpufreq: mediatek: fix passing zero to 'PTR_ERR' arm64: dts: apple: t8103: Disable unused PCIe ports ARM: dts: stm32: fix spi1 pin assignment on stm32mp15 perf/arm-cmn: Move overlapping wp_combine field firmware: arm_scmi: Fix xfers allocation on Rx channel ARM: dts: gta04: fix excess dma channel usage drm: rcar-du: Fix a NULL vs IS_ERR() bug arm64: dts: qcom: sm8450: fix pcie1 gpios properties name mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data ACPI: processor: Fix evaluating _PDC method when running as Xen dom0 drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings arm64: dts: qcom: sm8350-microsoft-surface: fix USB dual-role mode property virt/coco/sev-guest: Double-buffer messages drm: msm: adreno: Disable preemption on Adreno 510 drm/msm/adreno: drop bogus pm_runtime_set_active() arm64: dts: ti: k3-am62a7: Correct L2 cache size to 512KB arm64: dts: ti: k3-am625: Correct L2 cache size to 512KB media: max9286: Free control handler drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535 firmware: qcom_scm: Clear download bit during reboot media: av7110: prevent underflow in write_ts_to_decoder() media: amphion: decoder implement display delay enable media: platform: mtk-mdp3: Add missing check and free for ida_alloc media: bdisp: Add missing check for create_workqueue x86/MCE/AMD: Use an u64 for bank_map ARM: dts: qcom: sdx55: Fix the unit address of PCIe EP node ARM: dts: qcom: ipq8064: Fix the PCI I/O port range ARM: dts: qcom: ipq4019: Fix the PCI I/O port range arm64: dts: qcom: sm8450: Fix the PCI I/O port range arm64: dts: qcom: sm8150: Fix the PCI I/O port range arm64: dts: qcom: sm8250: Fix the PCI I/O port range arm64: dts: qcom: msm8996: Fix the PCI I/O port range arm64: dts: qcom: ipq6018: Fix the PCI I/O port range arm64: dts: qcom: ipq8074: Fix the PCI I/O port range arm64: dts: qcom: sc7280: Fix the PCI I/O port range arm64: dts: qcom: msm8998: Fix the PCI I/O port range arm64: dts: qcom: sdm845: Fix the PCI I/O port range arm64: dts: qcom: sdm845: correct dynamic power coefficients arm64: dts: qcom: sc7280: fix EUD port properties arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename arm64: dts: broadcom: bcmbca: bcm4908: fix LED nodenames arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt name arm64: dts: ti: k3-j721e-main: Remove ti,strobe-sel property arm64: dts: ti: k3-am62a7-sk: Fix DDR size to full 4GB arm64: dts: ti: k3-am62-main: Fix GPIO numbers in DT regulator: core: Shorten off-on-delay-us for always-on/boot-on by time since booted ARM: dts: qcom-apq8064: Fix opp table child name EDAC/skx: Fix overflows on the DRAM row address mapping arrays drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources drm/mediatek: dp: Only trigger DRM HPD events if bridge is attached arm64: dts: renesas: r9a07g043: Update IRQ numbers for SSI channels arm64: dts: renesas: r9a07g043: Introduce SOC_PERIPHERAL_IRQ() macro to specify interrupt property arm64: dts: renesas: r9a07g054: Update IRQ numbers for SSI channels arm64: dts: renesas: r9a07g044: Update IRQ numbers for SSI channels arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe tools/x86/kcpuid: Fix avx512bw and avx512lvl fields in Fn00000007 drm/amdgpu: register a vga_switcheroo client for MacBooks with apple-gmux drm/probe-helper: Cancel previous job before starting new one drm/vgem: add missing mutex_destroy drm/i915/dg2: Drop one PCI ID drm/rockchip: Drop unbalanced obj unref erofs: fix potential overflow calculating xattr_isize erofs: initialize packed inode after root inode is assigned erofs: stop parsing non-compact HEAD index if clusterofs is invalid tpm, tpm_tis: Claim locality when interrupts are reenabled on resume tpm, tpm: Implement usage counter for locality tpm, tpm_tis: Claim locality before writing interrupt registers tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register tpm, tpm_tis: Do not skip reset of original interrupt vector selinux: ensure av_permissions.h is built when needed selinux: fix Makefile dependencies of flask.h selftests/resctrl: Check for return value after write_schemata() selftests/resctrl: Allow ->setup() to return errors selftests/resctrl: Move ->setup() call outside of test specific branches selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check kunit: fix bug in the order of lines in debugfs logs kunit: improve KTAP compliance of KUnit test output ASoC: dt-bindings: qcom,lpass-rx-macro: correct minItems for clocks bus: mhi: host: Range check CHDBOFF and ERDBOFF bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state bus: mhi: host: Remove duplicate ee check for syserr cxl/hdm: Fail upon detecting 0-sized decoders xfs: don't consider future format versions valid ceph: fix potential use-after-free bug when trimming caps ubifs: Fix memory leak in do_rename ubifs: Free memory for tmpfile name ubi: Fix return value overwrite issue in try_write_vid_and_data() ubifs: Fix memleak when insert_old_idx() failed Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path" RISC-V: Align SBI probe implementation with spec iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE drm/amd/pm: re-enable the gfx imu when smu resume swsmu/amdgpu_smu: Fix the wrong if-condition tracing: Fix permissions for the buffer_percent file riscv: mm: remove redundant parameter of create_fdt_early_page_table i2c: omap: Fix standard mode false ACK readings ACPI: video: Remove acpi_backlight=video quirk for Lenovo ThinkPad W530 ksmbd: fix deadlock in ksmbd_find_crypto_ctx() ksmbd: not allow guest user on multichannel ksmbd: fix memleak in session setup ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem() ksmbd: call rcu_barrier() in ksmbd_server_exit() ksmbd: fix racy issue under cocurrent smb2 tree disconnect KVM: RISC-V: Retry fault if vma_lookup() results become invalid drm/amd/display: fix a divided-by-zero error drm/amd/display: fix PSR-SU/DSC interoperability support drm/amd/display: limit timing for single dimm memory drm/amd/display: Remove stutter only configurations relayfs: fix out-of-bounds access in relay_file_read KVM: arm64: vgic: Don't acquire its_lock before config_lock KVM: arm64: Use config_lock to protect vgic state KVM: arm64: Use config_lock to protect data ordered against KVM_RUN KVM: arm64: Avoid lock inversion when setting the VM register width KVM: arm64: Avoid vcpu->mutex v. kvm->lock inversion in CPU_ON KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted reiserfs: Add security prefix to xattr name in reiserfs_security_write() rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed crypto: ccp - Don't initialize CCP for PSP 0x1649 crypto: arm64/aes-neonbs - fix crash with CFI enabled crypto: safexcel - Cleanup ring IRQ workqueues on load failure crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON() ring-buffer: Sync IRQ works before buffer destruction ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus pinctrl: qcom: lpass-lpi: set output value before enabling output soundwire: qcom: correct setting ignore bit on v1.5.1 pwm: meson: Fix g12a ao clk81 name pwm: meson: Fix axg ao mux parents wifi: mt76: add missing locking to protect against concurrent rx/status calls kheaders: Use array declaration instead of char iio: addac: stx104: Fix race condition for stx104_write_raw() iio: addac: stx104: Fix race condition when converting analog-to-digital ipmi: fix SSIF not responding under certain cond. ipmi:ssif: Add send_retries increment MIPS: fw: Allow firmware to pass a empty env fs: fix sysctls.c built tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem serial: max310x: fix IO data corruption in batched operations serial: 8250: Fix serial8250_tx_empty() race with DMA Tx serial: fix TIOCSRS485 locking xhci: fix debugfs register accesses while suspended tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH staging: iio: resolver: ads1210: fix config mode blk-crypto: make blk_crypto_evict_key() more robust blk-crypto: make blk_crypto_evict_key() return void blk-mq: release crypto keyslot before reporting I/O complete blk-crypto: Add a missing include directive blk-crypto: move internal only declarations to blk-crypto-internal.h blk-crypto: add a blk_crypto_config_supported_natively helper blk-crypto: don't use struct request_queue for public interfaces blk-stat: fix QUEUE_FLAG_STATS clear media: ov8856: Do not check for for module version posix-cpu-timers: Implement the missing timer_wait_running callback tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site hwmon: (adt7475) Use device_property APIs when configuring polarity hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write USB: dwc3: fix runtime pm imbalance on unbind USB: dwc3: fix runtime pm imbalance on probe errors usb: dwc3: gadget: Stall and restart EP0 if host is unresponsive usb: gadget: udc: core: Prevent redundant calls to pullup usb: gadget: udc: core: Invoke usb_gadget_connect only when started IMA: allow/fix UML builds phy: qcom-qmp-pcie: sc8180x PCIe PHY has 2 lanes PCI: qcom: Fix the incorrect register usage in v2.7.0 config PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock PCI: kirin: Select REGMAP_MMIO powerpc/boot: Fix boot wrapper code generation with CONFIG_POWER10_CPU arm64: Stash shadow stack pointer in the task struct on interrupt arm64: Always load shadow stack pointer directly from the task struct ASoC: amd: ps: update the acp clock source. ASoC: amd: fix ACP version typo mistake wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset wireguard: timers: cast enum limits members to int in prints x86/cpu: Add model number for Intel Arrow Lake processor asm-generic/io.h: suppress endianness warnings for readq() and writeq() tracing: Error if a trace event has an array for a __field() wifi: ath11k: reduce the MHI timeout to 20s platform/x86: thinkpad_acpi: Add missing T14s Gen1 type to s2idle quirk list net: sfp: add quirk enabling 2500Base-x for HG MXPD-483II scsi: mpi3mr: Handle soft reset in progress fault code (0xF002) selftests mount: Fix mount_setattr_test builds failed net: wwan: t7xx: do not compile with -Werror ASoC: da7213.c: add missing pm_runtime_disable() ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750 iio: adc: palmas_gpadc: fix NULL dereference on rmmod ASoC: amd: yc: Add DMI entries to support Victus by HP Laptop 16-e1xxx (8A22) x86/hyperv: Block root partition functionality in a Confidential VM ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm ASoC: Intel: soc-acpi: add table for Intel 'Rooks County' NUC M15 ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15 Linux 6.1.27 riscv: No need to relocate the dtb as it lies in the fixmap region riscv: Do not set initial_boot_params to the linear address of the dtb riscv: Move early dtb mapping into the fixmap region driver core: Don't require dynamic_debug for initcall_debug probe timing USB: serial: option: add UNISOC vendor and TOZED LT70C product btrfs: fix uninitialized variable warnings bluetooth: Perform careful capability checks in hci_sock_ioctl() gpiolib: acpi: Add a ignore wakeup quirk for Clevo NL5xNU drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() mptcp: fix accept vs worker race mptcp: stops worker on unaccepted sockets at listener close mm/mempolicy: fix use-after-free of VMA iterator KVM: arm64: Retry fault if vma_lookup() results become invalid phy: phy-brcm-usb: Utilize platform_get_irq_byname_optional() um: Only disable SSE on clang to work around old GCC bugs Linux 6.1.26 ASN.1: Fix check for strdup() success ASoC: fsl_sai: Fix pins setting for i.MX8QM platform ASoC: fsl_asrc_dma: fix potential null-ptr-deref ASoC: SOF: pm: Tear down pipelines only if DSP was active mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock fpga: bridge: properly initialize bridge device before populating children iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger() Input: pegasus-notetaker - check pipe type when probing gcc: disable '-Warray-bounds' for gcc-13 too sctp: Call inet6_destroy_sock() via sk->sk_destruct(). dccp: Call inet6_destroy_sock() via sk->sk_destruct(). inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy(). purgatory: fix disabling debug info fuse: always revalidate rename target dentry MIPS: Define RUNTIME_DISCARD_EXIT in LD script KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg() KVM: arm64: Make vcpu flag updates non-preemptible sched/fair: Fixes for capacity inversion detection sched/fair: Consider capacity inversion in util_fits_cpu() sched/fair: Detect capacity inversion mm/mmap: regression fix for unmapped_area{_topdown} mm: page_alloc: skip regions with hugetlbfs pages when allocating 1G pages mm: kmsan: handle alloc failures in kmsan_vmap_pages_range_noflush() mm: kmsan: handle alloc failures in kmsan_ioremap_page_range() mm/huge_memory.c: warn with pr_warn_ratelimited instead of VM_WARN_ON_ONCE_FOLIO mm/khugepaged: check again on anon uffd-wp during isolation mm/userfaultfd: fix uffd-wp handling for THP migration entries Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml Documentation/devicetree/bindings/iio/adc/renesas,rcar-gyroadc.yaml Documentation/devicetree/bindings/power/reset/qcom,pon.yaml Documentation/devicetree/bindings/sound/qcom,lpass-rx-macro.yaml Documentation/devicetree/bindings/sound/tas2562.yaml Documentation/devicetree/bindings/sound/tas2770.yaml Documentation/devicetree/bindings/sound/tas27xx.yaml Documentation/devicetree/bindings/usb/cdns,usb3.yaml Documentation/devicetree/bindings/usb/snps,dwc3.yaml drivers/bus/mhi/host/boot.c drivers/cpufreq/qcom-cpufreq-hw.c drivers/edac/qcom_edac.c drivers/firmware/qcom_scm.c drivers/gpu/drm/bridge/analogix/anx7625.c drivers/interconnect/qcom/icc-rpm.c drivers/interconnect/qcom/icc-rpm.h drivers/soc/qcom/llcc-qcom.c drivers/soc/qcom/mdt_loader.c drivers/ufs/host/ufs-qcom.c include/linux/soc/qcom/llcc-qcom.h Change-Id: I8b5c01908c4448ee74e3c086747fd18ad1015f4b Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@11171449 UKQ2.231203.001 Signed-off-by: jianzhou <quic_jianzhou@quicinc.com> Signed-off-by: Maria Yu <quic_aiquny@quicinc.com>
2244 lines
73 KiB
Makefile
2244 lines
73 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 6
|
|
PATCHLEVEL = 1
|
|
SUBLEVEL = 43
|
|
EXTRAVERSION =
|
|
NAME = Curry Ramen
|
|
|
|
# *DOCUMENTATION*
|
|
# To see a list of typical targets execute "make help"
|
|
# More info can be located in ./README
|
|
# Comments in this file are targeted only to the developer, do not
|
|
# expect to learn how to build the kernel reading this file.
|
|
|
|
$(if $(filter __%, $(MAKECMDGOALS)), \
|
|
$(error targets prefixed with '__' are only for internal use))
|
|
|
|
# That's our default target when none is given on the command line
|
|
PHONY := __all
|
|
__all:
|
|
|
|
# We are using a recursive build, so we need to do a little thinking
|
|
# to get the ordering right.
|
|
#
|
|
# Most importantly: sub-Makefiles should only ever modify files in
|
|
# their own directory. If in some directory we have a dependency on
|
|
# a file in another dir (which doesn't happen often, but it's often
|
|
# unavoidable when linking the built-in.a targets which finally
|
|
# turn into vmlinux), we will call a sub make in that other dir, and
|
|
# after that we are sure that everything which is in that other dir
|
|
# is now up to date.
|
|
#
|
|
# The only cases where we need to modify files which have global
|
|
# effects are thus separated out and done before the recursive
|
|
# descending is started. They are now explicitly listed as the
|
|
# prepare rule.
|
|
|
|
ifneq ($(sub_make_done),1)
|
|
|
|
# Do not use make's built-in rules and variables
|
|
# (this increases performance and avoids hard-to-debug behaviour)
|
|
MAKEFLAGS += -rR
|
|
|
|
# Avoid funny character set dependencies
|
|
unexport LC_ALL
|
|
LC_COLLATE=C
|
|
LC_NUMERIC=C
|
|
export LC_COLLATE LC_NUMERIC
|
|
|
|
# Avoid interference with shell env settings
|
|
unexport GREP_OPTIONS
|
|
|
|
# Beautify output
|
|
# ---------------------------------------------------------------------------
|
|
#
|
|
# Normally, we echo the whole command before executing it. By making
|
|
# that echo $($(quiet)$(cmd)), we now have the possibility to set
|
|
# $(quiet) to choose other forms of output instead, e.g.
|
|
#
|
|
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
|
|
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
|
|
#
|
|
# If $(quiet) is empty, the whole command will be printed.
|
|
# If it is set to "quiet_", only the short version will be printed.
|
|
# If it is set to "silent_", nothing will be printed at all, since
|
|
# the variable $(silent_cmd_cc_o_c) doesn't exist.
|
|
#
|
|
# A simple variant is to prefix commands with $(Q) - that's useful
|
|
# for commands that shall be hidden in non-verbose mode.
|
|
#
|
|
# $(Q)ln $@ :<
|
|
#
|
|
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
|
|
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
|
|
# If KBUILD_VERBOSE equals 2 then give the reason why each target is rebuilt.
|
|
#
|
|
# To put more focus on warnings, be less verbose as default
|
|
# Use 'make V=1' to see the full commands
|
|
|
|
ifeq ("$(origin V)", "command line")
|
|
KBUILD_VERBOSE = $(V)
|
|
endif
|
|
ifndef KBUILD_VERBOSE
|
|
KBUILD_VERBOSE = 0
|
|
endif
|
|
|
|
ifeq ($(KBUILD_VERBOSE),1)
|
|
quiet =
|
|
Q =
|
|
else
|
|
quiet=quiet_
|
|
Q = @
|
|
endif
|
|
|
|
# If the user is running make -s (silent mode), suppress echoing of
|
|
# commands
|
|
# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS.
|
|
|
|
ifeq ($(filter 3.%,$(MAKE_VERSION)),)
|
|
silence:=$(findstring s,$(firstword -$(MAKEFLAGS)))
|
|
else
|
|
silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS)))
|
|
endif
|
|
|
|
ifeq ($(silence),s)
|
|
quiet=silent_
|
|
KBUILD_VERBOSE = 0
|
|
endif
|
|
|
|
export quiet Q KBUILD_VERBOSE
|
|
|
|
# Call a source code checker (by default, "sparse") as part of the
|
|
# C compilation.
|
|
#
|
|
# Use 'make C=1' to enable checking of only re-compiled files.
|
|
# Use 'make C=2' to enable checking of *all* source files, regardless
|
|
# of whether they are re-compiled or not.
|
|
#
|
|
# See the file "Documentation/dev-tools/sparse.rst" for more details,
|
|
# including where to get the "sparse" utility.
|
|
|
|
ifeq ("$(origin C)", "command line")
|
|
KBUILD_CHECKSRC = $(C)
|
|
endif
|
|
ifndef KBUILD_CHECKSRC
|
|
KBUILD_CHECKSRC = 0
|
|
endif
|
|
|
|
export KBUILD_CHECKSRC
|
|
|
|
# Enable "clippy" (a linter) as part of the Rust compilation.
|
|
#
|
|
# Use 'make CLIPPY=1' to enable it.
|
|
ifeq ("$(origin CLIPPY)", "command line")
|
|
KBUILD_CLIPPY := $(CLIPPY)
|
|
endif
|
|
|
|
export KBUILD_CLIPPY
|
|
|
|
# Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
|
|
# directory of external module to build. Setting M= takes precedence.
|
|
ifeq ("$(origin M)", "command line")
|
|
KBUILD_EXTMOD := $(M)
|
|
endif
|
|
|
|
$(if $(word 2, $(KBUILD_EXTMOD)), \
|
|
$(error building multiple external modules is not supported))
|
|
|
|
$(foreach x, % :, $(if $(findstring $x, $(KBUILD_EXTMOD)), \
|
|
$(error module directory path cannot contain '$x')))
|
|
|
|
# Remove trailing slashes
|
|
ifneq ($(filter %/, $(KBUILD_EXTMOD)),)
|
|
KBUILD_EXTMOD := $(shell dirname $(KBUILD_EXTMOD).)
|
|
endif
|
|
|
|
export KBUILD_EXTMOD
|
|
|
|
# ANDROID: set up mixed-build support. mixed-build allows device kernel modules
|
|
# to be compiled against a GKI kernel. This approach still uses the headers and
|
|
# Kbuild from device kernel, so care must be taken to ensure that those headers match.
|
|
ifdef KBUILD_MIXED_TREE
|
|
# Need vmlinux.symvers for modpost and System.map for depmod, check whether they exist in KBUILD_MIXED_TREE
|
|
required_mixed_files=vmlinux.symvers System.map
|
|
$(if $(filter-out $(words $(required_mixed_files)), \
|
|
$(words $(wildcard $(add-prefix $(KBUILD_MIXED_TREE)/,$(required_mixed_files))))),,\
|
|
$(error KBUILD_MIXED_TREE=$(KBUILD_MIXED_TREE) doesn't contain $(required_mixed_files)))
|
|
endif
|
|
|
|
mixed-build-prefix = $(if $(KBUILD_MIXED_TREE),$(KBUILD_MIXED_TREE)/)
|
|
export KBUILD_MIXED_TREE
|
|
# This is a hack for kleaf to set mixed-build-prefix within the execution of a make rule, e.g.
|
|
# within __modinst_pre.
|
|
# TODO(b/205893923): Revert this hack once it is properly handled.
|
|
export mixed-build-prefix
|
|
|
|
# Kbuild will save output files in the current working directory.
|
|
# This does not need to match to the root of the kernel source tree.
|
|
#
|
|
# For example, you can do this:
|
|
#
|
|
# cd /dir/to/store/output/files; make -f /dir/to/kernel/source/Makefile
|
|
#
|
|
# If you want to save output files in a different location, there are
|
|
# two syntaxes to specify it.
|
|
#
|
|
# 1) O=
|
|
# Use "make O=dir/to/store/output/files/"
|
|
#
|
|
# 2) Set KBUILD_OUTPUT
|
|
# Set the environment variable KBUILD_OUTPUT to point to the output directory.
|
|
# export KBUILD_OUTPUT=dir/to/store/output/files/; make
|
|
#
|
|
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
|
|
# variable.
|
|
|
|
# Do we want to change the working directory?
|
|
ifeq ("$(origin O)", "command line")
|
|
KBUILD_OUTPUT := $(O)
|
|
endif
|
|
|
|
ifneq ($(KBUILD_OUTPUT),)
|
|
# Make's built-in functions such as $(abspath ...), $(realpath ...) cannot
|
|
# expand a shell special character '~'. We use a somewhat tedious way here.
|
|
abs_objtree := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd)
|
|
$(if $(abs_objtree),, \
|
|
$(error failed to create output directory "$(KBUILD_OUTPUT)"))
|
|
|
|
# $(realpath ...) resolves symlinks
|
|
abs_objtree := $(realpath $(abs_objtree))
|
|
else
|
|
abs_objtree := $(CURDIR)
|
|
endif # ifneq ($(KBUILD_OUTPUT),)
|
|
|
|
ifeq ($(abs_objtree),$(CURDIR))
|
|
# Suppress "Entering directory ..." unless we are changing the work directory.
|
|
MAKEFLAGS += --no-print-directory
|
|
else
|
|
need-sub-make := 1
|
|
endif
|
|
|
|
this-makefile := $(lastword $(MAKEFILE_LIST))
|
|
abs_srctree := $(realpath $(dir $(this-makefile)))
|
|
|
|
ifneq ($(words $(subst :, ,$(abs_srctree))), 1)
|
|
$(error source directory cannot contain spaces or colons)
|
|
endif
|
|
|
|
ifneq ($(abs_srctree),$(abs_objtree))
|
|
# Look for make include files relative to root of kernel src
|
|
#
|
|
# --included-dir is added for backward compatibility, but you should not rely on
|
|
# it. Please add $(srctree)/ prefix to include Makefiles in the source tree.
|
|
MAKEFLAGS += --include-dir=$(abs_srctree)
|
|
endif
|
|
|
|
ifneq ($(filter 3.%,$(MAKE_VERSION)),)
|
|
# 'MAKEFLAGS += -rR' does not immediately become effective for GNU Make 3.x
|
|
# We need to invoke sub-make to avoid implicit rules in the top Makefile.
|
|
need-sub-make := 1
|
|
# Cancel implicit rules for this Makefile.
|
|
$(this-makefile): ;
|
|
endif
|
|
|
|
export abs_srctree abs_objtree
|
|
export sub_make_done := 1
|
|
|
|
ifeq ($(need-sub-make),1)
|
|
|
|
PHONY += $(MAKECMDGOALS) __sub-make
|
|
|
|
$(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make
|
|
@:
|
|
|
|
# Invoke a second make in the output directory, passing relevant variables
|
|
__sub-make:
|
|
$(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS)
|
|
|
|
endif # need-sub-make
|
|
endif # sub_make_done
|
|
|
|
# We process the rest of the Makefile if this is the final invocation of make
|
|
ifeq ($(need-sub-make),)
|
|
|
|
# Do not print "Entering directory ...",
|
|
# but we want to display it when entering to the output directory
|
|
# so that IDEs/editors are able to understand relative filenames.
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
ifeq ($(abs_srctree),$(abs_objtree))
|
|
# building in the source tree
|
|
srctree := .
|
|
building_out_of_srctree :=
|
|
else
|
|
ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
|
|
# building in a subdirectory of the source tree
|
|
srctree := ..
|
|
else
|
|
srctree := $(abs_srctree)
|
|
endif
|
|
building_out_of_srctree := 1
|
|
endif
|
|
|
|
ifneq ($(KBUILD_ABS_SRCTREE),)
|
|
srctree := $(abs_srctree)
|
|
endif
|
|
|
|
objtree := .
|
|
VPATH := $(srctree)
|
|
|
|
export building_out_of_srctree srctree objtree VPATH
|
|
|
|
# To make sure we do not include .config for any of the *config targets
|
|
# catch them early, and hand them over to scripts/kconfig/Makefile
|
|
# It is allowed to specify more targets when calling make, including
|
|
# mixing *config targets and build targets.
|
|
# For example 'make oldconfig all'.
|
|
# Detect when mixed targets is specified, and make a second invocation
|
|
# of make so .config is not included in this case either (for *config).
|
|
|
|
version_h := include/generated/uapi/linux/version.h
|
|
|
|
clean-targets := %clean mrproper cleandocs
|
|
no-dot-config-targets := $(clean-targets) \
|
|
cscope gtags TAGS tags help% %docs check% coccicheck \
|
|
$(version_h) headers headers_% archheaders archscripts \
|
|
%asm-generic kernelversion %src-pkg dt_binding_check \
|
|
outputmakefile rustavailable rustfmt rustfmtcheck
|
|
# Installation targets should not require compiler. Unfortunately, vdso_install
|
|
# is an exception where build artifacts may be updated. This must be fixed.
|
|
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
|
|
headers_install modules_install kernelrelease image_name
|
|
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
|
|
image_name
|
|
single-targets := %.a %.i %.rsi %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
|
|
|
|
config-build :=
|
|
mixed-build :=
|
|
need-config := 1
|
|
need-compiler := 1
|
|
may-sync-config := 1
|
|
single-build :=
|
|
|
|
ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
|
|
need-config :=
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(filter $(no-compiler-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-compiler-targets), $(MAKECMDGOALS)),)
|
|
need-compiler :=
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(filter $(no-sync-config-targets), $(MAKECMDGOALS)),)
|
|
ifeq ($(filter-out $(no-sync-config-targets), $(MAKECMDGOALS)),)
|
|
may-sync-config :=
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(KBUILD_EXTMOD),)
|
|
may-sync-config :=
|
|
endif
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
ifneq ($(filter %config,$(MAKECMDGOALS)),)
|
|
config-build := 1
|
|
ifneq ($(words $(MAKECMDGOALS)),1)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
# We cannot build single targets and the others at the same time
|
|
ifneq ($(filter $(single-targets), $(MAKECMDGOALS)),)
|
|
single-build := 1
|
|
ifneq ($(filter-out $(single-targets), $(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
# For "make -j clean all", "make -j mrproper defconfig all", etc.
|
|
ifneq ($(filter $(clean-targets),$(MAKECMDGOALS)),)
|
|
ifneq ($(filter-out $(clean-targets),$(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
# install and modules_install need also be processed one by one
|
|
ifneq ($(filter install,$(MAKECMDGOALS)),)
|
|
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
mixed-build := 1
|
|
endif
|
|
endif
|
|
|
|
ifdef mixed-build
|
|
# ===========================================================================
|
|
# We're called with mixed targets (*config and build targets).
|
|
# Handle them one by one.
|
|
|
|
PHONY += $(MAKECMDGOALS) __build_one_by_one
|
|
|
|
$(MAKECMDGOALS): __build_one_by_one
|
|
@:
|
|
|
|
__build_one_by_one:
|
|
$(Q)set -e; \
|
|
for i in $(MAKECMDGOALS); do \
|
|
$(MAKE) -f $(srctree)/Makefile $$i; \
|
|
done
|
|
|
|
else # !mixed-build
|
|
|
|
include $(srctree)/scripts/Kbuild.include
|
|
|
|
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
|
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
|
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
|
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
|
|
|
|
include $(srctree)/scripts/subarch.include
|
|
|
|
# Cross compiling and selecting different set of gcc/bin-utils
|
|
# ---------------------------------------------------------------------------
|
|
#
|
|
# When performing cross compilation for other architectures ARCH shall be set
|
|
# to the target architecture. (See arch/* for the possibilities).
|
|
# ARCH can be set during invocation of make:
|
|
# make ARCH=ia64
|
|
# Another way is to have ARCH set in the environment.
|
|
# The default ARCH is the host where make is executed.
|
|
|
|
# CROSS_COMPILE specify the prefix used for all executables used
|
|
# during compilation. Only gcc and related bin-utils executables
|
|
# are prefixed with $(CROSS_COMPILE).
|
|
# CROSS_COMPILE can be set on the command line
|
|
# make CROSS_COMPILE=ia64-linux-
|
|
# Alternatively CROSS_COMPILE can be set in the environment.
|
|
# Default value for CROSS_COMPILE is not to prefix executables
|
|
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
|
|
ARCH ?= $(SUBARCH)
|
|
|
|
# Architecture as present in compile.h
|
|
UTS_MACHINE := $(ARCH)
|
|
SRCARCH := $(ARCH)
|
|
|
|
# Additional ARCH settings for x86
|
|
ifeq ($(ARCH),i386)
|
|
SRCARCH := x86
|
|
endif
|
|
ifeq ($(ARCH),x86_64)
|
|
SRCARCH := x86
|
|
endif
|
|
|
|
# Additional ARCH settings for sparc
|
|
ifeq ($(ARCH),sparc32)
|
|
SRCARCH := sparc
|
|
endif
|
|
ifeq ($(ARCH),sparc64)
|
|
SRCARCH := sparc
|
|
endif
|
|
|
|
# Additional ARCH settings for parisc
|
|
ifeq ($(ARCH),parisc64)
|
|
SRCARCH := parisc
|
|
endif
|
|
|
|
export cross_compiling :=
|
|
ifneq ($(SRCARCH),$(SUBARCH))
|
|
cross_compiling := 1
|
|
endif
|
|
|
|
KCONFIG_CONFIG ?= .config
|
|
export KCONFIG_CONFIG
|
|
|
|
# SHELL used by kbuild
|
|
CONFIG_SHELL := sh
|
|
|
|
HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null)
|
|
HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
|
|
HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null)
|
|
|
|
ifneq ($(LLVM),)
|
|
ifneq ($(filter %/,$(LLVM)),)
|
|
LLVM_PREFIX := $(LLVM)
|
|
else ifneq ($(filter -%,$(LLVM)),)
|
|
LLVM_SUFFIX := $(LLVM)
|
|
endif
|
|
|
|
HOSTCC = $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
|
|
HOSTCXX = $(LLVM_PREFIX)clang++$(LLVM_SUFFIX)
|
|
else
|
|
HOSTCC = gcc
|
|
HOSTCXX = g++
|
|
endif
|
|
HOSTRUSTC = rustc
|
|
HOSTPKG_CONFIG = pkg-config
|
|
|
|
KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
|
|
-O2 -fomit-frame-pointer -std=gnu11 \
|
|
-Wdeclaration-after-statement
|
|
KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
|
|
KBUILD_USERLDFLAGS := $(USERLDFLAGS)
|
|
|
|
# These flags apply to all Rust code in the tree, including the kernel and
|
|
# host programs.
|
|
export rust_common_flags := --edition=2021 \
|
|
-Zbinary_dep_depinfo=y \
|
|
-Dunsafe_op_in_unsafe_fn -Drust_2018_idioms \
|
|
-Dunreachable_pub -Dnon_ascii_idents \
|
|
-Wmissing_docs \
|
|
-Drustdoc::missing_crate_level_docs \
|
|
-Dclippy::correctness -Dclippy::style \
|
|
-Dclippy::suspicious -Dclippy::complexity \
|
|
-Dclippy::perf \
|
|
-Dclippy::let_unit_value -Dclippy::mut_mut \
|
|
-Dclippy::needless_bitwise_bool \
|
|
-Dclippy::needless_continue \
|
|
-Wclippy::dbg_macro
|
|
|
|
KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
|
|
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
|
|
KBUILD_HOSTRUSTFLAGS := $(rust_common_flags) -O -Cstrip=debuginfo \
|
|
-Zallow-features= $(HOSTRUSTFLAGS)
|
|
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
|
|
KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
|
|
|
|
# Make variables (CC, etc...)
|
|
CPP = $(CC) -E
|
|
ifneq ($(LLVM),)
|
|
CC = $(LLVM_PREFIX)clang$(LLVM_SUFFIX)
|
|
LD = $(LLVM_PREFIX)ld.lld$(LLVM_SUFFIX)
|
|
AR = $(LLVM_PREFIX)llvm-ar$(LLVM_SUFFIX)
|
|
NM = $(LLVM_PREFIX)llvm-nm$(LLVM_SUFFIX)
|
|
OBJCOPY = $(LLVM_PREFIX)llvm-objcopy$(LLVM_SUFFIX)
|
|
OBJDUMP = $(LLVM_PREFIX)llvm-objdump$(LLVM_SUFFIX)
|
|
READELF = $(LLVM_PREFIX)llvm-readelf$(LLVM_SUFFIX)
|
|
STRIP = $(LLVM_PREFIX)llvm-strip$(LLVM_SUFFIX)
|
|
else
|
|
CC = $(CROSS_COMPILE)gcc
|
|
LD = $(CROSS_COMPILE)ld
|
|
AR = $(CROSS_COMPILE)ar
|
|
NM = $(CROSS_COMPILE)nm
|
|
OBJCOPY = $(CROSS_COMPILE)objcopy
|
|
OBJDUMP = $(CROSS_COMPILE)objdump
|
|
READELF = $(CROSS_COMPILE)readelf
|
|
STRIP = $(CROSS_COMPILE)strip
|
|
endif
|
|
RUSTC = rustc
|
|
RUSTDOC = rustdoc
|
|
RUSTFMT = rustfmt
|
|
CLIPPY_DRIVER = clippy-driver
|
|
BINDGEN = bindgen
|
|
CARGO = cargo
|
|
PAHOLE = pahole
|
|
RESOLVE_BTFIDS = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
|
|
LEX = flex
|
|
YACC = bison
|
|
AWK = awk
|
|
INSTALLKERNEL := installkernel
|
|
DEPMOD = depmod
|
|
PERL = perl
|
|
PYTHON3 = python3
|
|
CHECK = sparse
|
|
BASH = bash
|
|
KGZIP = gzip
|
|
KBZIP2 = bzip2
|
|
KLZOP = lzop
|
|
LZMA = lzma
|
|
LZ4 = lz4
|
|
XZ = xz
|
|
ZSTD = zstd
|
|
|
|
PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh)
|
|
|
|
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
|
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
|
|
NOSTDINC_FLAGS :=
|
|
CFLAGS_MODULE =
|
|
RUSTFLAGS_MODULE =
|
|
AFLAGS_MODULE =
|
|
LDFLAGS_MODULE =
|
|
CFLAGS_KERNEL =
|
|
RUSTFLAGS_KERNEL =
|
|
AFLAGS_KERNEL =
|
|
LDFLAGS_vmlinux =
|
|
|
|
# Use USERINCLUDE when you must reference the UAPI directories only.
|
|
USERINCLUDE := \
|
|
-I$(srctree)/arch/$(SRCARCH)/include/uapi \
|
|
-I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
|
|
-I$(srctree)/include/uapi \
|
|
-I$(objtree)/include/generated/uapi \
|
|
-include $(srctree)/include/linux/compiler-version.h \
|
|
-include $(srctree)/include/linux/kconfig.h
|
|
|
|
# Use LINUXINCLUDE when you must reference the include/ directory.
|
|
# Needed to be compatible with the O= option
|
|
LINUXINCLUDE := \
|
|
-I$(srctree)/arch/$(SRCARCH)/include \
|
|
-I$(objtree)/arch/$(SRCARCH)/include/generated \
|
|
$(if $(building_out_of_srctree),-I$(srctree)/include) \
|
|
-I$(objtree)/include \
|
|
$(USERINCLUDE)
|
|
|
|
KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
|
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
|
|
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
|
|
-Werror=implicit-function-declaration -Werror=implicit-int \
|
|
-Werror=return-type -Wno-format-security \
|
|
-std=gnu11
|
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
|
KBUILD_RUSTFLAGS := $(rust_common_flags) \
|
|
--target=$(objtree)/rust/target.json \
|
|
-Cpanic=abort -Cembed-bitcode=n -Clto=n \
|
|
-Cforce-unwind-tables=n -Ccodegen-units=1 \
|
|
-Csymbol-mangling-version=v0 \
|
|
-Crelocation-model=static \
|
|
-Zfunction-sections=n \
|
|
-Dclippy::float_arithmetic
|
|
|
|
KBUILD_AFLAGS_KERNEL :=
|
|
KBUILD_CFLAGS_KERNEL :=
|
|
KBUILD_RUSTFLAGS_KERNEL :=
|
|
KBUILD_AFLAGS_MODULE := -DMODULE
|
|
KBUILD_CFLAGS_MODULE := -DMODULE
|
|
KBUILD_RUSTFLAGS_MODULE := --cfg MODULE
|
|
KBUILD_LDFLAGS_MODULE :=
|
|
KBUILD_LDFLAGS :=
|
|
CLANG_FLAGS :=
|
|
|
|
ifeq ($(KBUILD_CLIPPY),1)
|
|
RUSTC_OR_CLIPPY_QUIET := CLIPPY
|
|
RUSTC_OR_CLIPPY = $(CLIPPY_DRIVER)
|
|
else
|
|
RUSTC_OR_CLIPPY_QUIET := RUSTC
|
|
RUSTC_OR_CLIPPY = $(RUSTC)
|
|
endif
|
|
|
|
ifdef RUST_LIB_SRC
|
|
export RUST_LIB_SRC
|
|
endif
|
|
|
|
# Allows the usage of unstable features in stable compilers.
|
|
export RUSTC_BOOTSTRAP := 1
|
|
|
|
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC HOSTPKG_CONFIG
|
|
export RUSTC RUSTDOC RUSTFMT RUSTC_OR_CLIPPY_QUIET RUSTC_OR_CLIPPY BINDGEN CARGO
|
|
export HOSTRUSTC KBUILD_HOSTRUSTFLAGS
|
|
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
|
|
export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
|
|
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
|
|
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
|
|
export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
|
|
|
|
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
|
|
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
|
|
export KBUILD_RUSTFLAGS RUSTFLAGS_KERNEL RUSTFLAGS_MODULE
|
|
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
|
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_RUSTFLAGS_MODULE KBUILD_LDFLAGS_MODULE
|
|
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL KBUILD_RUSTFLAGS_KERNEL
|
|
export PAHOLE_FLAGS
|
|
|
|
# Files to ignore in find ... statements
|
|
|
|
export RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o \
|
|
-name CVS -o -name .pc -o -name .hg -o -name .git \) \
|
|
-prune -o
|
|
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
|
|
--exclude CVS --exclude .pc --exclude .hg --exclude .git
|
|
|
|
# ===========================================================================
|
|
# Rules shared between *config targets and build targets
|
|
|
|
# Basic helpers built in scripts/basic/
|
|
PHONY += scripts_basic
|
|
scripts_basic:
|
|
$(Q)$(MAKE) $(build)=scripts/basic
|
|
|
|
PHONY += outputmakefile
|
|
ifdef building_out_of_srctree
|
|
# Before starting out-of-tree build, make sure the source tree is clean.
|
|
# outputmakefile generates a Makefile in the output directory, if using a
|
|
# separate output directory. This allows convenient use of make in the
|
|
# output directory.
|
|
# At the same time when output Makefile generated, generate .gitignore to
|
|
# ignore whole output directory
|
|
|
|
quiet_cmd_makefile = GEN Makefile
|
|
cmd_makefile = { \
|
|
echo "\# Automatically generated by $(srctree)/Makefile: don't edit"; \
|
|
echo "include $(srctree)/Makefile"; \
|
|
} > Makefile
|
|
|
|
outputmakefile:
|
|
@if [ -f $(srctree)/.config -o \
|
|
-d $(srctree)/include/config -o \
|
|
-d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
|
|
echo >&2 "***"; \
|
|
echo >&2 "*** The source tree is not clean, please run 'make$(if $(findstring command line, $(origin ARCH)), ARCH=$(ARCH)) mrproper'"; \
|
|
echo >&2 "*** in $(abs_srctree)";\
|
|
echo >&2 "***"; \
|
|
false; \
|
|
fi
|
|
$(Q)ln -fsn $(srctree) source
|
|
$(call cmd,makefile)
|
|
$(Q)test -e .gitignore || \
|
|
{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
|
|
endif
|
|
|
|
# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
|
|
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
|
|
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
|
|
# and from include/config/auto.conf.cmd to detect the compiler upgrade.
|
|
CC_VERSION_TEXT = $(subst $(pound),,$(shell LC_ALL=C $(CC) --version 2>/dev/null | head -n 1))
|
|
|
|
ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
|
|
include $(srctree)/scripts/Makefile.clang
|
|
endif
|
|
|
|
# Include this also for config targets because some architectures need
|
|
# cc-cross-prefix to determine CROSS_COMPILE.
|
|
ifdef need-compiler
|
|
include $(srctree)/scripts/Makefile.compiler
|
|
endif
|
|
|
|
ifdef config-build
|
|
# ===========================================================================
|
|
# *config targets only - make sure prerequisites are updated, and descend
|
|
# in scripts/kconfig to make the *config target
|
|
|
|
# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
|
|
# KBUILD_DEFCONFIG may point out an alternative default configuration
|
|
# used for 'make defconfig'
|
|
include $(srctree)/arch/$(SRCARCH)/Makefile
|
|
export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT
|
|
|
|
config: outputmakefile scripts_basic FORCE
|
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
|
|
|
%config: outputmakefile scripts_basic FORCE
|
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
|
|
|
else #!config-build
|
|
# ===========================================================================
|
|
# Build targets only - this includes vmlinux, arch specific targets, clean
|
|
# targets and others. In general all targets except *config targets.
|
|
|
|
# If building an external module we do not care about the all: rule
|
|
# but instead __all depend on modules
|
|
PHONY += all
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
__all: all
|
|
else
|
|
__all: modules
|
|
endif
|
|
|
|
targets :=
|
|
|
|
# Decide whether to build built-in, modular, or both.
|
|
# Normally, just do built-in.
|
|
|
|
KBUILD_MODULES :=
|
|
KBUILD_BUILTIN := 1
|
|
|
|
# If we have only "make modules", don't compile built-in objects.
|
|
ifeq ($(MAKECMDGOALS),modules)
|
|
KBUILD_BUILTIN :=
|
|
endif
|
|
|
|
# If we have "make <whatever> modules", compile modules
|
|
# in addition to whatever we do anyway.
|
|
# Just "make" or "make all" shall build modules as well
|
|
|
|
ifneq ($(filter all modules nsdeps %compile_commands.json clang-%,$(MAKECMDGOALS)),)
|
|
KBUILD_MODULES := 1
|
|
endif
|
|
|
|
ifeq ($(MAKECMDGOALS),)
|
|
KBUILD_MODULES := 1
|
|
endif
|
|
|
|
export KBUILD_MODULES KBUILD_BUILTIN
|
|
|
|
ifdef need-config
|
|
include include/config/auto.conf
|
|
endif
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
# Objects we will link into vmlinux / subdirs we need to visit
|
|
core-y :=
|
|
drivers-y :=
|
|
libs-y := lib/
|
|
endif # KBUILD_EXTMOD
|
|
|
|
ifndef KBUILD_MIXED_TREE
|
|
# The all: target is the default when no target is given on the
|
|
# command line.
|
|
# This allow a user to issue only 'make' to build a kernel including modules
|
|
# Defaults to vmlinux, but the arch makefile usually adds further targets
|
|
all: vmlinux
|
|
endif
|
|
|
|
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage
|
|
ifdef CONFIG_CC_IS_GCC
|
|
CFLAGS_GCOV += -fno-tree-loop-im
|
|
endif
|
|
export CFLAGS_GCOV
|
|
|
|
# The arch Makefiles can override CC_FLAGS_FTRACE. We may also append it later.
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
CC_FLAGS_FTRACE := -pg
|
|
endif
|
|
|
|
include $(srctree)/arch/$(SRCARCH)/Makefile
|
|
|
|
ifdef need-config
|
|
ifdef may-sync-config
|
|
# Read in dependencies to all Kconfig* files, make sure to run syncconfig if
|
|
# changes are detected. This should be included after arch/$(SRCARCH)/Makefile
|
|
# because some architectures define CROSS_COMPILE there.
|
|
include include/config/auto.conf.cmd
|
|
|
|
$(KCONFIG_CONFIG):
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** Configuration file "$@" not found!'
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** Please run some configurator (e.g. "make oldconfig" or'
|
|
@echo >&2 '*** "make menuconfig" or "make xconfig").'
|
|
@echo >&2 '***'
|
|
@/bin/false
|
|
|
|
# The actual configuration files used during the build are stored in
|
|
# include/generated/ and include/config/. Update them if .config is newer than
|
|
# include/config/auto.conf (which mirrors .config).
|
|
#
|
|
# This exploits the 'multi-target pattern rule' trick.
|
|
# The syncconfig should be executed only once to make all the targets.
|
|
# (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
|
|
#
|
|
# Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
|
|
# so you cannot notice that Kconfig is waiting for the user input.
|
|
%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h %/generated/rustc_cfg: $(KCONFIG_CONFIG)
|
|
$(Q)$(kecho) " SYNC $@"
|
|
$(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
|
|
else # !may-sync-config
|
|
# External modules and some install targets need include/generated/autoconf.h
|
|
# and include/config/auto.conf but do not care if they are up-to-date.
|
|
# Use auto.conf to trigger the test
|
|
PHONY += include/config/auto.conf
|
|
|
|
include/config/auto.conf:
|
|
@test -e include/generated/autoconf.h -a -e $@ || ( \
|
|
echo >&2; \
|
|
echo >&2 " ERROR: Kernel configuration is invalid."; \
|
|
echo >&2 " include/generated/autoconf.h or $@ are missing.";\
|
|
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
|
|
echo >&2 ; \
|
|
/bin/false)
|
|
|
|
endif # may-sync-config
|
|
endif # need-config
|
|
|
|
KBUILD_CFLAGS += -fno-delete-null-pointer-checks
|
|
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
|
|
|
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
|
KBUILD_CFLAGS += -O2
|
|
KBUILD_RUSTFLAGS += -Copt-level=2
|
|
else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
|
KBUILD_CFLAGS += -Os
|
|
KBUILD_RUSTFLAGS += -Copt-level=s
|
|
endif
|
|
|
|
# Always set `debug-assertions` and `overflow-checks` because their default
|
|
# depends on `opt-level` and `debug-assertions`, respectively.
|
|
KBUILD_RUSTFLAGS += -Cdebug-assertions=$(if $(CONFIG_RUST_DEBUG_ASSERTIONS),y,n)
|
|
KBUILD_RUSTFLAGS += -Coverflow-checks=$(if $(CONFIG_RUST_OVERFLOW_CHECKS),y,n)
|
|
|
|
# Tell gcc to never replace conditional load with a non-conditional one
|
|
ifdef CONFIG_CC_IS_GCC
|
|
# gcc-10 renamed --param=allow-store-data-races=0 to
|
|
# -fno-allow-store-data-races.
|
|
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races)
|
|
endif
|
|
|
|
ifdef CONFIG_READABLE_ASM
|
|
# Disable optimizations that make assembler listings hard to read.
|
|
# reorder blocks reorders the control in the function
|
|
# ipa clone creates specialized cloned functions
|
|
# partial inlining inlines only parts of functions
|
|
KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
|
|
endif
|
|
|
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
|
|
endif
|
|
|
|
stackp-flags-y := -fno-stack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
|
|
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
|
|
|
KBUILD_CFLAGS += $(stackp-flags-y)
|
|
|
|
KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
|
|
KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
|
|
|
|
KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings
|
|
KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y)
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
KBUILD_CPPFLAGS += -Qunused-arguments
|
|
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
|
|
KBUILD_CFLAGS += -Wno-gnu
|
|
else
|
|
|
|
# gcc inanely warns about local variables called 'main'
|
|
KBUILD_CFLAGS += -Wno-main
|
|
endif
|
|
|
|
# These warnings generated too much noise in a regular build.
|
|
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
|
|
|
# These result in bogus false positives
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
|
|
|
|
ifdef CONFIG_FRAME_POINTER
|
|
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
|
KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y
|
|
else
|
|
# Some targets (ARM with Thumb2, for example), can't be built with frame
|
|
# pointers. For those, we don't have FUNCTION_TRACER automatically
|
|
# select FRAME_POINTER. However, FUNCTION_TRACER adds -pg, and this is
|
|
# incompatible with -fomit-frame-pointer with current GCC, so we don't use
|
|
# -fomit-frame-pointer with FUNCTION_TRACER.
|
|
# In the Rust target specification, "frame-pointer" is set explicitly
|
|
# to "may-omit".
|
|
ifndef CONFIG_FUNCTION_TRACER
|
|
KBUILD_CFLAGS += -fomit-frame-pointer
|
|
endif
|
|
endif
|
|
|
|
# Initialize all stack variables with a 0xAA pattern.
|
|
ifdef CONFIG_INIT_STACK_ALL_PATTERN
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=pattern
|
|
endif
|
|
|
|
# Initialize all stack variables with a zero value.
|
|
ifdef CONFIG_INIT_STACK_ALL_ZERO
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
|
|
ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER
|
|
# https://github.com/llvm/llvm-project/issues/44842
|
|
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
|
|
endif
|
|
endif
|
|
|
|
# While VLAs have been removed, GCC produces unreachable stack probes
|
|
# for the randomize_kstack_offset feature. Disable it for all compilers.
|
|
KBUILD_CFLAGS += $(call cc-option, -fno-stack-clash-protection)
|
|
|
|
# Clear used registers at func exit (to reduce data lifetime and ROP gadgets).
|
|
ifdef CONFIG_ZERO_CALL_USED_REGS
|
|
KBUILD_CFLAGS += -fzero-call-used-regs=used-gpr
|
|
endif
|
|
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_CC
|
|
CC_FLAGS_FTRACE += -mrecord-mcount
|
|
ifdef CONFIG_HAVE_NOP_MCOUNT
|
|
ifeq ($(call cc-option-yn, -mnop-mcount),y)
|
|
CC_FLAGS_FTRACE += -mnop-mcount
|
|
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
|
|
endif
|
|
endif
|
|
endif
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
|
|
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
|
|
endif
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT
|
|
ifdef CONFIG_HAVE_C_RECORDMCOUNT
|
|
BUILD_C_RECORDMCOUNT := y
|
|
export BUILD_C_RECORDMCOUNT
|
|
endif
|
|
endif
|
|
ifdef CONFIG_HAVE_FENTRY
|
|
# s390-linux-gnu-gcc did not support -mfentry until gcc-9.
|
|
ifeq ($(call cc-option-yn, -mfentry),y)
|
|
CC_FLAGS_FTRACE += -mfentry
|
|
CC_FLAGS_USING += -DCC_USING_FENTRY
|
|
endif
|
|
endif
|
|
export CC_FLAGS_FTRACE
|
|
KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING)
|
|
KBUILD_AFLAGS += $(CC_FLAGS_USING)
|
|
endif
|
|
|
|
# We trigger additional mismatches with less inlining
|
|
ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
|
KBUILD_CFLAGS += -fno-inline-functions-called-once
|
|
endif
|
|
|
|
# `rustc`'s `-Zfunction-sections` applies to data too (as of 1.59.0).
|
|
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
|
KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
|
|
KBUILD_RUSTFLAGS_KERNEL += -Zfunction-sections=y
|
|
LDFLAGS_vmlinux += --gc-sections
|
|
endif
|
|
|
|
ifdef CONFIG_SHADOW_CALL_STACK
|
|
ifndef CONFIG_DYNAMIC_SCS
|
|
CC_FLAGS_SCS := -fsanitize=shadow-call-stack
|
|
KBUILD_CFLAGS += $(CC_FLAGS_SCS)
|
|
endif
|
|
export CC_FLAGS_SCS
|
|
endif
|
|
|
|
ifdef CONFIG_LTO_CLANG
|
|
ifdef CONFIG_LTO_CLANG_THIN
|
|
CC_FLAGS_LTO := -flto=thin -fsplit-lto-unit
|
|
KBUILD_LDFLAGS += --thinlto-cache-dir=$(extmod_prefix).thinlto-cache
|
|
else
|
|
CC_FLAGS_LTO := -flto
|
|
endif
|
|
|
|
ifeq ($(SRCARCH),x86)
|
|
# Workaround for compiler / linker bug
|
|
CC_FLAGS_LTO += -fvisibility=hidden
|
|
else
|
|
CC_FLAGS_LTO += -fvisibility=default
|
|
endif
|
|
|
|
# Limit inlining across translation units to reduce binary size
|
|
KBUILD_LDFLAGS += -mllvm -import-instr-limit=5
|
|
|
|
# Check for frame size exceeding threshold during prolog/epilog insertion
|
|
# when using lld < 13.0.0.
|
|
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 130000; echo $$?),0)
|
|
KBUILD_LDFLAGS += -plugin-opt=-warn-stack-size=$(CONFIG_FRAME_WARN)
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef CONFIG_LTO
|
|
KBUILD_CFLAGS += -fno-lto $(CC_FLAGS_LTO)
|
|
KBUILD_AFLAGS += -fno-lto
|
|
export CC_FLAGS_LTO
|
|
endif
|
|
|
|
ifdef CONFIG_CFI_CLANG
|
|
CC_FLAGS_CFI := -fsanitize=kcfi
|
|
KBUILD_CFLAGS += $(CC_FLAGS_CFI)
|
|
export CC_FLAGS_CFI
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B
|
|
KBUILD_CFLAGS += -falign-functions=64
|
|
endif
|
|
|
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
|
NOSTDINC_FLAGS += -nostdinc
|
|
|
|
# warn about C99 declaration after statement
|
|
KBUILD_CFLAGS += -Wdeclaration-after-statement
|
|
|
|
# Variable Length Arrays (VLAs) should not be used anywhere in the kernel
|
|
KBUILD_CFLAGS += -Wvla
|
|
|
|
# disable pointer signed / unsigned warnings in gcc 4.0
|
|
KBUILD_CFLAGS += -Wno-pointer-sign
|
|
|
|
# In order to make sure new function cast mismatches are not introduced
|
|
# in the kernel (to avoid tripping CFI checking), the kernel should be
|
|
# globally built with -Wcast-function-type.
|
|
KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
|
|
|
|
# disable stringop warnings in gcc 8+
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
|
|
|
|
# We'll want to enable this eventually, but it's not going away for 5.7 at least
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
|
|
|
|
# Another good warning that we'll want to enable eventually
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
|
|
|
|
# Enabled with W=2, disabled by default as noisy
|
|
ifdef CONFIG_CC_IS_GCC
|
|
KBUILD_CFLAGS += -Wno-maybe-uninitialized
|
|
endif
|
|
|
|
# The allocators already balk at large sizes, so silence the compiler
|
|
# warnings for bounds checks involving those possible values. While
|
|
# -Wno-alloc-size-larger-than would normally be used here, earlier versions
|
|
# of gcc (<9.1) weirdly don't handle the option correctly when _other_
|
|
# warnings are produced (?!). Using -Walloc-size-larger-than=SIZE_MAX
|
|
# doesn't work (as it is documented to), silently resolving to "0" prior to
|
|
# version 9.1 (and producing an error more recently). Numeric values larger
|
|
# than PTRDIFF_MAX also don't work prior to version 9.1, which are silently
|
|
# ignored, continuing to default to PTRDIFF_MAX. So, left with no other
|
|
# choice, we must perform a versioned check to disable this warning.
|
|
# https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au
|
|
KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than
|
|
KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
|
|
|
|
# disable invalid "can't wrap" optimizations for signed / pointers
|
|
KBUILD_CFLAGS += -fno-strict-overflow
|
|
|
|
# Make sure -fstack-check isn't enabled (like gentoo apparently did)
|
|
KBUILD_CFLAGS += -fno-stack-check
|
|
|
|
# conserve stack if available
|
|
ifdef CONFIG_CC_IS_GCC
|
|
KBUILD_CFLAGS += -fconserve-stack
|
|
endif
|
|
|
|
# Prohibit date/time macros, which would make the build non-deterministic
|
|
KBUILD_CFLAGS += -Werror=date-time
|
|
|
|
# enforce correct pointer usage
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|
|
|
# Require designated initializers for all marked structures
|
|
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
|
|
|
# change __FILE__ to the relative path from the srctree
|
|
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
|
|
|
# include additional Makefiles when needed
|
|
include-y := scripts/Makefile.extrawarn
|
|
include-$(CONFIG_DEBUG_INFO) += scripts/Makefile.debug
|
|
include-$(CONFIG_KASAN) += scripts/Makefile.kasan
|
|
include-$(CONFIG_KCSAN) += scripts/Makefile.kcsan
|
|
include-$(CONFIG_KMSAN) += scripts/Makefile.kmsan
|
|
include-$(CONFIG_UBSAN) += scripts/Makefile.ubsan
|
|
include-$(CONFIG_KCOV) += scripts/Makefile.kcov
|
|
include-$(CONFIG_RANDSTRUCT) += scripts/Makefile.randstruct
|
|
include-$(CONFIG_GCC_PLUGINS) += scripts/Makefile.gcc-plugins
|
|
|
|
include $(addprefix $(srctree)/, $(include-y))
|
|
|
|
# scripts/Makefile.gcc-plugins is intentionally included last.
|
|
# Do not add $(call cc-option,...) below this line. When you build the kernel
|
|
# from the clean source tree, the GCC plugins do not exist at this point.
|
|
|
|
# Add user supplied CPPFLAGS, AFLAGS, CFLAGS and RUSTFLAGS as the last assignments
|
|
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
|
KBUILD_AFLAGS += $(KAFLAGS)
|
|
KBUILD_CFLAGS += $(KCFLAGS)
|
|
KBUILD_RUSTFLAGS += $(KRUSTFLAGS)
|
|
|
|
KBUILD_LDFLAGS_MODULE += --build-id=sha1
|
|
LDFLAGS_vmlinux += --build-id=sha1
|
|
|
|
KBUILD_LDFLAGS += -z noexecstack
|
|
ifeq ($(CONFIG_LD_IS_BFD),y)
|
|
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
|
|
endif
|
|
|
|
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
|
|
LDFLAGS_vmlinux += -X
|
|
endif
|
|
|
|
ifeq ($(CONFIG_RELR),y)
|
|
LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags
|
|
endif
|
|
|
|
# We never want expected sections to be placed heuristically by the
|
|
# linker. All sections should be explicitly named in the linker script.
|
|
ifdef CONFIG_LD_ORPHAN_WARN
|
|
LDFLAGS_vmlinux += --orphan-handling=warn
|
|
endif
|
|
|
|
# Align the bit size of userspace programs with the kernel
|
|
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
|
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
|
|
|
|
# make the checker run with the right architecture
|
|
CHECKFLAGS += --arch=$(ARCH)
|
|
|
|
# insure the checker run with the right endianness
|
|
CHECKFLAGS += $(if $(CONFIG_CPU_BIG_ENDIAN),-mbig-endian,-mlittle-endian)
|
|
|
|
# the checker needs the correct machine size
|
|
CHECKFLAGS += $(if $(CONFIG_64BIT),-m64,-m32)
|
|
|
|
# Default kernel image to build when no specific target is given.
|
|
# KBUILD_IMAGE may be overruled on the command line or
|
|
# set in the environment
|
|
# Also any assignments in arch/$(ARCH)/Makefile take precedence over
|
|
# this default value
|
|
export KBUILD_IMAGE ?= vmlinux
|
|
|
|
#
|
|
# INSTALL_PATH specifies where to place the updated kernel and system map
|
|
# images. Default is /boot, but you can set it to other values
|
|
export INSTALL_PATH ?= /boot
|
|
|
|
#
|
|
# INSTALL_DTBS_PATH specifies a prefix for relocations required by build roots.
|
|
# Like INSTALL_MOD_PATH, it isn't defined in the Makefile, but can be passed as
|
|
# an argument if needed. Otherwise it defaults to the kernel install path
|
|
#
|
|
export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
|
|
|
|
#
|
|
# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
|
|
# relocations required by build roots. This is not defined in the
|
|
# makefile but the argument can be passed to make if needed.
|
|
#
|
|
|
|
MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
|
|
export MODLIB
|
|
|
|
PHONY += prepare0
|
|
|
|
export extmod_prefix = $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)
|
|
export MODORDER := $(extmod_prefix)modules.order
|
|
export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel headers
|
|
|
|
PHONY += headers
|
|
|
|
#Default location for installed headers
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
PHONY += archheaders archscripts
|
|
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
|
|
headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
|
|
else
|
|
hdr-prefix = $(KBUILD_EXTMOD)/
|
|
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst dst=$(KBUILD_EXTMOD)/usr/include objtree=$(objtree)/$(KBUILD_EXTMOD) obj
|
|
endif
|
|
|
|
export INSTALL_HDR_PATH = $(objtree)/$(hdr-prefix)usr
|
|
|
|
quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
|
|
cmd_headers_install = \
|
|
mkdir -p $(INSTALL_HDR_PATH); \
|
|
rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
|
|
$(hdr-prefix)usr/include $(INSTALL_HDR_PATH);
|
|
|
|
PHONY += headers_install
|
|
headers_install: headers
|
|
$(call cmd,headers_install)
|
|
|
|
headers:
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
$(if $(filter um, $(SRCARCH)), $(error Headers not exportable for UML))
|
|
endif
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Devicetree files
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
|
|
dtstree := arch/$(SRCARCH)/boot/dts
|
|
endif
|
|
|
|
else # KBUILD_EXTMOD
|
|
# Devicetree source should live in $(KBUILD_EXTMOD)/arch/$(SRCARCH)/boot/dts/
|
|
# But it may live inside some other folder relative to KBUILD_EXTMOD, as specified
|
|
# by KBUILD_EXTMOD_DTS
|
|
KBUILD_EXTMOD_DTS = arch/$(SRCARCH)/boot/dts
|
|
ifneq ($(wildcard $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/ $(srctree)/$(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/),)
|
|
dtstree := $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)
|
|
endif
|
|
endif
|
|
|
|
ifneq ($(dtstree),)
|
|
|
|
%.dtb: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
PHONY += dtbs dtbs_install dtbs_check
|
|
dtbs: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
|
|
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DTBS=y
|
|
dtbs: dt_binding_check
|
|
endif
|
|
|
|
dtbs_check: dtbs
|
|
|
|
dtbs_install:
|
|
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
|
|
|
|
ifdef CONFIG_OF_EARLY_FLATTREE
|
|
all: dtbs
|
|
endif
|
|
|
|
endif
|
|
|
|
PHONY += scripts_dtc
|
|
scripts_dtc: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DT_BINDING=y
|
|
endif
|
|
|
|
PHONY += dt_binding_check
|
|
dt_binding_check: scripts_dtc
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
|
|
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
|
|
build-dir := .
|
|
clean-dirs := $(sort . Documentation \
|
|
$(patsubst %/,%,$(filter %/, $(core-) \
|
|
$(drivers-) $(libs-))))
|
|
|
|
export ARCH_CORE := $(core-y)
|
|
export ARCH_LIB := $(filter %/, $(libs-y))
|
|
export ARCH_DRIVERS := $(drivers-y) $(drivers-m)
|
|
# Externally visible symbols (used by link-vmlinux.sh)
|
|
|
|
KBUILD_VMLINUX_OBJS := ./built-in.a
|
|
ifdef CONFIG_MODULES
|
|
KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
|
|
KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
|
|
else
|
|
KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
|
|
endif
|
|
|
|
export KBUILD_VMLINUX_LIBS
|
|
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
|
|
|
# Recurse until adjust_autoksyms.sh is satisfied
|
|
PHONY += autoksyms_recursive
|
|
ifdef CONFIG_TRIM_UNUSED_KSYMS
|
|
# For the kernel to actually contain only the needed exported symbols,
|
|
# we have to build modules as well to determine what those symbols are.
|
|
# (this can be evaluated only once include/config/auto.conf has been included)
|
|
KBUILD_MODULES := 1
|
|
|
|
autoksyms_recursive: $(build-dir) modules.order
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
|
"$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
|
|
endif
|
|
|
|
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
|
|
|
|
quiet_cmd_autoksyms_h = GEN $@
|
|
cmd_autoksyms_h = mkdir -p $(dir $@); \
|
|
$(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@
|
|
|
|
$(autoksyms_h):
|
|
$(call cmd,autoksyms_h)
|
|
|
|
# '$(AR) mPi' needs 'T' to workaround the bug of llvm-ar <= 14
|
|
quiet_cmd_ar_vmlinux.a = AR $@
|
|
cmd_ar_vmlinux.a = \
|
|
rm -f $@; \
|
|
$(AR) cDPrST $@ $(KBUILD_VMLINUX_OBJS); \
|
|
$(AR) mPiT $$($(AR) t $@ | sed -n 1p) $@ $$($(AR) t $@ | grep -F -f $(srctree)/scripts/head-object-list.txt)
|
|
|
|
targets += vmlinux.a
|
|
vmlinux.a: $(KBUILD_VMLINUX_OBJS) scripts/head-object-list.txt autoksyms_recursive FORCE
|
|
$(call if_changed,ar_vmlinux.a)
|
|
|
|
ifndef KBUILD_MIXED_TREE
|
|
PHONY += vmlinux_o
|
|
vmlinux_o: vmlinux.a $(KBUILD_VMLINUX_LIBS)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_o
|
|
|
|
vmlinux.o modules.builtin.modinfo modules.builtin: vmlinux_o
|
|
@:
|
|
|
|
PHONY += vmlinux
|
|
# LDFLAGS_vmlinux in the top Makefile defines linker flags for the top vmlinux,
|
|
# not for decompressors. LDFLAGS_vmlinux in arch/*/boot/compressed/Makefile is
|
|
# unrelated; the decompressors just happen to have the same base name,
|
|
# arch/*/boot/compressed/vmlinux.
|
|
# Export LDFLAGS_vmlinux only to scripts/Makefile.vmlinux.
|
|
#
|
|
# _LDFLAGS_vmlinux is a workaround for the 'private export' bug:
|
|
# https://savannah.gnu.org/bugs/?61463
|
|
# For Make > 4.4, the following simple code will work:
|
|
# vmlinux: private export LDFLAGS_vmlinux := $(LDFLAGS_vmlinux)
|
|
vmlinux: private _LDFLAGS_vmlinux := $(LDFLAGS_vmlinux)
|
|
vmlinux: export LDFLAGS_vmlinux = $(_LDFLAGS_vmlinux)
|
|
vmlinux: vmlinux.o $(KBUILD_LDS) modpost
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux
|
|
endif
|
|
|
|
# The actual objects are generated when descending,
|
|
# make sure no implicit rule kicks in
|
|
$(sort $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)): . ;
|
|
|
|
filechk_kernel.release = \
|
|
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
|
|
$(srctree) $(BRANCH) $(KMI_GENERATION))"
|
|
|
|
# Store (new) KERNELRELEASE string in include/config/kernel.release
|
|
include/config/kernel.release: FORCE
|
|
$(call filechk,kernel.release)
|
|
|
|
# Additional helpers built in scripts/
|
|
# Carefully list dependencies so we do not try to build scripts twice
|
|
# in parallel
|
|
PHONY += scripts
|
|
scripts: scripts_basic scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(@)
|
|
|
|
# Things we need to do before we recursively start building the kernel
|
|
# or the modules are listed in "prepare".
|
|
# A multi level approach is used. prepareN is processed before prepareN-1.
|
|
# archprepare is used in arch Makefiles and when processed asm symlink,
|
|
# version.h and scripts_basic is processed / created.
|
|
|
|
PHONY += prepare archprepare
|
|
|
|
archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
|
|
asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
|
|
include/generated/compile.h include/generated/autoconf.h remove-stale-files
|
|
|
|
prepare0: archprepare
|
|
$(Q)$(MAKE) $(build)=scripts/mod
|
|
$(Q)$(MAKE) $(build)=. prepare
|
|
|
|
# All the preparing..
|
|
prepare: prepare0
|
|
ifdef CONFIG_RUST
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh -v
|
|
$(Q)$(MAKE) $(build)=rust
|
|
endif
|
|
|
|
PHONY += remove-stale-files
|
|
remove-stale-files:
|
|
$(Q)$(srctree)/scripts/remove-stale-files
|
|
|
|
# Support for using generic headers in asm-generic
|
|
asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
|
|
|
|
PHONY += asm-generic uapi-asm-generic
|
|
asm-generic: uapi-asm-generic
|
|
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
|
|
generic=include/asm-generic
|
|
uapi-asm-generic:
|
|
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
|
|
generic=include/uapi/asm-generic
|
|
|
|
# Generate some files
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# KERNELRELEASE can change from a few different places, meaning version.h
|
|
# needs to be updated, so this check is forced on all builds
|
|
|
|
uts_len := 64
|
|
define filechk_utsrelease.h
|
|
if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
|
|
echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
|
|
exit 1; \
|
|
fi; \
|
|
echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"
|
|
endef
|
|
|
|
define filechk_version.h
|
|
if [ $(SUBLEVEL) -gt 255 ]; then \
|
|
echo \#define LINUX_VERSION_CODE $(shell \
|
|
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \
|
|
else \
|
|
echo \#define LINUX_VERSION_CODE $(shell \
|
|
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
|
|
fi; \
|
|
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \
|
|
((c) > 255 ? 255 : (c)))'; \
|
|
echo \#define LINUX_VERSION_MAJOR $(VERSION); \
|
|
echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
|
|
echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
|
|
endef
|
|
|
|
$(version_h): PATCHLEVEL := $(or $(PATCHLEVEL), 0)
|
|
$(version_h): SUBLEVEL := $(or $(SUBLEVEL), 0)
|
|
$(version_h): FORCE
|
|
$(call filechk,version.h)
|
|
|
|
include/generated/utsrelease.h: include/config/kernel.release FORCE
|
|
$(call filechk,utsrelease.h)
|
|
|
|
filechk_compile.h = $(srctree)/scripts/mkcompile_h \
|
|
"$(UTS_MACHINE)" "$(CONFIG_CC_VERSION_TEXT)" "$(LD)"
|
|
|
|
include/generated/compile.h: FORCE
|
|
$(call filechk,compile.h)
|
|
|
|
PHONY += headerdep
|
|
headerdep:
|
|
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
|
|
$(srctree)/scripts/headerdep.pl -I$(srctree)/include
|
|
|
|
ifdef CONFIG_HEADERS_INSTALL
|
|
prepare: headers
|
|
endif
|
|
|
|
PHONY += scripts_unifdef
|
|
scripts_unifdef: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Install
|
|
|
|
# Many distributions have the custom install script, /sbin/installkernel.
|
|
# If DKMS is installed, 'make install' will eventually recurse back
|
|
# to this Makefile to build and install external modules.
|
|
# Cancel sub_make_done so that options such as M=, V=, etc. are parsed.
|
|
|
|
quiet_cmd_install = INSTALL $(INSTALL_PATH)
|
|
cmd_install = unset sub_make_done; $(srctree)/scripts/install.sh
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Tools
|
|
|
|
ifdef CONFIG_OBJTOOL
|
|
prepare: tools/objtool
|
|
endif
|
|
|
|
ifdef CONFIG_BPF
|
|
ifdef CONFIG_DEBUG_INFO_BTF
|
|
prepare: tools/bpf/resolve_btfids
|
|
endif
|
|
endif
|
|
|
|
PHONY += resolve_btfids_clean
|
|
|
|
resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids
|
|
|
|
# tools/bpf/resolve_btfids directory might not exist
|
|
# in output directory, skip its clean in that case
|
|
resolve_btfids_clean:
|
|
ifneq ($(wildcard $(resolve_btfids_O)),)
|
|
$(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(resolve_btfids_O) clean
|
|
endif
|
|
|
|
# Clear a bunch of variables before executing the submake
|
|
ifeq ($(quiet),silent_)
|
|
tools_silent=s
|
|
endif
|
|
|
|
tools/: FORCE
|
|
$(Q)mkdir -p $(objtree)/tools
|
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
|
|
|
|
tools/%: FORCE
|
|
$(Q)mkdir -p $(objtree)/tools
|
|
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel selftest
|
|
|
|
PHONY += kselftest
|
|
kselftest: headers
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
|
|
|
|
kselftest-%: headers FORCE
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests $*
|
|
|
|
PHONY += kselftest-merge
|
|
kselftest-merge:
|
|
$(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
|
|
$(Q)find $(srctree)/tools/testing/selftests -name config | \
|
|
xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
|
|
$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Devicetree files
|
|
|
|
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
|
|
# ANDROID: allow this to be overridden by the build environment. This allows
|
|
# one to compile a device tree that is located out-of-tree.
|
|
dtstree ?= arch/$(SRCARCH)/boot/dts
|
|
endif
|
|
|
|
ifneq ($(dtstree),)
|
|
|
|
%.dtb: dtbs_prepare
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
%.dtbo: dtbs_prepare
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
PHONY += dtbs dtbs_prepare dtbs_install dtbs_check
|
|
dtbs: dtbs_prepare
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
|
|
# include/config/kernel.release is actually needed when installing DTBs because
|
|
# INSTALL_DTBS_PATH contains $(KERNELRELEASE). However, we do not want to make
|
|
# dtbs_install depend on it as dtbs_install may run as root.
|
|
dtbs_prepare: include/config/kernel.release scripts_dtc
|
|
|
|
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DTBS=y
|
|
dtbs: dt_binding_check
|
|
endif
|
|
|
|
dtbs_check: dtbs
|
|
|
|
dtbs_install:
|
|
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
|
|
|
|
ifdef CONFIG_OF_EARLY_FLATTREE
|
|
all: dtbs
|
|
endif
|
|
|
|
endif
|
|
|
|
PHONY += scripts_dtc
|
|
scripts_dtc: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts/dtc
|
|
|
|
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
|
|
export CHECK_DT_BINDING=y
|
|
endif
|
|
|
|
PHONY += dt_binding_check
|
|
dt_binding_check: scripts_dtc
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
|
|
|
|
PHONY += dt_compatible_check
|
|
dt_compatible_check: dt_binding_check
|
|
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings $@
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Modules
|
|
|
|
ifdef CONFIG_MODULES
|
|
|
|
# By default, build modules as well
|
|
|
|
all: modules
|
|
|
|
# When we're building modules with modversions, we need to consider
|
|
# the built-in objects during the descend as well, in order to
|
|
# make sure the checksums are up to date before we record them.
|
|
ifdef CONFIG_MODVERSIONS
|
|
KBUILD_BUILTIN := 1
|
|
endif
|
|
|
|
# Build modules
|
|
#
|
|
|
|
# *.ko are usually independent of vmlinux, but CONFIG_DEBUG_INFOBTF_MODULES
|
|
# is an exception.
|
|
ifdef CONFIG_DEBUG_INFO_BTF_MODULES
|
|
KBUILD_BUILTIN := 1
|
|
modules: $(mixed-build-prefix)vmlinux
|
|
endif
|
|
|
|
modules: modules_prepare
|
|
|
|
# Target to prepare building external modules
|
|
modules_prepare: prepare
|
|
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
|
|
|
|
export modules_sign_only :=
|
|
|
|
ifeq ($(CONFIG_MODULE_SIG),y)
|
|
PHONY += modules_sign
|
|
modules_sign: modules_install
|
|
@:
|
|
|
|
# modules_sign is a subset of modules_install.
|
|
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
|
|
ifeq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
modules_sign_only := y
|
|
endif
|
|
endif
|
|
|
|
modinst_pre :=
|
|
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
modinst_pre := __modinst_pre
|
|
endif
|
|
|
|
modules_install: $(modinst_pre)
|
|
PHONY += __modinst_pre
|
|
__modinst_pre:
|
|
@rm -rf $(MODLIB)/kernel
|
|
@rm -f $(MODLIB)/source
|
|
@mkdir -p $(MODLIB)/kernel
|
|
@ln -s $(abspath $(srctree)) $(MODLIB)/source
|
|
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
|
|
rm -f $(MODLIB)/build ; \
|
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
|
fi
|
|
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
|
|
@cp -f $(mixed-build-prefix)modules.builtin $(MODLIB)/
|
|
@cp -f $(or $(mixed-build-prefix),$(objtree)/)modules.builtin.modinfo $(MODLIB)/
|
|
|
|
endif # CONFIG_MODULES
|
|
|
|
###
|
|
# Cleaning is done on three levels.
|
|
# make clean Delete most generated files
|
|
# Leave enough to build external modules
|
|
# make mrproper Delete the current configuration, and all generated files
|
|
# make distclean Remove editor backup files, patch leftover files and the like
|
|
|
|
# Directories & files removed with 'make clean'
|
|
CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
|
|
modules.builtin modules.builtin.modinfo modules.nsdeps \
|
|
compile_commands.json .thinlto-cache rust/test rust/doc \
|
|
.vmlinux.objs .vmlinux.export.c
|
|
|
|
# Directories & files removed with 'make mrproper'
|
|
MRPROPER_FILES += include/config include/generated \
|
|
arch/$(SRCARCH)/include/generated .objdiff \
|
|
debian snap tar-install \
|
|
.config .config.old .version \
|
|
Module.symvers \
|
|
certs/signing_key.pem \
|
|
certs/x509.genkey \
|
|
vmlinux-gdb.py \
|
|
*.spec \
|
|
rust/target.json rust/libmacros.so
|
|
|
|
# clean - Delete most, but leave enough to build external modules
|
|
#
|
|
clean: rm-files := $(CLEAN_FILES)
|
|
|
|
PHONY += archclean vmlinuxclean
|
|
|
|
vmlinuxclean:
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
|
|
$(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
|
|
|
|
clean: archclean vmlinuxclean resolve_btfids_clean
|
|
|
|
# mrproper - Delete all generated files, including .config
|
|
#
|
|
mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
|
|
mrproper-dirs := $(addprefix _mrproper_,scripts)
|
|
|
|
PHONY += $(mrproper-dirs) mrproper
|
|
$(mrproper-dirs):
|
|
$(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
|
|
|
|
mrproper: clean $(mrproper-dirs)
|
|
$(call cmd,rmfiles)
|
|
@find . $(RCS_FIND_IGNORE) \
|
|
\( -name '*.rmeta' \) \
|
|
-type f -print | xargs rm -f
|
|
|
|
# distclean
|
|
#
|
|
PHONY += distclean
|
|
|
|
distclean: mrproper
|
|
@find . $(RCS_FIND_IGNORE) \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
|
|
-o -name 'core' -o -name tags -o -name TAGS -o -name 'cscope*' \
|
|
-o -name GPATH -o -name GRTAGS -o -name GSYMS -o -name GTAGS \) \
|
|
-type f -print | xargs rm -f
|
|
|
|
|
|
# Packaging of the kernel to various formats
|
|
# ---------------------------------------------------------------------------
|
|
|
|
%src-pkg: FORCE
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
|
|
%pkg: include/config/kernel.release FORCE
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
|
|
|
|
# Brief documentation of the typical targets used
|
|
# ---------------------------------------------------------------------------
|
|
|
|
boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*_defconfig)
|
|
boards := $(sort $(notdir $(boards)))
|
|
board-dirs := $(dir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*/*_defconfig))
|
|
board-dirs := $(sort $(notdir $(board-dirs:/=)))
|
|
|
|
PHONY += help
|
|
help:
|
|
@echo 'Cleaning targets:'
|
|
@echo ' clean - Remove most generated files but keep the config and'
|
|
@echo ' enough build support to build external modules'
|
|
@echo ' mrproper - Remove all generated files + config + various backup files'
|
|
@echo ' distclean - mrproper + remove editor backup and patch files'
|
|
@echo ''
|
|
@echo 'Configuration targets:'
|
|
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
|
|
@echo ''
|
|
@echo 'Other generic targets:'
|
|
@echo ' all - Build all targets marked with [*]'
|
|
@echo '* vmlinux - Build the bare kernel'
|
|
@echo '* modules - Build all modules'
|
|
@echo ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
|
|
@echo ' dir/ - Build all files in dir and below'
|
|
@echo ' dir/file.[ois] - Build specified target only'
|
|
@echo ' dir/file.ll - Build the LLVM assembly file'
|
|
@echo ' (requires compiler support for LLVM assembly generation)'
|
|
@echo ' dir/file.lst - Build specified mixed source/assembly target only'
|
|
@echo ' (requires a recent binutils and recent build (System.map))'
|
|
@echo ' dir/file.ko - Build module including final link'
|
|
@echo ' modules_prepare - Set up for building external modules'
|
|
@echo ' tags/TAGS - Generate tags file for editors'
|
|
@echo ' cscope - Generate cscope index'
|
|
@echo ' gtags - Generate GNU GLOBAL index'
|
|
@echo ' kernelrelease - Output the release version string (use with make -s)'
|
|
@echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
|
|
@echo ' image_name - Output the image name (use with make -s)'
|
|
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
|
|
echo ' (default: $(INSTALL_HDR_PATH))'; \
|
|
echo ''
|
|
@echo 'Static analysers:'
|
|
@echo ' checkstack - Generate a list of stack hogs'
|
|
@echo ' versioncheck - Sanity check on version.h usage'
|
|
@echo ' includecheck - Check for duplicate included header files'
|
|
@echo ' export_report - List the usages of all exported symbols'
|
|
@echo ' headerdep - Detect inclusion cycles in headers'
|
|
@echo ' coccicheck - Check with Coccinelle'
|
|
@echo ' clang-analyzer - Check with clang static analyzer'
|
|
@echo ' clang-tidy - Check with clang-tidy'
|
|
@echo ''
|
|
@echo 'Tools:'
|
|
@echo ' nsdeps - Generate missing symbol namespace dependencies'
|
|
@echo ''
|
|
@echo 'Kernel selftest:'
|
|
@echo ' kselftest - Build and run kernel selftest'
|
|
@echo ' Build, install, and boot kernel before'
|
|
@echo ' running kselftest on it'
|
|
@echo ' Run as root for full coverage'
|
|
@echo ' kselftest-all - Build kernel selftest'
|
|
@echo ' kselftest-install - Build and install kernel selftest'
|
|
@echo ' kselftest-clean - Remove all generated kselftest files'
|
|
@echo ' kselftest-merge - Merge all the config dependencies of'
|
|
@echo ' kselftest to existing .config.'
|
|
@echo ''
|
|
@echo 'Rust targets:'
|
|
@echo ' rustavailable - Checks whether the Rust toolchain is'
|
|
@echo ' available and, if not, explains why.'
|
|
@echo ' rustfmt - Reformat all the Rust code in the kernel'
|
|
@echo ' rustfmtcheck - Checks if all the Rust code in the kernel'
|
|
@echo ' is formatted, printing a diff otherwise.'
|
|
@echo ' rustdoc - Generate Rust documentation'
|
|
@echo ' (requires kernel .config)'
|
|
@echo ' rusttest - Runs the Rust tests'
|
|
@echo ' (requires kernel .config; downloads external repos)'
|
|
@echo ' rust-analyzer - Generate rust-project.json rust-analyzer support file'
|
|
@echo ' (requires kernel .config)'
|
|
@echo ' dir/file.[os] - Build specified target only'
|
|
@echo ' dir/file.rsi - Build macro expanded source, similar to C preprocessing.'
|
|
@echo ' Run with RUSTFMT=n to skip reformatting if needed.'
|
|
@echo ' The output is not intended to be compilable.'
|
|
@echo ' dir/file.ll - Build the LLVM assembly file'
|
|
@echo ''
|
|
@$(if $(dtstree), \
|
|
echo 'Devicetree:'; \
|
|
echo '* dtbs - Build device tree blobs for enabled boards'; \
|
|
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'; \
|
|
echo ' dt_binding_check - Validate device tree binding documents'; \
|
|
echo ' dtbs_check - Validate device tree source files';\
|
|
echo '')
|
|
|
|
@echo 'Userspace tools targets:'
|
|
@echo ' use "make tools/help"'
|
|
@echo ' or "cd tools; make help"'
|
|
@echo ''
|
|
@echo 'Kernel packaging:'
|
|
@$(MAKE) -f $(srctree)/scripts/Makefile.package help
|
|
@echo ''
|
|
@echo 'Documentation targets:'
|
|
@$(MAKE) -f $(srctree)/Documentation/Makefile dochelp
|
|
@echo ''
|
|
@echo 'Architecture specific targets ($(SRCARCH)):'
|
|
@$(or $(archhelp),\
|
|
echo ' No architecture specific help defined for $(SRCARCH)')
|
|
@echo ''
|
|
@$(if $(boards), \
|
|
$(foreach b, $(boards), \
|
|
printf " %-27s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
|
|
echo '')
|
|
@$(if $(board-dirs), \
|
|
$(foreach b, $(board-dirs), \
|
|
printf " %-16s - Show %s-specific targets\\n" help-$(b) $(b);) \
|
|
printf " %-16s - Show all of the above\\n" help-boards; \
|
|
echo '')
|
|
|
|
@echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
|
|
@echo ' make V=2 [targets] 2 => give reason for rebuild of target'
|
|
@echo ' make O=dir [targets] Locate all output files in "dir", including .config'
|
|
@echo ' make C=1 [targets] Check re-compiled c source with $$CHECK'
|
|
@echo ' (sparse by default)'
|
|
@echo ' make C=2 [targets] Force check of all c source with $$CHECK'
|
|
@echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
|
|
@echo ' make W=n [targets] Enable extra build checks, n=1,2,3 where'
|
|
@echo ' 1: warnings which may be relevant and do not occur too often'
|
|
@echo ' 2: warnings which occur quite often but may still be relevant'
|
|
@echo ' 3: more obscure warnings, can most likely be ignored'
|
|
@echo ' e: warnings are being treated as errors'
|
|
@echo ' Multiple levels can be combined with W=12 or W=123'
|
|
@echo ''
|
|
@echo 'Execute "make" or "make all" to build all targets marked with [*] '
|
|
@echo 'For further info see the ./README file'
|
|
|
|
|
|
help-board-dirs := $(addprefix help-,$(board-dirs))
|
|
|
|
help-boards: $(help-board-dirs)
|
|
|
|
boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)))
|
|
|
|
$(help-board-dirs): help-%:
|
|
@echo 'Architecture specific targets ($(SRCARCH) $*):'
|
|
@$(if $(boards-per-dir), \
|
|
$(foreach b, $(boards-per-dir), \
|
|
printf " %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \
|
|
echo '')
|
|
|
|
|
|
# Documentation targets
|
|
# ---------------------------------------------------------------------------
|
|
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
|
linkcheckdocs dochelp refcheckdocs
|
|
PHONY += $(DOC_TARGETS)
|
|
$(DOC_TARGETS):
|
|
$(Q)$(MAKE) $(build)=Documentation $@
|
|
|
|
|
|
# Rust targets
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# "Is Rust available?" target
|
|
PHONY += rustavailable
|
|
rustavailable:
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/rust_is_available.sh -v && echo "Rust is available!"
|
|
|
|
# Documentation target
|
|
#
|
|
# Using the singular to avoid running afoul of `no-dot-config-targets`.
|
|
PHONY += rustdoc
|
|
rustdoc: prepare
|
|
$(Q)$(MAKE) $(build)=rust $@
|
|
|
|
# Testing target
|
|
PHONY += rusttest
|
|
rusttest: prepare
|
|
$(Q)$(MAKE) $(build)=rust $@
|
|
|
|
# Formatting targets
|
|
PHONY += rustfmt rustfmtcheck
|
|
|
|
# We skip `rust/alloc` since we want to minimize the diff w.r.t. upstream.
|
|
#
|
|
# We match using absolute paths since `find` does not resolve them
|
|
# when matching, which is a problem when e.g. `srctree` is `..`.
|
|
# We `grep` afterwards in order to remove the directory entry itself.
|
|
rustfmt:
|
|
$(Q)find $(abs_srctree) -type f -name '*.rs' \
|
|
-o -path $(abs_srctree)/rust/alloc -prune \
|
|
-o -path $(abs_objtree)/rust/test -prune \
|
|
| grep -Fv $(abs_srctree)/rust/alloc \
|
|
| grep -Fv $(abs_objtree)/rust/test \
|
|
| grep -Fv generated \
|
|
| xargs $(RUSTFMT) $(rustfmt_flags)
|
|
|
|
rustfmtcheck: rustfmt_flags = --check
|
|
rustfmtcheck: rustfmt
|
|
|
|
# IDE support targets
|
|
PHONY += rust-analyzer
|
|
rust-analyzer:
|
|
$(Q)$(MAKE) $(build)=rust $@
|
|
|
|
# Misc
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += scripts_gdb
|
|
scripts_gdb: prepare0
|
|
$(Q)$(MAKE) $(build)=scripts/gdb
|
|
$(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
|
|
|
|
ifdef CONFIG_GDB_SCRIPTS
|
|
all: scripts_gdb
|
|
endif
|
|
|
|
else # KBUILD_EXTMOD
|
|
|
|
###
|
|
# External module support.
|
|
# When building external modules the kernel used as basis is considered
|
|
# read-only, and no consistency checks are made and the make
|
|
# system is not used on the basis kernel. If updates are required
|
|
# in the basis kernel ordinary make commands (without M=...) must be used.
|
|
|
|
# We are always building only modules.
|
|
KBUILD_BUILTIN :=
|
|
KBUILD_MODULES := 1
|
|
|
|
build-dir := $(KBUILD_EXTMOD)
|
|
|
|
compile_commands.json: $(extmod_prefix)compile_commands.json
|
|
PHONY += compile_commands.json
|
|
|
|
clean-dirs := $(KBUILD_EXTMOD)
|
|
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \
|
|
$(KBUILD_EXTMOD)/compile_commands.json $(KBUILD_EXTMOD)/.thinlto-cache
|
|
|
|
PHONY += prepare
|
|
# now expand this into a simple variable to reduce the cost of shell evaluations
|
|
prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
|
|
prepare:
|
|
@if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
|
|
echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
|
|
echo >&2 " The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
|
|
echo >&2 " You are using: $(CC_VERSION_TEXT)"; \
|
|
fi
|
|
|
|
PHONY += help
|
|
help:
|
|
@echo ' Building external modules.'
|
|
@echo ' Syntax: make -C path/to/kernel/src M=$$PWD target'
|
|
@echo ''
|
|
@echo ' modules - default target, build the module(s)'
|
|
@echo ' modules_install - install the module'
|
|
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
|
|
@echo ' (default: $(abspath $(INSTALL_HDR_PATH)))'
|
|
@echo ' clean - remove generated files in module directory only'
|
|
@echo ''
|
|
|
|
endif # KBUILD_EXTMOD
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Modules
|
|
|
|
PHONY += modules modules_install modules_prepare
|
|
|
|
ifdef CONFIG_MODULES
|
|
|
|
$(MODORDER): $(build-dir)
|
|
@:
|
|
|
|
# KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules.
|
|
# This is solely useful to speed up test compiles.
|
|
modules: modpost
|
|
ifneq ($(KBUILD_MODPOST_NOFINAL),1)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
|
|
endif
|
|
|
|
PHONY += modules_check
|
|
modules_check: $(MODORDER)
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
|
|
|
|
quiet_cmd_depmod = DEPMOD $(MODLIB)
|
|
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
|
|
$(KERNELRELEASE) $(mixed-build-prefix)
|
|
|
|
modules_install:
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
$(call cmd,depmod)
|
|
|
|
else # CONFIG_MODULES
|
|
|
|
# Modules not configured
|
|
# ---------------------------------------------------------------------------
|
|
|
|
modules modules_install:
|
|
@echo >&2 '***'
|
|
@echo >&2 '*** The present kernel configuration has modules disabled.'
|
|
@echo >&2 '*** To use the module feature, please run "make menuconfig" etc.'
|
|
@echo >&2 '*** to enable CONFIG_MODULES.'
|
|
@echo >&2 '***'
|
|
@exit 1
|
|
|
|
KBUILD_MODULES :=
|
|
|
|
endif # CONFIG_MODULES
|
|
|
|
PHONY += modpost
|
|
modpost: $(if $(single-build),, $(if $(KBUILD_MIXED_TREE),,$(if $(KBUILD_BUILTIN), vmlinux.o))) \
|
|
$(if $(KBUILD_MODULES), modules_check)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
# Single targets
|
|
# ---------------------------------------------------------------------------
|
|
# To build individual files in subdirectories, you can do like this:
|
|
#
|
|
# make foo/bar/baz.s
|
|
#
|
|
# The supported suffixes for single-target are listed in 'single-targets'
|
|
#
|
|
# To build only under specific subdirectories, you can do like this:
|
|
#
|
|
# make foo/bar/baz/
|
|
|
|
ifdef single-build
|
|
|
|
# .ko is special because modpost is needed
|
|
single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS)))
|
|
single-no-ko := $(filter-out $(single-ko), $(MAKECMDGOALS)) \
|
|
$(foreach x, o mod, $(patsubst %.ko, %.$x, $(single-ko)))
|
|
|
|
$(single-ko): single_modules
|
|
@:
|
|
$(single-no-ko): $(build-dir)
|
|
@:
|
|
|
|
# Remove MODORDER when done because it is not the real one.
|
|
PHONY += single_modules
|
|
single_modules: $(single-no-ko) modules_prepare
|
|
$(Q){ $(foreach m, $(single-ko), echo $(extmod_prefix)$m;) } > $(MODORDER)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
ifneq ($(KBUILD_MODPOST_NOFINAL),1)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
|
|
endif
|
|
$(Q)rm -f $(MODORDER)
|
|
|
|
single-goals := $(addprefix $(build-dir)/, $(single-no-ko))
|
|
|
|
KBUILD_MODULES := 1
|
|
|
|
endif
|
|
|
|
# Preset locale variables to speed up the build process. Limit locale
|
|
# tweaks to this spot to avoid wrong language settings when running
|
|
# make menuconfig etc.
|
|
# Error messages still appears in the original language
|
|
PHONY += $(build-dir)
|
|
$(build-dir): prepare
|
|
$(Q)$(MAKE) $(build)=$@ $(if $(KBUILD_MIXED_TREE),,need-builtin=1) need-modorder=1 $(single-goals)
|
|
|
|
clean-dirs := $(addprefix _clean_, $(clean-dirs))
|
|
PHONY += $(clean-dirs) clean
|
|
$(clean-dirs):
|
|
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
|
|
|
|
clean: $(clean-dirs)
|
|
$(call cmd,rmfiles)
|
|
@find $(or $(KBUILD_EXTMOD), .) \
|
|
$(if $(filter-out arch/$(SRCARCH)/boot/dts, $(dtstree)), $(dtstree)) \
|
|
$(RCS_FIND_IGNORE) \
|
|
\( -name '*.[aios]' -o -name '*.rsi' -o -name '*.ko' -o -name '.*.cmd' \
|
|
-o -name '*.ko.*' \
|
|
-o -name '*.dtb' -o -name '*.dtbo' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
|
|
-o -name '*.dwo' -o -name '*.lst' \
|
|
-o -name '*.su' -o -name '*.mod' -o -name '*.usyms' \
|
|
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
|
|
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
|
|
-o -name '*.asn1.[ch]' \
|
|
-o -name '*.symtypes' -o -name 'modules.order' \
|
|
-o -name '.tmp_*' \
|
|
-o -name '*.c.[012]*.*' \
|
|
-o -name '*.ll' \
|
|
-o -name '*.gcno' \
|
|
-o -name '*.*.symversions' \) -type f -print | xargs rm -f
|
|
|
|
# Generate tags for editors
|
|
# ---------------------------------------------------------------------------
|
|
quiet_cmd_tags = GEN $@
|
|
cmd_tags = $(BASH) $(srctree)/scripts/tags.sh $@
|
|
|
|
tags TAGS cscope gtags: FORCE
|
|
$(call cmd,tags)
|
|
|
|
# Script to generate missing namespace dependencies
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += nsdeps
|
|
nsdeps: export KBUILD_NSDEPS=1
|
|
nsdeps: modules
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/nsdeps
|
|
|
|
# Clang Tooling
|
|
# ---------------------------------------------------------------------------
|
|
|
|
quiet_cmd_gen_compile_commands = GEN $@
|
|
cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
|
|
|
|
$(extmod_prefix)compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
|
|
$(if $(KBUILD_EXTMOD)$(KBUILD_MIXED_TREE),, vmlinux.a $(KBUILD_VMLINUX_LIBS)) \
|
|
$(if $(CONFIG_MODULES), $(MODORDER)) FORCE
|
|
$(call if_changed,gen_compile_commands)
|
|
|
|
targets += $(extmod_prefix)compile_commands.json
|
|
|
|
PHONY += clang-tidy clang-analyzer
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
quiet_cmd_clang_tools = CHECK $<
|
|
cmd_clang_tools = $(PYTHON3) $(srctree)/scripts/clang-tools/run-clang-tools.py $@ $<
|
|
|
|
clang-tidy clang-analyzer: $(extmod_prefix)compile_commands.json
|
|
$(call cmd,clang_tools)
|
|
else
|
|
clang-tidy clang-analyzer:
|
|
@echo "$@ requires CC=clang" >&2
|
|
@false
|
|
endif
|
|
|
|
# Scripts to check various things for consistency
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += includecheck versioncheck coccicheck export_report
|
|
|
|
includecheck:
|
|
find $(srctree)/* $(RCS_FIND_IGNORE) \
|
|
-name '*.[hcS]' -type f -print | sort \
|
|
| xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
|
|
|
|
versioncheck:
|
|
find $(srctree)/* $(RCS_FIND_IGNORE) \
|
|
-name '*.[hcS]' -type f -print | sort \
|
|
| xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
|
|
|
|
coccicheck:
|
|
$(Q)$(BASH) $(srctree)/scripts/$@
|
|
|
|
export_report:
|
|
$(PERL) $(srctree)/scripts/export_report.pl
|
|
|
|
PHONY += checkstack kernelrelease kernelversion image_name
|
|
|
|
# UML needs a little special treatment here. It wants to use the host
|
|
# toolchain, so needs $(SUBARCH) passed to checkstack.pl. Everyone
|
|
# else wants $(ARCH), including people doing cross-builds, which means
|
|
# that $(SUBARCH) doesn't work here.
|
|
ifeq ($(ARCH), um)
|
|
CHECKSTACK_ARCH := $(SUBARCH)
|
|
else
|
|
CHECKSTACK_ARCH := $(ARCH)
|
|
endif
|
|
checkstack:
|
|
$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
|
|
$(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
|
|
|
|
kernelrelease:
|
|
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
|
|
$(srctree) $(BRANCH) $(KMI_GENERATION))"
|
|
|
|
kernelversion:
|
|
@echo $(KERNELVERSION)
|
|
|
|
image_name:
|
|
@echo $(KBUILD_IMAGE)
|
|
|
|
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
|
cmd_rmfiles = rm -rf $(rm-files)
|
|
|
|
# read saved command lines for existing targets
|
|
existing-targets := $(wildcard $(sort $(targets)))
|
|
|
|
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
|
|
|
|
endif # config-build
|
|
endif # mixed-build
|
|
endif # need-sub-make
|
|
|
|
PHONY += FORCE
|
|
FORCE:
|
|
|
|
# Declare the contents of the PHONY variable as phony. We keep that
|
|
# information in a variable so we can use it in if_changed and friends.
|
|
.PHONY: $(PHONY)
|