ec1604a821
* refs/heads/tmp-7cb0122: FROMLIST: mm/migrate: set swap entry values of THP tail pages properly. FROMLIST: binder: check offset alignment in binder_get_object() FROMLIST: iommu: Avoid races around default domain allocations ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hook: rename the the name of hooks Revert "interconnect: Fix locking for runpm vs reclaim" ANDROID: abi_gki_aarch64_qcom: Update symbol list Revert "interconnect: Teach lockdep about icc_bw_lock order" Revert "usb: dwc3: core: configure TX/RX threshold for DWC3_IP" Revert "usb: dwc3: core: configure TX/RX threshold for DWC3_IP" ANDROID: Update symbols list for open-dice.ko ANDROID: Update symbols list for open-dice.ko ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hook: rename the the name of hooks ANDROID: EXPORT raise_softirq and update the ABI symbol list UPSTREAM: netfilter: nf_tables: disallow timeout for anonymous sets BACKPORT: FROMGIT: mm: add alloc_contig_migrate_range allocation statistics FROMLIST: iommu: Avoid races around default domain allocations ANDROID: fips140 - fix integrity check by unapplying dynamic SCS ANDROID: fips140 - add option for debugging the integrity check BACKPORT: f2fs: split initial and dynamic conditions for extent_cache ANDROID: GKI: Update oplus symbol list ANDROID: Update the ABI symbol list UPSTREAM: usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group UPSTREAM: epoll: use refcount to reduce ep_mutex contention ANDROID: GKI: Update oplus symbol list ANDROID: uid_sys_stat: fix data-error of cputime and io ANDROID: Update the ABI symbol list ANDROID: vendor_hooks: Export cma_alloc trace points ANDROID: gki_defconfig: Enable CONFIG_ARM_SCMI_TRANSPORT_VIRTIO Revert "Merge tag 'android14-6.1.75_r00' into android14-6.1" UPSTREAM: net: tls: fix use-after-free with partial reads and async decrypt ANDROID: GKI: add GKI symbol list for Exynosauto SoC UPSTREAM: usb: typec: class: fix typec_altmode_put_partner to put plugs UPSTREAM: Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs" ANDROID: GKI: Update symbol list for mtk ANDROID: GKI: Update oplus symbol list FROMGIT: f2fs: introduce FAULT_BLKADDR_CONSISTENCE FROMGIT: f2fs: fix to remove unnecessary f2fs_bug_on() to avoid panic FROMGIT: f2fs: compress: fix to avoid inconsistence bewteen i_blocks and dnode FROMGIT: f2fs: compress: fix to check unreleased compressed cluster FROMGIT: f2fs: compress: fix to cover normal cluster write with cp_rwsem FROMGIT: f2fs: compress: fix to guarantee persisting compressed blocks by CP BACKPORT: gso: fix dodgy bit handling for GSO_UDP_L4 ANDROID: remove LTO check from build.config.gki.aarch64.fips140 ANDROID: add symbol list for fips140 module ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hooks: Add hook for trace_android_vh_copy_process ANDROID: abi_gki_aarch64_qcom: Update symbol list ANDROID: GKI: Update symbol list for transsion ANDROID: Add vendor_hooks to workaround CONFIG_TASK_DELAY_ACCT Revert "ANDROID: Build null_blk and scsi_debug as kernel modules" Revert "interconnect: Fix locking for runpm vs reclaim" ANDROID: GKI: Update symbol list for xiaomi ANDROID: sched/cpuset: Add vendor hook to change tasks affinity ANDROID: ABI: Update oplus symbol list ANDROID: binder: Add vendor hook to fix priority restore Revert "interconnect: Teach lockdep about icc_bw_lock order" BACKPORT: gso: fix dodgy bit handling for GSO_UDP_L4 ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hooks: Add hook for trace_android_vh_copy_process ANDROID: GKI: Update symbol list for mtk FROMGIT: PM: runtime: add tracepoint for runtime_status changes ANDROID: GKI: add allowed list file for xiaomi UPSTREAM: netfilter: nft_set_rbtree: skip end interval element from gc ANDROID: GKI: add symbol list file for moto UPSTREAM: scsi: ufs: core: Fix racing issue between ufshcd_mcq_abort() and ISR UPSTREAM: scsi: ufs: core: Remove dev cmd clock scaling busy ANDROID: ABI: Update symbol list for Nothing ANDROID: abi_gki_aarch64_qcom: Export trace_android_vh_try_fixup_sea ANDROID: arm64: Call fixup_exception() within do_sea() ANDROID: PCI: dwc: Wait for the link only if it has been started ANDROID: Update the Pixel symbol list and GKI ABI ANDROID: scsi: ufs: add complete init vendor hook ANDROID: Update the ABI symbol list ANDROID: Fix CRC error with iommu_* functions Revert "bpf: add percpu stats for bpf_map elements insertions/deletions" Revert "bpf: Add map and need_defer parameters to .map_fd_put_ptr()" Revert "bpf: Defer the free of inner map when necessary" ANDROID: Roll back some code to fix system_server registers psi trigger failed. ANDROID: GKI: Update the ABI symbol list UPSTREAM: virtio: Add support for no-reset virtio PCI PM UPSTREAM: netfilter: nf_tables: check if catch-all set element is active in next generation UPSTREAM: net: tls, update curr on splice as well ANDROID: Update the ABI symbol list ANDROID: Add pci_read_config_word to virtual device symbol list ANDROID: Export kthread_set_per_cpu ANDROID: GKI: fix ABI breakage in struct ipv6_devconf Reapply "net: release reference to inet6_dev pointer" Reapply "net: change accept_ra_min_rtr_lft to affect all RA lifetimes" Reapply "net: add sysctl accept_ra_min_rtr_lft" ANDROID: GKI: explicit include of stringify.h BACKPORT: erofs: fix infinite loop due to a race of filling compressed_bvecs ANDROID: arm64: virt: Invalidate tlb once the balloon before reporting/inflating ANDROID: arm64: virt: Make the page_relinquish call generic UPSTREAM: drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks UPSTREAM: drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks UPSTREAM: drm/msm/dsi: Enable runtime PM UPSTREAM: arm64: scs: Disable LTO for SCS patching code ANDROID: GKI: Update symbol list for mtk ANDROID: GKI: Update symbol list for mtk BACKPORT: f2fs: Restrict max filesize for 16K f2fs BACKPORT: f2fs: Support Block Size == Page Size ANDROID: abi_gki_aarch64_qcom: Update symbol list UPSTREAM: drm/msm/dsi: Enable runtime PM UPSTREAM: usb: typec: tcpm: fix the PD disabled case ANDROID: ABI: Update symbol list for imx UPSTREAM: netfilter: nf_tables: reject QUEUE/DROP verdict parameters ANDROID: ABI: Update oplus symbol list ANDROID: fuse: Fix the issue of fuse_dentry_canonical_path ANDROID: Update the ABI symbol list ANDROID: Export cpufreq_driver_test_flags() ANDROID: Build null_blk and scsi_debug as kernel modules ANDROID: GKI: Update the pixel symbol list ANDROID: usb: dwc3: export tracepoint for dwc3 read/write ANDROID: scsi: ufs: add vendor hook to override key reprogramming ANDROID: vendor_hooks: Add hook for binder_detect_low_async_space_locked ANDROID: Update the ABI symbol list ANDROID: Update the ABI representation UPSTREAM: usb: typec: tcpm: Support multiple capabilities UPSTREAM: usb: typec: tcpm: Parse Accessory Mode information ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hooks: add hooks in driver/android/binder.c UPSTREAM: net/rose: Fix Use-After-Free in rose_ioctl UPSTREAM: ida: Fix crash in ida_free when the bitmap is empty ANDROID: GKI: Update symbol list for mtk ANDROID: GKI: Update symbol list for mtk Reapply "perf: Disallow mis-matched inherited group reads" ANDROID: GKI: Add Pasa symbol list FROMGIT: mm: memcg: don't periodically flush stats when memcg is disabled ANDROID: Update the ABI symbol list ANDROID: sched: export update_misfit_status symbol ANDROID: GKI: Add ASR KMI symbol list FROMGIT: usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend FROMLIST: usb: core: Prevent null pointer dereference in update_port_device_state ANDROID: gki_defconfig: Enable CONFIG_NVME_MULTIPATH BACKPORT: irqchip/gic-v3: Work around affinity issues on ASR8601 BACKPORT: irqchip/gic-v3: Improve affinity helper Linux 6.1.75 Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" arm64: dts: armada-3720-turris-mox: set irq type for RTC Revert "KEYS: encrypted: Add check for strsep" riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping block: Remove special-casing of compound pages i2c: s3c24xx: fix transferring more than one message in polling mode i2c: s3c24xx: fix read transfers in polling mode ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure loop: fix the the direct I/O support check when used on top of block devices ethtool: netlink: Add missing ethnl_ops_begin/complete kdb: Fix a potential buffer overflow in kdb_local() ipvs: avoid stat macros calls from preemptible context netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description netfilter: nf_tables: skip dead set elements in netlink dump netfilter: nf_tables: do not allow mismatch field size and set key length netfilter: bridge: replace physindev with physinif in nf_bridge_info netfilter: propagate net to nf_bridge_get_physindev netfilter: nf_queue: remove excess nf_bridge variable netfilter: nfnetlink_log: use proper helper for fetching physinif netfilter: nft_limit: do not ignore unsupported flags netfilter: nf_tables: reject invalid set policy mptcp: relax check on MPC passive fallback LoongArch: BPF: Prevent out-of-bounds memory access net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS net: stmmac: ethtool: Fixed calltrace caused by unbalanced disable_irq_wake calls drm/amdkfd: fixes for HMM mem allocation drm/amdkfd: Use resource_size() helper function dt-bindings: gpio: xilinx: Fix node address in gpio net: ravb: Fix dma_addr_t truncation in error case udp: annotate data-races around up->pending block: ensure we hold a queue reference when using queue limits mptcp: refine opt_mp_capable determination mptcp: use OPTION_MPTCP_MPJ_SYN in subflow_check_req() mptcp: use OPTION_MPTCP_MPJ_SYNACK in subflow_finish_connect() mptcp: strict validation before using mp_opt->hmac mptcp: mptcp_parse_option() fix for MPTCPOPT_MP_JOIN net: phy: micrel: populate .soft_reset for KSZ9131 amt: do not use overwrapped cb area net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames net: qualcomm: rmnet: fix global oob in rmnet_policy s390/pci: fix max size calculation in zpci_memcpy_toio() ASoC: mediatek: sof-common: Add NULL check for normal_link string PCI: mediatek-gen3: Fix translation window size calculation PCI: keystone: Fix race condition when initializing PHYs nvmet-tcp: Fix the H2C expected PDU len calculation nvme: trace: avoid memcpy overflow warning nvmet: re-fix tracing strncpy() warning serial: imx: Correct clock error message in function probe() usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer apparmor: avoid crash when parsed profile name is empty cxl/region: fix x9 interleave typo perf env: Avoid recursively taking env->bpf_progs.lock nvmet-tcp: fix a crash in nvmet_req_complete() nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length vdpa: Fix an error handling path in eni_vdpa_probe() spmi: mtk-pmif: Serialize PMIF status check and command submission usb: cdc-acm: return correct error code on unsupported break tty: use 'if' in send_break() instead of 'goto' tty: don't check for signal_pending() in send_break() tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK tty: change tty_write_lock()'s ndelay parameter to bool perf genelf: Set ELF program header addresses properly perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event() perf header: Fix one memory leakage in perf_event__fprintf_event_update() iio: adc: ad9467: fix scale setting iio: adc: ad9467: don't ignore error codes iio: adc: ad9467: fix reset gpio handling selftests/sgx: Skip non X86_64 platform selftests/sgx: Include memory clobber for inline asm in test enclave selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry selftests/sgx: Fix uninitialized pointer dereference in error path serial: imx: fix tx statemachine deadlock software node: Let args be NULL in software_node_get_reference_args acpi: property: Let args be NULL in __acpi_node_get_property_reference base/node.c: initialize the accessor list before registering libapi: Add missing linux/types.h header to get the __u64 type on io.h serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed power: supply: bq256xx: fix some problem in bq256xx_hw_init power: supply: cw2015: correct time_to_empty units in sysfs MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup() MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup() riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings riscv: Fix module_alloc() that did not reset the linear mapping permissions riscv: Check if the code to patch lies in the exit section mips: Fix incorrect max_low_pfn adjustment mips: dmi: Fix early remap on MIPS32 mfd: intel-lpss: Fix the fractional clock divider flags leds: aw2013: Select missing dependency REGMAP_I2C mfd: syscon: Fix null pointer dereference in of_syscon_register() ARM: 9330/1: davinci: also select PINCTRL serial: sc16is7xx: set safe default SPI clock frequency serial: sc16is7xx: add check for unsupported SPI modes during probe HID: wacom: Correct behavior when processing some confidence == false touches iio: adc: ad7091r: Pass iio_dev to event handler KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache KVM: arm64: vgic-v4: Restore pending state on host userspace write x86/kvm: Do not try to disable kvmclock if it was not enabled PCI: mediatek: Clear interrupt status before dispatching handler PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg() cxl/port: Fix decoder initialization when nr_targets > interleave_ways Revert "net: rtnetlink: Enslave device before bringing it up" wifi: mwifiex: configure BSSID consistently when starting AP wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code wifi: mt76: fix broken precal loading from MTD for mt7915 iommu/dma: Trace bounce buffer usage when mapping buffers iommu/arm-smmu-qcom: Add missing GMU entry to match table LoongArch: Fix and simplify fcsr initialization on execve() bpf: Fix re-attachment branch in bpf_tracing_prog_attach Bluetooth: Fix atomicity violation in {min,max}_key_size_set rootfs: Fix support for rootfstype= when root= is given md/raid1: Use blk_opf_t for read and write operations pwm: Fix out-of-bounds access in of_pwm_single_xlate() pwm: jz4740: Don't use dev_err_probe() in .request() netfilter: nf_tables: check if catch-all set element is active in next generation block: Fix iterating over an empty bio with bio_for_each_folio_all block: add check that partition length needs to be aligned with block size drm/amd: Enable PCIe PME from D3 scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State scsi: mpi3mr: Refresh sdev queue depth after controller reset scsi: target: core: add missing file_{start,end}_write() scsi: ufs: core: Simplify power management during async scan fbdev: flush deferred IO before closing fbdev: flush deferred work in fb_deferred_io_fsync() io_uring/rw: ensure io->bytes_done is always initialized ksmbd: only v2 leases handle the directory ksmbd: fix UAF issue in ksmbd_tcp_new_connection() ksmbd: validate mech token in session setup ALSA: hda/realtek: Enable headset mic on Lenovo M70 Gen5 ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on HP ZBook ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx ALSA: oxygen: Fix right channel of capture volume mixer drm/vmwgfx: Keep a gem reference to user bos in surfaces drm/vmwgfx: Fix possible invalid drm gem put calls serial: omap: do not override settings for RS485 support serial: 8250_exar: Set missing rs485_supported flag serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock serial: core, imx: do not set RS485 enabled if it is not supported serial: 8250_bcm2835aux: Restore clock error handling serial: core: make sure RS485 cannot be enabled when it is not supported serial: core: fix sanitizing check for RTS settings usb: mon: Fix atomicity violation in mon_bin_vma_fault usb: typec: class: fix typec_altmode_put_partner to put plugs Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs" usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled usb: cdns3: fix iso transfer error when mult is not zero usb: cdns3: fix uvc failure work since sg support enabled usb: chipidea: wait controller resume finished for wakeup irq Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only" Revert "usb: dwc3: Soft reset phy on probe for host" usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host() tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug powerpc/64s: Increase default stack size to 32KB clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings binder: fix race between mmput() and do_exit() xen-netback: don't produce zero-size SKB frags Input: atkbd - use ab83 as id when skipping the getid command mips/smp: Call rcutree_report_cpu_starting() earlier binder: fix unused alloc->free_async_space binder: fix async space check for 0-sized buffers keys, dns: Fix size check of V1 server-list header selftests/bpf: Add assert for user stacks in test_task_stack of: unittest: Fix of_count_phandle_with_args() expected value message fbdev: imxfb: fix left margin setting of: Fix double free in of_parse_phandle_with_args_map ksmbd: validate the zero field of packet header kselftest/alsa - mixer-test: Fix the print format specifier warning kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg() drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c IB/iser: Prevent invalidating wrong MR mmc: sdhci_omap: Fix TI SoC dependencies mmc: sdhci_am654: Fix TI SoC dependencies ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put() ALSA: scarlett2: Add missing error checks to *_ctl_get() ALSA: scarlett2: Allow passing any output to line_out_remap() ALSA: scarlett2: Add missing error check to scarlett2_usb_set_config() ALSA: scarlett2: Add missing error check to scarlett2_config_save() ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[] pwm: stm32: Fix enable count for clk in .probe() pwm: stm32: Use hweight32 in stm32_pwm_detect_channels pwm: stm32: Use regmap_clear_bits and regmap_set_bits where applicable clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw accel/habanalabs: fix information leak in sec_attest_info() drm/mediatek: dp: Add phy_mtk_dp module as pre-dependency clk: si5341: fix an error code problem in si5341_output_clk_set_rate watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO watchdog: set cdev owner before adding drivers: clk: zynqmp: update divider round rate logic drivers: clk: zynqmp: calculate closest mux rate clk: qcom: videocc-sm8150: Add missing PLL config property clk: qcom: videocc-sm8150: Update the videocc resets dt-bindings: clock: Update the videocc resets for sm8150 f2fs: fix to check return value of f2fs_recover_xattr_data drm/amd/pm: fix a double-free in amdgpu_parse_extended_power_table gpu/drm/radeon: fix two memleaks in radeon_vm_init drivers/amd/pm: fix a use-after-free in kv_parse_power_table drm/amd/pm: fix a double-free in si_dpm_init drm/amdgpu/debugfs: fix error code when smc register accessors are NULL drm/mediatek: Fix underrun in VDO1 when switches off the layer drm/mediatek: Return error if MDP RDMA failed to enable the clock drm/msm/dpu: Drop enable and frame_count parameters from dpu_hw_setup_misr() drm/msm/dpu: Set input_sel bit for INTF clk: renesas: rzg2l: Check reset monitor registers clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset() media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe() media: dvbdev: drop refcount on error path in dvb_device_open() f2fs: fix to update iostat correctly in f2fs_filemap_fault() f2fs: fix to check compress file in f2fs_move_file_range() f2fs: fix to wait on block writeback for post_read case drm/panel: st7701: Fix AVCL calculation media: rkisp1: Fix media device memory leak media: dt-bindings: media: rkisp1: Fix the port description for the parallel interface media: imx-mipi-csis: Fix clock handling in remove() clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config RDMA/hns: Fix memory leak in free_mr_init() media: cx231xx: fix a memleak in cx231xx_init_isoc drm/bridge: tc358767: Fix return value on error case drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table drm/radeon/dpm: fix a memleak in sumo_parse_power_table drm/radeon: check the alloc_workqueue return value in radeon_crtc_init() drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq ASoC: Intel: glk_rt5682_max98357a: fix board id mismatch drm/drv: propagate errors from drm_modeset_register_all() drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks drm/msm/mdp4: flush vblank event on disable ASoC: cs35l34: Fix GPIO name and drop legacy include ASoC: cs35l33: Fix GPIO name and drop legacy include drm/tidss: Fix dss reset drm/tidss: Check for K2G in in dispc_softreset() drm/tidss: Return error value from from softreset drm/tidss: Move reset to the end of dispc_init() drm/radeon: check return value of radeon_ring_lock() drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check() drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg() f2fs: fix to avoid dirent corruption drm/bridge: Fix typo in post_disable() description media: rkvdec: Hook the (TRY_)DECODER_CMD stateless ioctls media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls media: mtk-jpeg: Remove cancel worker in mtk_jpeg_remove to avoid the crash of multi-core JPEG devices media: mtk-jpegdec: export jpeg decoder functions media: pvrusb2: fix use after free on context disconnection drm/tilcdc: Fix irq free on unload drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer drm/panel-elida-kd35t133: hold panel in reset for unprepare RDMA/hns: Fix inappropriate err code for unsupported operations RDMA/usnic: Silence uninitialized symbol smatch warnings drm/panfrost: Really power off GPU cores in panfrost_gpu_power_off() Revert "drm/omapdrm: Annotate dma-fence critical section in commit path" Revert "drm/tidss: Annotate dma-fence critical section in commit path" ARM: davinci: always select CONFIG_CPU_ARM926T ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim() mlxbf_gige: Enable the GigE port in mlxbf_gige_open mlxbf_gige: Fix intermittent no ip issue net/sched: act_ct: fix skb leak and crash on ooo frags sctp: fix busy polling sctp: support MSG_ERRQUEUE flag in recvmsg() bpf: sockmap, fix proto update hook to avoid dup calls null_blk: don't cap max_hw_sectors to BLK_DEF_MAX_SECTORS block: make BLK_DEF_MAX_SECTORS unsigned Bluetooth: btmtkuart: fix recv_buf() return value Bluetooth: Fix bogus check for re-auth no supported with non-ssp netfilter: nf_tables: mark newset as dead on transaction abort wifi: iwlwifi: mvm: send TX path flush in rfkill wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request wifi: rtlwifi: rtl8192se: using calculate_bit_shift() wifi: rtlwifi: rtl8192ee: using calculate_bit_shift() wifi: rtlwifi: rtl8192de: using calculate_bit_shift() wifi: rtlwifi: rtl8192ce: using calculate_bit_shift() wifi: rtlwifi: rtl8192cu: using calculate_bit_shift() wifi: rtlwifi: rtl8192c: using calculate_bit_shift() wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift() wifi: rtlwifi: add calculate_bit_shift() arm64: dts: qcom: ipq6018: Fix up indentation arm64: dts: qcom: ipq6018: Pad addresses to 8 hex digits arm64: dts: qcom: ipq6018: Use lowercase hex arm64: dts: qcom: ipq6018: improve pcie phy pcs reg table arm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent block: add check of 'minors' and 'first_minor' in device_add_disk() arm64: dts: qcom: sm8150-hdk: fix SS USB regulators soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration dma-mapping: clear dev->dma_mem to NULL after freeing it virtio/vsock: fix logic which reduces credit update messages ipmr: support IP_PKTINFO on cache report IGMP msg selftests/net: fix grep checking for fib_nexthop_multiprefix ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles scsi: hisi_sas: Correct the number of global debugfs registers scsi: hisi_sas: Rollback some operations if FLR failed scsi: hisi_sas: Replace with standard error code return value arm64: dts: imx8mm: Reduce GPU to nominal speed arm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control block: Set memalloc_noio to false on device_add_disk() error path selftests/bpf: Relax time_tai test for equal timestamps in tai_forward wifi: mt76: mt7921: fix country count limitation for CLC arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes dt-bindings: media: mediatek: mdp3: correct RDMA and WROT node with generic names arm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties bpf: Fix verification of indirect var-off stack access wifi: mt76: mt7921s: fix workqueue problem causes STA association fail arm64: dts: qcom: sc7280: fix usb_2 wakeup interrupt types arm64: dts: qcom: sc7280: Mark Adreno SMMU as DMA coherent arm64: dts: qcom: sc7280: Fix up GPU SIDs arm64: dts: qcom: sm8350: Fix DMA0 address arm64: dts: qcom: sdm845-db845c: correct LED panic indicator arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator scsi: fnic: Return error if vmalloc() failed bpf: fix check for attempt to corrupt spilled pointer selftests/net: specify the interface when do arping bpf: Defer the free of inner map when necessary bpf: Add map and need_defer parameters to .map_fd_put_ptr() bpf: add percpu stats for bpf_map elements insertions/deletions rcu-tasks: Provide rcu_trace_implies_rcu_gp() arm64: dts: qcom: sm6350: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sc8280xp: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sm8250: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sm8150: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sdm845: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sc7280: Make watchdog bark interrupt edge triggered arm64: dts: qcom: sc7280: Mark some nodes as 'reserved' arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered ARM: dts: qcom: sdx65: correct SPMI node name bpf: enforce precision of R0 on callback return md: synchronize flush io with array reconfiguration selftests/bpf: Fix erroneous bitmask operation arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type arm64: dts: ti: k3-am62a-main: Fix GPIO pin count in DT nodes wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior firmware: meson_sm: populate platform devices from sm device tree data firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create() net/ncsi: Fix netlink major/minor version numbers ARM: dts: qcom: apq8064: correct XOADC register address wifi: libertas: stop selecting wext wifi: ath11k: Defer on rproc_get failure bpf: Add crosstask check to __bpf_get_stack bpf, lpm: Fix check prefixlen before walking trie wifi: rtw88: fix RX filter in FIF_ALLMULTI flag wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async() pNFS: Fix the pnfs block driver's calculation of layoutget size SUNRPC: fix _xprt_switch_find_current_entry logic NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT blocklayoutdriver: Fix reference leak of pnfs_device_node csky: fix arch_jump_label_transform_static override crypto: scomp - fix req->dst buffer overflow crypto: sahara - do not resize req->src when doing hash operations crypto: sahara - fix processing hash requests with req->nbytes < sg->length crypto: sahara - improve error handling in sahara_sha_process() crypto: sahara - fix wait_for_completion_timeout() error handling crypto: sahara - fix ahash reqsize crypto: sahara - handle zero-length aes requests crypto: sahara - avoid skcipher fallback code duplication crypto: virtio - Wait for tasklet to complete on device remove gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump fs: indicate request originates from old mount API erofs: fix memory leak on short-lived bounced pages pstore: ram_core: fix possible overflow in persistent_ram_init_ecc() crypto: hisilicon/zip - save capability registers in probe process crypto: hisilicon/sec2 - save capability registers in probe process crypto: hisilicon/hpre - save capability registers in probe process crypto: hisilicon/qm - add a function to set qm algs crypto: hisilicon/zip - add zip comp high perf mode configuration crypto: hisilicon/qm - save capability registers in qm init process crypto: sahara - fix error handling in sahara_hw_descriptor_create() crypto: sahara - fix processing requests with cryptlen < sg->length crypto: sahara - fix ahash selftest failure crypto: sahara - fix cbc selftest failure crypto: sahara - remove FLAGS_NEW_KEY logic crypto: safexcel - Add error handling for dma_map_sg() calls crypto: af_alg - Disallow multiple in-flight AIO requests crypto: ccp - fix memleak in ccp_init_dm_workarea crypto: sa2ul - Return crypto_aead_setkey to transfer the error crypto: virtio - Handle dataq logic with tasklet selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket mtd: Fix gluebi NULL pointer dereference caused by ftl notifier kunit: debugfs: Fix unchecked dereference in debugfs_print_results() ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error ACPI: LPSS: Fix the fractional clock divider flags spi: sh-msiof: Enforce fixed DTDL for R-Car H3 efivarfs: Free s_fs_info on unmount efivarfs: force RO when remounting if SetVariable is not supported calipso: fix memory leak in netlbl_calipso_add_pass() cpufreq: scmi: process the result of devm_of_clk_add_hw_provider() cpufreq: Use of_property_present() for testing DT property presence of: Add of_property_present() helper platform/x86/intel/vsec: Fix xa_alloc memory leak platform/x86/intel/vsec: Use mutex for ida_alloc() and ida_free() platform/x86/intel/vsec: Support private data platform/x86/intel/vsec: Enhance and Export intel_vsec_add_aux() KEYS: encrypted: Add check for strsep ACPI: LPIT: Avoid u32 multiplication overflow ACPI: video: check for error while searching for backlight device parent mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response spi: spi-zynqmp-gqspi: fix driver kconfig dependencies powerpc/imc-pmu: Add a null pointer check in update_events_in_group() powerpc/powernv: Add a null pointer check in opal_powercap_init() powerpc/powernv: Add a null pointer check in opal_event_init() powerpc/powernv: Add a null pointer check to scom_debug_init_one() selftests/powerpc: Fix error handling in FPU/VMX preemption tests powerpc/pseries/memhp: Fix access beyond end of drmem array powerpc/44x: select I2C for CURRITUCK powerpc: add crtsavres.o to always-y instead of extra-y powerpc: remove checks for binutils older than 2.25 EDAC/thunderx: Fix possible out-of-bounds string access x86/mce/inject: Clear test status value x86/lib: Fix overflow when counting digits UPSTREAM: sched/fair: Limit sched slice duration ANDROID: Update the ABI symbol list ANDROID: idle_inject: Export function symbols ANDROID: Update the ABI symbol list ANDROID: GKI: Remove CONFIG_MEDIA_CEC_RC BACKPORT: usb: host: xhci: Avoid XHCI resume delay if SSUSB device is not present ANDROID: Update the ABI symbol list ANDROID: uid_sys_stats: Drop CONFIG_UID_SYS_STATS_DEBUG logic ANDROID: Update the ABI symbol list ANDROID: Update the ABI symbol list UPSTREAM: usb: gadget: uvc: Remove nested locking ANDROID: uid_sys_stats: Fully initialize uid_entry_tmp value ANDROID: Roll back some code to fix system_server registers psi trigger failed. UPSTREAM: usb: gadget: uvc: Fix use are free during STREAMOFF ANDROID: GKI: Add symbol list for Nothing Linux 6.1.74 scripts/decode_stacktrace.sh: optionally use LLVM utilities coresight: etm4x: Fix width of CCITMIN field PCI: Add ACS quirk for more Zhaoxin Root Ports leds: ledtrig-tty: Free allocated ttyname buffer on deactivate parport: parport_serial: Add Brainboxes device IDs and geometry parport: parport_serial: Add Brainboxes BAR details uio: Fix use-after-free in uio_open binder: fix comment on binder_alloc_new_buf() return value binder: fix trivial typo of binder_free_buf_locked() binder: fix use-after-free in shinker's callback binder: use EPOLLERR from eventpoll.h Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d" ksmbd: free ppace array on error in parse_dacl ksmbd: don't allow O_TRUNC open on read-only share bpf: Add --skip_encoding_btf_inconsistent_proto, --btf_gen_optimized to pahole flags for v1.25 btf, scripts: Exclude Rust CUs with pahole ASoC: SOF: Intel: hda-codec: Delay the codec device registration ACPI: resource: Add another DMI match for the TongFang GMxXGxx ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx drm/crtc: fix uninitialized variable use ARM: sun9i: smp: fix return code check of of_property_match_string net: qrtr: ns: Return 0 if server port is not present virtio_blk: fix snprintf truncation compiler warning ida: Fix crash in ida_free when the bitmap is empty pinctrl: cy8c95x0: Fix get_pincfg pinctrl: cy8c95x0: Fix typo drm/amd/display: get dprefclk ss info from integration info table i2c: rk3x: fix potential spinlock recursion on poll smb: client: fix potential OOB in smb2_dump_detail() HID: nintendo: Prevent divide-by-zero on code dm audit: fix Kconfig so DM_AUDIT depends on BLK_DEV_DM ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models ASoC: Intel: bytcr_rt5640: Add new swapped-speakers quirk ASoC: Intel: bytcr_rt5640: Add quirk for the Medion Lifetab S10346 platform/x86: thinkpad_acpi: fix for incorrect fan reporting on some ThinkPad systems HID: nintendo: fix initializer element is not constant error kselftest: alsa: fixed a print formatting warning Input: xpad - add Razer Wolverine V2 support wifi: iwlwifi: pcie: avoid a NULL pointer dereference ARC: fix spare error s390/scm: fix virtual vs physical address confusion Input: i8042 - add nomux quirk for Acer P459-G2-M Input: atkbd - skip ATKBD_CMD_GETID in translated mode reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning Input: psmouse - enable Synaptics InterTouch for ThinkPad L14 G1 ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI tracing: Fix uaf issue when open the hist or hist_debug file MIPS: dts: loongson: drop incorrect dwmac fallback compatible stmmac: dwmac-loongson: drop useless check for compatible fallback tracing: Add size check when printing trace_marker output tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing jbd2: fix soft lockup in journal_finish_inode_data_buffers() platform/x86: intel-vbtn: Fix missing tablet-mode-switch events neighbour: Don't let neigh_forced_gc() disable preemption for long drm/crtc: Fix uninit-value bug in drm_mode_setcrtc jbd2: increase the journal IO's priority jbd2: correct the printing of write_flags in jbd2_write_superblock() clk: rockchip: rk3128: Fix HCLK_OTG gate register clk: rockchip: rk3568: Add PLL rate for 292.5MHz LoongArch: Preserve syscall nr across execve() hwmon: (corsair-psu) Fix probe when built-in drm/exynos: fix a wrong error checking drm/exynos: fix a potential error pointer dereference drm/amdgpu: Add NULL checks for function pointers arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru nvme: prevent potential spectre v1 gadget nvme: introduce helper function to get ctrl state ASoC: ops: add correct range check for limiting volume ASoC: da7219: Support low DC impedance headset net/tg3: fix race condition in tg3_reset_task() ASoC: hdac_hda: Conditionally register dais for HDMI and Analog ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 nouveau/tu102: flush all pdbs on vmm flush ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available ASoC: rt5650: add mutex to avoid the jack detection failure ASoC: cs43130: Fix incorrect frame delay configuration ASoC: cs43130: Fix the position of const qualifier ASoC: Intel: Skylake: mem leak in skl register function ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 ASoC: Intel: Skylake: Fix mem leak in few functions arm64: dts: rockchip: fix rk356x pcie msg interrupt name ASoC: wm8974: Correct boost mixer inputs hwtracing: hisi_ptt: Don't try to attach a task hwtracing: hisi_ptt: Handle the interrupt in hardirq context nvme-core: check for too small lba shift blk-mq: don't count completed flush data request as inflight in case of quiesce smb: client, common: fix fortify warnings drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer drm/amd/display: update dcn315 lpddr pstate latency nvme-core: fix a memory leak in nvme_ns_info_from_identify() ALSA: hda: intel-nhlt: Ignore vbps when looking for DMIC 32 bps format debugfs: fix automount d_fsdata usage wifi: mac80211: handle 320 MHz in ieee80211_ht_cap_ie_to_sta_ht_cap wifi: avoid offset calculation on NULL pointer wifi: cfg80211: lock wiphy mutex for rfkill poll mptcp: fix uninit-value in mptcp_incoming_options ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro pinctrl: lochnagar: Don't build on MIPS f2fs: explicitly null-terminate the xattr list ANDROID: Enable CONFIG_LAZY_RCU in x86 gki_defconfig ANDROID: fuse-bpf: Fix the issue of abnormal lseek system calls ANDROID: ABI: Update symbol list for imx BACKPORT: PM: sleep: Fix possible deadlocks in core system-wide PM code UPSTREAM: async: Introduce async_schedule_dev_nocall() UPSTREAM: async: Split async_schedule_node_domain() FROMGIT: BACKPORT: mm: update mark_victim tracepoints fields ANDROID: Enable CONFIG_LAZY_RCU in arm64 gki_defconfig FROMLIST: rcu: Provide a boot time parameter to control lazy RCU ANDROID: rcu: Add a minimum time for marking boot as completed UPSTREAM: rcu: Disable laziness if lazy-tracking says so UPSTREAM: rcu: Track laziness during boot and suspend UPSTREAM: net: Use call_rcu_hurry() for dst_release() UPSTREAM: workqueue: Make queue_rcu_work() use call_rcu_hurry() UPSTREAM: percpu-refcount: Use call_rcu_hurry() for atomic switch UPSTREAM: io_uring: use call_rcu_hurry if signaling an eventfd UPSTREAM: rcu: Update synchronize_rcu_mult() comment for call_rcu_hurry() UPSTREAM: scsi/scsi_error: Use call_rcu_hurry() instead of call_rcu() UPSTREAM: rcu/rcutorture: Use call_rcu_hurry() where needed UPSTREAM: rcu/rcuscale: Use call_rcu_hurry() for async reader test UPSTREAM: rcu/sync: Use call_rcu_hurry() instead of call_rcu BACKPORT: rcu: Shrinker for lazy rcu UPSTREAM: rcu: Refactor code a bit in rcu_nocb_do_flush_bypass() UPSTREAM: rcu: Make call_rcu() lazy to save power UPSTREAM: rcu: Fix missing nocb gp wake on rcu_barrier() UPSTREAM: rcu: Fix late wakeup when flush of bypass cblist happens ANDROID: Update the ABI symbol list ANDROID: GKI: add GKI symbol list for Exynosauto SoC UPSTREAM: coresight: tmc: Don't enable TMC when it's not ready. UPSTREAM: netfilter: nf_tables: bail out on mismatching dynset and set expressions Revert "ipv6: remove max_size check inline with ipv4" ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hooks: add hooks in driver/android/binder.c ANDROID: GKI: Update honda symbol list for xt_LOG ANDROID: GKI: Update honda symbol list for ebt filter ANDROID: GKI: Update honda symbol list for ebtables ANDROID: GKI: Update honda symbol list for net scheduler ANDROID: GKI: Update honda symbol list for led-trigger ANDROID: GKI: Add initial symbol list for honda ANDROID: GKI: add symbols to ABI ANDROID: db845c: Enable device tree overlay support FROMGIT: usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart FROMGIT: usb: dwc3: set pm runtime active before resume common Linux 6.1.73 cifs: fix flushing folio regression for 6.1 backport ipv6: remove max_size check inline with ipv4 Revert "nfsd: separate nfsd_last_thread() from nfsd_put()" Revert "nfsd: call nfsd_last_thread() before final nfsd_put()" ANDROID: Update the pixel symbol list Revert "splice, net: Add a splice_eof op to file-ops and socket-ops" Revert "ipv4, ipv6: Use splice_eof() to flush" Revert "udp: introduce udp->udp_flags" Revert "udp: move udp->no_check6_tx to udp->udp_flags" Revert "udp: move udp->no_check6_rx to udp->udp_flags" Revert "udp: move udp->gro_enabled to udp->udp_flags" Revert "udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags" Revert "udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO" Revert "udp: annotate data-races around udp->encap_type" Revert "bpf, sockmap: af_unix stream sockets need to hold ref for pair sock" Revert "bpf: decouple prune and jump points" Revert "bpf: remove unnecessary prune and jump points" Revert "bpf: Remove unused insn_cnt argument from visit_[func_call_]insn()" Revert "bpf: clean up visit_insn()'s instruction processing" Revert "bpf: Support new 32bit offset jmp instruction" Revert "bpf: handle ldimm64 properly in check_cfg()" Revert "bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4" Revert "device property: Allow const parameter to dev_fwnode()" BACKPORT: UPSTREAM: phy: qcom-qmp: Introduce Kconfig symbols for discrete drivers ANDROID: GKI: add symbols of vendor hooks to ABI for swapping in ahead ANDROID: GKI: add vendor hooks for swapping in ahead Reapply "kasan: print the original fault addr when access invalid shadow" ANDROID: GKI: fix crc issue in include/net/addrconf.h ANDROID: add 16k targets for Microdroid kernel Revert "cred: switch to using atomic_long_t" FROMGIT: BACKPORT: mm/cma: fix placement of trace_cma_alloc_start/finish FROMGIT: wifi: nl80211: Extend del pmksa support for SAE and OWE security ANDROID: Update the ABI symbol list ANDROID: mm: export dump_tasks symbol. FROMLIST: scsi: ufs: Remove the ufshcd_hba_exit() call from ufshcd_async_scan() FROMLIST: scsi: ufs: Simplify power management during async scan Linux 6.1.72 Revert "interconnect: qcom: sm8250: Enable sync_state" smb3: Replace smb2pdu 1-element arrays with flex-arrays media: qcom: camss: Comment CSID dt_id field bpf: syzkaller found null ptr deref in unix_bpf proto add bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4 net/sched: act_ct: Always fill offloading tuple iifidx net/sched: act_ct: additional checks for outdated flows f2fs: compress: fix to assign compress_level for lz4 correctly genirq/affinity: Only build SMP-only helper functions on SMP kernels mmc: sdhci-sprd: Fix eMMC init failure after hw reset mmc: core: Cancel delayed work before releasing host mmc: rpmb: fixes pause retune on all RPMB partitions. mmc: meson-mx-sdhc: Fix initialization frozen issue drm/amd/display: add nv12 bounding box drm/amdgpu: skip gpu_info fw loading on navi12 mm: fix unmap_mapping_range high bits shift bug i2c: core: Fix atomic xfer check for non-preempt config x86/kprobes: fix incorrect return address calculation in kprobe_emulate_call_indirect firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() btrfs: mark the len field in struct btrfs_ordered_sum as unsigned btrfs: fix qgroup_free_reserved_data int overflow octeontx2-af: Support variable number of lmacs octeontx2-af: Fix pause frame configuration net/sched: act_ct: Take per-cb reference to tcf_ct_flow_table netfilter: flowtable: GC pushes back packets to classic path net/sched: act_ct: Fix promotion of offloaded unreplied tuple net/sched: act_ct: offload UDP NEW connections netfilter: flowtable: cache info of last offload netfilter: flowtable: allow unidirectional rules net: sched: call tcf_ct_params_free to free params in tcf_ct_init mm/memory_hotplug: fix error handling in add_memory_resource() mm/memory_hotplug: add missing mem_hotplug_lock lib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly genirq/affinity: Move group_cpus_evenly() into lib/ genirq/affinity: Rename irq_build_affinity_masks as group_cpus_evenly genirq/affinity: Don't pass irq_affinity_desc array to irq_build_affinity_masks genirq/affinity: Pass affinity managed mask array to irq_build_affinity_masks genirq/affinity: Remove the 'firstvec' parameter from irq_build_affinity_masks ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 firmware: arm_scmi: Fix frequency truncation by promoting multiplier type bpf, sockmap: af_unix stream sockets need to hold ref for pair sock ethtool: don't propagate EOPNOTSUPP from dumps dpaa2-eth: recycle the RX buffer only after all processing done net: dpaa2-eth: rearrange variable in dpaa2_eth_get_ethtool_stats smb: client: fix missing mode bits for SMB symlinks block: update the stable_writes flag in bdev_add filemap: add a per-mapping stable writes flag mm, netfs, fscache: stop read optimisation when folio removed from pagecache mm: merge folio_has_private()/filemap_release_folio() call pairs memory-failure: convert truncate_error_page() to use folio khugepage: replace try_to_release_page() with filemap_release_folio() ext4: convert move_extent_per_page() to use folios media: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3 media: camss: sm8250: Virtual channels for CSID selftests: mptcp: set FAILING_LINKS in run_tests selftests: mptcp: fix fastclose with csum failure f2fs: set the default compress_level on ioctl f2fs: assign default compression level f2fs: convert to use bitmap API f2fs: clean up i_compress_flag and i_compress_level usage s390/cpumf: support user space events for counting s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc() net/mlx5: Increase size of irq name buffer blk-mq: make sure active queue usage is held for bio_integrity_prep() bpf: fix precision backtracking instruction iteration bpf: handle ldimm64 properly in check_cfg() bpf: Support new 32bit offset jmp instruction bpf: clean up visit_insn()'s instruction processing bpf: Remove unused insn_cnt argument from visit_[func_call_]insn() bpf: remove unnecessary prune and jump points bpf: decouple prune and jump points fbdev: imsttfb: fix double free in probe() fbdev: imsttfb: Release framebuffer and dealloc cmap on error path arm64: dts: qcom: sdm845: Fix PSCI power domain names arm64: dts: qcom: sdm845: align RPMh regulator nodes with bindings wifi: iwlwifi: yoyo: swap cdb and jacket bits values udp: annotate data-races around udp->encap_type udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags udp: move udp->gro_enabled to udp->udp_flags udp: move udp->no_check6_rx to udp->udp_flags udp: move udp->no_check6_tx to udp->udp_flags udp: introduce udp->udp_flags ipv4, ipv6: Use splice_eof() to flush splice, net: Add a splice_eof op to file-ops and socket-ops udp: Convert udp_sendpage() to use MSG_SPLICE_PAGES net: Declare MSG_SPLICE_PAGES internal sendmsg() flag bpf, x86: save/restore regs with BPF_DW size bpf, x86: Simplify the parsing logic of structure parameters bpf, x64: Fix tailcall infinite loop srcu: Fix callbacks acceleration mishandling cpu/SMT: Make SMT control more robust against enumeration failures cpu/SMT: Create topology_smt_thread_allowed() selftests: secretmem: floor the memory size to the multiple of page_size net: Implement missing SO_TIMESTAMPING_NEW cmsg support bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters() net: ravb: Wait for operating mode to be applied asix: Add check for usbnet_get_endpoints octeontx2-af: Re-enable MAC TX in otx2_stop processing octeontx2-af: Always configure NIX TX link credits based on max frame size net/smc: fix invalid link access in dumping SMC-R connections net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues igc: Fix hicredit calculation i40e: Restore VF MSI-X state during PCI reset ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux ASoC: meson: g12a-toacodec: Fix event generation ASoC: meson: g12a-tohdmitx: Validate written enum values ASoC: meson: g12a-toacodec: Validate written enum values i40e: fix use-after-free in i40e_aqc_add_filters() net: Save and restore msg_namelen in sock_sendmsg netfilter: nft_immediate: drop chain reference counter on error net: bcmgenet: Fix FCS generation for fragmented skbuffs sfc: fix a double-free bug in efx_probe_filters ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init selftests: bonding: do not set port down when adding to bond net: Implement missing getsockopt(SO_TIMESTAMPING_NEW) net: annotate data-races around sk->sk_bind_phc net: annotate data-races around sk->sk_tsflags net-timestamp: extend SOF_TIMESTAMPING_OPT_ID to HW timestamps can: raw: add support for SO_MARK r8169: Fix PCI error on system resume net: sched: em_text: fix possible memory leak in em_text_destroy() mlxbf_gige: fix receive packet race condition ASoC: mediatek: mt8186: fix AUD_PAD_TOP register and offset ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enable igc: Check VLAN EtherType mask igc: Check VLAN TCI mask igc: Report VLAN EtherType matching back to user i40e: Fix filter input checks to prevent config with invalid values ice: Shut down VSI with "link-down-on-close" enabled ice: Fix link_down_on_close message drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern octeontx2-af: Fix marking couple of structure as __packed nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local netfilter: nf_tables: set transport offset from mac header for netdev/egress netfilter: use skb_ip_totlen and iph_totlen drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer wifi: iwlwifi: pcie: don't synchronize IRQs from IRQ KVM: x86/pmu: fix masking logic for MSR_CORE_PERF_GLOBAL_CTRL cifs: do not depend on release_iface for maintaining iface_list cifs: cifs_chan_is_iface_active should be called with chan_lock held drm/mgag200: Fix gamma lut not initialized for G200ER, G200EV, G200SE Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()" mptcp: prevent tcp diag from closing listener subflows ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6 ALSA: hda/realtek: fix mute/micmute LEDs for a HP ZBook ALSA: hda/realtek: enable SND_PCI_QUIRK for hp pavilion 14-ec1xxx series block: Don't invalidate pagecache for invalid falloc modes keys, dns: Fix missing size check of V1 server-list header ANDROID: gki_defconfig: Set CONFIG_IDLE_INJECT and CONFIG_CPU_IDLE_THERMAL into y ANDROID: KMI workaround for CONFIG_NETFILTER_FAMILY_BRIDGE ANDROID: dma-buf: don't re-purpose kobject as work_struct BACKPORT: FROMLIST: dma-buf: Move sysfs work out of DMA-BUF export path UPSTREAM: netfilter: nf_tables: skip set commit for deleted/destroyed sets ANDROID: KVM: arm64: Avoid BUG-ing from the host abort path ANDROID: Update the ABI symbol list UPSTREAM: ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet UPSTREAM: nvmet-tcp: Fix a possible UAF in queue intialization setup FROMGIT: usb: dwc3: gadget: Handle EP0 request dequeuing properly ANDROID: ABI: Update symbol list for imx UPSTREAM: io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid UPSTREAM: bpf: Fix prog_array_map_poke_run map poke update BACKPORT: xhci: track port suspend state correctly in unsuccessful resume cases ANDROID: fix crc error in put_cmsg caused in 6.1.68 ANDROID: Update the ABI symbol list ANDROID: sched: Export symbols for vendor modules UPSTREAM: usb: dwc3: core: add support for disabling High-speed park mode Linux 6.1.71 Revert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe" tracing/kprobes: Fix symbol counting logic by looking at modules as well kallsyms: Make module_kallsyms_on_each_symbol generally available device property: Allow const parameter to dev_fwnode() spi: Constify spi parameters of chip select APIs NFSD: fix possible oops when nfsd/pool_stats is closed. ring-buffer: Fix slowpath of interrupted event netfilter: nf_tables: skip set commit for deleted/destroyed sets ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() tracing: Fix blocked reader of snapshot buffer ring-buffer: Fix wake ups when buffer_percent is set to 100 mm/memory-failure: check the mapcount of the precise page mm/memory-failure: cast index to loff_t before shifting it mm: migrate high-order folios in swap cache correctly mm/filemap: avoid buffered read/write race to read inconsistent data platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16() block: renumber QUEUE_FLAG_HW_WC spi: atmel: Fix clock issue when using devices with different polarities spi: Add APIs in spi core to set/get spi->chip_select and spi->cs_gpiod spi: Reintroduce spi_set_cs_timing() linux/export: Ensure natural alignment of kcrctab array nfsd: call nfsd_last_thread() before final nfsd_put() nfsd: separate nfsd_last_thread() from nfsd_put() iio: imu: adis16475: add spi_device_id table spi: Introduce spi_get_device_match_data() helper usb: fotg210-hcd: delete an incorrect bounds test ARM: dts: Fix occasional boot hang for am3 usb ksmbd: fix wrong allocation size update in smb2_open() ksmbd: avoid duplicate opinfo_put() call on error of smb21_lease_break_ack() ksmbd: lazy v2 lease break on smb2_write() ksmbd: send v2 lease break notification for directory ksmbd: downgrade RWH lease caching state to RH for directory ksmbd: set v2 lease capability ksmbd: set epoch in create context v2 lease ksmbd: don't update ->op_state as OPLOCK_STATE_NONE on error ksmbd: move setting SMB2_FLAGS_ASYNC_COMMAND and AsyncId ksmbd: release interim response after sending status pending response ksmbd: move oplock handling after unlock parent dir ksmbd: separately allocate ci per dentry ksmbd: fix possible deadlock in smb2_open ksmbd: prevent memory leak on error return ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked() ksmbd: no need to wait for binded connection termination at logoff ksmbd: add support for surrogate pair conversion ksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev() ksmbd: fix recursive locking in vfs helpers ksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr() ksmbd: reorganize ksmbd_iov_pin_rsp() ksmbd: Remove unused field in ksmbd_user struct ksmbd: fix potential double free on smb2_read_pipe() error path ksmbd: fix Null pointer dereferences in ksmbd_update_fstate() ksmbd: fix wrong error response status by using set_smb2_rsp_status() ksmbd: fix race condition between tree conn lookup and disconnect ksmbd: fix race condition from parallel smb2 lock requests ksmbd: fix race condition from parallel smb2 logoff requests ksmbd: fix race condition with fp ksmbd: check iov vector index in ksmbd_conn_write() ksmbd: return invalid parameter error response if smb2 request is invalid ksmbd: fix passing freed memory 'aux_payload_buf' ksmbd: remove unneeded mark_inode_dirty in set_info_sec() ksmbd: remove experimental warning ksmbd: add missing calling smb2_set_err_rsp() on error ksmbd: Fix one kernel-doc comment ksmbd: fix `force create mode' and `force directory mode' ksmbd: fix wrong interim response on compound ksmbd: add support for read compound ksmbd: switch to use kmemdup_nul() helper ksmbd: check if a mount point is crossed during path lookup ksmbd: Fix unsigned expression compared with zero ksmbd: Replace one-element array with flexible-array member ksmbd: Use struct_size() helper in ksmbd_negotiate_smb_dialect() ksmbd: Replace the ternary conditional operator with min() ksmbd: use kvzalloc instead of kvmalloc ksmbd: Change the return value of ksmbd_vfs_query_maximal_access to void ksmbd: return a literal instead of 'err' in ksmbd_vfs_kern_path_locked() ksmbd: use kzalloc() instead of __GFP_ZERO ksmbd: remove unused ksmbd_tree_conn_share function ksmbd: add mnt_want_write to ksmbd vfs functions ksmbd: fix posix_acls and acls dereferencing possible ERR_PTR() ksmbd: call putname after using the last component ksmbd: fix uninitialized pointer read in smb2_create_link() ksmbd: fix uninitialized pointer read in ksmbd_vfs_rename() ksmbd: fix racy issue from using ->d_parent and ->d_name fs: introduce lock_rename_child() helper ksmbd: remove unused compression negotiate ctx packing ksmbd: avoid duplicate negotiate ctx offset increments ksmbd: set NegotiateContextCount once instead of every inc ksmbd: delete asynchronous work from list ksmbd: remove unused is_char_allowed function ksmbd: Fix parameter name and comment mismatch ksmbd: Fix spelling mistake "excceed" -> "exceeded" ksmbd: update Kconfig to note Kerberos support and fix indentation ksmbd: Remove duplicated codes ksmbd: fix typo, syncronous->synchronous ksmbd: Implements sess->rpc_handle_list as xarray ksmbd: Convert to use sysfs_emit()/sysfs_emit_at() APIs ksmbd: Fix resource leak in smb2_lock() ksmbd: use F_SETLK when unlocking a file ksmbd: set SMB2_SESSION_FLAG_ENCRYPT_DATA when enforcing data encryption for this share ksmbd: replace one-element arrays with flexible-array members Revert "hrtimers: Push pending hrtimers away from outgoing CPU earlier" Revert "drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group" ANDROID: KVM: arm64: Don't prepopulate MMIO regions for host stage-2 BACKPORT: FROMGIT fork: use __mt_dup() to duplicate maple tree in dup_mmap() FROMGIT: maple_tree: preserve the tree attributes when destroying maple tree FROMGIT: maple_tree: update check_forking() and bench_forking() FROMGIT: maple_tree: skip other tests when BENCH is enabled FROMGIT: maple_tree: update the documentation of maple tree FROMGIT: maple_tree: add test for mtree_dup() FROMGIT: radix tree test suite: align kmem_cache_alloc_bulk() with kernel behavior. FROMGIT: maple_tree: introduce interfaces __mt_dup() and mtree_dup() FROMGIT: maple_tree: introduce {mtree,mas}_lock_nested() FROMGIT: maple_tree: add mt_free_one() and mt_attr() helpers UPSTREAM: maple_tree: introduce __mas_set_range() ANDROID: GKI: Enable symbols for v4l2 in async and fwnode Revert "mmc: core: add helpers mmc_regulator_enable/disable_vqmmc" Revert "mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled" ANDROID: Update the ABI symbol list ANDROID: KVM: arm64: Fix hyp event alignment ANDROID: KVM: arm64: Fix host_smc print typo FROMGIT: f2fs: do not return EFSCORRUPTED, but try to run online repair ANDROID: KVM: arm64: Document module_change_host_prot_range Revert "mmc: core: add helpers mmc_regulator_enable/disable_vqmmc" Revert "mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled" FROMGIT: PM / devfreq: Synchronize devfreq_monitor_[start/stop] FROMGIT: arch/mm/fault: fix major fault accounting when retrying under per-VMA lock UPSTREAM: mm: handle write faults to RO pages under the VMA lock UPSTREAM: mm: handle read faults under the VMA lock UPSTREAM: mm: handle COW faults under the VMA lock UPSTREAM: mm: handle shared faults under the VMA lock BACKPORT: mm: call wp_page_copy() under the VMA lock UPSTREAM: mm: make lock_folio_maybe_drop_mmap() VMA lock aware UPSTREAM: mm/memory.c: fix mismerge ANDROID: Export functions to be used with dma_map_ops in modules BACKPORT: FROMGIT: erofs: enable sub-page compressed block support FROMGIT: erofs: refine z_erofs_transform_plain() for sub-page block support FROMGIT: erofs: fix ztailpacking for subpage compressed blocks BACKPORT: FROMGIT: erofs: fix up compacted indexes for block size < 4096 FROMGIT: erofs: record `pclustersize` in bytes instead of pages FROMGIT: erofs: support I/O submission for sub-page compressed blocks FROMGIT: erofs: fix lz4 inplace decompression FROMGIT: erofs: fix memory leak on short-lived bounced pages BACKPORT: erofs: tidy up z_erofs_do_read_page() UPSTREAM: erofs: move preparation logic into z_erofs_pcluster_begin() BACKPORT: erofs: avoid obsolete {collector,collection} terms BACKPORT: erofs: simplify z_erofs_read_fragment() UPSTREAM: erofs: get rid of the remaining kmap_atomic() UPSTREAM: erofs: simplify z_erofs_transform_plain() BACKPORT: erofs: adapt managed inode operations into folios UPSTREAM: erofs: avoid on-stack pagepool directly passed by arguments UPSTREAM: erofs: allocate extra bvec pages directly instead of retrying UPSTREAM: erofs: clean up z_erofs_pcluster_readmore() UPSTREAM: erofs: remove the member readahead from struct z_erofs_decompress_frontend UPSTREAM: erofs: fold in z_erofs_decompress() UPSTREAM: erofs: enable large folios for iomap mode ANDROID: Update the ABI symbol list UPSTREAM: USB: gadget: core: adjust uevent timing on gadget unbind Linux 6.1.70 loop: deprecate autoloading callback loop_probe() wifi: nl80211: fix deadlock in nl80211_set_cqm_rssi (6.6.x) wifi: cfg80211: fix CQM for non-range use fuse: share lookup state between submount and its parent mm/damon/core: make damon_start() waits until kdamond_fn() starts x86/alternatives: Sync core before enabling interrupts KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() KVM: arm64: vgic: Simplify kvm_vgic_destroy() thunderbolt: Fix memory leak in margining_port_remove() lib/vsprintf: Fix %pfwf when current node refcount == 0 gpio: dwapb: mask/unmask IRQ when disable/enale it bus: ti-sysc: Flush posted write only after srst_udelay pinctrl: starfive: jh7100: ignore disabled device tree nodes dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata() tracing / synthetic: Disable events after testing in synth_event_gen_test_init() scsi: core: Always send batch on reset or error handling command Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" selftests: mptcp: join: fix subflow_send_ack lookup ublk: move ublk_cancel_dev() out of ub->mutex ubifs: fix possible dereference after free btrfs: zoned: no longer count fresh BG region as zone unusable Revert "drm/amd/display: Do not set DRR on pipe commit" dm thin metadata: Fix ABBA deadlock by resetting dm_bufio_client loop: do not enforce max_loop hard limit by (new) default RISC-V: Fix do_notify_resume / do_work_pending prototype 9p: prevent read overrun in protocol dump tracepoint drm/i915: Reject async flips with bigjoiner smb: client: fix OOB in smbCalcSize() smb: client: fix OOB in SMB2_query_info_init() smb: client: fix potential OOB in cifs_dump_detail() smb: client: fix OOB in cifsd when receiving compounded resps dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp net: ks8851: Fix TX stall caused by TX buffer overrun net: rfkill: gpio: set GPIO direction net: 9p: avoid freeing uninit memory in p9pdu_vreadf Input: soc_button_array - add mapping for airplane mode button net: usb: ax88179_178a: avoid failed operations when device is disconnected Bluetooth: Add more enc key size check Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE Bluetooth: L2CAP: Send reject on command corrupted request Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA USB: serial: option: add Quectel RM500Q R13 firmware support USB: serial: option: add Foxconn T99W265 with new baseline USB: serial: option: add Quectel EG912Y module support USB: serial: ftdi_sio: update Actisense PIDs constant names wifi: cfg80211: fix certs build to not depend on file order wifi: cfg80211: Add my certificate usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 ALSA: usb-audio: Increase delay in MOTU M quirk iio: triggered-buffer: prevent possible freeing of wrong buffer iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() Input: ipaq-micro-keys - add error handling for devm_kmemdup interconnect: qcom: sm8250: Enable sync_state iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw interconnect: Treat xlate() returning NULL node as an error drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original drm/i915/mtl: Add MTL for remapping CCS FBs drm/i915/dpt: Only do the POT stride remap when using DPT drm/i915: Fix intel_atomic_setup_scalers() plane_state handling drm/i915: Relocate intel_atomic_setup_scalers() drm/i915/mtl: limit second scaler vertical scaling in ver >= 14 nvme-pci: fix sleeping function called from interrupt context gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() pinctrl: at91-pio4: use dedicated lock class for IRQ x86/xen: add CPU dependencies for 32-bit build i2c: aspeed: Handle the coalesced stop conditions with the start conditions. ASoC: fsl_sai: Fix channel swap issue on i.MX8MP ASoC: hdmi-codec: fix missing report for jack initial status afs: Fix use-after-free due to get/remove race in volume tree afs: Fix overwriting of result of DNS query keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry net: check dev->gso_max_size in gso_features_check() afs: Fix dynamic root lookup DNS check afs: Fix the dynamic root's d_delete to always delete unused dentries net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() net: mana: select PAGE_POOL Bluetooth: hci_event: shut up a false-positive warning Bluetooth: Fix deadlock in vhci_send_frame net/rose: fix races in rose_kill_by_device() ethernet: atheros: fix a memleak in atl1e_setup_ring_resources net: sched: ife: fix potential use-after-free net: Return error from sk_stream_wait_connect() if sk_wait_event() fails octeontx2-pf: Fix graceful exit during PFC configuration failure net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors net/mlx5e: Correct snprintf truncation handling for fw_version buffer net/mlx5: Fix fw tracer first block check net/mlx5e: fix a potential double-free in fs_udp_create_groups net/mlx5e: Fix a race in command alloc flow net/mlx5: Re-organize mlx5_cmd struct net/mlx5: Prevent high-rate FW commands from populating all slots net/mlx5: Introduce and use opcode getter in command interface net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() Revert "net/mlx5e: fix double free of encap_header" Revert "net/mlx5e: fix double free of encap_header in update funcs" wifi: mac80211: mesh_plink: fix matches_local logic wifi: mac80211: mesh: check element parsing succeeded wifi: mac80211: check if the existing link config remains unchanged wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock s390/vx: fix save/restore of fpu kernel context reset: Fix crash when freeing non-existent optional resets ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init ARM: dts: dra7: Fix DRA7 L3 NoC node register size drm/amd/display: fix hw rotated modes when PSR-SU is enabled HID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[] HID: i2c-hid: acpi: Unify ACPI ID tables format bpf: Fix prog_array_map_poke_run map poke update kasan: disable kasan_non_canonical_hook() for HW tags ANDROID: ABI: Update oplus symbol list ANDROID: vendor_hooks: Add hooks for rt_mutex steal UPSTREAM: dm verity: don't perform FEC for failed readahead IO UPSTREAM: netfilter: nft_set_pipapo: skip inactive elements during set walk FROMLIST: mm: migrate high-order folios in swap cache correctly ANDROID: fuse-bpf: Follow mounts in lookups Linux 6.1.69 r8152: fix the autosuspend doesn't work r8152: remove rtl_vendor_mode function r8152: avoid to change cfg for all devices net: tls, update curr on splice as well ring-buffer: Have rb_time_cmpxchg() set the msb counter too ring-buffer: Do not try to put back write_stamp ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs ring-buffer: Fix writing to the buffer with max_data_size ring-buffer: Have saved event hold the entire event ring-buffer: Do not update before stamp when switching sub-buffers tracing: Update snapshot buffer on resize if it is allocated ring-buffer: Fix memory leak of free page smb: client: fix OOB in smb2_query_reparse_point() smb: client: fix NULL deref in asn1_ber_decoder() smb: client: fix OOB in receive_encrypted_standard() drm/i915: Fix remapped stride with CCS on ADL+ drm/amd/display: Disable PSR-SU on Parade 0803 TCON again drm/amdgpu: fix tear down order in amdgpu_vm_pt_free btrfs: don't clear qgroup reserved bit in release_folio btrfs: free qgroup reserve when ORDERED_IOERR is set mm/shmem: fix race in shmem_undo_range w/THP mm/mglru: fix underprotected page cache dmaengine: stm32-dma: avoid bitfield overflow assertion drm/amdgpu/sdma5.2: add begin/end_use ring callbacks team: Fix use-after-free when an option instance allocation fails arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS soundwire: stream: fix NULL pointer dereference for multi_link btrfs: do not allow non subvolume root targets for snapshot perf: Fix perf_event_validate_size() lockdep splat HID: hid-asus: add const to read-only outgoing usb buffer arm64: add dependency between vmlinuz.efi and Image net: usb: qmi_wwan: claim interface 4 for ZTE MF290 asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad HID: hid-asus: reset the backlight brightness level on resume nbd: pass nbd_sock to nbd_read_reply() instead of index HID: add ALWAYS_POLL quirk for Apple kb HID: glorious: fix Glorious Model I HID report platform/x86: intel_telemetry: Fix kernel doc descriptions LoongArch: Implement constant timer shutdown interface LoongArch: Add dependency between vmlinuz.efi and vmlinux.efi selftests/bpf: fix bpf_loop_bench for new callback verification scheme nvme: catch errors from nvme_configure_metadata() nvme-auth: set explanation code for failure2 msgs nbd: fold nbd config initialization into nbd_alloc_config() bcache: avoid NULL checking to c->root in run_cache_set() bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc() bcache: remove redundant assignment to variable cur_idx bcache: avoid oversize memory allocation by small stripe_size blk-cgroup: bypass blkcg_deactivate_policy after destroying blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!" stmmac: dwmac-loongson: Add architecture dependency usb: aqc111: check packet for fixup for true limit x86/hyperv: Fix the detection of E820_TYPE_PRAM in a Gen2 VM drm/mediatek: Add spinlock for setting vblank event in atomic_begin ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE PCI: loongson: Limit MRRS to 256 Revert "PCI: acpiphp: Reassign resources on bridge if necessary" ALSA: hda/realtek: Apply mute LED quirk for HP15-db ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB fuse: dax: set fc->dax to NULL in fuse_dax_conn_free() cred: switch to using atomic_long_t net: atlantic: fix double free in ring reinit logic appletalk: Fix Use-After-Free in atalk_ioctl net: stmmac: Handle disabled MDIO busses from devicetree dpaa2-switch: do not ask for MDB, VLAN and FDB replay dpaa2-switch: fix size of the dma_unmap vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() sign-file: Fix incorrect return values check stmmac: dwmac-loongson: Make sure MDIO is initialized before use net: ena: Fix XDP redirection error net: ena: Fix xdp drops handling due to multibuf packets net: ena: Destroy correct number of xdp queues upon failure net: Remove acked SYN flag from packet in the transmit queue correctly qed: Fix a potential use-after-free in qed_cxt_tables_alloc iavf: Handle ntuple on/off based on new state machines for flow director iavf: Introduce new state machines for flow director net/rose: Fix Use-After-Free in rose_ioctl atm: Fix Use-After-Free in do_vcc_ioctl octeontx2-af: Update RSS algorithm index octeontx2-pf: Fix promisc mcam entry action octeontx2-af: fix a use-after-free in rvu_nix_register_reporters net: fec: correct queue selection net: vlan: introduce skb_vlan_eth_hdr() atm: solos-pci: Fix potential deadlock on &tx_queue_lock atm: solos-pci: Fix potential deadlock on &cli_queue_lock bnxt_en: Fix HWTSTAMP_FILTER_ALL packet timestamp logic bnxt_en: Fix wrong return value check in bnxt_close_nic() bnxt_en: Save ring error counters across reset bnxt_en: Clear resource reservation during resume qca_spi: Fix reset behavior qca_debug: Fix ethtool -G iface tx behavior qca_debug: Prevent crash on TX ring changes net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX net/mlx5e: Fix possible deadlock on mlx5e_tx_timeout_work HID: lenovo: Restrict detection of patched firmware only to USB cptkbd afs: Fix refcount underflow from error handling race ksmbd: fix memory leak in smb2_lock() ext4: fix warning in ext4_dio_write_end_io() powerpc/ftrace: Fix stack teardown in ftrace_no_trace r8152: add vendor/device ID pair for ASUS USB-C2500 r8152: add vendor/device ID pair for D-Link DUB-E250 r8152: add USB device driver for config selection perf/x86/uncore: Don't WARN_ON_ONCE() for a broken discovery table Revert "HID: fix HID device resource race between HID core and debugging support" ANDROID: GKI: Add symbols for rockchip sata ANDROID: sched: Add trace_android_rvh_setscheduler ANDROID: Update the ABI symbol list ANDROID: GKI: build damon for monitoring virtual address spaces UPSTREAM: mm/damon/sysfs-schemes: handle tried region directory allocation failure UPSTREAM: mm/damon/sysfs-schemes: handle tried regions sysfs directory allocation failure UPSTREAM: mm/damon/sysfs: check error from damon_sysfs_update_target() UPSTREAM: mm/damon/sysfs: eliminate potential uninitialized variable warning UPSTREAM: mm/damon/sysfs: update monitoring target regions for online input commit UPSTREAM: mm/damon/sysfs: remove requested targets when online-commit inputs UPSTREAM: mm/damon/sysfs: avoid empty scheme tried regions for large apply interval UPSTREAM: mm/damon/sysfs-schemes: do not update tried regions more than one DAMON snapshot UPSTREAM: mm/damon/sysfs: check DAMOS regions update progress from before_terminate() UPSTREAM: mm/damon/sysfs: implement a command for updating only schemes tried total bytes UPSTREAM: mm/damon/sysfs-schemes: implement DAMOS tried total bytes file UPSTREAM: mm/damon/ops-common: refactor to use {pte|pmd}p_clear_young_notify() UPSTREAM: mm/damon/core: skip apply schemes if empty UPSTREAM: mm/damon: use kstrtobool() instead of strtobool() UPSTREAM: mm/damon/sysfs-schemes: implement DAMOS-tried regions clear command UPSTREAM: mm/damon/sysfs: implement DAMOS tried regions update command UPSTREAM: mm/damon/sysfs-schemes: implement scheme region directory UPSTREAM: mm/damon/sysfs-schemes: implement schemes/tried_regions directory UPSTREAM: mm/damon/core: add a callback for scheme target regions check UPSTREAM: mm/damon/lru_sort: enable and disable synchronously UPSTREAM: mm/damon/reclaim: enable and disable synchronously UPSTREAM: mm/damon/{reclaim,lru_sort}: remove unnecessarily included headers UPSTREAM: mm/damon/modules: deduplicate init steps for DAMON context setup UPSTREAM: mm/damon/sysfs: split out schemes directory implementation to separate file UPSTREAM: mm/damon/sysfs: split out kdamond-independent schemes stats update logic into a new function UPSTREAM: mm/damon/sysfs: move unsigned long range directory to common module UPSTREAM: mm/damon/sysfs: move sysfs_lock to common module UPSTREAM: mm/damon/sysfs: remove parameters of damon_sysfs_region_alloc() UPSTREAM: mm/damon/sysfs: use damon_addr_range for region's start and end values UPSTREAM: mm/damon/core: split out scheme quota adjustment logic into a new function UPSTREAM: mm/damon/core: split out scheme stat update logic into a new function UPSTREAM: mm/damon/core: split damos application logic into a new function UPSTREAM: mm/damon/core: split out DAMOS-charged region skip logic into a new function ANDROID: Snapshot Mainline's version of checkpatch.pl ANDROID: KVM: arm64: Skip prefaulting ptes which will be modified later ANDROID: KVM: arm64: Introduce module_change_host_prot_range ANDROID: KVM: arm64: Relax checks in module_change_host_page_prot ANDROID: KVM: arm64: Optimise module_change_host_page_prot ANDROID: KVM: arm64: Prefault entries when splitting a block mapping ANDROID: virt: gunyah: Zero state_data after vcpu_run ANDROID: Update the ABI symbol list ANDROID: fs: Add vendor hooks for ep_create_wakeup_source & timerfd_create ANDROID: ABI: update symbol list for galaxy Linux 6.1.68 drm/i915: Skip some timing checks on BXT/GLK DSI transcoders drm/i915/sdvo: stop caching has_hdmi_monitor in struct intel_sdvo drm/i915/lvds: Use REG_BIT() & co. drm/i915/display: Drop check for doublescan mode in modevalid riscv: Kconfig: Add select ARM_AMBA to SOC_STARFIVE netfilter: nft_set_pipapo: skip inactive elements during set walk MIPS: Loongson64: Enable DMA noncoherent support MIPS: Loongson64: Handle more memory types passed from firmware MIPS: Loongson64: Reserve vgabios memory on boot KVM: SVM: Update EFER software model on CR0 trap for SEV-ES KVM: s390/mm: Properly reset no-dat MIPS: kernel: Clear FPU states when setting up kernel threads cifs: Fix flushing, invalidation and file size with FICLONE cifs: Fix flushing, invalidation and file size with copy_file_range() USB: gadget: core: adjust uevent timing on gadget unbind x86/CPU/AMD: Check vendor in the AMD microcode callback devcoredump: Send uevent once devcd is ready serial: 8250_omap: Add earlycon support for the AM654 UART controller serial: 8250: 8250_omap: Do not start RX DMA on THRI interrupt serial: 8250: 8250_omap: Clear UART_HAS_RHR_IT_DIS bit serial: sc16is7xx: address RX timeout interrupt errata ARM: PL011: Fix DMA support usb: typec: class: fix typec_altmode_put_partner to put plugs smb: client: fix potential NULL deref in parse_dfs_referrals() Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1" cifs: Fix non-availability of dedup breaking generic/304 parport: Add support for Brainboxes IX/UC/PX parallel cards serial: 8250_dw: Add ACPI ID for Granite Rapids-D UART usb: gadget: f_hid: fix report descriptor allocation drm/amdgpu: Update EEPROM I2C address for smu v13_0_0 drm/amdgpu: Add I2C EEPROM support on smu v13_0_6 drm/amdgpu: simplify amdgpu_ras_eeprom.c drm/amdgpu: Return from switch early for EEPROM I2C address drm/amdgpu: Remove second moot switch to set EEPROM I2C address drm/amdgpu: Add support for RAS table at 0x40000 drm/amdgpu: Decouple RAS EEPROM addresses from chips drm/amdgpu: Remove redundant I2C EEPROM address drm/amdgpu: Add EEPROM I2C address support for ip discovery drm/amdgpu: Update ras eeprom support for smu v13_0_0 and v13_0_10 drm/amdgpu: correct the amdgpu runtime dereference usage count drm/amd/amdgpu: Fix warnings in amdgpu/amdgpu_display.c drm/amdgpu: fix memory overflow in the IB test gpiolib: sysfs: Fix error handling on failed export x86/sev: Fix kernel crash due to late update to read-only ghcb_version perf: Fix perf_event_validate_size() arm64: dts: mt8183: kukui: Fix underscores in node names arm64: dts: mediatek: add missing space before { parisc: Fix asm operand number out of range build error in bug table parisc: Reduce size of the bug_table on 64-bit kernel by half tracing: Stop current tracer when resizing buffer tracing: Set actual size after ring buffer resize ring-buffer: Force absolute timestamp on discard of event LoongArch: BPF: Don't sign extend function return value LoongArch: BPF: Don't sign extend memory load operand misc: mei: client.c: fix problem of return '-EOVERFLOW' in mei_cl_write misc: mei: client.c: return negative error code in mei_cl_write hwtracing: hisi_ptt: Add dummy callback pmu::read() coresight: etm4x: Remove bogous __exit annotation for some functions coresight: etm4x: Make etm4_remove_dev() return void binder: fix memory leaks of spam and pending work arm64: dts: mediatek: mt8183-evb: Fix unit_address_vs_reg warning on ntc arm64: dts: mediatek: mt8183: Move thermal-zones to the root node arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory arm64: dts: mediatek: mt8195: Fix PM suspend/resume with venc clocks arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names arm64: dts: mediatek: cherry: Fix interrupt cells for MT6360 on I2C7 arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties arm64: dts: mediatek: mt7622: fix memory node warning check md/raid6: use valid sector values to determine if an I/O should wait on the reshape powercap: DTPM: Fix missing cpufreq_cpu_put() calls mm: fix oops when filemap_map_pmd() without prealloc_pte hugetlb: fix null-ptr-deref in hugetlb_vma_lock_write platform/surface: aggregator: fix recv_buf() return value regmap: fix bogus error on regcache_sync success r8169: fix rtl8125b PAUSE frames blasting when suspended packet: Move reference count in packet_sock to atomic_long_t tracing: Fix a possible race when disabling buffered events tracing: Fix incomplete locking when disabling buffered events tracing: Disable snapshot buffer when stopping instance tracers tracing: Always update snapshot buffer size checkstack: fix printed address cgroup_freezer: cgroup_freezing: Check if not frozen nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage() nilfs2: fix missing error check for sb_set_blocksize call ring-buffer: Test last update in 32bit version of __rb_time_read() ALSA: hda/realtek: Add Framework laptop 16 to quirks ALSA: hda/realtek: add new Framework laptop to quirks ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5 ALSA: pcm: fix out-of-bounds in snd_pcm_state_names ALSA: usb-audio: Add Pioneer DJM-450 mixer controls io_uring: fix mutex_unlock with unreferenced ctx nvme-pci: Add sleep quirk for Kingston drives io_uring/af_unix: disable sending io_uring over sockets ASoC: amd: yc: Fix non-functional mic on ASUS E1504FA kprobes: consistent rcu api usage for kretprobe holder rethook: Use __rcu pointer for rethook::handler iommu: Avoid more races around device probe md: don't leave 'MD_RECOVERY_FROZEN' in error path of md_set_readonly() md: introduce md_ro_state riscv: fix misaligned access handling of C.SWSP and C.SDSP ARM: dts: imx28-xea: Pass the 'model' property ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle() tracing: Fix a warning when allocating buffered events fails ARM: dts: imx6ul-pico: Describe the Ethernet PHY clock arm64: dts: imx8mp: imx8mq: Add parkmode-disable-ss-quirk on DWC3 arm64: dts: imx8mq: drop usb3-resume-missing-cas from usb drm/bridge: tc358768: select CONFIG_VIDEOMODE_HELPERS RDMA/irdma: Avoid free the non-cqp_request scratch RDMA/core: Fix umem iterator when PAGE_SIZE is greater then HCA pgsz ASoC: wm_adsp: fix memleak in wm_adsp_buffer_populate hwmon: (nzxt-kraken2) Fix error handling path in kraken2_probe() ASoC: codecs: lpass-tx-macro: set active_decimator correct default value hwmon: (acpi_power_meter) Fix 4.29 MW bug RDMA/irdma: Fix UAF in irdma_sc_ccq_get_cqe_info() RDMA/irdma: Refactor error handling in create CQP RDMA/bnxt_re: Correct module description string RDMA/rtrs-clt: Remove the warnings for req in_use check RDMA/rtrs-clt: Fix the max_send_wr setting RDMA/rtrs-srv: Destroy path files after making sure no IOs in-flight RDMA/rtrs-srv: Free srv_mr iu only when always_invalidate is true RDMA/rtrs-srv: Check return values while processing info request RDMA/rtrs-clt: Start hb after path_up RDMA/rtrs-srv: Do not unconditionally enable irq ASoC: fsl_sai: Fix no frame sync clock issue on i.MX8MP arm64: dts: rockchip: Expand reg size of vdec node for RK3399 arm64: dts: rockchip: Expand reg size of vdec node for RK3328 RDMA/irdma: Add wait for suspend on SQD RDMA/irdma: Do not modify to SQD on error RDMA/hns: Fix unnecessary err return when using invalid congest control algorithm tee: optee: Fix supplicant based device enumeration mm/damon/sysfs: eliminate potential uninitialized variable warning drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group psample: Require 'CAP_NET_ADMIN' when joining "packets" group bpf: sockmap, updating the sg structure should also update curr tcp: do not accept ACK of bytes we never sent netfilter: xt_owner: Fix for unsafe access of sk->sk_socket netfilter: nf_tables: validate family when identifying table via handle netfilter: nf_tables: bail out on mismatching dynset and set expressions netfilter: nf_tables: fix 'exist' matching on bigendian arches netfilter: nft_exthdr: add boolean DCCP option matching dt-bindings: interrupt-controller: Allow #power-domain-cells octeontx2-af: Update Tx link register range octeontx2-af: Add missing mcs flr handler call octeontx2-af: Fix mcs stats register address octeontx2-af: Fix mcs sa cam entries size octeontx2-af: Adjust Tx credits when MCS external bypass is disabled net: hns: fix fake link up on xge port net: hns: fix wrong head when modify the tx feature when sending packets net: atlantic: Fix NULL dereference of skb pointer in ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit() ionic: Fix dim work handling in split interrupt mode ionic: fix snprintf format length warning tcp: fix mid stream window clamp. net: bnxt: fix a potential use-after-free in bnxt_init_tc iavf: validate tx_coalesce_usecs even if rx_coalesce_usecs is zero i40e: Fix unexpected MFS warning message octeontx2-af: fix a use-after-free in rvu_npa_register_reporters xsk: Skip polling event check for unbound socket net: stmmac: fix FPE events losing octeontx2-pf: consider both Rx and Tx packet stats for adaptive interrupt coalescing arcnet: restoring support for multiple Sohard Arcnet cards platform/mellanox: Check devm_hwmon_device_register_with_groups() return value platform/mellanox: Add null pointer checks for devm_kasprintf() mlxbf-bootctl: correctly identify secure boot with development keys r8152: Add RTL8152_INACCESSIBLE to r8153_aldps_en() r8152: Add RTL8152_INACCESSIBLE to r8153_pre_firmware_1() r8152: Add RTL8152_INACCESSIBLE to r8156b_wait_loading_flash() r8152: Add RTL8152_INACCESSIBLE checks to more loops r8152: Rename RTL8152_UNPLUG to RTL8152_INACCESSIBLE hv_netvsc: rndis_filter needs to select NLS octeontx2-af: Check return value of nix_get_nixlf before using nixlf octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam ipv6: fix potential NULL deref in fib6_add() platform/x86: wmi: Skip blocks with zero instances of: dynamic: Fix of_reconfig_get_state_change() return value documentation platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi code dt: dt-extract-compatibles: Don't follow symlinks when walking tree dt: dt-extract-compatibles: Handle cfile arguments in generator function x86/tdx: Allow 32-bit emulation by default x86/entry: Do not allow external 0x80 interrupts x86/entry: Convert INT 0x80 emulation to IDTENTRY x86/coco: Disable 32-bit emulation by default on TDX and SEV x86: Introduce ia32_enabled() drm/amdgpu: correct chunk_ptr to a pointer to chunk. kconfig: fix memory leak from range properties tg3: Increment tx_dropped in tg3_tso_bug() tg3: Move the [rt]x_dropped counters to tg3_napi zstd: Fix array-index-out-of-bounds UBSAN warning netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test i2c: designware: Fix corrupted memory seen in the ISR hrtimers: Push pending hrtimers away from outgoing CPU earlier vdpa/mlx5: preserve CVQ vringh index ANDROID: Fix up merge issues in 6.1.64 in net/netfilter/nf_tables_api.c Reapply "binder: fix UAF caused by faulty buffer cleanup" ANDROID: Fix up unneeded crc break in af_vsock.c Revert "mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A" Revert "ASoC: soc-card: Add storage for PCI SSID" Revert "tracing: Have trace_event_file have ref counters" Revert "workqueue: Provide one lock class key per work_on_cpu() callsite" UPSTREAM: x86/sev: Check for user-space IOIO pointing to kernel space UPSTREAM: x86/sev: Check IOBM for IOIO exceptions from user-space FROMGIT: usb: typec: tcpm: skip checking port->send_discover in PD3.0 ANDROID: arm64: Disable workaround for CPU errata 2441007 and 2441009 Linux 6.1.67 Revert "wifi: cfg80211: fix CQM for non-range use" ANDROID: Update the ABI symbol list ANDROID: netlink: add netlink poll and hooks Linux 6.1.66 iomap: update ki_pos a little later in iomap_dio_complete x86/apic/msi: Fix misconfigured non-maskable MSI quirk x86/xen: fix percpu vcpu_info allocation xen: simplify evtchn_do_upcall() call maze xen: Allow platform PCI interrupt to be shared r8169: fix deadlock on RTL8125 in jumbo mtu mode r8169: disable ASPM in case of tx timeout drm/amd/display: Fix MPCC 1DLUT programming drm/amd/display: Fix the delta clamping for shaper LUT drm/amd/display: clean code-style issues in dcn30_set_mpc_shaper_3dlut drm/amd/display: Expand kernel doc for DC mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled mmc: core: add helpers mmc_regulator_enable/disable_vqmmc drm/amd/pm: fix a memleak in aldebaran_tables_init iommu/vt-d: Make context clearing consistent with context mapping iommu/vt-d: Disable PCI ATS in legacy passthrough mode iommu/vt-d: Add device_block_translation() helper iommu/vt-d: Allocate pasid table in device probe path iommu/vt-d: Omit devTLB invalidation requests when TES=0 cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily cpufreq: imx6q: don't warn for disabling a non-existing frequency drm/amd/display: Guard against invalid RPTR/WPTR being set drm/amd/display: Restore rptr/wptr for DMCUB as workaround spi: Fix null dereference on suspend fbdev: stifb: Make the STI next font pointer a 32-bit signed offset PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers octeontx2-af: Initialize 'cntr_val' to fix uninitialized symbol error PCI: Lengthen reset delay for VideoPropulsion Torrent QN16e card KVM: x86: Fix lapic timer interrupt lost after loading a snapshot. net: ravb: Keep reverse order of operations in ravb_remove() net: ravb: Stop DMA in case of failures on ravb_open() net: ravb: Start TX queues after HW initialization succeeded net: ravb: Make write access to CXR35 first before accessing other EMAC registers net: ravb: Use pm_runtime_resume_and_get() net: ravb: Check return value of reset_control_deassert() ravb: Fix races between ravb_tx_timeout_work() and net related ops r8169: prevent potential deadlock in rtl8169_close octeontx2-pf: Restore TC ingress police rules when interface is up octeontx2-af: Install TC filter rules in hardware based on priority octeontx2-pf: Fix adding mbox work queue entry when num_vfs > 64 net: stmmac: xgmac: Disable FPE MMC interrupts octeontx2-af: Fix possible buffer overflow selftests/net: mptcp: fix uninitialized variable warnings selftests/net: unix: fix unused variable compiler warning selftests/net: fix a char signedness issue selftests/net: ipsec: fix constant out of range uapi: propagate __struct_group() attributes to the container union dpaa2-eth: increase the needed headroom to account for alignment ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet usb: config: fix iteration issue in 'usb_get_bos_descriptor()' USB: core: Change configuration warnings to notices USB: xhci-plat: fix legacy PHY double init wifi: cfg80211: fix CQM for non-range use serial: sc16is7xx: add missing support for rs485 devicetree properties serial: sc16is7xx: Put IOControl register into regmap_volatile auxdisplay: hd44780: move cursor home after clear display command Input: xpad - add HyperX Clutch Gladiate Support btrfs: fix 64bit compat send ioctl arguments not initializing version member btrfs: make error messages more clear when getting a chunk map btrfs: send: ensure send_fd is writable btrfs: fix off-by-one when checking chunk map includes logical address btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod() btrfs: add dmesg output for first mount and last unmount of a filesystem parisc: Mark altinstructions read-only and 32-bit aligned parisc: Ensure 32-bit alignment on parisc unwind section parisc: Mark jump_table naturally aligned parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes parisc: Mark lock_aligned variables 16-byte aligned on SMP parisc: Use natural CPU alignment for bug_table parisc: Mark ex_table entries 32-bit aligned in uaccess.h parisc: Mark ex_table entries 32-bit aligned in assembly.h powerpc: Don't clobber f0/vs0 during fp|altivec register save KVM: PPC: Book3S HV: Fix KVM_RUN clobbering FP/VEC user registers iommu/vt-d: Add MTL to quirk list to skip TE disabling bcache: revert replacing IS_ERR_OR_NULL with IS_ERR dma-buf: fix check in dma_resv_add_fence cpufreq/amd-pstate: Fix the return value of amd_pstate_fast_switch() powercap: DTPM: Fix unneeded conversions to micro-Watts nvme: check for valid nvme_identify_ns() before using it dm verity: don't perform FEC for failed readahead IO dm verity: initialize fec io before freeing it drm/amd/display: fix ABM disablement drm/amd/display: Update min Z8 residency time to 2100 for DCN314 drm/amd/display: Use DRAM speed from validation for dummy p-state drm/amd/display: Remove min_dst_y_next_start check for Z8 drm/amd/display: Include udelay when waiting for INBOX0 ACK drm/amdgpu: Force order between a read and write to the same address drm/amd: Enable PCIe PME from D3 scsi: sd: Fix system start for ATA devices scsi: Change SCSI device boolean fields to single bit flags dm-verity: align struct dm_verity_fec_io properly ALSA: hda/realtek: Add supported ALC257 for ChromeOS ALSA: hda/realtek: Headset Mic VREF to 100% ALSA: hda: Disable power-save on KONTRON SinglePC mmc: block: Be sure to wait while busy in CQE error recovery mmc: block: Do not lose cache flush during CQE error recovery mmc: block: Retry commands in CQE error recovery mmc: cqhci: Fix task clearing in CQE error recovery mmc: cqhci: Warn of halt or task clear failure mmc: cqhci: Increase recovery halt timeout mmc: sdhci-pci-gli: Disable LPM during initialization firewire: core: fix possible memory leak in create_units() pinctrl: avoid reload of p state in list iteration smb: client: report correct st_size for SMB and NFS symlinks cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after EOF moved cifs: Fix FALLOC_FL_ZERO_RANGE by setting i_size if EOF moved Linux 6.1.65 io_uring: fix off-by one bvec index USB: dwc3: qcom: fix wakeup after probe deferral USB: dwc3: qcom: fix software node leak on probe errors usb: dwc3: set the dma max_seg_size usb: dwc3: Fix default mode initialization USB: dwc2: write HCINT with INTMASK applied usb: typec: tcpm: Skip hard reset when in error recovery USB: serial: option: don't claim interface 4 for ZTE MF290 USB: serial: option: fix FM101R-GL defines USB: serial: option: add Fibocom L7xx modules usb: cdnsp: Fix deadlock issue during using NCM gadget bcache: fixup lock c->root error bcache: fixup init dirty data errors bcache: prevent potential division by zero error bcache: check return value from btree_node_alloc_replacement() dm-delay: fix a race between delay_presuspend and delay_bio hv_netvsc: Mark VF as slave before exposing it to user-mode hv_netvsc: Fix race of register_netdevice_notifier and VF register hv_netvsc: fix race of netvsc and VF register_netdevice USB: serial: option: add Luat Air72*U series products s390/dasd: protect device queue against concurrent access io_uring/fs: consider link->flags when getting path for LINKAT bcache: fixup multi-threaded bch_sectors_dirty_init() wake-up race md: fix bi_status reporting in md_end_clone_io bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in btree_gc_coalesce() swiotlb-xen: provide the "max_mapping_size" method ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CVA arm64: dts: imx8mn-var-som: add 20ms delay to ethernet regulator enable NFSD: Fix checksum mismatches in the duplicate reply cache NFSD: Fix "start of NFS reply" pointer passed to nfsd_cache_update() ext4: make sure allocate pending entry not fail ext4: fix slab-use-after-free in ext4_es_insert_extent() ext4: using nofail preallocation in ext4_es_insert_extent() ext4: using nofail preallocation in ext4_es_insert_delayed_block() ext4: using nofail preallocation in ext4_es_remove_extent() ext4: use pre-allocated es in __es_remove_extent() ext4: use pre-allocated es in __es_insert_extent() ext4: factor out __es_alloc_extent() and __es_free_extent() ext4: add a new helper to check if es must be kept media: qcom: camss: Fix genpd cleanup media: qcom: camss: Fix V4L2 async notifier error path media: qcom: Initialise V4L2 async notifier later media: camss: Convert to platform remove callback returning void media: camss: Split power domain management MIPS: KVM: Fix a build warning about variable set but not used cifs: fix leak of iface for primary channel cifs: account for primary channel in the interface list cifs: distribute channels across interfaces based on speed cifs: print last update time for interface list smb3: allow dumping session and tcon id to improve stats analysis and debugging cifs: minor cleanup of some headers lockdep: Fix block chain corruption USB: dwc3: qcom: fix ACPI platform device leak USB: dwc3: qcom: fix resource leaks on probe deferral nvmet: nul-terminate the NQNs passed in the connect command i40e: Fix adding unsupported cloud filters i40e: use ERR_PTR error print in i40e messages arm64: mm: Fix "rodata=on" when CONFIG_RODATA_FULL_DEFAULT_ENABLED=y mm,kfence: decouple kfence from page granularity mapping judgement afs: Fix file locking on R/O volumes to operate in local mode afs: Return ENOENT if no cell DNS record can be found net: axienet: Fix check for partial TX checksum amd-xgbe: propagate the correct speed and duplex status amd-xgbe: handle the corner-case during tx completion amd-xgbe: handle corner-case during sfp hotplug octeontx2-pf: Fix ntuple rule creation to direct packet to VF with higher Rx queue than its PF arm/xen: fix xen_vcpu_info allocation alignment net/smc: avoid data corruption caused by decline net: usb: ax88179_178a: fix failed operations during ax88179_reset ipv4: Correct/silence an endian warning in __ip_do_redirect HID: fix HID device resource race between HID core and debugging support drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full drm/i915: do not clean GT table on error path ata: pata_isapnp: Add missing error check for devm_ioport_map() octeontx2-pf: Fix memory leak during interface down wireguard: use DEV_STATS_INC() drm/panel: simple: Fix Innolux G101ICE-L01 timings drm/panel: simple: Fix Innolux G101ICE-L01 bus flags drm/panel: auo,b101uan08.3: Fine tune the panel power sequence drm/panel: boe-tv101wum-nl6: Fine tune the panel power sequence afs: Make error on cell lookup failure consistent with OpenAFS afs: Fix afs_server_list to be cleaned up with RCU Revert "inet: shrink struct flowi_common" Revert "mfd: core: Un-constify mfd_cell.of_reg" Revert "arm64/arm: xen: enlighten: Fix KPTI checks" Revert "virtio/vsock: replace virtio_vsock_pkt with sk_buff" Revert "vsock/virtio: remove socket from connected/bound list on shutdown" Revert "virtio/vsock: don't use skbuff state to account credit" Revert "virtio/vsock: remove redundant 'skb_pull()' call" Revert "virtio/vsock: don't drop skbuff on copy failure" Revert "virtio/vsock: fix leaks due to missing skb owner" Revert "virtio/vsock: Fix uninit-value in virtio_transport_recv_pkt()" Revert "virtio/vsock: fix header length on skb merging" Revert "vsock/loopback: use only sk_buff_head.lock to protect the packet queue" Linux 6.1.64 RISC-V: drop error print from riscv_hartid_to_cpuid() cxl/port: Fix NULL pointer access in devm_cxl_add_port() mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER Input: xpad - add VID for Turtle Beach controllers tracing: Have trace_event_file have ref counters powerpc/powernv: Fix fortify source warnings in opal-prd.c drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox drm/amd/display: Enable fast plane updates on DCN3.2 and above drm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer() drm/amdgpu: lower CS errors to debug severity drm/amdgpu: fix error handling in amdgpu_bo_list_get() drm/amdgpu: don't use ATRM for external devices drm/amdgpu: don't use pci_is_thunderbolt_attached() drm/amdgpu/smu13: drop compute workload workaround drm/amd/pm: Fix error of MACO flag setting code drm/i915: Fix potential spectre vulnerability drm/i915: Bump GLK CDCLK frequency when driving multiple pipes drm/amd/pm: Handle non-terminated overdrive commands. ext4: properly sync file size update after O_SYNC direct IO ext4: add missed brelse in update_backups ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks ext4: correct the start block of counting reserved clusters ext4: correct return value of ext4_convert_meta_bg ext4: mark buffer new if it is unwritten to avoid stale data exposure ext4: correct offset of gdb backup in non meta_bg group to update_backups ext4: apply umask if ACL support is disabled Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" media: qcom: camss: Fix csid-gen2 for test pattern generator media: qcom: camss: Fix invalid clock enable bit disjunction media: qcom: camss: Fix missing vfe_lite clocks check media: qcom: camss: Fix VFE-480 vfe_disable_output() media: qcom: camss: Fix VFE-17x vfe_disable_output() media: qcom: camss: Fix vfe_get() error jump media: qcom: camss: Fix pm_domain_on sequence in probe mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER r8169: add handling DASH when DASH is disabled r8169: fix network lost after resume on DASH systems mptcp: fix setsockopt(IP_TOS) subflow locking mptcp: add validity check for sending RM_ADDR mptcp: deal with large GSO size mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors mm: fix for negative counter: nr_file_hugepages mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2 riscv: kprobes: allow writing to x0 riscv: correct pt_level name via pgtable_l5/4_enabled riscv: mm: Update the comment of CONFIG_PAGE_OFFSET LoongArch: Mark __percpu functions as always inline nfsd: fix file memleak on client_opens_release dm-verity: don't use blocking calls from tasklets drm/mediatek/dp: fix memory leak on ->get_edid callback error path drm/mediatek/dp: fix memory leak on ->get_edid callback audio detection media: ccs: Correctly initialise try compose rectangle media: venus: hfi: add checks to handle capabilities from firmware media: venus: hfi: fix the check to handle session buffer requirement media: venus: hfi_parser: Add check to keep the number of codecs within range media: sharp: fix sharp encoding media: lirc: drop trailing space from scancode transmit f2fs: avoid format-overflow warning f2fs: do not return EFSCORRUPTED, but try to run online repair i2c: i801: fix potential race in i801_block_transaction_byte_by_byte net: phylink: initialize carrier state at creation net: dsa: lan9303: consequently nested-lock physical MDIO net: ethtool: Fix documentation of ethtool_sprintf() s390/ap: fix AP bus crash on early config change callback invocation i2c: designware: Disable TX_EMPTY irq while waiting for block length byte sbsa_gwdt: Calculate timeout with 64-bit math lsm: fix default return value for inode_getsecctx lsm: fix default return value for vm_enough_memory Revert "i2c: pxa: move to generic GPIO recovery" Revert ncsi: Propagate carrier gain/loss events to the NCSI controller cxl/region: Fix x1 root-decoder granularity calculations tools/testing/cxl: Define a fixed volatile configuration to parse cxl/mem: Move devm_cxl_add_endpoint() from cxl_core to cxl_mem cxl: Unify debug messages when calling devm_cxl_add_port() i3c: master: svc: fix random hot join failure since timeout error i3c: master: svc: add NACK check after start byte sent cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails cxl/region: Move region-position validation to a helper cxl/region: Cleanup target list on attach error cxl/region: Validate region mode vs decoder mode drm/amd/display: enable dsc_clk even if dsc_pg disabled Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables bluetooth: Add device 13d3:3571 to device tables bluetooth: Add device 0bda:887b to device tables Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0cb8:0xc559 clk: visconti: Fix undefined behavior bug in struct visconti_pll_provider clk: visconti: remove unused visconti_pll_provider::regmap cpufreq: stats: Fix buffer overflow detection in trans_stats() pmdomain: imx: Make imx pgc power domain also set the fwnode pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable ALSA: hda/realtek: Add quirks for HP Laptops ALSA: hda/realtek: Enable Mute LED on HP 255 G10 ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC ALSA: hda/realtek - Add Dell ALC295 to pin fall back table ALSA: hda/realtek: Enable Mute LED on HP 255 G8 ALSA: info: Fix potential deadlock at disconnection btrfs: zoned: wait for data BG to be finished on direct IO allocation xfs: recovery should not clear di_flushiter unconditionally cifs: do not reset chan_max if multichannel is not supported at mount cifs: force interface update before a fresh session setup cifs: reconnect helper should set reconnect for the right channel smb: client: fix potential deadlock when releasing mids smb: client: fix use-after-free bug in cifs_debug_data_proc_show() smb3: fix caching of ctime on setxattr smb3: fix touch -h of symlink smb3: fix creating FIFOs when mounting with "sfu" mount option fs: add ctime accessors infrastructure xhci: Enable RPM on controllers that support low-power states parisc/power: Fix power soft-off when running on qemu parisc/pgtable: Do not drop upper 5 address bits of physical address parisc: Prevent booting 64-bit kernels on PA1.x machines i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen i3c: master: svc: fix check wrong status register in irq handler i3c: master: svc: fix ibi may not return mandatory data byte i3c: master: svc: fix wrong data return when IBI happen during start frame i3c: master: svc: fix race condition in ibi work thread i3c: master: cdns: Fix reading status register mtd: cfi_cmdset_0001: Byte swap OTP info mm/memory_hotplug: use pfn math in place of direct struct page manipulation mm/cma: use nth_page() in place of direct struct page manipulation s390/cmma: fix detection of DAT pages dmaengine: stm32-mdma: correct desc prep when channel running mcb: fix error handling for different scenarios when parsing driver core: Release all resources during unbind before updating device links tracing: Have the user copy of synthetic event address use correct context i2c: core: Run atomic i2c xfer when !preemptible kernel/reboot: emergency_restart: Set correct system_state quota: explicitly forbid quota files from being encrypted jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev ASoC: codecs: wsa-macro: fix uninitialized stack variables with name prefix hid: lenovo: Resend all settings on reset_resume for compact keyboards selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests selftests/resctrl: Move _GNU_SOURCE define into Makefile selftests/resctrl: Remove duplicate feature check from CMT test netfilter: nf_tables: split async and sync catchall in two functions netfilter: nf_tables: remove catchall element in GC sync path ima: detect changes to the backing overlay file ima: annotate iint mutex to avoid lockdep false positive warnings mfd: qcom-spmi-pmic: Fix revid implementation mfd: qcom-spmi-pmic: Fix reference leaks in revid helper arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size ACPI: FPDT: properly handle invalid FPDT subtables firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit arm64: dts: qcom: ipq8074: Fix hwlock index for SMEM btrfs: don't arbitrarily slow down delalloc if we're committing rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects PM: hibernate: Clean up sync_read handling in snapshot_write_next() PM: hibernate: Use __get_safe_page() rather than touching the list arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM rcu/tree: Defer setting of jiffies during stall reset svcrdma: Drop connection after an RDMA Read error wifi: wilc1000: use vmm_table as array in wilc struct PCI: exynos: Don't discard .remove() callback PCI: kirin: Don't discard .remove() callback PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common() mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A mmc: sdhci_am654: fix start loop index for TAP value parsing mmc: vub300: fix an error code ksmbd: fix slab out of bounds write in smb_inherit_dacl() ksmbd: handle malformed smb1 message clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks clk: socfpga: Fix undefined behavior bug in struct stratix10_clock_data parisc/power: Add power soft-off when running on qemu parisc/pdc: Add width field to struct pdc_model arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer PCI: keystone: Don't discard .probe() callback PCI: keystone: Don't discard .remove() callback KEYS: trusted: Rollback init_trusted() consistently KEYS: trusted: tee: Refactor register SHM usage genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware mmc: meson-gx: Remove setting of CMD_CFG_ERROR wifi: ath11k: fix gtk offload status event locking wifi: ath11k: fix htt pktlog locking wifi: ath11k: fix dfs radar event locking wifi: ath11k: fix temperature event locking regmap: Ensure range selector registers are updated after cache sync ACPI: resource: Do IRQ override on TongFang GMxXGxx mm/damon/sysfs: check error from damon_sysfs_update_target() mm/damon: implement a function for max nr_accesses safe calculation mm/damon/ops-common: avoid divide-by-zero during region hotness calculation mm/damon/lru_sort: avoid divide-by-zero in hot threshold calculation watchdog: move softlockup_panic back to early_param mm/damon/sysfs: update monitoring target regions for online input commit mm/damon/sysfs: remove requested targets when online-commit inputs PCI/sysfs: Protect driver's D3cold preference from user space hvc/xen: fix event channel handling for secondary consoles hvc/xen: fix error path in xen_hvc_init() to always register frontend driver hvc/xen: fix console unplug tty: serial: meson: fix hard LOCKUP on crtscts mode tty/sysrq: replace smp_processor_id() with get_cpu() proc: sysctl: prevent aliased sysctls from getting passed to init audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare() audit: don't take task_lock() in audit_exe_compare() code path KVM: x86: Clear bit12 of ICR after APIC-write VM-exit KVM: x86: Ignore MSR_AMD64_TW_CFG access KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space x86/cpu/hygon: Fix the CPU topology evaluation for real crypto: x86/sha - load modules based on CPU features scsi: qla2xxx: Fix system crash due to bad pointer access scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers scsi: mpt3sas: Fix loop logic bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END bpf: Fix check_stack_write_fixed_off() to correctly spill imm randstruct: Fix gcc-plugin performance mode to stay in group powerpc/perf: Fix disabling BHRB and instruction sampling perf intel-pt: Fix async branch flags media: venus: hfi: add checks to perform sanity on queue pointers i915/perf: Fix NULL deref bugs with drm_dbg() calls cifs: fix check of rc in function generate_smb3signingkey cifs: spnego: add ';' in HOST_KEY_LEN tools/power/turbostat: Enable the C-state Pre-wake printing tools/power/turbostat: Fix a knl bug macvlan: Don't propagate promisc change to lower dev in passthru net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors net/mlx5e: Check return value of snprintf writing to fw_version buffer net/mlx5e: Reduce the size of icosq_str net/mlx5e: Fix pedit endianness net/mlx5e: fix double free of encap_header in update funcs net/mlx5e: fix double free of encap_header net: stmmac: avoid rx queue overrun net: stmmac: fix rx budget limit check netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval() netfilter: nf_conntrack_bridge: initialize err to 0 af_unix: fix use-after-free in unix_stream_read_actor() net: ethernet: cortina: Fix MTU max setting net: ethernet: cortina: Handle large frames net: ethernet: cortina: Fix max RX frame define bonding: stop the device in bond_setup_by_slave() ptp: annotate data-race around q->head and q->tail xen/events: fix delayed eoi list handling ppp: limit MRU to 64K net: mvneta: fix calls to page_pool_get_stats tipc: Fix kernel-infoleak due to uninitialized TLV value net: hns3: fix VF wrong speed and duplex issue net: hns3: fix VF reset fail issue net: hns3: fix variable may not initialized problem in hns3_init_mac_addr() net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs net: hns3: fix incorrect capability bit display for copper port net: hns3: add barrier in vf mailbox reply process net: hns3: fix add VLAN fail issue tty: Fix uninit-value access in ppp_sync_receive() ipvlan: add ipvlan_route_v6_outbound() helper net: set SOCK_RCU_FREE before inserting socket into hashtable vhost-vdpa: fix use after free in vhost_vdpa_probe() gfs2: Silence "suspicious RCU usage in gfs2_permission" warning SUNRPC: Fix RPC client cleaned up the freed pipefs dentries NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO SUNRPC: Add an IS_ERR() check back to where it was NFSv4.1: fix handling NFS4ERR_DELAY when testing for session trunking mtd: rawnand: meson: check return value of devm_kasprintf() mtd: rawnand: intel: check return value of devm_kasprintf() SUNRPC: ECONNRESET might require a rebind sched/core: Optimize in_task() and in_interrupt() a bit wifi: iwlwifi: Use FW rate for non-data frames mtd: rawnand: tegra: add missing check for platform_get_irq() pwm: Fix double shift bug drm/amdgpu: fix software pci_unplug on some chips ALSA: hda/realtek: Add quirk for ASUS UX7602ZM drm/qxl: prevent memory leak ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings i2c: dev: copy userspace array safely kgdb: Flush console before entering kgdb on panic drm/amd/display: Avoid NULL dereference of timing generator media: imon: fix access to invalid resource for the second interface media: ccs: Fix driver quirk struct documentation media: cobalt: Use FIELD_GET() to extract Link Width gfs2: fix an oops in gfs2_permission gfs2: ignore negated quota changes media: vivid: avoid integer overflow media: gspca: cpia1: shift-out-of-bounds in set_flicker i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data. virtio-blk: fix implicit overflow on virtio_max_dma_size i2c: sun6i-p2wi: Prevent potential division by zero i2c: fix memleak in i2c_new_client_device() i3c: mipi-i3c-hci: Fix out of bounds access in hci_dma_irq_handler 9p: v9fs_listxattr: fix %s null argument warning 9p/trans_fd: Annotate data-racy writes to file::f_flags usb: gadget: f_ncm: Always set current gadget in ncm_bind() f2fs: fix error handling of __get_node_page soundwire: dmi-quirks: update HP Omen match usb: dwc3: core: configure TX/RX threshold for DWC3_IP tty: vcc: Add check for kstrdup() in vcc_probe() thunderbolt: Apply USB 3.x bandwidth quirk only in software connection manager iio: adc: stm32-adc: harden against NULL pointer deref in stm32_adc_probe() mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs exfat: support handle zero-size directory HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W crypto: hisilicon/qm - prevent soft lockup in receive loop ASoC: Intel: soc-acpi-cht: Add Lenovo Yoga Tab 3 Pro YT3-X90 quirk PCI: Use FIELD_GET() in Sapphire RX 5600 XT Pulse quirk misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller PCI: Disable ATS for specific Intel IPU E2000 devices PCI: Extract ATS disabling to a helper function PCI: Use FIELD_GET() to extract Link Width scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup() PCI: Do error check on own line to split long "if" conditions atm: iphase: Do PCI error checks on own line PCI: mvebu: Use FIELD_PREP() with Link Width PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields ALSA: hda: Fix possible null-ptr-deref when assigning a stream ARM: 9320/1: fix stack depot IRQ stack filter HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround jfs: fix array-index-out-of-bounds in diAlloc jfs: fix array-index-out-of-bounds in dbFindLeaf fs/jfs: Add validity check for db_maxag and db_agpref fs/jfs: Add check for negative db_l2nbperpage scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool scsi: hisi_sas: Set debugfs_dir pointer to NULL after removing debugfs RDMA/hfi1: Use FIELD_GET() to extract Link Width ASoC: SOF: ipc4: handle EXCEPTION_CAUGHT notification from firmware crypto: pcrypt - Fix hungtask for PADATA_RESET ASoC: SOF: Pass PCI SSID to machine driver ASoC: soc-card: Add storage for PCI SSID selftests/efivarfs: create-read: fix a resource leak arm64: dts: ls208xa: use a pseudo-bus to constrain usb dma size drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL drm/amdkfd: Fix shift out-of-bounds issue drm/panel: st7703: Pick different reset sequence drm/amdgpu/vkms: fix a possible null pointer dereference drm/radeon: fix a possible null pointer dereference drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference drm/panel: fix a possible null pointer dereference drm/amdgpu: Fix potential null pointer derefernce drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 drm/msm/dp: skip validity check for DP CTS EDID checksum drm: vmwgfx_surface.c: copy user-array safely drm_lease.c: copy user-array safely kernel: watch_queue: copy user-array safely kernel: kexec: copy user-array safely string.h: add array-wrappers for (v)memdup_user() drm/amd/display: use full update for clip size increase of large plane source drm/amd: Update `update_pcie_parameters` functions to use uint8_t arguments drm/amdkfd: Fix a race condition of vram buffer unref in svm code drm/amdgpu: not to save bo in the case of RAS err_event_athub drm/komeda: drop all currently held locks if deadlock happens drm/gma500: Fix call trace when psb_gem_mm_init() fails platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e platform/chrome: kunit: initialize lock for fake ec_dev tsnep: Fix tsnep_request_irq() format-overflow warning ACPI: EC: Add quirk for HP 250 G7 Notebook PC Bluetooth: Fix double free in hci_conn_cleanup Bluetooth: btusb: Add date->evt_skb is NULL check bpf: Ensure proper register state printing for cond jumps vsock: read from socket's error queue wifi: ath10k: Don't touch the CE interrupt registers after power up net: annotate data-races around sk->sk_dst_pending_confirm net: annotate data-races around sk->sk_tx_queue_mapping wifi: ath10k: fix clang-specific fortify warning wifi: ath9k: fix clang-specific fortify warnings bpf: Detect IP == ksym.end as part of BPF program atl1c: Work around the DMA RX overflow issue wifi: mac80211: don't return unset power in ieee80211_get_tx_power() wifi: mac80211_hwsim: fix clang-specific fortify warning wifi: plfxlc: fix clang-specific fortify warning x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size workqueue: Provide one lock class key per work_on_cpu() callsite cpu/hotplug: Don't offline the last non-isolated CPU smp,csd: Throw an error if a CSD lock is stuck for too long clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware clocksource/drivers/timer-imx-gpt: Fix potential memory leak selftests/lkdtm: Disable CONFIG_UBSAN_TRAP in test config srcu: Fix srcu_struct node grpmask overflow on 64-bit systems perf/core: Bail out early if the request AUX area is out of bound lib/generic-radix-tree.c: Don't overflow in peek() locking/ww_mutex/test: Fix potential workqueue corruption Linux 6.1.63 virtio/vsock: fix header length on skb merging virtio/vsock: Fix uninit-value in virtio_transport_recv_pkt() virtio/vsock: fix leaks due to missing skb owner vsock/loopback: use only sk_buff_head.lock to protect the packet queue virtio/vsock: don't drop skbuff on copy failure virtio/vsock: remove redundant 'skb_pull()' call virtio/vsock: don't use skbuff state to account credit wifi: cfg80211: fix kernel-doc for wiphy_delayed_work_flush() btrfs: use u64 for buffer sizes in the tree search ioctls Revert "mmc: core: Capture correct oemid-bits for eMMC cards" x86/amd_nb: Use Family 19h Models 60h-7Fh Function 4 IDs io_uring/net: ensure socket is marked connected on connect retry tracing/kprobes: Fix the order of argument descriptions fbdev: fsl-diu-fb: mark wr_reg_wa() static fbdev: imsttfb: fix a resource leak in probe fbdev: imsttfb: Fix error path of imsttfb_probe() spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies ASoC: dapm: fix clock get name ASoC: hdmi-codec: register hpd callback on component probe ASoC: mediatek: mt8186_mt6366_rt1019_rt5682s: trivial: fix error messages drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses netfilter: nft_redir: use `struct nf_nat_range2` throughout and deduplicate eval call-backs netfilter: xt_recent: fix (increase) ipv6 literal buffer length i2c: iproc: handle invalid slave state r8169: respect userspace disabling IFF_MULTICAST vsock/virtio: remove socket from connected/bound list on shutdown virtio/vsock: replace virtio_vsock_pkt with sk_buff blk-core: use pr_warn_ratelimited() in bio_check_ro() nbd: fix uaf in nbd_open tg3: power down device only on SYSTEM_POWER_OFF nvme: fix error-handling for io_uring nvme-passthrough net/smc: put sk reference if close work was canceled net/smc: allow cdc msg send rather than drop it with NULL sndbuf_desc net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT octeontx2-pf: Free pending and dropped SQEs octeontx2-pf: qos send queues management octeontx2-pf: Rename tot_tx_queues to non_qos_queues selftests: pmtu.sh: fix result checking net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs Fix termination state for idr_for_each_entry_ul() net: r8169: Disable multicast filter for RTL8168H and RTL8107E dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. dccp: Call security_inet_conn_request() after setting IPv4 addresses. net: page_pool: add missing free_percpu when page_pool_init fail octeontx2-pf: Fix holes in error code octeontx2-pf: Fix error codes inet: shrink struct flowi_common bpf: Check map->usercnt after timer->timer is assigned tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING hsr: Prevent use after free in prp_create_tagged_frame() llc: verify mac len before reading mac header watchdog: ixp4xx: Make sure restart always works Input: synaptics-rmi4 - fix use after free in rmi_unregister_function() pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume pwm: sti: Reduce number of allocations and drop usage of chip_data regmap: prevent noinc writes from clobbering cache media: cec: meson: always include meson sub-directory in Makefile media: dvb-usb-v2: af9035: fix missing unlock media: cadence: csi2rx: Unregister v4l2 async notifier media: cedrus: Fix clock/reset sequence media: vidtv: mux: Add check and kfree for kstrdup media: vidtv: psi: Add check for kstrdup media: s3c-camif: Avoid inappropriate kfree() media: mtk-jpegenc: Fix bug in JPEG encode quality selection media: amphion: handle firmware debug message media: bttv: fix use after free error due to btv->timeout timer media: ov5640: Fix a memory leak when ov5640_probe fails media: i2c: max9286: Fix some redundant of_node_put() calls media: ov5640: fix vblank unchange issue when work at dvp mode media: ov5640: Drop dead code using frame_interval media: verisilicon: Do not enable G2 postproc downscale if source is narrower than destination media: hantro: Check whether reset op is defined before use pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() pcmcia: ds: fix refcount leak in pcmcia_device_add() pcmcia: cs: fix possible hung task and memory leak pccardd() rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call virt: sevguest: Fix passing a stack buffer as a scatterlist target x86/sev: Change snp_guest_issue_request()'s fw_err argument crypto: ccp - Name -1 return value as SEV_RET_NO_FW_CALL cxl/mem: Fix shutdown order i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs 9p/net: fix possible memory leak in p9_check_errors() perf hist: Add missing puts to hist__account_cycles perf machine: Avoid out of bounds LBR memory read usb: host: xhci-plat: fix possible kernel oops while resuming xhci: Loosen RPM as default policy to cover for AMD xHC 1.1 powerpc/pseries: fix potential memory leak in init_cpu_associativity() powerpc/imc-pmu: Use the correct spinlock initializer. powerpc/vas: Limit open window failure messages in log bufffer powerpc/xive: Fix endian conversion size powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro modpost: fix ishtp MODULE_DEVICE_TABLE built on big-endian host modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host powerpc: Only define __parse_fpscr() when required interconnect: qcom: sm8350: Set ACV enable_mask interconnect: qcom: sm8350: Retire DEFINE_QBCM interconnect: qcom: sm8150: Set ACV enable_mask interconnect: qcom: sm8150: Retire DEFINE_QBCM interconnect: qcom: sm8150: Drop IP0 interconnects interconnect: move ignore_list out of of_count_icc_providers() interconnect: qcom: sm6350: Set ACV enable_mask interconnect: qcom: sm6350: Retire DEFINE_QBCM interconnect: qcom: sdm845: Set ACV enable_mask interconnect: qcom: sdm845: Retire DEFINE_QBCM interconnect: qcom: sc8280xp: Set ACV enable_mask interconnect: qcom: sc8180x: Set ACV enable_mask interconnect: qcom: sc7280: Set ACV enable_mask interconnect: qcom: sc7180: Set ACV enable_mask interconnect: qcom: sc7180: Retire DEFINE_QBCM f2fs: fix to initialize map.m_pblk in f2fs_precache_extents() dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() USB: usbip: fix stub_dev hub disconnect tools: iio: iio_generic_buffer ensure alignment misc: st_core: Do not call kfree_skb() under spin_lock_irqsave() dmaengine: ti: edma: handle irq_of_parse_and_map() errors usb: chipidea: Simplify Tegra DMA alignment code usb: chipidea: Fix DMA overwrite for Tegra usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency dmaengine: idxd: Register dsa_bus_type before registering idxd sub-drivers perf record: Fix BTF type checks in the off-cpu profiling pinctrl: renesas: rzg2l: Make reverse order of enable() for disable() livepatch: Fix missing newline character in klp_resolve_symbols() tty: tty_jobctrl: fix pid memleak in disassociate_ctty() f2fs: compress: fix to avoid redundant compress extension f2fs: compress: fix to avoid use-after-free on dic f2fs: compress: fix deadloop in f2fs_write_cache_pages() f2fs: convert f2fs_write_cache_pages() to use filemap_get_folios_tag() filemap: add filemap_get_folios_tag() perf kwork: Set ordered_events to true in 'struct perf_tool' perf kwork: Add the supported subcommands to the document perf kwork: Fix incorrect and missing free atom in work_push_atom() iio: frequency: adf4350: Use device managed functions and fix power down issue. perf stat: Fix aggr mode initialization apparmor: fix invalid reference on profile->disconnected apparmor: test: make static symbols visible during kunit testing kunit: add macro to allow conditionally exposing static symbols to tests leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu' leds: pwm: Don't disable the PWM when the LED should be off leds: turris-omnia: Do not use SMBUS calls leds: turris-omnia: Drop unnecessary mutex locking mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs dt-bindings: mfd: mt6397: Split out compatible for MediaTek MT6366 PMIC dt-bindings: mfd: mt6397: Add binding for MT6357 mfd: dln2: Fix double put in dln2_probe mfd: core: Ensure disabled devices are skipped without aborting mfd: core: Un-constify mfd_cell.of_reg IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF ASoC: ams-delta.c: use component after check crypto: qat - fix deadlock in backlog processing padata: Fix refcnt handling in padata_free_shell() ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event() HID: logitech-hidpp: Revert "Don't restart communication if not necessary" HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only HID: logitech-hidpp: Remove HIDPP_QUIRK_NO_HIDINPUT quirk Revert "HID: logitech-hidpp: add a module parameter to keep firmware gestures" sh: bios: Revive earlyprintk support hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip HID: cp2112: Make irq_chip immutable RDMA/hfi1: Workaround truncation compilation error scsi: ufs: core: Leave space for '\0' in utf8 desc string ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe ASoC: SOF: core: Ensure sof_ops_free() is still called when probe never ran. RDMA/hns: The UD mode can only be configured with DCQCN RDMA/hns: Add check for SL RDMA/hns: Fix signed-unsigned mixed comparisons RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common() RDMA/hns: Fix printing level of asynchronous events IB/mlx5: Fix rdma counter binding for RAW QP ASoC: fsl: mpc5200_dma.c: Fix warning of Function parameter or member not described ext4: move 'ix' sanity check to corrent position ARM: 9321/1: memset: cast the constant byte to unsigned char crypto: hisilicon/qm - fix PF queue parameter issue crypto: hisilicon/qm - split a debugfs.c from qm crypto: hisilicon/qm - modify the process of regs dfx crypto: hisilicon/qm - delete redundant null assignment operations hid: cp2112: Fix duplicate workqueue initialization PCI: vmd: Correct PCI Header Type Register's multi-function check crypto: qat - increase size of buffers crypto: caam/jr - fix Chacha20 + Poly1305 self test failure crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure nd_btt: Make BTT lanes preemptible libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value scsi: ibmvfc: Fix erroneous use of rtas_busy_delay with hcall return code crypto: qat - fix unregistration of crypto algorithms crypto: qat - extend buffer list interface crypto: qat - generalize crypto request buffers crypto: qat - change bufferlist logic interface crypto: qat - rename bufferlist functions crypto: qat - relocate bufferlist logic crypto: qat - ignore subsequent state up commands RDMA/core: Use size_{add,sub,mul}() in calls to struct_size() hwrng: geode - fix accessing registers hwrng: bcm2835 - Fix hwrng throughput regression crypto: hisilicon/hpre - Fix a erroneous check after snprintf() KEYS: Include linux/errno.h in linux/verification.h ALSA: hda: cs35l41: Undo runtime PM changes at driver exit time ALSA: hda: cs35l41: Fix unbalanced pm_runtime_get() ASoC: cs35l41: Undo runtime PM changes at driver exit time ASoC: cs35l41: Verify PM runtime resume errors in IRQ handler module/decompress: use vmalloc() for gzip decompression workspace selftests/resctrl: Ensure the benchmark commands fits to its array selftests/pidfd: Fix ksft print formats arm64: tegra: Use correct interrupts for Tegra234 TKE arm64: dts: imx8mn: Add sound-dai-cells to micfil node arm64: dts: imx8mm: Add sound-dai-cells to micfil node arm64: dts: imx8qm-ss-img: Fix jpegenc compatible entry clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped ARM: dts: am3517-evm: Fix LED3/4 pinmux firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging firmware: arm_ffa: Assign the missing IDR allocation ID to the FFA device arm64: dts: ti: k3-am62a7-sk: Drop i2c-1 to 100Khz firmware: ti_sci: Mark driver as non removable kunit: Fix missed memory release in kunit_free_suite_set() soc: qcom: llcc: Handle a second device without data corruption ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator arm64: dts: qcom: apq8016-sbc: Add missing ADV7533 regulators ARM64: dts: marvell: cn9310: Use appropriate label for spi1 pins arm64: dts: qcom: sdm845-mtp: fix WiFi configuration arm64: dts: qcom: sm8350: fix pinctrl for UART18 arm64: dts: qcom: sm8150: add ref clock to PCIe PHYs arm64: dts: qcom: sc7280: Add missing LMH interrupts arm64: dts: qcom: msm8992-libra: drop duplicated reserved memory arm64: dts: qcom: msm8916: Fix iommu local address range arm64: dts: qcom: sc7280: link usb3_phy_wrapper_gcc_usb30_pipe_clk arm64: dts: qcom: sdm845: cheza doesn't support LMh node ARM: dts: renesas: blanche: Fix typo in GP_11_2 pin name perf: hisi: Fix use-after-free when register pmu fails drivers/perf: hisi_pcie: Check the type first in pmu::event_init() perf/arm-cmn: Fix DTC domain detection perf/arm-cmn: Revamp model detection drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() for hisi_hns3_pmu uninit process drm: mediatek: mtk_dsi: Fix NO_EOT_PACKET settings/handling clocksource/drivers/arm_arch_timer: limit XGene-1 workaround drm/msm/dsi: free TX buffer in unbind drm/msm/dsi: use msm_gem_kernel_put to free TX buffer xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled xenbus: fix error exit in xenbus_init() drm/rockchip: Fix type promotion bug in rockchip_gem_iommu_map() arm64/arm: xen: enlighten: Fix KPTI checks drm/bridge: lt9611uxc: fix the race in the error path gpu: host1x: Correct allocated size for contexts drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe() drm/mediatek: Fix iommu fault during crtc enabling drm/mediatek: Fix iommu fault by swapping FBs after updating plane state io_uring/kbuf: Allow the full buffer id space for provided buffers io_uring/kbuf: Fix check of BID wrapping in provided buffers drm/amd/display: Bail from dm_check_crtc_cursor if no relevant change drm/amd/display: Refactor dm_get_plane_scale helper drm/amd/display: Check all enabled planes in dm_check_crtc_cursor drm/amdkfd: fix some race conditions in vram buffer alloc/free of svm code drm/bridge: tc358768: Fix tc358768_ns_to_cnt() drm/bridge: tc358768: Clean up clock period code drm/bridge: tc358768: Rename dsibclk to hsbyteclk drm/bridge: tc358768: Use dev for dbg prints, not priv->dev drm/bridge: tc358768: Print logical values, not raw register values drm/bridge: tc358768: Use struct videomode drm/bridge: tc358768: remove unused variable drm/bridge: tc358768: Fix bit updates drm/bridge: tc358768: Fix use of uninitialized variable drm/bridge: lt8912b: Add missing drm_bridge_attach call drm/bridge: lt8912b: Manually disable HPD only if it was enabled drm/bridge: lt8912b: Fix crash on bridge detach drm/bridge: lt8912b: Fix bridge_detach drm/bridge: lt8912b: Add hot plug detection drm: bridge: it66121: Fix invalid connector dereference drm/radeon: possible buffer overflow drm/rockchip: vop2: Add missing call to crtc reset helper drm/rockchip: vop2: Don't crash for invalid duplicate_state drm/rockchip: vop: Fix call to crtc reset helper drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs hte: tegra: Fix missing error code in tegra_hte_test_probe() hwmon: (sch5627) Disallow write access if virtual registers are locked hwmon: (sch5627) Use bit macros when accessing the control register Revert "hwmon: (sch56xx-common) Add automatic module loading on supported devices" Revert "hwmon: (sch56xx-common) Add DMI override table" hwmon: (coretemp) Fix potentially truncated sysfs attribute name hwmon: (axi-fan-control) Fix possible NULL pointer dereference platform/x86: wmi: Fix opening of char device platform/x86: wmi: Fix probe failure when failing to register WMI devices clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data clk: mediatek: clk-mt6765: Add check for mtk_alloc_clk_data clk: npcm7xx: Fix incorrect kfree clk: ti: fix double free in of_ti_divider_clk_setup() clk: ti: change ti_clk_register[_omap_hw]() API clk: keystone: pll: fix a couple NULL vs IS_ERR() checks spi: nxp-fspi: use the correct ioremap function clk: linux/clk-provider.h: fix kernel-doc warnings and typos clk: renesas: rzg2l: Fix computation formula clk: renesas: rzg2l: Use FIELD_GET() for PLL register fields clk: renesas: rzg2l: Trust value returned by hardware clk: renesas: rzg2l: Lock around writes to mux register clk: renesas: rzg2l: Wait for status bit of SD mux before continuing clk: renesas: rcar-gen3: Extend SDnH divider table clk: imx: imx8qxp: Fix elcdif_pll clock clk: imx: imx8mq: correct error handling path clk: imx: Select MXC_CLK for CLK_IMX8QXP regulator: mt6358: Fail probe on unknown chip ID clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src clk: qcom: mmcc-msm8998: Fix the SMMU GDSC clk: qcom: mmcc-msm8998: Don't check halt bit on some branch clks clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies clk: qcom: gcc-msm8996: Remove RPM bus clocks spi: tegra: Fix missing IRQ check in tegra_slink_probe() regmap: debugfs: Fix a erroneous check after snprintf() ipvlan: properly track tx_errors net: add DEV_STATS_READ() helper ipv6: avoid atomic fragment on GSO packets ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() bpf: Fix unnecessary -EBUSY from htab_lock_bucket Bluetooth: hci_sync: Fix Opcode prints in bt_dev_dbg/err wifi: iwlwifi: empty overflow queue during flush wifi: iwlwifi: pcie: synchronize IRQs before NAPI wifi: iwlwifi: call napi_synchronize() before freeing rx/tx queues tcp: fix cookie_init_timestamp() overflows chtls: fix tp->rcv_tstamp initialization net: skb_find_text: Ignore patterns extending past 'to' selftests: netfilter: test for sctp collision processing in nf_conntrack r8169: fix rare issue with broken rx after link-down on RTL8125 r8169: use tp_to_dev instead of open code thermal: core: prevent potential string overflow netfilter: nf_tables: Drop pointless memset when dumping rules wifi: wfx: fix case where rates are out of order PM / devfreq: rockchip-dfi: Make pmu regmap mandatory can: dev: can_put_echo_skb(): don't crash kernel if can_priv::echo_skb is accessed out of bounds can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on() can: dev: can_restart(): don't crash kernel if carrier is OK wifi: ath11k: fix Tx power value during active CAC ACPI: video: Add acpi_backlight=vendor quirk for Toshiba Portégé R100 ACPI: property: Allow _DSD buffer data only for byte accessors wifi: rtlwifi: fix EDCA limit set by BT coexistence tcp_metrics: do not create an entry from tcp_init_metrics() tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics() tcp_metrics: add missing barriers on delete wifi: ath: dfs_pattern_detector: Fix a memory initialization issue wifi: mt76: mt7915: fix beamforming availability check wifi: mt76: mt7603: improve stuck beacon handling wifi: mt76: mt7603: improve watchdog reset reliablity wifi: mt76: mt7603: rework/fix rx pse hang check wifi: ath11k: fix boot failure with one MSI vector wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file() net: ethernet: mtk_wed: fix EXT_INT_STATUS_RX_FBUF definitions for MT7986 SoC net: spider_net: Use size_add() in call to struct_size() tipc: Use size_add() in calls to struct_size() tls: Use size_add() in call to struct_size() tls: Only use data field in crypto completion function mlxsw: Use size_mul() in call to struct_size() gve: Use size_add() in call to struct_size() tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed udp: add missing WRITE_ONCE() around up->encap_rcv selftests/bpf: Correct map_fd to data_fd in tailcalls iavf: Fix promiscuous mode configuration flow messages i40e: fix potential memory leaks in i40e_remove() wifi: iwlwifi: honor the enable_ini value wifi: mac80211: fix # of MSDU in A-MSDU calculation wifi: mac80211: move sched-scan stop work to wiphy work wifi: mac80211: move offchannel works to wiphy work wifi: mac80211: move scan work to wiphy work wifi: mac80211: move radar detect work to wiphy work wifi: cfg80211: add flush functions for wiphy work genirq/matrix: Exclude managed interrupts in irq_matrix_allocated() string: Adjust strtomem() logic to allow for smaller sources pstore/platform: Add check for kstrdup drivers/clocksource/timer-ti-dm: Don't call clk_get_rate() in stop function x86/boot: Fix incorrect startup_gdt_descr.size x86/sev-es: Allow copy_from_kernel_nofault() in earlier boot ACPI/NUMA: Apply SRAT proximity domain to entire CFMWS window x86/numa: Introduce numa_fill_memblks() futex: Don't include process MM in futex key on no-MMU x86/srso: Fix SBPB enablement for (possible) future fixed HW writeback, cgroup: switch inodes with dirty timestamps to release dying cgwbs vfs: fix readahead(2) on block devices sched: Fix stop_one_cpu_nowait() vs hotplug objtool: Propagate early errors sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = 0 sched/uclamp: Set max_spare_cap_cpu even if max_spare_cap is 0 iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user() sched/fair: Fix cfs_rq_is_decayed() on !SMP hwmon: (nct6775) Fix incorrect variable reuse in fan_div calculation Linux 6.1.62 ASoC: SOF: sof-pci-dev: Fix community key quirk detection ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection misc: pci_endpoint_test: Add deviceID for J721S2 PCIe EP device support tty: 8250: Add Brainboxes Oxford Semiconductor-based quirks tty: 8250: Add support for Intashield IX cards tty: 8250: Add support for additional Brainboxes PX cards tty: 8250: Fix up PX-803/PX-857 tty: 8250: Fix port count of PX-257 tty: 8250: Add support for Intashield IS-100 tty: 8250: Add support for Brainboxes UP cards tty: 8250: Add support for additional Brainboxes UC cards tty: 8250: Remove UC-257 and UC-431 tty: n_gsm: fix race condition in status line change on dead connections usb: raw-gadget: properly handle interrupted requests usb: typec: tcpm: Fix NULL pointer dereference in tcpm_pd_svdm() usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device ALSA: usb-audio: add quirk flag to enable native DSD for McIntosh devices mmap: fix error paths with dup_anon_vma() mm/mempolicy: fix set_mempolicy_home_node() previous VMA pointer x86: KVM: SVM: always update the x2avic msr interception perf evlist: Avoid frequency mode for the dummy event power: supply: core: Use blocking_notifier_call_chain to avoid RCU complaint ceph_wait_on_conflict_unlink(): grab reference before dropping ->d_lock io_uring: kiocb_done() should *not* trust ->ki_pos if ->{read,write}_iter() failed powerpc/mm: Fix boot crash with FLATMEM r8152: Check for unplug in r8153b_ups_en() / r8153c_ups_en() r8152: Check for unplug in rtl_phy_patch_request() net: chelsio: cxgb4: add an error code check in t4_load_phy_fw drm/amdgpu: Reserve fences for VM update platform/mellanox: mlxbf-tmfifo: Fix a warning message netfilter: nf_tables: audit log object reset once per table LoongArch: Replace kmap_atomic() with kmap_local_page() in copy_user_highpage() LoongArch: Export symbol invalid_pud_table for modules building gpu/drm: Eliminate DRM_SCHED_PRIORITY_UNSET drm/amdgpu: Unset context priority is now invalid scsi: mpt3sas: Fix in error path fbdev: uvesafb: Call cn_del_callback() at the end of uvesafb_exit() fbdev: omapfb: fix some error codes drm/ttm: Reorder sys manager cleanup step ASoC: codecs: tas2780: Fix log of failed reset via I2C. ASoC: rt5650: fix the wrong result of key button efi: fix memory leak in krealloc failure handling netfilter: nfnetlink_log: silence bogus compiler warning spi: npcm-fiu: Fix UMA reads when dummy.nbytes == 0 fs/ntfs3: Avoid possible memory leak fs/ntfs3: Fix directory element type detection fs/ntfs3: Fix NULL pointer dereference on error in attr_allocate_frame() fs/ntfs3: Fix possible NULL-ptr-deref in ni_readpage_cmpr() fs/ntfs3: Use kvmalloc instead of kmalloc(... __GFP_NOWARN) fs/ntfs3: Write immediately updated ntfs state fs/ntfs3: Add ckeck in ni_update_parent() fbdev: atyfb: only use ioremap_uc() on i386 and ia64 Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport powerpc/85xx: Fix math emulation exception dmaengine: ste_dma40: Fix PM disable depth imbalance in d40_probe irqchip/stm32-exti: add missing DT IRQ flag translation irqchip/riscv-intc: Mark all INTC nodes as initialized net: sched: cls_u32: Fix allocation size in u32_init() ASoC: tlv320adc3xxx: BUG: Correct micbias setting coresight: tmc-etr: Disable warnings for allocation failures ASoC: simple-card: fixup asoc_simple_probe() error handling Revert "kasan: print the original fault addr when access invalid shadow" ANDROID: GKI: add system_unbound_wq to some symbol lists. Revert "audit,io_uring: io_uring openat triggers audit reference count underflow" Revert "tcp: allow again tcp_disconnect() when threads are waiting" Revert "tcp_bpf: properly release resources on error paths" Revert "ipv4/fib: send notify when delete source address routes" Revert "Bluetooth: hci_core: Fix build warnings" Revert "xfrm: fix a data-race in xfrm_gen_index()" Revert "perf: Disallow mis-matched inherited group reads" ANDROID: fix up 6.1.60 merge of hid.h into android14-6.1-lts ANDROID: GKI: arm64: drop CONFIG_DEBUG_PREEMPT forced disable Revert "net: macsec: indicate next pn update when offloading" Revert "net: phy: mscc: macsec: reject PN update requests" Revert "net/mlx5e: macsec: use update_pn flag instead of PN comparation" Revert "tcp: enforce receive buffer memory limits by allowing the tcp window to shrink" Linux 6.1.61 objtool/x86: add missing embedded_insn check ext4: avoid overlapping preallocations due to overflow ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow ext4: add two helper functions extent_logical_end() and pa_logical_end() platform/x86: Add s2idle quirk for more Lenovo laptops clk: Sanitize possible_parent_show to Handle Return Value of of_clk_get_parent_name sparc32: fix a braino in fault handling in csum_and_copy_..._user() perf/core: Fix potential NULL deref x86/cpu: Add model number for Intel Arrow Lake mobile processor x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility nvmem: imx: correct nregs for i.MX6UL nvmem: imx: correct nregs for i.MX6SLL nvmem: imx: correct nregs for i.MX6ULL misc: fastrpc: Unmap only if buffer is unmapped from DSP misc: fastrpc: Clean buffers on remote invocation failures misc: fastrpc: Free DMA handles for RPC calls with no arguments misc: fastrpc: Reset metadata buffer to avoid incorrect free tracing/kprobes: Fix the description of variable length arguments i2c: aspeed: Fix i2c bus hang in slave read i2c: stm32f7: Fix PEC handling in case of SMBUS transfers i2c: muxes: i2c-demux-pinctrl: Use of_get_i2c_adapter_by_node() i2c: muxes: i2c-mux-gpmux: Use of_get_i2c_adapter_by_node() i2c: muxes: i2c-mux-pinctrl: Use of_get_i2c_adapter_by_node() iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale iio: adc: xilinx-xadc: Don't clobber preset voltage/temperature thresholds iio: exynos-adc: request second interupt only when touchscreen mode is used iio: afe: rescale: Accept only offset channels io_uring/fdinfo: lock SQ thread while retrieving thread cpu/pid kasan: print the original fault addr when access invalid shadow blk-throttle: check for overflow in calculate_bytes_allowed scsi: sd: Introduce manage_shutdown device flag iavf: in iavf_down, disable queues when removing the driver drm/logicvc: Kconfig: select REGMAP and REGMAP_MMIO i40e: Fix wrong check for I40E_TXR_FLAGS_WB_ON_ITR gtp: fix fragmentation needed check with gso gtp: uapi: fix GTPA_MAX tcp: fix wrong RTO timeout when received SACK reneging r8152: Release firmware if we have an error in probe r8152: Cancel hw_phy_work if we have an error in probe r8152: Run the unload routine if we have errors during probe r8152: Increase USB control msg timeout to 5000ms as per spec net: usb: smsc95xx: Fix uninit-value access in smsc95xx_read_reg net: ieee802154: adf7242: Fix some potential buffer overflow in adf7242_stats_show() net: ethernet: adi: adin1110: Fix uninitialized variable igc: Fix ambiguity in the ethtool advertising neighbour: fix various data-races igb: Fix potential memory leak in igb_add_ethtool_nfc_entry treewide: Spelling fix in comment i40e: Fix I40E_FLAG_VF_VLAN_PRUNING value iavf: initialize waitqueues before starting watchdog_task r8169: fix the KCSAN reported data race in rtl_rx while reading desc->opts1 r8169: fix the KCSAN reported data-race in rtl_tx while reading TxDescArray[entry].opts1 r8169: fix the KCSAN reported data-race in rtl_tx() while reading tp->cur_tx clk: ti: Fix missing omap5 mcbsp functional clock and aliases clk: ti: Fix missing omap4 mcbsp functional clock and aliases firmware/imx-dsp: Fix use_after_free in imx_dsp_setup_channels() ARM: OMAP: timer32K: fix all kernel-doc warnings drm/dp_mst: Fix NULL deref in get_mst_branch_device_by_guid_helper() drm/amd: Disable ASPM for VI w/ all Intel systems drm/i915/pmu: Check if pmu is closed before stopping event nfsd: lock_rename() needs both directories to live on the same fs maple_tree: add GFP_KERNEL to allocations in mas_expected_entries() hugetlbfs: extend hugetlb_vma_lock to private VMAs mm/migrate: fix do_pages_move for compat pointers mm/page_alloc: correct start page when guard page debug is enabled hugetlbfs: clear resv_map pointer if mmap fails mm: fix vm_brk_flags() to not bail out while holding lock arm64: dts: rockchip: Fix i2s0 pin conflict on ROCK Pi 4 boards arm64: dts: rockchip: Add i2s0-2ch-bus-bclk-off pins to RK3399 vhost: Allow null msg.size on VHOST_IOTLB_INVALIDATE vsock/virtio: initialize the_virtio_vsock before using VQs virtio_pci: fix the common cfg map size virtio-crypto: handle config changed by work queue virtio-mmio: fix memory leak of vm_dev virtio_balloon: Fix endless deflation and inflation on arm64 mcb-lpc: Reallocate memory region to avoid memory overlapping mcb: Return actual parsed size when reading chameleon table pinctrl: qcom: lpass-lpi: fix concurrent register updates ASoC: codecs: wcd938x: fix runtime PM imbalance on remove ASoC: codecs: wcd938x: fix regulator leaks on probe errors ASoC: codecs: wcd938x: Simplify with dev_err_probe ASoC: codecs: wcd938x: Convert to platform remove callback returning void mmc: core: Fix error propagation for some ioctl commands mmc: block: ioctl: do write error check for spi mmc: core: Align to common busy polling behaviour for mmc ioctls KVM: x86/pmu: Truncate counter value to allowed width on write Linux 6.1.60 selftests: mptcp: join: no RST when rm subflow/addr selftests: mptcp: join: correctly check for no RST mptcp: avoid sending RST when closing the initial subflow Bluetooth: hci_sock: Correctly bounds check and pad HCI_MON_NEW_INDEX name Bluetooth: hci_sock: fix slab oob read in create_monitor_event net: move altnames together with the netdevice phy: mapphone-mdm6600: Fix pinctrl_pm handling for sleep pins phy: mapphone-mdm6600: Fix runtime PM for remove phy: mapphone-mdm6600: Fix runtime disable on probe gpio: vf610: mask the gpio irq in system suspend and support wakeup gpio: vf610: make irq_chip immutable tracing/kprobes: Return EADDRNOTAVAIL when func matches several symbols kallsyms: Add helper kallsyms_on_each_match_symbol() kallsyms: Reduce the memory occupied by kallsyms_seqs_of_names[] serial: 8250: omap: convert to modern PM ops serial: 8250: omap: Move uart_write() inside PM section drm/bridge: ti-sn65dsi86: Associate DSI device lifetime with auxiliary device ASoC: pxa: fix a memory leak in probe() gpio: vf610: set value before the direction to avoid a glitch platform/x86: asus-wmi: Map 0x2a code, Ignore 0x2b and 0x2c events platform/x86: asus-wmi: Only map brightness codes when using asus-wmi backlight control platform/x86: asus-wmi: Change ASUS_WMI_BRN_DOWN code from 0x20 to 0x2e platform/x86: intel-uncore-freq: Conditionally create attribute for read frequency platform/surface: platform_profile: Propagate error if profile registration fails s390/cio: fix a memleak in css_alloc_subchannel selftests/ftrace: Add new test case which checks non unique symbol s390/pci: fix iommu bitmap allocation perf: Disallow mis-matched inherited group reads USB: serial: option: add Fibocom to DELL custom modem FM101R-GL USB: serial: option: add entry for Sierra EM9191 with new firmware USB: serial: option: add Telit LE910C4-WWX 0x1035 composition HID: input: map battery system charging KVM: x86/mmu: Stop zapping invalidated TDP MMU roots asynchronously nvme-rdma: do not try to stop unallocated queues nvmet-auth: complete a request only after freeing the dhchap pointers nvme-pci: add BOGUS_NID for Intel 0a54 device nvme: sanitize metadata bounce buffer for reads nfs42: client needs to strip file mode's suid/sgid bit after ALLOCATE op ACPI: irq: Fix incorrect return value in acpi_register_gsi() NFSv4.1: fixup use EXCHGID4_FLAG_USE_PNFS_DS for DS server pNFS/flexfiles: Check the layout validity in ff_layout_mirror_prepare_stats pNFS: Fix a hang in nfs4_evict_inode() Revert "pinctrl: avoid unsafe code pattern in find_pinctrl()" mmc: core: Capture correct oemid-bits for eMMC cards mmc: core: sdio: hold retuning if sdio in 1-bit mode mmc: mtk-sd: Use readl_poll_timeout_atomic in msdc_reset_hw mmc: sdhci-pci-gli: fix LPM negotiation so x86/S0ix SoCs can suspend dt-bindings: mmc: sdhci-msm: correct minimum number of clocks mtd: physmap-core: Restore map_rom fallback mtd: spinand: micron: correct bitmask for ecc status mtd: rawnand: arasan: Ensure program page operations are successful mtd: rawnand: marvell: Ensure program page operations are successful mtd: rawnand: pl353: Ensure program page operations are successful mtd: rawnand: qcom: Unmap the right resource upon probe failure net/smc: fix smc clc failed issue when netdevice not in init_net tcp_bpf: properly release resources on error paths selftests: openvswitch: Add version check for pyroute2 Bluetooth: hci_event: Fix using memcmp when comparing keys ice: Remove redundant pci_enable_pcie_error_reporting() tcp: allow again tcp_disconnect() when threads are waiting net/tls: split tls_rx_reader_lock net/mlx5e: Don't offload internal port if filter device is out device net/mlx5: Handle fw tracer change ownership event based on MTRC net/mlx5: E-switch, register event handler before arming the event xfrm6: fix inet6_dev refcount underflow problem net: xfrm: skip policies marked as dead while reinserting policies fprobe: Fix to ensure the number of active retprobes is not zero fprobe: Add nr_maxactive to specify rethook_node pool size fprobe: Pass entry_data to handlers cpufreq: schedutil: Update next_freq when cpufreq_limits change platform/x86: touchscreen_dmi: Add info for the Positivo C4128B HID: nintendo: reinitialize USB Pro Controller after resuming from suspend HID: multitouch: Add required quirk for Synaptics 0xcd7e device drm/amd/pm: add unique_id for gc 11.0.3 btrfs: error out when reallocating block for defrag using a stale transaction btrfs: error when COWing block from a root that is being deleted btrfs: error out when COWing block using a stale transaction btrfs: fix some -Wmaybe-uninitialized warnings in ioctl.c drm: panel-orientation-quirks: Add quirk for One Mix 2S ipv4/fib: send notify when delete source address routes sky2: Make sure there is at least one frag_addr available regulator/core: Revert "fix kobject release warning and memory leak in regulator_register()" wifi: cfg80211: avoid leaking stack data into trace wifi: mac80211: allow transmitting EAPOL frames with tainted key wifi: mac80211: work around Cisco AP 9115 VHT MPDU length wifi: cfg80211: Fix 6GHz scan configuration Bluetooth: hci_core: Fix build warnings Bluetooth: Avoid redundant authentication Bluetooth: btusb: add shutdown function for QCA6174 HID: holtek: fix slab-out-of-bounds Write in holtek_kbd_input_event HID: logitech-hidpp: Add Bluetooth ID for the Logitech M720 Triathlon mouse wifi: iwlwifi: Ensure ack flag is properly cleared. wifi: mwifiex: Sanity check tlv_len and tlv_bitmap_len tracing: relax trace_event_eval_update() execution with cond_resched() ata: libata-eh: Fix compilation warning in ata_eh_link_report() ata: libata-core: Fix compilation warning in ata_dev_config_ncq() gpio: timberdale: Fix potential deadlock on &tgpio->lock overlayfs: set ctime when setting mtime and atime i2c: mux: Avoid potential false error message in i2c_mux_add_adapter btrfs: initialize start_slot in btrfs_log_prealloc_extents btrfs: return -EUCLEAN for delayed tree ref with a ref count not equals to 1 btrfs: prevent transaction block reserve underflow when starting transaction fs-writeback: do not requeue a clean inode having skipped pages ARM: dts: ti: omap: Fix noisy serial with overrun-throttle-ms for mapphone pwr-mlxbf: extend Kconfig to include gpio-mlxbf3 dependency iio: adc: ad7192: Correct reference voltage iio: adc: ad7192: Simplify using devm_regulator_get_enable() iio: cros_ec: fix an use-after-free in cros_ec_sensors_push_data() iio: core: introduce iio_device_{claim|release}_buffer_mode() APIs serial: 8250_omap: Fix errors with no_console_suspend serial: 8250: omap: Fix imprecise external abort for omap_8250_pm() serial: Reduce spinlocked portion of uart_rs485_config() serial: Rename uart_change_speed() to uart_change_line_settings() serial: Move uart_change_speed() earlier usb: misc: onboard_hub: add support for Microchip USB2412 USB 2.0 hub usb: misc: onboard_usb_hub: add Genesys Logic GL3523 hub support usb: misc: onboard_usb_hub: add Genesys Logic GL852G hub support usb: misc: onboard_usb_hub: add Genesys Logic GL850G hub support selftests/mm: fix awk usage in charge_reserved_hugetlb.sh and hugetlb_reparenting_test.sh that may cause error net: check for altname conflicts when changing netdev's netns net: fix ifname in netlink ntf during netns move net: avoid UAF on deleted altname net: pktgen: Fix interface flags printing net: phy: bcm7xxx: Add missing 16nm EPHY statistics netfilter: nf_tables: revert do not remove elements if set backend implements .abort netfilter: nf_tables: do not remove elements if set backend implements .abort netlink: Correct offload_xstats size netfilter: nft_set_rbtree: .deactivate fails if element has expired selftests: netfilter: Run nft_audit.sh in its own netns selftests: openvswitch: Catch cases where the tests are killed neighbor: tracing: Move pin6 inside CONFIG_IPV6=y section net/sched: sch_hfsc: upgrade 'rt' to 'sc' when it becomes a inner curve bonding: Return pointer to data after pull on skb net: dsa: bcm_sf2: Fix possible memory leak in bcm_sf2_mdio_register() i40e: prevent crash on probe if hw registers have invalid values octeon_ep: update BQL sent bytes before ringing doorbell net: usb: smsc95xx: Fix an error code in smsc95xx_reset() ipv4: fib: annotate races around nh->nh_saddr_genid and nh->nh_saddr tun: prevent negative ifindex tcp: Fix listen() warning with v4-mapped-v6 address. tcp: tsq: relax tcp_small_queue_check() when rtx queue contains a single skb tcp: fix excessive TLP and RACK timeouts from HZ rounding net: rfkill: gpio: prevent value glitch during probe net: ipv6: fix return value check in esp_remove_trailer net: ipv4: fix return value check in esp_remove_trailer wifi: cfg80211: use system_unbound_wq for wiphy work xfrm: interface: use DEV_STATS_INC() xfrm: fix a data-race in xfrm_gen_index() xfrm: fix a data-race in xfrm_lookup_with_ifid() qed: fix LL2 RX buffer allocation ASoC: codecs: wcd938x: fix resource leaks on bind errors ASoC: codecs: wcd938x: fix unbind tear down order ASoC: codecs: wcd938x: drop bogus bind error handling ASoC: codecs: wcd938x-sdw: fix runtime PM imbalance on probe errors ASoC: codecs: wcd938x-sdw: fix use after free on driver unbind ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq5xxx ALSA: hda/realtek: Add quirk for ASUS ROG GU603ZV ALSA: hda/realtek - Fixed ASUS platform headset Mic issue drm/mediatek: Correctly free sg_table in gem prime vmap drm/i915: Retry gtt fault when out of fence registers nvmet-tcp: Fix a possible UAF in queue intialization setup netfilter: nft_payload: fix wrong mac header matching fs/ntfs3: fix deadlock in mark_as_free_ex fs/ntfs3: fix panic about slab-out-of-bounds caused by ntfs_list_ea() fs/ntfs3: Fix possible null-pointer dereference in hdr_find_e() mptcp: more conservative check for zero probes tcp: check mptcp-level constraints for backlog coalescing audit,io_uring: io_uring openat triggers audit reference count underflow x86: KVM: SVM: refresh AVIC inhibition in svm_leave_nested() x86: KVM: SVM: add support for Invalid IPI Vector interception KVM: x86: Constrain guest-supported xfeatures only at KVM_GET_XSAVE{2} x86/fpu: Allow caller to constrain xfeatures when copying to uabi buffer x86/sev: Check for user-space IOIO pointing to kernel space x86/sev: Check IOBM for IOIO exceptions from user-space x86/sev: Disable MMIO emulation from user mode KVM: x86: Mask LVTPC when handling a PMI regmap: fix NULL deref on lookup nfc: nci: fix possible NULL pointer dereference in send_acknowledge() btrfs: fix stripe length calculation for non-zoned data chunk allocation net/smc: return the right falback reason when prefix checks fail ice: reset first in crash dump kernels ice: fix over-shifted variable Bluetooth: avoid memcmp() out of bounds warning Bluetooth: hci_event: Fix coding style Bluetooth: vhci: Fix race when opening vhci device Bluetooth: Fix a refcnt underflow problem for hci_conn Bluetooth: Reject connection with the device which has same BD_ADDR Bluetooth: hci_event: Ignore NULL link key igc: Fix race condition in PTP tx code igc: Add condition for qbv_config_change_errors counter igc: Add qbv_config_change_errors counter igc: Remove reset adapter task for i226 during disable tsn config igc: enable Qbv configuration for 2nd GCL igc: remove I226 Qbv BaseTime restriction lib/Kconfig.debug: do not enable DEBUG_PREEMPT by default Linux 6.1.59 ALSA: hda/realtek - Fixed two speaker platform powerpc/64e: Fix wrong test in __ptep_test_and_clear_young() powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE dmaengine: mediatek: Fix deadlock caused by synchronize_irq() dmaengine: idxd: use spin_lock_irqsave before wait_event_lock_irq x86/alternatives: Disable KASAN in apply_alternatives() usb: cdnsp: Fixes issue with dequeuing not queued requests usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call usb: gadget: udc-xilinx: replace memcpy with memcpy_toio usb: typec: ucsi: Clear EVENT_PENDING bit if ucsi_send_command fails usb: typec: altmodes/displayport: Signal hpd low when exiting mode counter: microchip-tcb-capture: Fix the use of internal GCLK logic counter: chrdev: fix getting array extensions scsi: ufs: core: Correct clear TM error log pinctrl: avoid unsafe code pattern in find_pinctrl() dma-buf: add dma_fence_timestamp helper cgroup: Remove duplicates in cgroup v1 tasks file usb: typec: ucsi: Use GET_CAPABILITY attributes data to set power supply scope nfp: flower: avoid rmmod nfp crash issues mctp: perform route lookups under a RCU read-side lock tee: amdtee: fix use-after-free vulnerability in amdtee_close_session Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table Input: xpad - add PXN V900 support Input: psmouse - fix fast_reconnect function for PS/2 mode Input: powermate - fix use-after-free in powermate_config_complete ceph: fix type promotion bug on 32bit systems ceph: fix incorrect revoked caps assert in ceph_fill_file_size() libceph: use kernel_connect() powerpc/47x: Fix 47x syscall return crash thunderbolt: Restart XDomain discovery handshake after failure thunderbolt: Check that lane 1 is in CL0 before enabling lane bonding thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge mcb: remove is_added flag from mcb_device struct x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs perf/x86/lbr: Filter vsyscall addresses ksmbd: not allow to open file if delelete on close bit is set ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxx ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA drm/amd/display: Don't set dpms_off for seamless boot drm/amdgpu: add missing NULL check drm/atomic-helper: relax unregistered connector check arm64: dts: mediatek: mt8195-demo: update and reorder reserved memory regions arm64: dts: mediatek: mt8195-demo: fix the memory size to 8GB iio: addac: Kconfig: update ad74413r selections iio: pressure: ms5611: ms5611_prom_is_valid false negative bug iio: pressure: dps310: Adjust Timeout Settings iio: admv1013: add mixer_vgate corner cases iio: dac: ad3552r: Correct device IDs iio: adc: imx8qxp: Fix address for command buffer registers iio: imu: bno055: Fix missing Kconfig dependencies iio: pressure: bmp280: Fix NULL pointer exception usb: musb: Modify the "HWVers" register address usb: musb: Get the musb_qh poniter after musb_giveback usb: hub: Guard against accesses to uninitialized BOS descriptors usb: cdns3: Modify the return value of cdns_set_active () to void when CONFIG_PM_SLEEP is disabled usb: dwc3: Soft reset phy on probe for host net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer dmaengine: stm32-mdma: set in_flight_bytes in case CRQA flag is set dmaengine: stm32-mdma: use Link Address Register to compute residue dmaengine: stm32-dma: fix residue in case of MDMA chaining dmaengine: stm32-dma: fix stm32_dma_prep_slave_sg in case of MDMA chaining dmaengine: stm32-mdma: abort resume if no ongoing transfer tcp: enforce receive buffer memory limits by allowing the tcp window to shrink workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask() nfc: nci: assert requested protocol is valid pinctrl: renesas: rzn1: Enable missing PINMUX net/smc: Fix pos miscalculation in statistics net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn() net/mlx5e: Again mutually exclude RX-FCS and RX-port-timestamp ixgbe: fix crash with empty VF macvlan list net/mlx5e: macsec: use update_pn flag instead of PN comparation net: phy: mscc: macsec: reject PN update requests net: macsec: indicate next pn update when offloading net: refine debug info in skb_checksum_help() bpf: Fix verifier log for async callback return values drm/vmwgfx: fix typo of sizeof argument riscv, bpf: Sign-extend return values riscv, bpf: Factor out emit_call for kernel and bpf context xen-netback: use default TX queue size for vifs mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type ieee802154: ca8210: Fix a potential UAF in ca8210_probe ravb: Fix use-after-free issue in ravb_tx_timeout_work() ravb: Fix up dma_free_coherent() call in ravb_remove() arm64: dts: mediatek: mt8195: Set DSU PMU status to fail can: sun4i_can: Only show Kconfig if ARCH_SUNXI is set can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior net: dsa: qca8k: fix potential MDIO bus conflict when accessing internal PHYs via management frames phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers phy: lynx-28g: lock PHY while performing CDR lock workaround phy: lynx-28g: cancel the CDR check work item on the remove path drm/msm/dp: Add newlines to debug printks drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow drm/msm/dsi: fix irq_of_parse_and_map() error checking drm/msm/dsi: skip the wait for video mode done if not applicable drm/msm/dp: do not reinitialize phy unless retry during link training pinctrl: nuvoton: wpcm450: fix out of bounds write ALSA: hda/realtek - ALC287 merge RTK codec with CS CS35L41 AMP ALSA: hda/realtek - ALC287 I2S speaker platform support ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx ALSA: hda/realtek: Add quirk for HP Victus 16-d1xxx to enable mute LED ASoC: fsl_sai: Don't disable bitclock for i.MX8MP ASoC: fsl_sai: MCLK bind with TX/RX enable bit ASoC: Use of_property_read_bool() for boolean properties ASoC: Intel: soc-acpi: Add entry for sof_es8336 in MTL match table. ASoC: Intel: sof_sdw: add support for SKU 0B14 ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in MTL match table ASoC: simple-card-utils: fixup simple_util_startup() error handling ASoC: SOF: amd: fix for firmware reload failure after playback ALSA: hda/realtek: Change model for Intel RVP board ALSA: usb-audio: Fix microphone sound on Nexigo webcam. ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset KEYS: trusted: Remove redundant static calls usage irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update description for '#interrupt-cells' property arm64: dts: qcom: sm8150: extend the size of the PDC resource net: prevent address rewrite in kernel_bind() ata: libata-scsi: Disable scsi device manage_system_start_stop ASoC: amd: yc: Fix non-functional mic on Lenovo 82YM quota: Fix slow quotaoff HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect scsi: Do not rescan devices with a suspended queue platform/x86: hp-wmi:: Mark driver struct with __refdata to prevent section mismatch warning platform/x86: think-lmi: Fix reference leak perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7 RDMA/cxgb4: Check skb value for failure to allocate drm/i915: Don't set PIPE_CONTROL_FLUSH_L3 for aux inval mptcp: fix delegated action races net: mana: Fix TX CQE error handling Linux 6.1.58 lib/test_meminit: fix off-by-one error in test_pages() Revert "NFS: Fix error handling for O_DIRECT write scheduling" Revert "NFS: Fix O_DIRECT locking issues" Revert "NFS: More O_DIRECT accounting fixes for error paths" Revert "NFS: Use the correct commit info in nfs_join_page_group()" Revert "NFS: More fixes for nfs_direct_write_reschedule_io()" Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/interrupt-controller/qcom,mpm.yaml Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml Documentation/devicetree/bindings/mfd/mt6397.txt Documentation/devicetree/bindings/mmc/sdhci-msm.yaml drivers/clk/qcom/gcc-sm8150.c drivers/hwtracing/coresight/coresight-tmc-core.c drivers/hwtracing/coresight/coresight-tmc-etr.c drivers/interconnect/qcom/sm8150.c drivers/interconnect/qcom/sm8150.h drivers/phy/qualcomm/Makefile Change-Id: I9b0afef38a5cd42781504ccd77dfb8a747a5dea4 Upstream-Build: ks_qcom-android14-6.1-keystone-qcom-release@11750438 UKQ2.240423.001 Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
2246 lines
73 KiB
Makefile
2246 lines
73 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 6
|
|
PATCHLEVEL = 1
|
|
SUBLEVEL = 68
|
|
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
|
|
$(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 && 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
|
|
ifndef modules_sign_only
|
|
$(call cmd,depmod)
|
|
endif
|
|
|
|
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)
|