682c074515
* refs/heads/tmp-3499d10: ANDROID: GKI: rockchip: Enable symbols for pinctrl and rk8xx ANDROID: GKI: rockchip: Enable symbols for typec ANDROID: GKI: rockchip: Add build script ANDROID: GKI: Add some symbols to symbol list to support vendor module UPSTREAM: core: Add L2P entry swap quirk for Micron UFS ANDROID: gki_defconfig: remove CONFIG_UBSAN_MISC entry UPSTREAM: ubsan: remove overflow checks UPSTREAM: ubsan: disable unsigned-overflow check for i386 UPSTREAM: ubsan: expand tests and reporting UPSTREAM: ubsan: remove UBSAN_MISC in favor of individual options UPSTREAM: ubsan: enable for all*config builds UPSTREAM: ubsan: disable UBSAN_TRAP for all*config UPSTREAM: ubsan: disable object-size sanitizer under GCC UPSTREAM: ubsan: move cc-option tests into Kconfig UPSTREAM: ubsan: remove redundant -Wno-maybe-uninitialized UPSTREAM: mm/mremap: fix BUILD_BUG_ON() error in get_extent FROMGIT: dma-buf: system_heap: Avoid warning on mid-order allocations ANDROID: mm: cma: disable LRU cache early ANDROID: GKI: update virtual device symbol list for led audio driver. Linux 5.10.66 Revert "time: Handle negative seconds correctly in timespec64_to_ns()" Revert "posix-cpu-timers: Force next expiration recalc after itimer reset" Revert "block: nbd: add sanity check for first_minor" Revert "Bluetooth: Move shutdown callback before flushing tx and rx queue" Linux 5.10.65 clk: kirkwood: Fix a clocking boot regression backlight: pwm_bl: Improve bootloader/kernel device handover fbmem: don't allow too huge resolutions IMA: remove the dependency on CRYPTO_MD5 IMA: remove -Wmissing-prototypes warning fuse: flush extending writes fuse: truncate pagecache on atomic_o_trunc ARM: dts: at91: add pinctrl-{names, 0} for all gpios KVM: nVMX: Unconditionally clear nested.pi_pending on nested VM-Enter KVM: VMX: avoid running vmx_handle_exit_irqoff in case of emulation KVM: x86: Update vCPU's hv_clock before back to guest when tsc_offset is adjusted KVM: s390: index kvm->arch.idle_mask by vcpu_idx Revert "KVM: x86: mmu: Add guest physical address check in translate_gpa()" x86/resctrl: Fix a maybe-uninitialized build warning treated as error perf/x86/amd/ibs: Extend PERF_PMU_CAP_NO_EXCLUDE to IBS Op tty: Fix data race between tiocsti() and flush_to_ldisc() bio: fix page leak bio_add_hw_page failure io_uring: IORING_OP_WRITE needs hash_reg_file set time: Handle negative seconds correctly in timespec64_to_ns() f2fs: guarantee to write dirty data when enabling checkpoint back iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha ASoC: rt5682: Remove unused variable in rt5682_i2c_remove() ipv4: fix endianness issue in inet_rtm_getroute_build_skb() octeontx2-af: Set proper errorcode for IPv4 checksum errors octeontx2-af: Fix static code analyzer reported issues octeontx2-af: Fix loop in free and unmap counter net: qualcomm: fix QCA7000 checksum handling net: sched: Fix qdisc_rate_table refcount leak when get tcf_block failed ipv4: make exception cache less predictible ipv6: make exception cache less predictible brcmfmac: pcie: fix oops on failure to resume and reprobe bcma: Fix memory leak for internally-handled cores atlantic: Fix driver resume flow. ath6kl: wmi: fix an error code in ath6kl_wmi_sync_point() ice: Only lock to update netdev dev_addr iwlwifi: skip first element in the WTAS ACPI table iwlwifi: follow the new inclusive terminology ASoC: wcd9335: Disable irq on slave ports in the remove function ASoC: wcd9335: Fix a memory leak in the error handling path of the probe function ASoC: wcd9335: Fix a double irq free in the remove function tty: serial: fsl_lpuart: fix the wrong mapbase value usb: bdc: Fix a resource leak in the error handling path of 'bdc_probe()' usb: bdc: Fix an error handling path in 'bdc_probe()' when no suitable DMA config is available usb: ehci-orion: Handle errors of clk_prepare_enable() in probe i2c: xlp9xx: fix main IRQ check i2c: mt65xx: fix IRQ check CIFS: Fix a potencially linear read overflow bpf: Fix possible out of bound write in narrow load handling mmc: moxart: Fix issue with uninitialized dma_slave_config mmc: dw_mmc: Fix issue with uninitialized dma_slave_config mmc: sdhci: Fix issue with uninitialized dma_slave_config ASoC: Intel: Skylake: Fix module resource and format selection ASoC: Intel: Skylake: Leave data as is when invoking TLV IPCs ASoC: Intel: kbl_da7219_max98927: Fix format selection for max98373 rsi: fix an error code in rsi_probe() rsi: fix error code in rsi_load_9116_firmware() gfs2: init system threads before freeze lock i2c: hix5hd2: fix IRQ check i2c: fix platform_get_irq.cocci warnings i2c: s3c2410: fix IRQ check i2c: iop3xx: fix deferred probing Bluetooth: add timeout sanity check to hci_inquiry lkdtm: replace SCSI_DISPATCH_CMD with SCSI_QUEUE_RQ mm/swap: consider max pages in iomap_swapfile_add_extent usb: gadget: mv_u3d: request_irq() after initializing UDC firmware: raspberrypi: Fix a leak in 'rpi_firmware_get()' firmware: raspberrypi: Keep count of all consumers i2c: synquacer: fix deferred probing clk: staging: correct reference to config IOMEM to config HAS_IOMEM arm64: dts: marvell: armada-37xx: Extend PCIe MEM space nfsd4: Fix forced-expiry locking lockd: Fix invalid lockowner cast after vfs_test_lock locking/local_lock: Add missing owner initialization locking/lockdep: Mark local_lock_t mac80211: Fix insufficient headroom issue for AMSDU libbpf: Re-build libbpf.so when libbpf.map changes usb: phy: tahvo: add IRQ check usb: host: ohci-tmio: add IRQ check PM: cpu: Make notifier chain use a raw_spinlock_t Bluetooth: Move shutdown callback before flushing tx and rx queue samples: pktgen: add missing IPv6 option to pktgen scripts devlink: Clear whole devlink_flash_notify struct selftests/bpf: Fix test_core_autosize on big-endian machines usb: gadget: udc: renesas_usb3: Fix soc_device_match() abuse usb: phy: twl6030: add IRQ checks usb: phy: fsl-usb: add IRQ check usb: gadget: udc: s3c2410: add IRQ check usb: gadget: udc: at91: add IRQ check usb: dwc3: qcom: add IRQ check usb: dwc3: meson-g12a: add IRQ check ASoC: rt5682: Properly turn off regulators if wrong device ID ASoC: rt5682: Implement remove callback net/mlx5: Fix unpublish devlink parameters net/mlx5: Register to devlink ingress VLAN filter trap drm/msm/dsi: Fix some reference counted resource leaks Bluetooth: fix repeated calls to sco_sock_kill ASoC: Intel: Fix platform ID matching cgroup/cpuset: Fix violation of cpuset locking rule cgroup/cpuset: Miscellaneous code cleanup counter: 104-quad-8: Return error when invalid mode during ceiling_write arm64: dts: exynos: correct GIC CPU interfaces address range on Exynos7 drm/msm/dpu: make dpu_hw_ctl_clear_all_blendstages clear necessary LMs drm/msm/mdp4: move HW revision detection to earlier phase drm/msm/mdp4: refactor HW revision detection into read_mdp_hw_revision selftests/bpf: Fix bpf-iter-tcp4 test to print correctly the dest IP PM: EM: Increase energy calculation precision Bluetooth: increase BTNAMSIZ to 21 chars to fix potential buffer overflow debugfs: Return error during {full/open}_proxy_open() on rmmod soc: qcom: smsm: Fix missed interrupts if state changes while masked bpf, samples: Add missing mprog-disable to xdp_redirect_cpu's optstring PCI: PM: Enable PME if it can be signaled from D3cold PCI: PM: Avoid forcing PCI_D0 for wakeup reasons inconsistently media: venus: venc: Fix potential null pointer dereference on pointer fmt media: em28xx-input: fix refcount bug in em28xx_usb_disconnect leds: trigger: audio: Add an activate callback to ensure the initial brightness is set leds: lt3593: Put fwnode in any case during ->probe() i2c: highlander: add IRQ check net/mlx5: Fix missing return value in mlx5_devlink_eswitch_inline_mode_set() devlink: Break parameter notification sequence to be before/after unload/load driver arm64: dts: renesas: hihope-rzg2-ex: Add EtherAVB internal rx delay arm64: dts: renesas: rzg2: Convert EtherAVB to explicit delay handling Bluetooth: mgmt: Fix wrong opcode in the response for add_adv cmd net: cipso: fix warnings in netlbl_cipsov4_add_std drm: mxsfb: Clear FIFO_CLEAR bit drm: mxsfb: Increase number of outstanding requests on V4 and newer HW drm: mxsfb: Enable recovery on underflow cgroup/cpuset: Fix a partition bug with hotplug net/mlx5e: Block LRO if firmware asks for tunneled LRO net/mlx5e: Prohibit inner indir TIRs in IPoIB ARM: dts: meson8b: ec100: Fix the pwm regulator supply properties ARM: dts: meson8b: mxq: Fix the pwm regulator supply properties ARM: dts: meson8b: odroidc1: Fix the pwm regulator supply properties ARM: dts: meson8: Use a higher default GPU clock frequency tcp: seq_file: Avoid skipping sk during tcp_seek_last_pos drm/amdgpu/acp: Make PM domain really work 6lowpan: iphc: Fix an off-by-one check of array index Bluetooth: sco: prevent information leak in sco_conn_defer_accept() media: atomisp: fix the uninitialized use and rename "retvalue" media: coda: fix frame_mem_ctrl for YUV420 and YVU420 formats media: rockchip/rga: fix error handling in probe media: rockchip/rga: use pm_runtime_resume_and_get() media: go7007: remove redundant initialization media: go7007: fix memory leak in go7007_usb_probe media: dvb-usb: Fix error handling in dvb_usb_i2c_init media: dvb-usb: fix uninit-value in vp702x_read_mac_addr media: dvb-usb: fix uninit-value in dvb_usb_adapter_dvb_init ionic: cleanly release devlink instance driver core: Fix error return code in really_probe() firmware: fix theoretical UAF race with firmware cache and resume gfs2: Fix memory leak of object lsi on error return path libbpf: Fix removal of inner map in bpf_object__create_map soc: qcom: rpmhpd: Use corner in power_off i40e: improve locking of mac_filter_hash arm64: dts: renesas: r8a77995: draak: Remove bogus adv7511w properties ARM: dts: aspeed-g6: Fix HVI3C function-group in pinctrl dtsi libbpf: Fix the possible memory leak on error gve: fix the wrong AdminQ buffer overflow check drm/of: free the iterator object on failure bpf: Fix potential memleak and UAF in the verifier. bpf: Fix a typo of reuseport map in bpf.h. drm/of: free the right object media: cxd2880-spi: Fix an error handling path soc: rockchip: ROCKCHIP_GRF should not default to y, unconditionally leds: is31fl32xx: Fix missing error code in is31fl32xx_parse_dt() media: TDA1997x: enable EDID support ASoC: mediatek: mt8183: Fix Unbalanced pm_runtime_enable in mt8183_afe_pcm_dev_probe drm/gma500: Fix end of loop tests for list_for_each_entry drm/panfrost: Fix missing clk_disable_unprepare() on error in panfrost_clk_init() EDAC/i10nm: Fix NVDIMM detection spi: spi-zynq-qspi: use wait_for_completion_timeout to make zynq_qspi_exec_mem_op not interruptible spi: sprd: Fix the wrong WDG_LOAD_VAL regulator: vctrl: Avoid lockdep warning in enable/disable ops regulator: vctrl: Use locked regulator_get_voltage in probe path blk-crypto: fix check for too-large dun_bytes spi: davinci: invoke chipselect callback x86/mce: Defer processing of early errors tpm: ibmvtpm: Avoid error message when process gets signal while waiting certs: Trigger creation of RSA module signing key if it's not an RSA key crypto: qat - use proper type for vf_mask irqchip/gic-v3: Fix priority comparison when non-secure priorities are used spi: coldfire-qspi: Use clk_disable_unprepare in the remove function block: nbd: add sanity check for first_minor clocksource/drivers/sh_cmt: Fix wrong setting if don't request IRQ for clock source channel lib/mpi: use kcalloc in mpi_resize irqchip/loongson-pch-pic: Improve edge triggered interrupt support genirq/timings: Fix error return code in irq_timings_test_irqs() spi: spi-pic32: Fix issue with uninitialized dma_slave_config spi: spi-fsl-dspi: Fix issue with uninitialized dma_slave_config block: return ELEVATOR_DISCARD_MERGE if possible m68k: Fix invalid RMW_INSNS on CPUs that lack CAS rcu: Fix stall-warning deadlock due to non-release of rcu_node ->lock rcu: Add lockdep_assert_irqs_disabled() to rcu_sched_clock_irq() and callees rcu: Fix to include first blocked task in stall warning sched: Fix UCLAMP_FLAG_IDLE setting sched/numa: Fix is_core_idle() m68k: emu: Fix invalid free in nfeth_cleanup() power: supply: cw2015: use dev_err_probe to allow deferred probe s390/ap: fix state machine hang after failure to enable irq s390/debug: fix debug area life cycle s390/debug: keep debug data on resize s390/pci: fix misleading rc in clp_set_pci_fn() s390/kasan: fix large PMD pages address alignment check udf_get_extendedattr() had no boundary checks. fcntl: fix potential deadlock for &fasync_struct.fa_lock crypto: qat - do not export adf_iov_putmsg() crypto: qat - fix naming for init/shutdown VF to PF notifications crypto: qat - fix reuse of completion variable crypto: qat - handle both source of interrupt in VF ISR crypto: qat - do not ignore errors from enable_vf2pf_comms() crypto: omap - Fix inconsistent locking of device lists libata: fix ata_host_start() s390/zcrypt: fix wrong offset index for APKA master key valid state s390/cio: add dev_busid sysfs entry for each subchannel power: supply: max17042_battery: fix typo in MAx17042_TOFF power: supply: smb347-charger: Add missing pin control activation nvmet: pass back cntlid on successful completion nvme-rdma: don't update queue count when failing to set io queues nvme-tcp: don't update queue count when failing to set io queues blk-throtl: optimize IOPS throttle for large IO scenarios bcache: add proper error unwinding in bcache_device_init isofs: joliet: Fix iocharset=utf8 mount option udf: Fix iocharset=utf8 mount option udf: Check LVID earlier hrtimer: Ensure timerfd notification for HIGHRES=n hrtimer: Avoid double reprogramming in __hrtimer_start_range_ns() posix-cpu-timers: Force next expiration recalc after itimer reset EDAC/mce_amd: Do not load edac_mce_amd module on guests rcu/tree: Handle VM stoppage in stall detection sched/deadline: Fix missing clock update in migrate_task_rq_dl() crypto: omap-sham - clear dma flags only after omap_sham_update_dma_stop() power: supply: axp288_fuel_gauge: Report register-address on readb / writeb errors sched/deadline: Fix reset_on_fork reporting of DL tasks crypto: mxs-dcp - Check for DMA mapping errors regulator: tps65910: Silence deferred probe error regmap: fix the offset of register error log locking/mutex: Fix HANDOFF condition ANDROID: GKI: update .xml after android12-5.10 merge Revert "tty: drop termiox user definitions" Linux 5.10.64 PCI: Call Max Payload Size-related fixup quirks early x86/reboot: Limit Dell Optiplex 990 quirk to early BIOS versions xhci: fix unsafe memory usage in xhci tracing xhci: fix even more unsafe memory usage in xhci tracing usb: mtu3: fix the wrong HS mult value usb: mtu3: use @mult for HS isoc or intr usb: mtu3: restore HS function when set SS/SSP usb: gadget: tegra-xudc: fix the wrong mult value for HS isoc or intr usb: host: xhci-rcar: Don't reload firmware after the completion ALSA: usb-audio: Add registration quirk for JBL Quantum 800 blk-mq: clearing flush request reference in tags->rqs[] netfilter: nftables: clone set element expression template netfilter: nf_tables: initialize set before expression setup netfilter: nftables: avoid potential overflows on 32bit arches blk-mq: fix is_flush_rq blk-mq: fix kernel panic during iterating over flush request x86/events/amd/iommu: Fix invalid Perf result due to IOMMU PMC power-gating Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM" tty: drop termiox user definitions net: linux/skbuff.h: combine SKB_EXTENSIONS + KCOV handling serial: 8250: 8250_omap: Fix unused variable warning net: kcov: don't select SKB_EXTENSIONS when there is no NET mm/page_alloc: speed up the iteration of max_order net: ll_temac: Remove left-over debug message USB: serial: mos7720: improve OOM-handling in read_mos_reg() igmp: Add ip_mc_list lock in ip_check_mc_rcu ANDROID: GKI: fix up spi structure change Linux 5.10.63 media: stkwebcam: fix memory leak in stk_camera_probe fuse: fix illegal access to inode with reused nodeid new helper: inode_wrong_type() spi: Switch to signed types for *_native_cs SPI controller fields serial: 8250: 8250_omap: Fix possible array out of bounds access ALSA: pcm: fix divide error in snd_pcm_lib_ioctl ALSA: hda/realtek: Workaround for conflicting SSID on ASUS ROG Strix G17 ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup cryptoloop: add a deprecation warning perf/x86/amd/power: Assign pmu.module perf/x86/amd/ibs: Work around erratum #1197 ceph: fix possible null-pointer dereference in ceph_mdsmap_decode() perf/x86/intel/pt: Fix mask of num_address_ranges qede: Fix memset corruption net: macb: Add a NULL check on desc_ptp qed: Fix the VF msix vectors flow reset: reset-zynqmp: Fixed the argument data type gpu: ipu-v3: Fix i.MX IPU-v3 offset calculations for (semi)planar U/V formats ARM: OMAP1: ams-delta: remove unused function ams_delta_camera_power xtensa: fix kconfig unmet dependency warning for HAVE_FUTEX_CMPXCHG static_call: Fix unused variable warn w/o MODULE Revert "Add a reference to ucounts for each cred" Revert "cred: add missing return error code when set_cred_ucounts() failed" Revert "ucounts: Increase ucounts reference counter before the security hook" ubifs: report correct st_size for encrypted symlinks f2fs: report correct st_size for encrypted symlinks ext4: report correct st_size for encrypted symlinks fscrypt: add fscrypt_symlink_getattr() for computing st_size ext4: fix race writing to an inline_data file while its xattrs are changing ANDROID: GKI: add virtio_break_device to the symbol list Revert "once: Fix panic when module unload" Revert "pipe: avoid unnecessary EPOLLET wakeups under normal loads" Revert "pipe: do FASYNC notifications for every pipe IO, not just state changes" Linux 5.10.62 bpf: Fix potentially incorrect results with bpf_get_local_storage() audit: move put_tree() to avoid trim_trees refcount underflow and UAF net: don't unconditionally copy_from_user a struct ifreq for socket ioctls Revert "parisc: Add assembly implementations for memset, strlen, strcpy, strncpy and strcat" Revert "floppy: reintroduce O_NDELAY fix" kthread: Fix PF_KTHREAD vs to_kthread() race btrfs: fix NULL pointer dereference when deleting device by invalid id arm64: dts: qcom: msm8994-angler: Fix gpio-reserved-ranges 85-88 lkdtm: Enable DOUBLE_FAULT on all architectures net: dsa: mt7530: fix VLAN traffic leaks again usb: typec: ucsi: Clear pending after acking connector change usb: typec: ucsi: Work around PPM losing change information usb: typec: ucsi: acpi: Always decode connector change information tracepoint: Use rcu get state and cond sync for static call updates srcu: Provide polling interfaces for Tiny SRCU grace periods srcu: Make Tiny SRCU use multi-bit grace-period counter srcu: Provide internal interface to start a Tiny SRCU grace period srcu: Provide polling interfaces for Tree SRCU grace periods srcu: Provide internal interface to start a Tree SRCU grace period powerpc/perf: Invoke per-CPU variable access with disabled interrupts perf annotate: Fix jump parsing for C++ code. perf tools: Fix arm64 build error with gcc-11 perf record: Fix memory leak in vDSO found using ASAN perf symbol-elf: Fix memory leak by freeing sdt_note.args perf env: Fix memory leak of bpf_prog_info_linear member riscv: Fixup patch_text panic in ftrace riscv: Fixup wrong ftrace remove cflag Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS vt_kdsetmode: extend console locking tipc: call tipc_wait_for_connect only when dlen is not 0 mtd: spinand: Fix incorrect parameters for on-die ECC pipe: do FASYNC notifications for every pipe IO, not just state changes pipe: avoid unnecessary EPOLLET wakeups under normal loads btrfs: fix race between marking inode needs to be logged and log syncing net/rds: dma_map_sg is entitled to merge entries drm/nouveau/kms/nv50: workaround EFI GOP window channel format differences drm/nouveau/disp: power down unused DP links during init drm: Copy drm_wait_vblank to user before returning blk-mq: don't grab rq's refcount in blk_mq_check_expired() drm/amd/pm: change the workload type for some cards Revert "drm/amd/pm: fix workload mismatch on vega10" qed: Fix null-pointer dereference in qed_rdma_create_qp() qed: qed ll2 race condition fixes tools/virtio: fix build vringh: Use wiov->used to check for read/write desc order virtio_vdpa: reject invalid vq indices virtio_pci: Support surprise removal of virtio pci device virtio: Improve vq->broken access to avoid any compiler optimization cpufreq: blocklist Qualcomm sm8150 in cpufreq-dt-platdev opp: remove WARN when no valid OPPs remain iwlwifi: pnvm: accept multiple HW-type TLVs clk: renesas: rcar-usb2-clock-sel: Fix kernel NULL pointer dereference perf/x86/intel/uncore: Fix integer overflow on 23 bit left shift of a u32 dt-bindings: sifive-l2-cache: Fix 'select' matching usb: gadget: u_audio: fix race condition on endpoint stop drm/i915: Fix syncmap memory leak net: stmmac: fix kernel panic due to NULL pointer dereference of plat->est net: stmmac: add mutex lock to protect est parameters Revert "mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711" net: hns3: fix get wrong pfc_en when query PFC configuration net: hns3: fix duplicate node in VLAN list net: hns3: add waiting time before cmdq memory is released net: hns3: clear hardware resource when loading driver rtnetlink: Return correct error on changing device netns cxgb4: dont touch blocked freelist bitmap after free ipv4: use siphash instead of Jenkins in fnhe_hashfun() ipv6: use siphash in rt6_exception_hash() net/sched: ets: fix crash when flipping from 'strict' to 'quantum' ucounts: Increase ucounts reference counter before the security hook net: marvell: fix MVNETA_TX_IN_PRGRS bit number xgene-v2: Fix a resource leak in the error handling path of 'xge_probe()' ip_gre: add validation for csum_start RDMA/efa: Free IRQ vectors on error flow e1000e: Do not take care about recovery NVM checksum e1000e: Fix the max snoop/no-snoop latency for 10M igc: Use num_tx_queues when iterating over tx_ring queue igc: fix page fault when thunderbolt is unplugged net: usb: pegasus: fixes of set_register(s) return value evaluation; ice: do not abort devlink info if board identifier can't be found RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init() IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs() RDMA/bnxt_re: Add missing spin lock initialization scsi: core: Fix hang of freezing queue between blocking and running device usb: dwc3: gadget: Stop EP0 transfers during pullup disable usb: dwc3: gadget: Fix dwc3_calc_trbs_left() usb: renesas-xhci: Prefer firmware loading on unknown ROM state USB: serial: option: add new VID/PID to support Fibocom FG150 Revert "USB: serial: ch341: fix character loss at high transfer rates" drm/amdgpu: Cancel delayed work when GFXOFF is disabled Revert "btrfs: compression: don't try to compress if we don't have enough pages" riscv: Ensure the value of FP registers in the core dump file is up to date ceph: correctly handle releasing an embedded cap flush can: usb: esd_usb2: esd_usb2_rx_event(): fix the interchange of the CAN RX and TX error counters net: mscc: Fix non-GPL export of regmap APIs ovl: fix uninitialized pointer read in ovl_lookup_real_one() blk-iocost: fix lockdep warning on blkcg->lock once: Fix panic when module unload netfilter: conntrack: collect all entries in one cycle ARC: Fix CONFIG_STACKDEPOT ASoC: component: Remove misplaced prefix handling in pin control functions ASoC: rt5682: Adjust headset volume button threshold bpf: Fix NULL pointer dereference in bpf_get_local_storage() helper bpf: Fix ringbuf helper function compatibility net: qrtr: fix another OOB Read in qrtr_endpoint_post ANDROID: GKI: update the android12-5.10-lts abi .xml file ANDROID: GKI: db845c: Update symbols list and ABI for lts v5.10.61 Revert "virtio: Protect vqs list access" Revert "net: igmp: fix data-race in igmp_ifc_timer_expire()" Revert "net: igmp: increase size of mr_ifc_count" Revert "PCI/MSI: Protect msi_desc::masked for multi-MSI" Linux 5.10.61 io_uring: only assign io_uring_enter() SQPOLL error in actual error case io_uring: fix xa_alloc_cycle() error return value check fs: warn about impending deprecation of mandatory locks mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim ASoC: intel: atom: Fix breakage for PCM buffer address setup ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8 PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI s390/pci: fix use after free of zpci_dev ALSA: hda/via: Apply runtime PM workaround for ASUS B23E btrfs: prevent rename2 from exchanging a subvol with a directory from different parents mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711 mmc: sdhci-iproc: Cap min clock frequency on BCM2711 ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop ipack: tpci200: fix memory leak in the tpci200_register ipack: tpci200: fix many double free issues in tpci200_pci_probe slimbus: ngd: reset dma setup during runtime pm slimbus: messaging: check for valid transaction id slimbus: messaging: start transaction ids from 1 instead of zero tracing / histogram: Fix NULL pointer dereference on strcmp() on NULL event name ALSA: hda - fix the 'Capture Switch' value change notifications clk: qcom: gdsc: Ensure regulator init state matches GDSC state clk: imx6q: fix uart earlycon unwork mmc: sdhci-msm: Update the software timeout value for sdhc mmc: mmci: stm32: Check when the voltage switch procedure should be done mmc: dw_mmc: Fix hang on data CRC error Revert "flow_offload: action should not be NULL when it is referenced" iavf: Fix ping is lost after untrusted VF had tried to change MAC i40e: Fix ATR queue selection r8152: fix writing USB_BP2_EN iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry() iommu/vt-d: Consolidate duplicate cache invaliation code ovs: clear skb->tstamp in forwarding path net: mdio-mux: Handle -EPROBE_DEFER correctly net: mdio-mux: Don't ignore memory allocation errors sch_cake: fix srchost/dsthost hashing mode ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32 virtio-net: use NETIF_F_GRO_HW instead of NETIF_F_LRO virtio-net: support XDP when not more queues vrf: Reset skb conntrack connection on VRF rcv bnxt_en: Add missing DMA memory barriers bnxt_en: Disable aRFS if running on 212 firmware ptp_pch: Restore dependency on PCI net: 6pack: fix slab-out-of-bounds in decode_data bnxt: count Tx drops bnxt: make sure xmit_more + errors does not miss doorbells bnxt: disable napi before canceling DIM bnxt: don't lock the tx queue from napi poll bpf: Clear zext_dst of dead insns drm/mediatek: Add AAL output size configuration drm/mediatek: Fix aal size config soc / drm: mediatek: Move DDP component defines into mtk-mmsys.h vdpa/mlx5: Avoid destroying MR on empty iotlb vhost: Fix the calculation in vhost_overflow() bus: ti-sysc: Fix error handling for sysc_check_active_timer() vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update() virtio: Protect vqs list access dccp: add do-while-0 stubs for dccp_pr_debug macros cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant iommu: Check if group is NULL before remove device arm64: dts: qcom: msm8992-bullhead: Remove PSCI arm64: dts: qcom: c630: fix correct powerdown pin for WSA881x Bluetooth: hidp: use correct wait queue when removing ctrl_wait drm/amd/display: workaround for hard hang on HPD on native DP drm/amd/display: Fix Dynamic bpp issue with 8K30 with Navi 1X net: usb: lan78xx: don't modify phy_device state concurrently net: usb: pegasus: Check the return value of get_geristers() and friends; ARM: dts: nomadik: Fix up interrupt controller node names qede: fix crash in rmmod qede while automatic debug collection drm/amdgpu: fix the doorbell missing when in CGPG issue for renoir. scsi: core: Fix capacity set to zero after offlinining device scsi: core: Avoid printing an error if target_alloc() returns -ENXIO scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach() scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry() scsi: pm80xx: Fix TMF task completion race condition dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218 net: xfrm: Fix end of loop tests for list_for_each_entry spi: spi-mux: Add module info needed for autoloading dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe() dmaengine: xilinx_dma: Fix read-after-free bug when terminating transfers USB: core: Fix incorrect pipe calculation in do_proc_control() USB: core: Avoid WARNings for 0-length descriptor requests KVM: X86: Fix warning caused by stale emulation context KVM: x86: Factor out x86 instruction emulation with decoding media: drivers/media/usb: fix memory leak in zr364xx_probe media: zr364xx: fix memory leaks in probe() media: zr364xx: propagate errors from zr364xx_start_readpipe() mtd: cfi_cmdset_0002: fix crash when erasing/writing AMD cards ath9k: Postpone key cache entry deletion for TXQ frames reference it ath: Modify ath_key_delete() to not need full key entry ath: Export ath_hw_keysetmac() ath9k: Clear key cache explicitly on disabling hardware ath: Use safer key clearing with key cache entries Linux 5.10.60 net: dsa: microchip: ksz8795: Use software untagging on CPU port net: dsa: microchip: ksz8795: Fix VLAN untagged flag change on deletion net: dsa: microchip: ksz8795: Reject unsupported VLAN configuration net: dsa: microchip: ksz8795: Fix PVID tag insertion net: dsa: microchip: Fix probing KSZ87xx switch with DT node for host port KVM: nSVM: always intercept VMLOAD/VMSAVE when nested (CVE-2021-3656) KVM: nSVM: avoid picking up unsupported bits from L2 in int_ctl (CVE-2021-3653) vmlinux.lds.h: Handle clang's module.{c,d}tor sections ceph: take snap_empty_lock atomically with snaprealm refcount change ceph: clean up locking annotation for ceph_get_snap_realm and __lookup_snap_realm ceph: add some lockdep assertions around snaprealm handling vboxsf: Add support for the atomic_open directory-inode op vboxsf: Add vboxsf_[create|release]_sf_handle() helpers KVM: nVMX: Use vmx_need_pf_intercept() when deciding if L0 wants a #PF KVM: VMX: Use current VMCS to query WAITPKG support for MSR emulation efi/libstub: arm64: Double check image alignment at entry powerpc/smp: Fix OOPS in topology_init() PCI/MSI: Protect msi_desc::masked for multi-MSI PCI/MSI: Use msi_mask_irq() in pci_msi_shutdown() PCI/MSI: Correct misleading comments PCI/MSI: Do not set invalid bits in MSI mask PCI/MSI: Enforce MSI[X] entry updates to be visible PCI/MSI: Enforce that MSI-X table entry is masked for update PCI/MSI: Mask all unused MSI-X entries PCI/MSI: Enable and mask MSI-X early genirq/timings: Prevent potential array overflow in __irq_timings_store() genirq/msi: Ensure deactivation on teardown x86/resctrl: Fix default monitoring groups reporting x86/ioapic: Force affinity setup before startup x86/msi: Force affinity setup before startup genirq: Provide IRQCHIP_AFFINITY_PRE_STARTUP x86/tools: Fix objdump version check again powerpc/kprobes: Fix kprobe Oops happens in booke efi/libstub: arm64: Relax 2M alignment again for relocatable kernels efi/libstub: arm64: Force Image reallocation if BSS was not reserved arm64: efi: kaslr: Fix occasional random alloc (and boot) failure nbd: Aovid double completion of a request vsock/virtio: avoid potential deadlock when vsock device remove xen/events: Fix race in set_evtchn_to_irq drm/i915: Only access SFC_DONE when media domain is not fused off net: igmp: increase size of mr_ifc_count tcp_bbr: fix u32 wrap bug in round logic if bbr_init() called after 2B packets net: linkwatch: fix failure to restore device state across suspend/resume net: bridge: fix memleak in br_add_if() net: bridge: fix flags interpretation for extern learn fdb entries net: bridge: validate the NUD_PERMANENT bit when adding an extern_learn FDB entry net: dsa: sja1105: fix broken backpressure in .port_fdb_dump net: dsa: lantiq: fix broken backpressure in .port_fdb_dump net: dsa: lan9303: fix broken backpressure in .port_fdb_dump net: igmp: fix data-race in igmp_ifc_timer_expire() net: Fix memory leak in ieee802154_raw_deliver net: dsa: microchip: ksz8795: Fix VLAN filtering net: dsa: microchip: Fix ksz_read64() drm/meson: fix colour distortion from HDR set during vendor u-boot net/mlx5: Fix return value from tracer initialization net/mlx5: Synchronize correct IRQ when destroying CQ bareudp: Fix invalid read beyond skb's linear data psample: Add a fwd declaration for skbuff iavf: Set RSS LUT and key in reset handle path ice: don't remove netdev->dev_addr from uc sync list ice: Prevent probing virtual functions net: sched: act_mirred: Reset ct info when mirror/redirect skb net/smc: fix wait on already cleared link ppp: Fix generating ifname when empty IFLA_IFNAME is specified net: phy: micrel: Fix link detection on ksz87xx switch" bpf: Fix integer overflow involving bucket_size libbpf: Fix probe for BPF_PROG_TYPE_CGROUP_SOCKOPT platform/x86: pcengines-apuv2: Add missing terminating entries to gpio-lookup tables net: mvvp2: fix short frame size on s390 net: dsa: mt7530: add the missing RxUnicast MIB counter ASoC: cs42l42: Fix LRCLK frame start edge pinctrl: tigerlake: Fix GPIO mapping for newer version of software netfilter: nf_conntrack_bridge: Fix memory leak when error ASoC: cs42l42: Remove duplicate control for WNF filter frequency ASoC: cs42l42: Fix inversion of ADC Notch Switch control ASoC: SOF: Intel: hda-ipc: fix reply size checking ASoC: cs42l42: Don't allow SND_SOC_DAIFMT_LEFT_J ASoC: cs42l42: Correct definition of ADC Volume control pinctrl: mediatek: Fix fallback behavior for bias_set_combo ieee802154: hwsim: fix GPF in hwsim_new_edge_nl ieee802154: hwsim: fix GPF in hwsim_set_edge_lqi drm/amdgpu: don't enable baco on boco platforms in runpm drm/amd/display: use GFP_ATOMIC in amdgpu_dm_irq_schedule_work drm/amd/display: Remove invalid assert for ODM + MPC case libnvdimm/region: Fix label activation vs errors ACPI: NFIT: Fix support for virtual SPA ranges ceph: reduce contention in ceph_check_delayed_caps() ARC: fp: set FPU_STATUS.FWE to enable FPU_STATUS update on context switch net: ethernet: ti: cpsw: fix min eth packet size for non-switch use-cases seccomp: Fix setting loaded filter count during TSYNC scsi: lpfc: Move initialization of phba->poll_list earlier to avoid crash cifs: create sd context must be a multiple of 8 i2c: dev: zero out array used for i2c reads from userspace ASoC: intel: atom: Fix reference to PCM buffer address ASoC: tlv320aic31xx: Fix jack detection after suspend ASoC: uniphier: Fix reference to PCM buffer address ASoC: xilinx: Fix reference to PCM buffer address ASoC: amd: Fix reference to PCM buffer address iio: adc: Fix incorrect exit of for-loop iio: humidity: hdc100x: Add margin to the conversion time iio: adis: set GPIO reset pin direction iio: adc: ti-ads7950: Ensure CS is deasserted after reading channels Linux 5.10.59 net: xilinx_emaclite: Do not print real IOMEM pointer ovl: prevent private clone if bind mount is not allowed ppp: Fix generating ppp unit id when ifname is not specified ALSA: hda: Add quirk for ASUS Flow x13 ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 650 G8 Notebook PC ALSA: pcm: Fix mmap breakage without explicit buffer setup USB:ehci:fix Kunpeng920 ehci hardware problem vboxsf: Make vboxsf_dir_create() return the handle for the created file vboxsf: Honor excl flag to the dir-inode create op arm64: dts: renesas: beacon: Fix USB ref clock references arm64: dts: renesas: beacon: Fix USB extal reference arm64: dts: renesas: rzg2: Add usb2_clksel to RZ/G2 M/N/H mm: make zone_to_nid() and zone_set_nid() available for DISCONTIGMEM Revert "selftests/resctrl: Use resctrl/info for feature detection" bpf: Add lockdown check for probe_write_user helper firmware: tee_bnxt: Release TEE shm, session, and context during kexec tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag KVM: SVM: Fix off-by-one indexing when nullifying last used SEV VMCB Revert "xfrm: Fix RCU vs hash_resize_mutex lock inversion" Linux 5.10.58 arm64: fix compat syscall return truncation drm/amdgpu/display: only enable aux backlight control for OLED panels smb3: rc uninitialized in one fallocate path net/qla3xxx: fix schedule while atomic in ql_wait_for_drvr_lock and ql_adapter_reset alpha: Send stop IPI to send to online CPUs net: qede: Fix end of loop tests for list_for_each_entry virt_wifi: fix error on connect reiserfs: check directory items on read from disk reiserfs: add check for root_inode in reiserfs_fill_super libata: fix ata_pio_sector for CONFIG_HIGHMEM drm/i915: avoid uninitialised var in eb_parse() sched/rt: Fix double enqueue caused by rt_effective_prio perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit inside the guest soc: ixp4xx/qmgr: fix invalid __iomem access drm/i915: Correct SFC_DONE register offset interconnect: qcom: icc-rpmh: Ensure floor BW is enforced for all nodes interconnect: Always call pre_aggregate before aggregate interconnect: Zero initial BW after sync-state spi: meson-spicc: fix memory leak in meson_spicc_remove interconnect: Fix undersized devress_alloc allocation soc: ixp4xx: fix printing resources arm64: vdso: Avoid ISB after reading from cntvct_el0 KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds KVM: Do not leak memory for duplicate debugfs directories KVM: x86: accept userspace interrupt only if no event is injected md/raid10: properly indicate failure when ending a failed write request ARM: omap2+: hwmod: fix potential NULL pointer access Revert "gpio: mpc8xxx: change the gpio interrupt flags." bus: ti-sysc: AM3: RNG is GP only selinux: correct the return value when loads initial sids pcmcia: i82092: fix a null pointer dereference bug net/xfrm/compat: Copy xfrm_spdattr_type_t atributes xfrm: Fix RCU vs hash_resize_mutex lock inversion timers: Move clearing of base::timer_running under base:: Lock fpga: dfl: fme: Fix cpu hotplug issue in performance reporting serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts. serial: 8250_pci: Enumerate Elkhart Lake UARTs via dedicated driver MIPS: Malta: Do not byte-swap accesses to the CBUS UART serial: 8250: Mask out floating 16/32-bit bus bits serial: 8250_mtk: fix uart corruption issue when rx power off serial: tegra: Only print FIFO error message when an error occurs ext4: fix potential htree corruption when growing large_dir directories pipe: increase minimum default pipe size to 2 pages media: rtl28xxu: fix zero-length control request drivers core: Fix oops when driver probe fails staging: rtl8712: error handling refactoring staging: rtl8712: get rid of flush_scheduled_work staging: rtl8723bs: Fix a resource leak in sd_int_dpc tpm_ftpm_tee: Free and unregister TEE shared memory during kexec optee: fix tee out of memory failure seen during kexec reboot optee: Refuse to load the driver under the kdump kernel optee: Fix memory leak when failing to register shm pages tee: add tee_shm_alloc_kernel_buf() optee: Clear stale cache entries during initialization arm64: stacktrace: avoid tracing arch_stack_walk() tracepoint: Fix static call function vs data state mismatch tracepoint: static call: Compare data on transition from 2->1 callees tracing: Fix NULL pointer dereference in start_creating tracing: Reject string operand in the histogram expression tracing / histogram: Give calculation hist_fields a size scripts/tracing: fix the bug that can't parse raw_trace_func clk: fix leak on devm_clk_bulk_get_all() unwind usb: otg-fsm: Fix hrtimer list corruption usb: typec: tcpm: Keep other events when receiving FRS and Sourcing_vbus events usb: host: ohci-at91: suspend/resume ports after/before OHCI accesses usb: gadget: f_hid: idle uses the highest byte for duration usb: gadget: f_hid: fixed NULL pointer dereference usb: gadget: f_hid: added GET_IDLE and SET_IDLE handlers usb: cdns3: Fixed incorrect gadget state usb: gadget: remove leaked entry from udc driver list usb: dwc3: gadget: Avoid runtime resume if disabling pullup ALSA: usb-audio: Add registration quirk for JBL Quantum 600 ALSA: usb-audio: Fix superfluous autosuspend recovery ALSA: hda/realtek: Fix headset mic for Acer SWIFT SF314-56 (ALC256) ALSA: hda/realtek: add mic quirk for Acer SF314-42 ALSA: pcm - fix mmap capability check for the snd-dummy driver drm/amdgpu/display: fix DMUB firmware version info firmware_loader: fix use-after-free in firmware_fallback_sysfs firmware_loader: use -ETIMEDOUT instead of -EAGAIN in fw_load_sysfs_fallback USB: serial: ftdi_sio: add device ID for Auto-M3 OP-COM v2 USB: serial: ch341: fix character loss at high transfer rates USB: serial: option: add Telit FD980 composition 0x1056 USB: usbtmc: Fix RCU stall warning Bluetooth: defer cleanup of resources in hci_unregister_dev() blk-iolatency: error out if blk_get_queue() failed in iolatency_set_limit() net: vxge: fix use-after-free in vxge_device_unregister net: fec: fix use-after-free in fec_drv_remove net: pegasus: fix uninit-value in get_interrupt_interval bnx2x: fix an error code in bnx2x_nic_load() mips: Fix non-POSIX regexp MIPS: check return value of pgtable_pmd_page_ctor net: sched: fix lockdep_set_class() typo error for sch->seqlock net: dsa: qca: ar9331: reorder MDIO write sequence net: ipv6: fix returned variable type in ip6_skb_dst_mtu nfp: update ethtool reporting of pauseframe control sctp: move the active_key update after sh_keys is added RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently gpio: tqmx86: really make IRQ optional net: natsemi: Fix missing pci_disable_device() in probe and remove net: phy: micrel: Fix detection of ksz87xx switch net: dsa: sja1105: match FDB entries regardless of inner/outer VLAN tag net: dsa: sja1105: be stateless with FDB entries on SJA1105P/Q/R/S/SJA1110 too net: dsa: sja1105: invalidate dynamic FDB entries learned concurrently with statically added ones net: dsa: sja1105: overwrite dynamic FDB entries with static ones in .port_fdb_add net, gro: Set inner transport header offset in tcp/udp GRO hook dmaengine: imx-dma: configure the generic DMA type to make it work ARM: dts: stm32: Fix touchscreen IRQ line assignment on DHCOM ARM: dts: stm32: Disable LAN8710 EDPD on DHCOM media: videobuf2-core: dequeue if start_streaming fails scsi: sr: Return correct event when media event code is 3 spi: imx: mx51-ecspi: Fix low-speed CONFIGREG delay calculation spi: imx: mx51-ecspi: Reinstate low-speed CONFIGREG delay dmaengine: stm32-dmamux: Fix PM usage counter unbalance in stm32 dmamux ops dmaengine: stm32-dma: Fix PM usage counter imbalance in stm32 dma ops clk: tegra: Implement disable_unused() of tegra_clk_sdmmc_mux_ops dmaengine: uniphier-xdmac: Use readl_poll_timeout_atomic() in atomic state omap5-board-common: remove not physically existing vdds_1v8_main fixed-regulator ARM: dts: am437x-l4: fix typo in can@0 node clk: stm32f4: fix post divisor setup for I2S/SAI PLLs ALSA: usb-audio: fix incorrect clock source setting arm64: dts: armada-3720-turris-mox: remove mrvl,i2c-fast-mode arm64: dts: armada-3720-turris-mox: fixed indices for the SDHC controllers ARM: dts: imx: Swap M53Menlo pinctrl_power_button/pinctrl_power_out pins ARM: imx: fix missing 3rd argument in macro imx_mmdc_perf_init ARM: dts: colibri-imx6ull: limit SDIO clock to 25MHz arm64: dts: ls1028: sl28: fix networking for variant 2 ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms ARM: imx: add missing clk_disable_unprepare() ARM: imx: add missing iounmap() arm64: dts: ls1028a: fix node name for the sysclk net: xfrm: fix memory leak in xfrm_user_rcv_msg bus: ti-sysc: Fix gpt12 system timer issue with reserved status ALSA: seq: Fix racy deletion of subscriber Revert "ACPICA: Fix memory leak caused by _CID repair function" Linux 5.10.57 spi: mediatek: Fix fifo transfer selftest/bpf: Verifier tests for var-off access bpf, selftests: Adjust few selftest outcomes wrt unreachable code bpf: Update selftests to reflect new error states bpf, selftests: Adjust few selftest result_unpriv outcomes selftest/bpf: Adjust expected verifier errors selftests/bpf: Add a test for ptr_to_map_value on stack for helper access Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout" firmware: arm_scmi: Add delayed response status check firmware: arm_scmi: Ensure drivers provide a probe function Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled" ACPI: fix NULL pointer dereference drm/amd/display: Fix max vstartup calculation for modes with borders drm/amd/display: Fix comparison error in dcn21 DML nvme: fix nvme_setup_command metadata trace event efi/mokvar: Reserve the table only if it is in boot services data ASoC: ti: j721e-evm: Check for not initialized parent_clk_id ASoC: ti: j721e-evm: Fix unbalanced domain activity tracking during startup net: Fix zero-copy head len calculation. ASoC: rt5682: Fix the issue of garbled recording after powerd_dbus_suspend qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union() r8152: Fix potential PM refcount imbalance ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits spi: stm32h7: fix full duplex irq handler handling regulator: rt5033: Fix n_voltages settings for BUCK and LDO regulator: rtmv20: Fix wrong mask for strobe-polarity-high btrfs: fix lost inode on log replay after mix of fsync, rename and inode eviction btrfs: fix race causing unnecessary inode logging during link and rename Revert "drm/i915: Propagate errors on awaiting already signaled fences" drm/i915: Revert "drm/i915/gem: Asynchronous cmdparser" Linux 5.10.56 can: j1939: j1939_session_deactivate(): clarify lifetime of session object i40e: Add additional info to PHY type error Revert "perf map: Fix dso->nsinfo refcounting" powerpc/pseries: Fix regression while building external modules SMB3: fix readpage for large swap cache bpf: Fix pointer arithmetic mask tightening under state pruning bpf: verifier: Allocate idmap scratch in verifier env bpf: Remove superfluous aux sanitation on subprog rejection bpf: Fix leakage due to insufficient speculative store bypass mitigation bpf: Introduce BPF nospec instruction for mitigating Spectre v4 can: hi311x: fix a signedness bug in hi3110_cmd() sis900: Fix missing pci_disable_device() in probe and remove tulip: windbond-840: Fix missing pci_disable_device() in probe and remove sctp: fix return value check in __sctp_rcv_asconf_lookup net/mlx5e: Fix nullptr in mlx5e_hairpin_get_mdev() net/mlx5: Fix flow table chaining skmsg: Make sk_psock_destroy() static drm/msm/dp: Initialize the INTF_CONFIG register drm/msm/dpu: Fix sm8250_mdp register length net: llc: fix skb_over_panic KVM: x86: Check the right feature bit for MSR_KVM_ASYNC_PF_ACK access mlx4: Fix missing error code in mlx4_load_one() octeontx2-pf: Fix interface down flag on error tipc: do not write skb_shinfo frags when doing decrytion ionic: count csum_none when offload enabled ionic: fix up dim accounting for tx and rx ionic: remove intr coalesce update from napi net: qrtr: fix memory leaks net: Set true network header for ECN decapsulation tipc: fix sleeping in tipc accept routine tipc: fix implicit-connect for SYN+ i40e: Fix log TC creation failure when max num of queues is exceeded i40e: Fix queue-to-TC mapping on Tx i40e: Fix firmware LLDP agent related warning i40e: Fix logic of disabling queues netfilter: nft_nat: allow to specify layer 4 protocol NAT only netfilter: conntrack: adjust stop timestamp to real expiry value mac80211: fix enabling 4-address mode on a sta vif after assoc bpf: Fix OOB read when printing XDP link fdinfo RDMA/bnxt_re: Fix stats counters cfg80211: Fix possible memory leak in function cfg80211_bss_update nfc: nfcsim: fix use after free during module unload blk-iocost: fix operation ordering in iocg_wake_fn() drm/amdgpu: Fix resource leak on probe error path drm/amdgpu: Avoid printing of stack contents on firmware load error drm/amd/display: ensure dentist display clock update finished in DCN20 NIU: fix incorrect error return, missed in previous revert HID: wacom: Re-enable touch by default for Cintiq 24HDT / 27QHDT alpha: register early reserved memory in memblock can: esd_usb2: fix memory leak can: ems_usb: fix memory leak can: usb_8dev: fix memory leak can: mcba_usb_start(): add missing urb->transfer_dma initialization can: peak_usb: pcan_usb_handle_bus_evt(): fix reading rxerr/txerr values can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF can: j1939: j1939_xtp_rx_dat_one(): fix rxtimer value between consecutive TP.DT to 750ms ocfs2: issue zeroout to EOF blocks ocfs2: fix zero out valid data KVM: add missing compat KVM_CLEAR_DIRTY_LOG x86/kvm: fix vcpu-id indexed array sizes ACPI: DPTF: Fix reading of attributes Revert "ACPI: resources: Add checks for ACPI IRQ override" btrfs: mark compressed range uptodate only if all bio succeed btrfs: fix rw device counting in __btrfs_free_extra_devids pipe: make pipe writes always wake up readers x86/asm: Ensure asm/proto.h can be included stand-alone io_uring: fix null-ptr-deref in io_sq_offload_start() selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c Linux 5.10.55 ipv6: ip6_finish_output2: set sk into newly allocated nskb ARM: dts: versatile: Fix up interrupt controller node names iomap: remove the length variable in iomap_seek_hole iomap: remove the length variable in iomap_seek_data cifs: fix the out of range assignment to bit fields in parse_server_interfaces firmware: arm_scmi: Fix range check for the maximum number of pending messages firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow hfs: add lock nesting notation to hfs_find_init hfs: fix high memory mapping in hfs_bnode_read hfs: add missing clean-up in hfs_fill_super drm/ttm: add a check against null pointer dereference ipv6: allocate enough headroom in ip6_finish_output2() rcu-tasks: Don't delete holdouts within trc_wait_for_one_reader() rcu-tasks: Don't delete holdouts within trc_inspect_reader() sctp: move 198 addresses from unusable to private scope net: annotate data race around sk_ll_usec net/802/garp: fix memleak in garp_request_join() net/802/mrp: fix memleak in mrp_request_join() cgroup1: fix leaked context root causing sporadic NULL deref in LTP workqueue: fix UAF in pwq_unbound_release_workfn() af_unix: fix garbage collect vs MSG_PEEK KVM: x86: determine if an exception has an error code only when injecting it. io_uring: fix link timeout refs tools: Allow proper CC/CXX/... override with LLVM=1 in Makefile.include Linux 5.10.54 skbuff: Fix build with SKB extensions disabled xhci: add xhci_get_virt_ep() helper sfc: ensure correct number of XDP queues drm/i915/gvt: Clear d3_entered on elsp cmd submission. usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI perf inject: Close inject.output on exit Documentation: Fix intiramfs script name skbuff: Release nfct refcount on napi stolen or re-used skbs bonding: fix build issue PCI: Mark AMD Navi14 GPU ATS as broken net: dsa: mv88e6xxx: enable SerDes PCS register dump via ethtool -d on Topaz net: dsa: mv88e6xxx: enable SerDes RX stats for Topaz drm/amdgpu: update golden setting for sienna_cichlid drm: Return -ENOTTY for non-drm ioctls driver core: Prevent warning when removing a device link from unregistered consumer nds32: fix up stack guard gap misc: eeprom: at24: Always append device id even if label property is set. rbd: always kick acquire on "acquired" and "released" notifications rbd: don't hold lock_rwsem while running_list is being drained hugetlbfs: fix mount mode command line processing memblock: make for_each_mem_range() traverse MEMBLOCK_HOTPLUG regions userfaultfd: do not untag user pointers io_uring: remove double poll entry on arm failure io_uring: explicitly count entries for poll reqs selftest: use mmap instead of posix_memalign to allocate memory posix-cpu-timers: Fix rearm racing against process tick bus: mhi: core: Validate channel ID when processing command completions ixgbe: Fix packet corruption due to missing DMA sync media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf() btrfs: check for missing device in btrfs_trim_fs tracing: Synthetic event field_pos is an index not a boolean tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop. tracing/histogram: Rename "cpu" to "common_cpu" tracepoints: Update static_call before tp_funcs when adding a tracepoint firmware/efi: Tell memblock about EFI iomem reservations usb: typec: stusb160x: register role switch before interrupt registration usb: dwc2: gadget: Fix sending zero length packet in DDMA mode. usb: dwc2: gadget: Fix GOUTNAK flow for Slave mode. usb: gadget: Fix Unbalanced pm_runtime_enable in tegra_xudc_probe USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick USB: serial: cp210x: fix comments for GE CS1000 USB: serial: option: add support for u-blox LARA-R6 family usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop() usb: max-3421: Prevent corruption of freed memory USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS usb: hub: Fix link power management max exit latency (MEL) calculations usb: hub: Disable USB 3 device initiated lpm if exit latency is too high KVM: PPC: Book3S HV Nested: Sanitise H_ENTER_NESTED TM state KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow xhci: Fix lost USB 2 remote wake usb: xhci: avoid renesas_usb_fw.mem when it's unusable Revert "usb: renesas-xhci: Fix handling of unknown ROM state" ALSA: pcm: Fix mmap capability check ALSA: pcm: Call substream ack() method upon compat mmap commit ALSA: hdmi: Expose all pins on MSI MS-7C94 board ALSA: hda/realtek: Fix pop noise and 2 Front Mic issues on a machine ALSA: sb: Fix potential ABBA deadlock in CSP driver ALSA: usb-audio: Add registration quirk for JBL Quantum headsets ALSA: usb-audio: Add missing proc text entry for BESPOKEN type s390/boot: fix use of expolines in the DMA code s390/ftrace: fix ftrace_update_ftrace_func implementation mmc: core: Don't allocate IDA for OF aliases proc: Avoid mixing integer types in mem_rw() cifs: fix fallocate when trying to allocate a hole. cifs: only write 64kb at a time when fallocating a small region of a file drm/panel: raspberrypi-touchscreen: Prevent double-free net: sched: cls_api: Fix the the wrong parameter net: dsa: sja1105: make VID 4095 a bridge VLAN too tcp: disable TFO blackhole logic by default sctp: update active_key for asoc when old key is being replaced nvme: set the PRACT bit when using Write Zeroes with T10 PI r8169: Avoid duplicate sysfs entry creation error afs: Fix tracepoint string placement with built-in AFS Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem" nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING ceph: don't WARN if we're still opening a session to an MDS ipv6: fix another slab-out-of-bounds in fib6_nh_flush_exceptions net/sched: act_skbmod: Skip non-Ethernet packets spi: spi-bcm2835: Fix deadlock net: hns3: fix rx VLAN offload state inconsistent issue net: hns3: fix possible mismatches resp of mailbox ALSA: hda: intel-dsp-cfg: add missing ElkhartLake PCI ID net/tcp_fastopen: fix data races around tfo_active_disable_stamp net: hisilicon: rename CACHE_LINE_MASK to avoid redefinition bnxt_en: Check abort error state in bnxt_half_open_nic() bnxt_en: Validate vlan protocol ID on RX packets bnxt_en: Add missing check for BNXT_STATE_ABORT_ERR in bnxt_fw_rset_task() bnxt_en: Refresh RoCE capabilities in bnxt_ulp_probe() bnxt_en: don't disable an already disabled PCI device ACPI: Kconfig: Fix table override from built-in initrd spi: cadence: Correct initialisation of runtime PM again scsi: target: Fix protect handling in WRITE SAME(32) scsi: iscsi: Fix iface sysfs attr detection netrom: Decrease sock refcount when sock timers expire sctp: trim optlen when it's a huge value in sctp_setsockopt net: sched: fix memory leak in tcindex_partial_destroy_work KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak KVM: PPC: Book3S: Fix CONFIG_TRANSACTIONAL_MEM=n crash net: decnet: Fix sleeping inside in af_decnet efi/tpm: Differentiate missing and invalid final event log table. dma-mapping: handle vmalloc addresses in dma_common_{mmap,get_sgtable} usb: hso: fix error handling code of hso_create_net_device net: fix uninit-value in caif_seqpkt_sendmsg bpftool: Check malloc return value in mount_bpffs_for_pin bpf, sockmap, udp: sk_prot needs inuse_idx set for proc stats bpf, sockmap, tcp: sk_prot needs inuse_idx set for proc stats bpf, sockmap: Fix potential memory leak on unlikely error case s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1] liquidio: Fix unintentional sign extension issue on left shift of u16 timers: Fix get_next_timer_interrupt() with no timers pending xdp, net: Fix use-after-free in bpf_xdp_link_release bpf: Fix tail_call_reachable rejection for interpreter when jit failed bpf, test: fix NULL pointer dereference on invalid expected_attach_type ASoC: rt5631: Fix regcache sync errors on resume spi: mediatek: fix fifo rx mode regulator: hi6421: Fix getting wrong drvdata regulator: hi6421: Use correct variable type for regmap api val argument spi: stm32: fixes pm_runtime calls in probe/remove spi: imx: add a check for speed_hz before calculating the clock ASoC: wm_adsp: Correct wm_coeff_tlv_get handling perf sched: Fix record failure when CONFIG_SCHEDSTATS is not set perf data: Close all files in close_dir() perf probe-file: Delete namelist in del_events() on the error path perf lzma: Close lzma stream on exit perf script: Fix memory 'threads' and 'cpus' leaks on exit perf report: Free generated help strings for sort option perf env: Fix memory leak of cpu_pmu_caps perf test maps__merge_in: Fix memory leak of maps perf dso: Fix memory leak in dso__new_map() perf test event_update: Fix memory leak of evlist perf test session_topology: Delete session->evlist perf env: Fix sibling_dies memory leak perf probe: Fix dso->nsinfo refcounting perf map: Fix dso->nsinfo refcounting perf inject: Fix dso->nsinfo refcounting KVM: x86/pmu: Clear anythread deprecated bit when 0xa leaf is unsupported on the SVM nvme-pci: do not call nvme_dev_remove_admin from nvme_remove mptcp: fix warning in __skb_flow_dissect() when do syn cookie for subflow join cxgb4: fix IRQ free race during driver unload pwm: sprd: Ensure configuring period and duty_cycle isn't wrongly skipped selftests: icmp_redirect: IPv6 PMTU info should be cleared after redirect selftests: icmp_redirect: remove from checking for IPv6 route get stmmac: platform: Fix signedness bug in stmmac_probe_config_dt() ipv6: fix 'disable_policy' for fwd packets bonding: fix incorrect return value of bond_ipsec_offload_ok() bonding: fix suspicious RCU usage in bond_ipsec_offload_ok() bonding: Add struct bond_ipesc to manage SA bonding: disallow setting nested bonding + ipsec offload bonding: fix suspicious RCU usage in bond_ipsec_del_sa() ixgbevf: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops bonding: fix null dereference in bond_ipsec_add_sa() bonding: fix suspicious RCU usage in bond_ipsec_add_sa() net: add kcov handle to skb extensions gve: Fix an error handling path in 'gve_probe()' igb: Fix position of assignment to *ring igb: Check if num of q_vectors is smaller than max before array access iavf: Fix an error handling path in 'iavf_probe()' e1000e: Fix an error handling path in 'e1000_probe()' fm10k: Fix an error handling path in 'fm10k_probe()' igb: Fix an error handling path in 'igb_probe()' igc: Fix an error handling path in 'igc_probe()' ixgbe: Fix an error handling path in 'ixgbe_probe()' igc: change default return of igc_read_phy_reg() igb: Fix use-after-free error during reset igc: Fix use-after-free error during reset Revert "bpf: Track subprog poke descriptors correctly and fix use-after-free" Linux 5.10.53 udp: annotate data races around unix_sk(sk)->gso_size drm/panel: nt35510: Do not fail if DSI read fails perf test bpf: Free obj_buf bpf: Track subprog poke descriptors correctly and fix use-after-free bpftool: Properly close va_list 'ap' by va_end() on error tools: bpf: Fix error in 'make -C tools/ bpf_install' tcp: call sk_wmem_schedule before sk_mem_charge in zerocopy path ipv6: tcp: drop silly ICMPv6 packet too big messages tcp: fix tcp_init_transfer() to not reset icsk_ca_initialized tcp: annotate data races around tp->mtu_info tcp: consistently disable header prediction for mptcp ARM: dts: tacoma: Add phase corrections for eMMC ARM: dts: aspeed: Fix AST2600 machines line names kbuild: do not suppress Kconfig prompts for silent build dma-buf/sync_file: Don't leak fences on merge failure net: fddi: fix UAF in fza_probe net: dsa: properly check for the bridge_leave methods in dsa_switch_bridge_leave() Revert "mm/shmem: fix shmem_swapin() race with swapoff" net: validate lwtstate->data before returning from skb_tunnel_info() net: send SYNACK packet with accepted fwmark net: ti: fix UAF in tlan_remove_one net: qcom/emac: fix UAF in emac_remove net: moxa: fix UAF in moxart_mac_probe net: ip_tunnel: fix mtu calculation for ETHER tunnel devices net: bcmgenet: Ensure all TX/RX queues DMAs are disabled net: netdevsim: use xso.real_dev instead of xso.dev in callback functions of struct xfrmdev_ops net: bridge: sync fdb to new unicast-filtering ports net/sched: act_ct: remove and free nf_table callbacks vmxnet3: fix cksum offload issues for tunnels with non-default udp ports net/sched: act_ct: fix err check for nf_conntrack_confirm netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo net: ipv6: fix return value of ip6_skb_dst_mtu net: dsa: mv88e6xxx: enable devlink ATU hash param for Topaz net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz net: dsa: mv88e6xxx: enable .port_set_policy() on Topaz net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear usb: cdns3: Enable TDL_CHK only for OUT ep mm/page_alloc: fix memory map initialization for descending nodes mm/userfaultfd: fix uffd-wp special cases for fork() mm/thp: simplify copying of huge zero page pmd when fork f2fs: Show casefolding support only when supported Revert "swap: fix do_swap_page() race with swapoff" arm64: dts: marvell: armada-37xx: move firmware node to generic dtsi file firmware: turris-mox-rwtm: add marvell,armada-3700-rwtm-firmware compatible string cifs: prevent NULL deref in cifs_compose_mount_options() s390: introduce proper type handling call_on_stack() macro s390/traps: do not test MONITOR CALL without CONFIG_BUG thermal/core/thermal_of: Stop zone device before unregistering it perf/x86/intel/uncore: Clean up error handling path of iio mapping sched/fair: Fix CFS bandwidth hrtimer expiry type scsi: qedf: Add check to synchronize abort and flush scsi: libfc: Fix array index out of bound exception scsi: libsas: Add LUN number check in .slave_alloc callback scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8 rtc: max77686: Do not enforce (incorrect) interrupt trigger type arch/arm64/boot/dts/marvell: fix NAND partitioning scheme kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set thermal/drivers/sprd: Add missing of_node_put for loop iteration thermal/drivers/imx_sc: Add missing of_node_put for loop iteration thermal/drivers/rcar_gen3_thermal: Do not shadow rcar_gen3_ths_tj_1 thermal/core: Correct function name thermal_zone_device_unregister() arm64: dts: imx8mq: assign PCIe clocks arm64: dts: ls208xa: remove bus-num from dspi node firmware: tegra: bpmp: Fix Tegra234-only builds soc/tegra: fuse: Fix Tegra234-only builds ARM: OMAP2+: Block suspend for am3 and am4 if PM is not configured ARM: dts: stm32: fix stpmic node for stm32mp1 boards ARM: dts: stm32: Rename spi-flash/mx66l51235l@N to flash@N on DHCOM SoM ARM: dts: stm32: Drop unused linux,wakeup from touchscreen node on DHCOM SoM ARM: dts: stm32: fix the Odyssey SoM eMMC VQMMC supply ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15 ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings ARM: dts: rockchip: fix supply properties in io-domains nodes arm64: dts: juno: Update SCPI nodes as per the YAML schema ARM: dts: bcm283x: Fix up GPIO LED node names ARM: dts: bcm283x: Fix up MMC node names firmware: arm_scmi: Fix the build when CONFIG_MAILBOX is not selected firmware: arm_scmi: Add SMCCC discovery dependency in Kconfig memory: tegra: Fix compilation warnings on 64bit platforms ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings ARM: dts: stm32: fix RCC node name on stm32f429 MCU ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards ARM: dts: stm32: fix stm32mp157c-odyssey card detect pin ARM: dts: stm32: Fix touchscreen node on dhcom-pdk2 ARM: dts: stm32: Remove extra size-cells on dhcom-pdk2 arm64: dts: qcom: sc7180: Move rmtfs memory region ARM: tegra: nexus7: Correct 3v3 regulator GPIO of PM269 variant ARM: tegra: wm8903: Fix polarity of headphones-detection GPIO in device-trees arm64: dts: ti: k3-am654x/j721e/j7200-common-proc-board: Fix MCU_RGMII1_TXC direction ARM: dts: OMAP2+: Replace underscores in sub-mailbox node names ARM: dts: am335x: fix ti,no-reset-on-init flag for gpios ARM: dts: am437x-gp-evm: fix ti,no-reset-on-init flag for gpios ARM: dts: am57xx-cl-som-am57x: fix ti,no-reset-on-init flag for gpios kbuild: sink stdout from cmd for silent build rtc: mxc_v2: add missing MODULE_DEVICE_TABLE ARM: dts: imx6dl-riotboard: configure PHY clock and set proper EEE value ARM: dts: ux500: Fix orientation of accelerometer ARM: dts: ux500: Rename gpio-controller node ARM: dts: ux500: Fix interrupt cells arm64: dts: rockchip: fix regulator-gpio states array ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info ARM: dts: imx6: phyFLEX: Fix UART hardware flow control ARM: dts: Hurricane 2: Fix NAND nodes names ARM: dts: BCM63xx: Fix NAND nodes names ARM: NSP: dts: fix NAND nodes names ARM: Cygnus: dts: fix NAND nodes names ARM: brcmstb: dts: fix NAND nodes names reset: ti-syscon: fix to_ti_syscon_reset_data macro arm64: dts: rockchip: Fix power-controller node names for rk3399 arm64: dts: rockchip: Fix power-controller node names for rk3328 arm64: dts: rockchip: Fix power-controller node names for px30 ARM: dts: rockchip: Fix power-controller node names for rk3288 ARM: dts: rockchip: Fix power-controller node names for rk3188 ARM: dts: rockchip: Fix power-controller node names for rk3066a ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x ARM: dts: rockchip: Fix the timer clocks order arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288 ARM: dts: rockchip: Fix thermal sensor cells o rk322x ARM: dts: gemini: add device_type on pci ARM: dts: gemini: rename mdio to the right name Linux 5.10.52 seq_file: disallow extremely large seq buffer allocations scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg() MIPS: vdso: Invalid GIC access through VDSO mips: disable branch profiling in boot/decompress.o mips: always link byteswap helpers into decompressor static_call: Fix static_call_text_reserved() vs __init jump_label: Fix jump_label_text_reserved() vs __init sched/uclamp: Ignore max aggregation if rq is idle scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe() arm64: dts: rockchip: Re-add regulator-always-on for vcc_sdio for rk3399-roc-pc arm64: dts: rockchip: Re-add regulator-boot-on, regulator-always-on for vdd_gpu on rk3399-roc-pc firmware: turris-mox-rwtm: show message about HWRNG registration firmware: turris-mox-rwtm: fail probing when firmware does not support hwrng firmware: turris-mox-rwtm: report failures better firmware: turris-mox-rwtm: fix reply status decoding function thermal/drivers/rcar_gen3_thermal: Fix coefficient calculations ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems ARM: dts: imx6q-dhcom: Fix ethernet reset time properties thermal/drivers/sprd: Add missing MODULE_DEVICE_TABLE ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema ARM: dts: dra7: Fix duplicate USB4 target module node arm64: dts: allwinner: a64-sopine-baseboard: change RGMII mode to TXID memory: fsl_ifc: fix leak of private memory on probe failure memory: fsl_ifc: fix leak of IO mapping on probe failure arm64: dts: ti: k3-j721e-main: Fix external refclk input to SERDES arm64: dts: renesas: r8a779a0: Drop power-domains property from GIC node reset: bail if try_module_get() fails ARM: dts: BCM5301X: Fixup SPI binding dt-bindings: i2c: at91: fix example for scl-gpios firmware: arm_scmi: Reset Rx buffer to max size during async commands firmware: tegra: Fix error return code in tegra210_bpmp_init() arm64: dts: qcom: trogdor: Add no-hpd to DSI bridge node ARM: dts: stm32: Rework LAN8710Ai PHY reset on DHCOM SoM ARM: dts: stm32: Connect PHY IRQ line on DH STM32MP1 SoM arm64: dts: renesas: r8a7796[01]: Fix OPP table entry voltages arm64: dts: renesas: Add missing opp-suspend properties arm64: dts: ti: j7200-main: Enable USB2 PHY RX sensitivity workaround ARM: dts: r8a7779, marzen: Fix DU clock names arm64: dts: renesas: v3msk: Fix memory size rtc: fix snprintf() checking in is_rtc_hctosys() ARM: dts: sun8i: h3: orangepi-plus: Fix ethernet phy-mode memory: pl353: Fix error return code in pl353_smc_probe() reset: brcmstb: Add missing MODULE_DEVICE_TABLE memory: atmel-ebi: add missing of_node_put for loop iteration memory: stm32-fmc2-ebi: add missing of_node_put for loop iteration ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4 ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1 ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3 ARM: exynos: add missing of_node_put for loop iteration reset: a10sr: add missing of_match_table reference reset: RESET_INTEL_GW should depend on X86 reset: RESET_BRCMSTB_RESCAL should depend on ARCH_BRCMSTB ARM: dts: gemini-rut1xx: remove duplicate ethernet node hexagon: use common DISCARDS macro hexagon: handle {,SOFT}IRQENTRY_TEXT in linker script NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times NFSv4/pnfs: Fix layoutget behaviour after invalidation NFSv4/pnfs: Fix the layout barrier update vdpa/mlx5: Clear vq ready indication upon device reset ALSA: isa: Fix error return code in snd_cmi8330_probe() nfsd: Reduce contention for the nfsd_file nf_rwsem nvme-tcp: can't set sk_user_data without write_lock virtio_net: move tx vq operation under tx queue lock vdpa/mlx5: Fix possible failure in umem size calculation vdpa/mlx5: Fix umem sizes assignments on VQ create PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift pwm: imx1: Don't disable clocks at device remove time PCI: intel-gw: Fix INTx enable x86/fpu: Limit xstate copy size in xstateregs_set() x86/fpu: Fix copy_xstate_to_kernel() gap handling f2fs: fix to avoid adding tab before doc section PCI: iproc: Support multi-MSI only on uniprocessor kernel PCI: iproc: Fix multi-MSI base vector number allocation ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode nfs: fix acl memory leak of posix_acl_create() SUNRPC: prevent port reuse on transports which don't request it. watchdog: jz4740: Fix return value check in jz4740_wdt_probe() watchdog: aspeed: fix hardware timeout calculation ubifs: journal: Fix error return code in ubifs_jnl_write_inode() ubifs: Fix off-by-one error um: fix error return code in winch_tramp() um: fix error return code in slip_open() misc: alcor_pci: fix inverted branch condition NFSv4: Fix an Oops in pnfs_mark_request_commit() when doing O_DIRECT NFSv4: Initialise connection to the server in nfs4_alloc_client() power: supply: rt5033_battery: Fix device tree enumeration PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun remoteproc: k3-r5: Fix an error message f2fs: compress: fix to disallow temp extension f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs x86/signal: Detect and prevent an alternate signal stack overflow NFSD: Fix TP_printk() format specifier in nfsd_clid_class f2fs: atgc: fix to set default age threshold virtio_console: Assure used length from device is limited virtio_net: Fix error handling in virtnet_restore() virtio-blk: Fix memory leak among suspend/resume procedure PCI: rockchip: Register IRQ handlers after device and data are ready ACPI: video: Add quirk for the Dell Vostro 3350 ACPI: AMBA: Fix resource name in /proc/iomem pwm: tegra: Don't modify HW state in .remove callback pwm: img: Fix PM reference leak in img_pwm_enable() drm/amdkfd: fix sysfs kobj leak power: supply: ab8500: add missing MODULE_DEVICE_TABLE power: supply: charger-manager: add missing MODULE_DEVICE_TABLE NFS: nfs_find_open_context() may only select open files drm/gma500: Add the missed drm_gem_object_put() in psb_user_framebuffer_create() ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty orangefs: fix orangefs df output. PCI: tegra: Add missing MODULE_DEVICE_TABLE remoteproc: core: Fix cdev remove and rproc del x86/fpu: Return proper error codes from user access functions watchdog: iTCO_wdt: Account for rebooting on second timeout watchdog: imx_sc_wdt: fix pretimeout watchdog: Fix possible use-after-free by calling del_timer_sync() watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff() watchdog: Fix possible use-after-free in wdt_startup() PCI: pciehp: Ignore Link Down/Up caused by DPC NFSv4: Fix delegation return in cases where we have to retry PCI/P2PDMA: Avoid pci_get_slot(), which may sleep ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1 power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE power: supply: max17042: Do not enforce (incorrect) interrupt trigger type PCI: hv: Fix a race condition when removing the device power: supply: ab8500: Avoid NULL pointers PCI: ftpci100: Rename macro name collision pwm: spear: Don't modify HW state in .remove callback power: supply: sc2731_charger: Add missing MODULE_DEVICE_TABLE power: supply: sc27xx: Add missing MODULE_DEVICE_TABLE kcov: add __no_sanitize_coverage to fix noinstr for all architectures lib/decompress_unlz4.c: correctly handle zero-padding around initrds. phy: intel: Fix for warnings due to EMMC clock 175Mhz change in FIP i2c: core: Disable client irq on reboot/shutdown intel_th: Wait until port is in reset before programming it staging: rtl8723bs: fix macro value for 2.4Ghz only device leds: turris-omnia: add missing MODULE_DEVICE_TABLE ALSA: firewire-motu: fix detection for S/PDIF source on optical interface in v2 protocol ALSA: usb-audio: scarlett2: Fix 6i6 Gen 2 line out descriptions ALSA: hda: Add IRQ check for platform_get_irq() backlight: lm3630a: Fix return code of .update_status() callback ASoC: Intel: kbl_da7219_max98357a: shrink platform_id below 20 characters powerpc/boot: Fixup device-tree on little endian usb: gadget: hid: fix error return code in hid_bind() usb: gadget: f_hid: fix endianness issue with descriptors ALSA: usb-audio: scarlett2: Fix scarlett2_*_ctl_put() return values ALSA: usb-audio: scarlett2: Fix data_mutex lock ALSA: usb-audio: scarlett2: Fix 18i8 Gen 2 PCM Input count ALSA: bebob: add support for ToneWeal FW66 Input: hideep - fix the uninitialized use in hideep_nvm_unlock() s390/mem_detect: fix tprot() program check new psw handling s390/mem_detect: fix diag260() program check new psw handling s390/ipl_parm: fix program check new psw handling s390/processor: always inline stap() and __load_psw_mask() habanalabs: remove node from list before freeing the node habanalabs/gaudi: set the correct cpu_id on MME2_QM failure ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing() powerpc/mm/book3s64: Fix possible build error gpio: pca953x: Add support for the On Semi pca9655 selftests/powerpc: Fix "no_handler" EBB selftest ALSA: ppc: fix error return code in snd_pmac_probe() scsi: storvsc: Correctly handle multiple flags in srb_status gpio: zynq: Check return value of irq_get_irq_data gpio: zynq: Check return value of pm_runtime_get_sync ASoC: soc-pcm: fix the return value in dpcm_apply_symmetry() iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails powerpc/ps3: Add dma_mask to ps3_dma_region ALSA: sb: Fix potential double-free of CSP mixer elements selftests: timers: rtcpie: skip test if default RTC device does not exist s390: disable SSP when needed s390/sclp_vt220: fix console name to match device serial: tty: uartlite: fix console setup fsi: Add missing MODULE_DEVICE_TABLE ASoC: img: Fix PM reference leak in img_i2s_in_probe() mfd: cpcap: Fix cpcap dmamask not set warnings mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE scsi: qedi: Fix cleanup session block/unblock use scsi: qedi: Fix TMF session block/unblock use scsi: qedi: Fix race during abort timeouts scsi: qedi: Fix null ref during abort handling scsi: iscsi: Fix shost->max_id use scsi: iscsi: Fix conn use after free during resets scsi: iscsi: Add iscsi_cls_conn refcount helpers scsi: megaraid_sas: Handle missing interrupts while re-enabling IRQs scsi: megaraid_sas: Early detection of VD deletion through RaidMap update scsi: megaraid_sas: Fix resource leak in case of probe failure fs/jfs: Fix missing error code in lmLogInit() scsi: scsi_dh_alua: Check for negative result value scsi: core: Fixup calling convention for scsi_mode_sense() scsi: mpt3sas: Fix deadlock while cancelling the running firmware event tty: serial: 8250: serial_cs: Fix a memory leak in error handling path ALSA: ac97: fix PM reference leak in ac97_bus_remove() scsi: core: Cap scsi_host cmd_per_lun at can_queue scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology scsi: hisi_sas: Propagate errors in interrupt_init_v1_hw() scsi: arcmsr: Fix doorbell status being updated late on ARC-1886 w1: ds2438: fixing bug that would always get page0 usb: common: usb-conn-gpio: fix NULL pointer dereference of charger Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro" ALSA: usx2y: Don't call free_pages_exact() with NULL address ALSA: usx2y: Avoid camelCase iio: magn: bmc150: Balance runtime pm + use pm_runtime_resume_and_get() iio: gyro: fxa21002c: Balance runtime pm + use pm_runtime_resume_and_get(). partitions: msdos: fix one-byte get_unaligned() ASoC: intel/boards: add missing MODULE_DEVICE_TABLE misc: alcor_pci: fix null-ptr-deref when there is no PCI bridge misc/libmasm/module: Fix two use after free in ibmasm_init_one serial: fsl_lpuart: disable DMA for console and fix sysrq tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero rcu: Reject RCU_LOCKDEP_WARN() false positives srcu: Fix broken node geometry after early ssp init scsi: arcmsr: Fix the wrong CDB payload report to IOP dmaengine: fsl-qdma: check dma_set_mask return value ASoC: Intel: sof_sdw: add mutual exclusion between PCH DMIC and RT715 leds: tlc591xx: fix return value check in tlc591xx_probe() net: bridge: multicast: fix MRD advertisement router port marking race net: bridge: multicast: fix PIM hello router port marking race Revert "drm/ast: Remove reference to struct drm_device.pdev" drm/ingenic: Switch IPU plane to type OVERLAY drm/ingenic: Fix non-OSD mode drm/dp_mst: Add missing drm parameters to recently added call to drm_dbg_kms() drm/dp_mst: Avoid to mess up payload table by ports in stale topology drm/dp_mst: Do not set proposed vcpi directly fbmem: Do not delete the mode that is still in use cgroup: verify that source is a string drm/i915/gt: Fix -EDEADLK handling regression drm/i915/gtt: drop the page table optimisation tracing: Do not reference char * as a string in histograms scsi: zfcp: Report port fc_security as unknown early during remote cable pull scsi: core: Fix bad pointer dereference when ehandler kthread is invalid KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run() KVM: nSVM: Check the value written to MSR_VM_HSAVE_PA KVM: x86/mmu: Do not apply HPA (memory encryption) mask to GPAs KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled KVM: mmio: Fix use-after-free Read in kvm_vm_ioctl_unregister_coalesced_mmio cifs: handle reconnect of tcon when there is no cached dfs referral certs: add 'x509_revocation_list' to gitignore Revert "media: subdev: disallow ioctl for saa6588/davinci" Linux 5.10.51 f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances ext4: fix memory leak in ext4_fill_super smackfs: restrict bytes count in smk_set_cipso() jfs: fix GPF in diFree drm/ast: Remove reference to struct drm_device.pdev pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq() dm writecache: write at least 4k when committing io_uring: fix clear IORING_SETUP_R_DISABLED in wrong function media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K media: gspca/sunplus: fix zero-length control requests media: gspca/sq905: fix control-request direction media: zr364xx: fix memory leak in zr364xx_start_readpipe media: dtv5100: fix control-request directions media: subdev: disallow ioctl for saa6588/davinci PCI: aardvark: Implement workaround for the readback value of VEND_ID PCI: aardvark: Fix checking for PIO Non-posted Request PCI: Leave Apple Thunderbolt controllers on for s2idle or standby dm btree remove: assign new_root only when removal succeeds dm writecache: flush origin device when writing and cache is full dm zoned: check zone capacity coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer() coresight: Propagate symlink failure ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT tracing: Simplify & fix saved_tgids logic rq-qos: fix missed wake-ups in rq_qos_throttle try two seq_buf: Fix overflow in seq_buf_putmem_hex() extcon: intel-mrfld: Sync hardware and software state on init selftests/lkdtm: Fix expected text for CR4 pinning lkdtm/bugs: XFAIL UNALIGNED_LOAD_STORE_WRITE nvmem: core: add a missing of_node_put mfd: syscon: Free the allocated name field of struct regmap_config power: supply: ab8500: Fix an old bug ubifs: Fix races between xattr_{set|get} and listxattr operations thermal/drivers/int340x/processor_thermal: Fix tcc setting ipmi/watchdog: Stop watchdog timer when the current action is 'none' qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute i40e: fix PTP on 5Gb links ASoC: tegra: Set driver_name=tegra for all machine drivers fpga: stratix10-soc: Add missing fpga_mgr_free() call clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround cpu/hotplug: Cure the cpusets trainwreck arm64: tlb: fix the TTL value of tlb_get_level ata: ahci_sunxi: Disable DIPM mmc: core: Allow UHS-I voltage switch for SDSC cards if supported mmc: core: clear flags before allowing to retune mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode mmc: sdhci-acpi: Disable write protect detection on Toshiba Encore 2 WT8-B drm/i915/display: Do not zero past infoframes.vsc drm/nouveau: Don't set allow_fb_modifiers explicitly drm/arm/malidp: Always list modifiers drm/msm/mdp4: Fix modifier support enabling drm/tegra: Don't set allow_fb_modifiers explicitly drm/amd/display: Reject non-zero src_y and src_x for video planes pinctrl/amd: Add device HID for new AMD GPIO controller drm/amd/display: fix incorrrect valid irq check drm/rockchip: dsi: remove extra component_del() call drm/dp: Handle zeroed port counts in drm_dp_read_downstream_info() drm/vc4: hdmi: Prevent clock unbalance drm/vc4: crtc: Skip the TXP drm/vc4: txp: Properly set the possible_crtcs mask drm/radeon: Call radeon_suspend_kms() in radeon_pci_shutdown() for Loongson64 drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create() drm/amdgpu: enable sdma0 tmz for Raven/Renoir(V2) drm/amdgpu: Update NV SIMD-per-CU to 2 powerpc/powernv/vas: Release reference to tgid during window close powerpc/barrier: Avoid collision with clang's __lwsync macro powerpc/mm: Fix lockup on kernel exec fault scsi: iscsi: Fix iSCSI cls conn state scsi: iscsi: Fix race condition between login and sync thread io_uring: convert io_buffer_idr to XArray io_uring: Convert personality_idr to XArray io_uring: simplify io_remove_personalities() mm,hwpoison: return -EBUSY when migration fails loop: fix I/O error on fsync() in detached loop devices arm64: dts: rockchip: Enable USB3 for rk3328 Rock64 arm64: dts: rockchip: add rk3328 dwc3 usb controller node ath11k: unlock on error path in ath11k_mac_op_add_interface() MIPS: MT extensions are not available on MIPS32r1 selftests/resctrl: Fix incorrect parsing of option "-t" MIPS: set mips32r5 for virt extensions MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops sctp: add size validation when walking chunks sctp: validate from_addr_param return flow_offload: action should not be NULL when it is referenced bpf: Fix false positive kmemleak report in bpf_ringbuf_area_alloc() sched/fair: Ensure _sum and _avg values stay consistent Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc. Bluetooth: mgmt: Fix the command returns garbage parameter value Bluetooth: btusb: Add support USB ALT 3 for WBS Bluetooth: L2CAP: Fix invalid access on ECRED Connection response Bluetooth: L2CAP: Fix invalid access if ECRED Reconfigure fails Bluetooth: btusb: Add a new QCA_ROME device (0cf3:e500) Bluetooth: Shutdown controller after workqueues are flushed or cancelled Bluetooth: Fix alt settings for incoming SCO with transparent coding format Bluetooth: Fix the HCI to MGMT status conversion table Bluetooth: btusb: Fixed too many in-token issue for Mediatek Chip. RDMA/cma: Fix rdma_resolve_route() memory leak net: ip: avoid OOM kills with large UDP sends over loopback media, bpf: Do not copy more entries than user space requested IB/isert: Align target max I/O size to initiator size mac80211_hwsim: add concurrent channels scanning support over virtio mac80211: consider per-CPU statistics if present cfg80211: fix default HE tx bitrate mask in 2G band wireless: wext-spy: Fix out-of-bounds warning sfc: error code if SRIOV cannot be disabled sfc: avoid double pci_remove of VFs iwlwifi: pcie: fix context info freeing iwlwifi: pcie: free IML DMA memory allocation iwlwifi: mvm: fix error print when session protection ends iwlwifi: mvm: don't change band on bound PHY contexts RDMA/rxe: Don't overwrite errno from ib_umem_get() vsock: notify server to shutdown when client has pending signal atm: nicstar: register the interrupt handler in the right place atm: nicstar: use 'dma_free_coherent' instead of 'kfree' net: fec: add ndo_select_queue to fix TX bandwidth fluctuations MIPS: add PMD table accounting into MIPS'pmd_alloc_one rtl8xxxu: Fix device info for RTL8192EU devices mt76: mt7915: fix IEEE80211_HE_PHY_CAP7_MAX_NC for station mode drm/amdkfd: Walk through list with dqm lock hold drm/amdgpu: fix bad address translation for sienna_cichlid io_uring: fix false WARN_ONCE net: sched: fix error return code in tcf_del_walker() net: ipa: Add missing of_node_put() in ipa_firmware_load() net: fix mistake path for netdev_features_strings mt76: mt7615: fix fixed-rate tx status reporting ice: mark PTYPE 2 as reserved ice: fix incorrect payload indicator on PTYPE bpf: Fix up register-based shifts in interpreter to silence KUBSAN drm/amdkfd: Fix circular lock in nocpsch path drm/amdkfd: fix circular locking on get_wave_state cw1200: add missing MODULE_DEVICE_TABLE wl1251: Fix possible buffer overflow in wl1251_cmd_scan wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP dm writecache: commit just one block, not a full page xfrm: Fix error reporting in xfrm_state_construct. drm/amd/display: Verify Gamma & Degamma LUT sizes in amdgpu_dm_atomic_check r8169: avoid link-up interrupt issue on RTL8106e if user enables ASPM selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC fjes: check return value after calling platform_get_resource() drm/amdkfd: use allowed domain for vmbo validation net: sgi: ioc3-eth: check return value after calling platform_get_resource() selftests: Clean forgotten resources as part of cleanup() net: phy: realtek: add delay to fix RXC generation issue drm/amd/display: Fix off-by-one error in DML drm/amd/display: Set DISPCLK_MAX_ERRDET_CYCLES to 7 drm/amd/display: Release MST resources on switch from MST to SST drm/amd/display: Update scaling settings on modeset drm/amd/display: Fix DCN 3.01 DSCCLK validation net: moxa: Use devm_platform_get_and_ioremap_resource() net: micrel: check return value after calling platform_get_resource() net: mvpp2: check return value after calling platform_get_resource() net: bcmgenet: check return value after calling platform_get_resource() net: mscc: ocelot: check return value after calling platform_get_resource() virtio_net: Remove BUG() to avoid machine dead ice: fix clang warning regarding deadcode.DeadStores ice: set the value of global config lock timeout longer pinctrl: mcp23s08: fix race condition in irq handler net: bridge: mrp: Update ring transitions. dm: Fix dm_accept_partial_bio() relative to zone management commands dm writecache: don't split bios when overwriting contiguous cache content dm space maps: don't reset space map allocation cursor when committing RDMA/cxgb4: Fix missing error code in create_qp() net: tcp better handling of reordering then loss cases drm/amdgpu: remove unsafe optimization to drop preamble ib drm/amd/display: Avoid HDCP over-read and corruption MIPS: ingenic: Select CPU_SUPPORTS_CPUFREQ && MIPS_EXTERNAL_TIMER MIPS: cpu-probe: Fix FPU detection on Ingenic JZ4760(B) ipv6: use prandom_u32() for ID generation virtio-net: Add validation for used length drm: bridge: cdns-mhdp8546: Fix PM reference leak in clk: tegra: Ensure that PLLU configuration is applied properly clk: tegra: Fix refcounting of gate clocks RDMA/rtrs: Change MAX_SESS_QUEUE_DEPTH net: stmmac: the XPCS obscures a potential "PHY not found" error drm: rockchip: add missing registers for RK3066 drm: rockchip: add missing registers for RK3188 net/mlx5: Fix lag port remapping logic net/mlx5e: IPsec/rep_tc: Fix rep_tc_update_skb drops IPsec packet clk: renesas: r8a77995: Add ZA2 clock drm/bridge: cdns: Fix PM reference leak in cdns_dsi_transfer() igb: fix assignment on big endian machines igb: handle vlan types with checker enabled e100: handle eeprom as little endian drm/vc4: hdmi: Fix PM reference leak in vc4_hdmi_encoder_pre_crtc_co() drm/vc4: Fix clock source for VEC PixelValve on BCM2711 udf: Fix NULL pointer dereference in udf_symlink function drm/sched: Avoid data corruptions drm/scheduler: Fix hang when sched_entity released pinctrl: equilibrium: Add missing MODULE_DEVICE_TABLE net/sched: cls_api: increase max_reclassify_loop net: mdio: provide shim implementation of devm_of_mdiobus_register drm/virtio: Fix double free on probe failure reiserfs: add check for invalid 1st journal block drm/bridge: lt9611: Add missing MODULE_DEVICE_TABLE net: mdio: ipq8064: add regmap config to disable REGCACHE drm/mediatek: Fix PM reference leak in mtk_crtc_ddp_hw_init() net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT atm: nicstar: Fix possible use-after-free in nicstar_cleanup() mISDN: fix possible use-after-free in HFC_cleanup() atm: iphase: fix possible use-after-free in ia_module_exit() hugetlb: clear huge pte during flush function on mips platform clk: renesas: rcar-usb2-clock-sel: Fix error handling in .probe() drm/amd/display: fix use_max_lb flag for 420 pixel formats net: pch_gbe: Use proper accessors to BE data in pch_ptp_match() drm/bridge: nwl-dsi: Force a full modeset when crtc_state->active is changed to be true drm/vc4: fix argument ordering in vc4_crtc_get_margins() drm/amd/amdgpu/sriov disable all ip hw status by default drm/amd/display: fix HDCP reset sequence on reinitialize drm/ast: Fixed CVE for DP501 drm/zte: Don't select DRM_KMS_FB_HELPER drm/mxsfb: Don't select DRM_KMS_FB_HELPER ANDROID: GKI: fix up crc change in ip.h Revert "Add a reference to ucounts for each cred" Revert "cred: add missing return error code when set_cred_ucounts() failed" Revert "Bluetooth: Fix Set Extended (Scan Response) Data" Linux 5.10.50 powerpc/preempt: Don't touch the idle task's preempt_count during hotplug iommu/dma: Fix compile warning in 32-bit builds cred: add missing return error code when set_cred_ucounts() failed s390: preempt: Fix preempt_count initialization crypto: qce - fix error return code in qce_skcipher_async_req_handle() scsi: core: Retry I/O for Notify (Enable Spinup) Required error media: exynos4-is: remove a now unused integer mmc: vub3000: fix control-request direction mmc: block: Disable CMDQ on the ioctl path io_uring: fix blocking inline submission block: return the correct bvec when checking for gaps erofs: fix error return code in erofs_read_superblock() tpm: Replace WARN_ONCE() with dev_err_once() in tpm_tis_status() fscrypt: fix derivation of SipHash keys on big endian CPUs fscrypt: don't ignore minor_hash when hash is 0 mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() scsi: fc: Correct RHBA attributes length exfat: handle wrong stream entry size in exfat_readdir() csky: syscache: Fixup duplicate cache flush csky: fix syscache.c fallthrough warning perf llvm: Return -ENOMEM when asprintf() fails selftests/vm/pkeys: refill shadow register after implicit kernel write selftests/vm/pkeys: handle negative sys_pkey_alloc() return code selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random lib/math/rational.c: fix divide by zero mm/z3fold: use release_z3fold_page_locked() to release locked z3fold page mm/z3fold: fix potential memory leak in z3fold_destroy_pool() include/linux/huge_mm.h: remove extern keyword hugetlb: remove prep_compound_huge_page cleanup mm/hugetlb: remove redundant check in preparing and destroying gigantic page mm/hugetlb: use helper huge_page_order and pages_per_huge_page mm/huge_memory.c: don't discard hugepage if other processes are mapping it mm/huge_memory.c: add missing read-only THP checking in transparent_hugepage_enabled() mm/huge_memory.c: remove dedicated macro HPAGE_CACHE_INDEX_MASK mm/pmem: avoid inserting hugepage PTE entry with fsdax if hugepage support is disabled vfio/pci: Handle concurrent vma faults arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART serial: mvebu-uart: correctly calculate minimal possible baudrate serial: mvebu-uart: do not allow changing baudrate when uartclk is not available ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable powerpc/64s: Fix copy-paste data exposure into newly created tasks powerpc/papr_scm: Properly handle UUID types and API powerpc: Offline CPU in stop_this_cpu() serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs serial: 8250: 8250_omap: Disable RX interrupt after DMA enable selftests/ftrace: fix event-no-pid on 1-core machine leds: ktd2692: Fix an error handling path leds: as3645a: Fix error return code in as3645a_parse_node() ASoC: fsl_spdif: Fix unexpected interrupt after suspend ASoC: Intel: sof_sdw: add SOF_RT715_DAI_ID_FIX for AlderLake configfs: fix memleak in configfs_release_bin_file ASoC: atmel-i2s: Fix usage of capture and playback at the same time powerpc/powernv: Fix machine check reporting of async store errors extcon: max8997: Add missing modalias string extcon: sm5502: Drop invalid register write in sm5502_reg_data phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe() phy: uniphier-pcie: Fix updating phy parameters soundwire: stream: Fix test for DP prepare complete scsi: mpt3sas: Fix error return value in _scsih_expander_add() habanalabs: Fix an error handling path in 'hl_pci_probe()' mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume() of: Fix truncation of memory sizes on 32-bit platforms ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp() serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates staging: mt7621-dts: fix pci address for PCI memory range coresight: core: Fix use of uninitialized pointer staging: rtl8712: fix memory leak in rtl871x_load_fw_cb staging: rtl8712: fix error handling in r871xu_drv_init staging: gdm724x: check for overflow in gdm_lte_netif_rx() staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt() ASoC: fsl_spdif: Fix error handler with pm_runtime_enable iio: light: vcnl4000: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp() thunderbolt: Bond lanes only when dual_link_port != NULL in alloc_dev_default() eeprom: idt_89hpesx: Restore printing the unsupported fwnode name eeprom: idt_89hpesx: Put fwnode in matching case during ->probe() usb: dwc2: Don't reset the core after setting turnaround time usb: gadget: f_fs: Fix setting of device and driver data cross-references ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()' ASoC: rt5682-sdw: set regcache_cache_only false before reading RT5682_DEVICE_ID ASoC: rt5682: fix getting the wrong device id when the suspend_stress_test ASoC: rt715-sdw: use first_hw_init flag on resume ASoC: rt711-sdw: use first_hw_init flag on resume ASoC: rt700-sdw: use first_hw_init flag on resume ASoC: rt5682-sdw: use first_hw_init flag on resume ASoC: rt1308-sdw: use first_hw_init flag on resume ASoC: max98373-sdw: use first_hw_init flag on resume iommu/dma: Fix IOVA reserve dma ranges selftests: splice: Adjust for handler fallback removal s390: appldata depends on PROC_SYSCTL s390: enable HAVE_IOREMAP_PROT s390/irq: select HAVE_IRQ_EXIT_ON_IRQ_STACK iommu/amd: Fix extended features logging visorbus: fix error return code in visorchipset_init() fsi/sbefifo: Fix reset timeout fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE fsi: occ: Don't accept response from un-initialized OCC fsi: scom: Reset the FSI2PIB engine for any error fsi: core: Fix return of error values on failures mfd: rn5t618: Fix IRQ trigger by changing it to level mode mfd: mp2629: Select MFD_CORE to fix build error scsi: iscsi: Flush block work before unblock scsi: FlashPoint: Rename si_flags field leds: lp50xx: Put fwnode in error case during ->probe() leds: lm3697: Don't spam logs when probe is deferred leds: lm3692x: Put fwnode in any case during ->probe() leds: lm36274: Put fwnode in error case during ->probe() leds: lm3532: select regmap I2C API leds: class: The -ENOTSUPP should never be seen by user space tty: nozomi: Fix the error handling path of 'nozomi_card_init()' firmware: stratix10-svc: Fix a resource leak in an error handling path char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol() staging: mmal-vchiq: Fix incorrect static vchiq_instance. mtd: rawnand: arasan: Ensure proper configuration for the asserted target mtd: partitions: redboot: seek fis-index-block in the right node perf scripting python: Fix tuple_set_u64() Input: hil_kbd - fix error return code in hil_dev_connect() ASoC: rsnd: tidyup loop on rsnd_adg_clk_query() backlight: lm3630a_bl: Put fwnode in error case during ->probe() ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup() ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() iio: chemical: atlas: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: magn: bmc150: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: magn: hmc5843: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: mxc4005: Fix overread of data and alignment issue. iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio: adis16475: do not return ints in irq handlers iio: adis16400: do not return ints in irq handlers iio: adis_buffer: do not return ints in irq handlers mwifiex: re-fix for unaligned accesses tty: nozomi: Fix a resource leak in an error handling function serial: 8250_omap: fix a timeout loop condition serial: fsl_lpuart: remove RTSCTS handling from get_mctrl() serial: fsl_lpuart: don't modify arbitrary data on lpuart32 rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() ASoC: rt5682: Disable irq on shutdown staging: fbtft: Don't spam logs when probe is deferred staging: fbtft: Rectify GPIO handling MIPS: Fix PKMAP with 32-bit MIPS huge page support RDMA/core: Always release restrack object RDMA/mlx5: Don't access NULL-cleared mpi pointer net: tipc: fix FB_MTU eat two pages net: sched: fix warning in tcindex_alloc_perfect_hash net: lwtunnel: handle MTU calculation in forwading writeback: fix obtain a reference to a freeing memcg css clk: si5341: Update initialization magic clk: si5341: Check for input clock presence and PLL lock on startup clk: si5341: Avoid divide errors due to bogus register contents clk: si5341: Wait for DEVICE_READY on startup clk: qcom: clk-alpha-pll: fix CAL_L write in alpha_pll_fabia_prepare clk: actions: Fix AHPPREDIV-H-AHB clock chain on Owl S500 SoC clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC clk: actions: Fix SD clocks factor table on Owl S500 SoC clk: actions: Fix UART clock dividers on Owl S500 SoC Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event Bluetooth: Fix Set Extended (Scan Response) Data Bluetooth: Fix not sending Set Extended Scan Response Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid Revert "be2net: disable bh with spin_lock in be_process_mcc" gve: Fix swapped vars when fetching max queues RDMA/cma: Fix incorrect Packet Lifetime calculation bpfilter: Specify the log level for the kmsg message net: dsa: sja1105: fix NULL pointer dereference in sja1105_reload_cbs() e1000e: Check the PCIm state ipv6: fix out-of-bound access in ip6_parse_tlv() net: atlantic: fix the macsec key length net: phy: mscc: fix macsec key length net: macsec: fix the length used to copy the key for offloading RDMA/cma: Protect RMW with qp_mutex ibmvnic: free tx_pool if tso_pool alloc fails ibmvnic: set ltb->buff to NULL after freeing Revert "ibmvnic: remove duplicate napi_schedule call in open function" i40e: Fix missing rtnl locking when setting up pf switch i40e: Fix autoneg disabling for non-10GBaseT links i40e: Fix error handling in i40e_vsi_open bpf: Do not change gso_size during bpf_skb_change_proto() can: j1939: j1939_sk_setsockopt(): prevent allocation of j1939 filter for optlen == 0 ipv6: exthdrs: do not blindly use init_net net: bcmgenet: Fix attaching to PYH failed on RPi 4B mac80211: remove iwlwifi specific workaround NDPs of null_response drm/msm/dpu: Fix error return code in dpu_mdss_init() drm/msm: Fix error return code in msm_drm_init() bpf: Fix null ptr deref with mixed tail calls and subprogs ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl() ieee802154: hwsim: Fix memory leak in hwsim_add_one tc-testing: fix list handling net: ti: am65-cpsw-nuss: Fix crash when changing number of TX queues net/ipv4: swap flow ports when validating source ip6_tunnel: fix GRE6 segmentation vxlan: add missing rcu_read_lock() in neigh_reduce() rtw88: 8822c: fix lc calibration timing iwlwifi: increase PNVM load timeout xfrm: Fix xfrm offload fallback fail case pkt_sched: sch_qfq: fix qfq_change_class() error path netfilter: nf_tables_offload: check FLOW_DISSECTOR_KEY_BASIC in VLAN transfer logic tls: prevent oversized sendfile() hangs by ignoring MSG_MORE net: sched: add barrier to ensure correct ordering for lockless qdisc vrf: do not push non-ND strict packets with a source LLA through packet taps again net: ethernet: ezchip: fix error handling net: ethernet: ezchip: fix UAF in nps_enet_remove net: ethernet: aeroflex: fix UAF in greth_of_remove mt76: mt7615: fix NULL pointer dereference in tx_prepare_skb() mt76: fix possible NULL pointer dereference in mt76_tx samples/bpf: Fix the error return code of xdp_redirect's main() samples/bpf: Fix Segmentation fault for xdp_redirect command RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr bpf: Fix libelf endian handling in resolv_btfids xsk: Fix broken Tx ring validation xsk: Fix missing validation for skb and unaligned mode selftests/bpf: Whitelist test_progs.h from .gitignore RDMA/rxe: Fix qp reference counting for atomic ops netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols netfilter: nft_osf: check for TCP packet before further processing netfilter: nft_exthdr: check for IPv6 packet before further processing RDMA/mlx5: Don't add slave port to unaffiliated list netlabel: Fix memory leak in netlbl_mgmt_add_common ath11k: send beacon template after vdev_start/restart during csa ath10k: Fix an error code in ath10k_add_interface() ath11k: Fix an error handling path in ath11k_core_fetch_board_data_api_n() cw1200: Revert unnecessary patches that fix unreal use-after-free bugs brcmsmac: mac80211_if: Fix a resource leak in an error handling path brcmfmac: Fix a double-free in brcmf_sdio_bus_reset brcmfmac: correctly report average RSSI in station info brcmfmac: fix setting of station info chains bitmask ssb: Fix error return code in ssb_bus_scan() wcn36xx: Move hal_buf allocation to devm_kmalloc in probe clk: imx8mq: remove SYS PLL 1/2 clock gates ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others wireless: carl9170: fix LEDS build errors & warnings ath10k: add missing error return code in ath10k_pci_probe() ath10k: go to path err_unsupported when chip id is not supported tools/bpftool: Fix error return code in do_batch() drm: qxl: ensure surf.data is ininitialized clk: vc5: fix output disabling when enabling a FOD drm/vc4: hdmi: Fix error path of hpd-gpios drm/pl111: Actually fix CONFIG_VEXPRESS_CONFIG depends RDMA/rxe: Fix failure during driver load drm/pl111: depend on CONFIG_VEXPRESS_CONFIG RDMA/core: Sanitize WQ state received from the userspace net/sched: act_vlan: Fix modify to allow 0 xfrm: remove the fragment check for ipv6 beet mode clk: tegra30: Use 300MHz for video decoder by default ehea: fix error return code in ehea_restart_qps() RDMA/rtrs-clt: Fix memory leak of not-freed sess->stats and stats->pcpu_stats RDMA/rtrs-clt: Check if the queue_depth has changed during a reconnection RDMA/rtrs-srv: Fix memory leak when having multiple sessions RDMA/rtrs-srv: Fix memory leak of unfreed rtrs_srv_stats object RDMA/rtrs: Do not reset hb_missed_max after re-connection RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats RDMA/srp: Fix a recently introduced memory leak mptcp: generate subflow hmac after mptcp_finish_join() mptcp: fix pr_debug in mptcp_token_new_connect drm/rockchip: cdn-dp: fix sign extension on an int multiply for a u64 result drm/rockchip: lvds: Fix an error handling path drm/rockchip: dsi: move all lane config except LCDC mux to bind() drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write() drm: rockchip: set alpha_en to 0 if it is not used net: ftgmac100: add missing error return code in ftgmac100_probe() clk: meson: g12a: fix gp0 and hifi ranges net: qrtr: ns: Fix error return code in qrtr_ns_init() drm/vmwgfx: Fix cpu updates of coherent multisample surfaces drm/vmwgfx: Mark a surface gpu-dirty after the SVGA3dCmdDXGenMips command pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin net: pch_gbe: Propagate error from devm_gpio_request_one() net: mvpp2: Put fwnode in error case during ->probe() video: fbdev: imxfb: Fix an error message drm/ast: Fix missing conversions to managed API drm/amd/dc: Fix a missing check bug in dm_dp_mst_detect() drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable() drm/bridge/sii8620: fix dependency on extcon xfrm: xfrm_state_mtu should return at least 1280 for ipv6 mm/page_alloc: fix counting of managed_pages mm: page_alloc: refactor setup_per_zone_lowmem_reserve() mm: memcg/slab: properly set up gfp flags for objcg pointer array mm/shmem: fix shmem_swapin() race with swapoff swap: fix do_swap_page() race with swapoff mm/debug_vm_pgtable: ensure THP availability via has_transparent_hugepage() mm/debug_vm_pgtable/basic: iterate over entire protection_map[] mm/debug_vm_pgtable/basic: add validation for dirtiness after write protect dax: fix ENOMEM handling in grab_mapping_entry() ocfs2: fix snprintf() checking blk-mq: update hctx->dispatch_busy in case of real scheduler cpufreq: Make cpufreq_online() call driver->offline() on errors ACPI: bgrt: Fix CFI violation ACPI: Use DEVICE_ATTR_<RW|RO|WO> macros blk-wbt: make sure throttle is enabled properly blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() ACPI: APEI: fix synchronous external aborts in user-mode extcon: extcon-max8997: Fix IRQ freeing at error path clocksource/drivers/timer-ti-dm: Save and restore timer TIOCP_CFG mark pstore-blk as broken ACPI: sysfs: Fix a buffer overrun problem with description_show() nvme-pci: look for StorageD3Enable on companion ACPI device instead block: avoid double io accounting for flush request ACPI: PM / fan: Put fan device IDs into separate header file PM / devfreq: Add missing error code in devfreq_add_device() media: video-mux: Skip dangling endpoints media: v4l2-async: Clean v4l2_async_notifier_add_fwnode_remote_subdev psi: Fix race between psi_trigger_create/destroy crypto: nx - Fix RCU warning in nx842_OF_upd_status spi: spi-sun6i: Fix chipselect/clock bug lockdep/selftests: Fix selftests vs PROVE_RAW_LOCK_NESTING lockdep: Fix wait-type for empty stack sched/uclamp: Fix uclamp_tg_restrict() sched/rt: Fix Deadline utilization tracking during policy change sched/rt: Fix RT utilization tracking during policy change x86/sev: Split up runtime #VC handler for correct state tracking x86/sev: Make sure IRQs are disabled while GHCB is active btrfs: clear log tree recovering status if starting transaction fails regulator: hi655x: Fix pass wrong pointer to config.driver_data KVM: arm64: Don't zero the cycle count register when PMCR_EL0.P is set perf/arm-cmn: Fix invalid pointer when access dtc object sharing the same IRQ number KVM: x86/mmu: Fix return value in tdp_mmu_map_handle_target_level() KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap KVM: nVMX: Sync all PGDs on nested transition with shadow paging hwmon: (max31790) Fix fan speed reporting for fan7..12 hwmon: (max31722) Remove non-standard ACPI device IDs hwmon: (lm70) Revert "hwmon: (lm70) Add support for ACPI" hwmon: (lm70) Use device_get_match_data() media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx media: subdev: remove VIDIOC_DQEVENT_TIME32 handling arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan arm64: consistently use reserved_pg_dir mmc: usdhi6rol0: fix error return code in usdhi6_probe() crypto: sm2 - fix a memory leak in sm2 crypto: sm2 - remove unnecessary reset operations crypto: x86/curve25519 - fix cpu feature checking logic in mod_exit crypto: omap-sham - Fix PM reference leak in omap sham ops crypto: nitrox - fix unchecked variable in nitrox_register_interrupts regulator: fan53880: Fix vsel_mask setting for FAN53880_BUCK media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2() m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning media: gspca/gl860: fix zero-length control requests media: tc358743: Fix error return code in tc358743_probe_of() media: au0828: fix a NULL vs IS_ERR() check media: exynos4-is: Fix a use after free in isp_video_release media: rkvdec: Fix .buf_prepare locking/lockdep: Reduce LOCKDEP dependency list pata_ep93xx: fix deferred probing media: rc: i2c: Fix an error message crypto: ccp - Fix a resource leak in an error handling path crypto: sa2ul - Fix pm_runtime enable in sa_ul_probe() crypto: sa2ul - Fix leaks on failure paths with sa_dma_init() x86/elf: Use _BITUL() macro in UAPI headers evm: fix writing <securityfs>/evm overflow pata_octeon_cf: avoid WARN_ON() in ata_host_activate() kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n' sched/uclamp: Fix locking around cpu_util_update_eff() sched/uclamp: Fix wrong implementation of cpu.uclamp.min media: I2C: change 'RST' to "RSET" to fix multiple build errors pata_rb532_cf: fix deferred probing sata_highbank: fix deferred probing crypto: ux500 - Fix error return code in hash_hw_final() crypto: ixp4xx - update IV after requests crypto: ixp4xx - dma_unmap the correct address media: hantro: do a PM resume earlier media: s5p_cec: decrement usage count if disabled media: venus: Rework error fail recover logic spi: Avoid undefined behaviour when counting unused native CSs spi: Allow to have all native CSs in use along with GPIOs writeback, cgroup: increment isw_nr_in_flight before grabbing an inode ia64: mca_drv: fix incorrect array size calculation kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() block: fix discard request merge mailbox: qcom: Use PLATFORM_DEVID_AUTO to register platform device cifs: fix missing spinlock around update to ses->status HID: wacom: Correct base usage for capacitive ExpressKey status bits ACPI: tables: Add custom DSDT file as makefile prerequisite tpm_tis_spi: add missing SPI device ID entries clocksource: Check per-CPU clock synchronization when marked unstable clocksource: Retry clock read if long delays detected ACPI: EC: trust DSDT GPE for certain HP laptop cifs: improve fallocate emulation PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() EDAC/Intel: Do not load EDAC driver when running as a guest nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() nvme-pci: fix var. type for increasing cq_head platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() platform/x86: asus-nb-wmi: Revert "add support for ASUS ROG Zephyrus G14 and G15" platform/x86: asus-nb-wmi: Revert "Drop duplicate DMI quirk structures" block: fix race between adding/removing rq qos and normal IO ACPI: resources: Add checks for ACPI IRQ override ACPI: bus: Call kobject_put() in acpi_init() error path ACPICA: Fix memory leak caused by _CID repair function fs: dlm: fix memory leak when fenced drivers: hv: Fix missing error code in vmbus_connect() open: don't silently ignore unknown O-flags in openat2() random32: Fix implicit truncation warning in prandom_seed_state() fs: dlm: cancel work sync othercon blk-mq: clear stale request in tags->rq[] before freeing one request pool blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter block_dump: remove block_dump feature in mark_inode_dirty() ACPI: EC: Make more Asus laptops use ECDT _GPE platform/x86: touchscreen_dmi: Add info for the Goodix GT912 panel of TM800A550L tablets platform/x86: touchscreen_dmi: Add an extra entry for the upside down Goodix touchscreen on Teclast X89 tablets Input: goodix - platform/x86: touchscreen_dmi - Move upside down quirks to touchscreen_dmi.c lib: vsprintf: Fix handling of number field widths in vsscanf hv_utils: Fix passing zero to 'PTR_ERR' warning ACPI: processor idle: Fix up C-state latency if not ordered EDAC/ti: Add missing MODULE_DEVICE_TABLE HID: do not use down_interruptible() when unbinding devices ACPI: video: use native backlight for GA401/GA502/GA503 media: Fix Media Controller API config checks regulator: da9052: Ensure enough delay time for .set_voltage_time_sel regulator: mt6358: Fix vdram2 .vsel_mask KVM: s390: get rid of register asm usage lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage() locking/lockdep: Fix the dep path printing for backwards BFS btrfs: disable build on platforms having page size 256K btrfs: don't clear page extent mapped if we're not invalidating the full page btrfs: sysfs: fix format string for some discard stats btrfs: abort transaction if we fail to update the delayed inode btrfs: fix error handling in __btrfs_update_delayed_inode KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() hwmon: (max31790) Fix pwmX_enable attributes hwmon: (max31790) Report correct current pwm duty cycles media: imx-csi: Skip first few frames from a BT.656 source media: siano: fix device register error path media: dvb_net: avoid speculation from net slot crypto: shash - avoid comparing pointers to exported functions under CFI spi: meson-spicc: fix memory leak in meson_spicc_probe spi: meson-spicc: fix a wrong goto jump for avoiding memory leak. mmc: via-sdmmc: add a check against NULL pointer dereference mmc: sdhci-sprd: use sdhci_sprd_writew memstick: rtsx_usb_ms: fix UAF media: dvd_usb: memory leak in cinergyt2_fe_attach Makefile: fix GDB warning with CONFIG_RELR crypto: hisilicon/sec - fixup 3des minimum key size declaration media: st-hva: Fix potential NULL pointer dereferences media: bt8xx: Fix a missing check bug in bt878_probe media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release media: cedrus: Fix .buf_prepare media: hantro: Fix .buf_prepare media: em28xx: Fix possible memory leak of em28xx struct media: bt878: do not schedule tasklet when it is not setup media: i2c: ov2659: Use clk_{prepare_enable,disable_unprepare}() to set xvclk on/off sched/fair: Fix ascii art by relpacing tabs arm64: perf: Convert snprintf to sysfs_emit crypto: qce: skcipher: Fix incorrect sg count for dma transfers crypto: qat - remove unused macro in FW loader crypto: qat - check return code of qat_hal_rd_rel_reg() media: imx: imx7_mipi_csis: Fix logging of only error event counters media: pvrusb2: fix warning in pvr2_i2c_core_done media: hevc: Fix dependent slice segment flags media: cobalt: fix race condition in setting HPD media: cpia2: fix memory leak in cpia2_usb_probe media: sti: fix obj-$(config) targets crypto: nx - add missing MODULE_DEVICE_TABLE hwrng: exynos - Fix runtime PM imbalance on error sched/core: Initialize the idle task with preemption disabled regulator: uniphier: Add missing MODULE_DEVICE_TABLE spi: omap-100k: Fix the length judgment problem spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf' media: exynos-gsc: fix pm_runtime_get_sync() usage count media: exynos4-is: fix pm_runtime_get_sync() usage count media: sti/bdisp: fix pm_runtime_get_sync() usage count media: sunxi: fix pm_runtime_get_sync() usage count media: s5p-jpeg: fix pm_runtime_get_sync() usage count media: mtk-vcodec: fix PM runtime get logic media: sh_vou: fix pm_runtime_get_sync() usage count media: am437x: fix pm_runtime_get_sync() usage count media: s5p: fix pm_runtime_get_sync() usage count media: mdk-mdp: fix pm_runtime_get_sync() usage count media: marvel-ccic: fix some issues when getting pm_runtime staging: media: rkvdec: fix pm_runtime_get_sync() usage count Add a reference to ucounts for each cred spi: Make of_register_spi_device also set the fwnode thermal/cpufreq_cooling: Update offline CPUs per-cpu thermal_pressure fuse: reject internal errno fuse: check connected before queueing on fpq->io fuse: ignore PG_workingset after stealing fuse: Fix infinite loop in sget_fc() fuse: Fix crash if superblock of submount gets killed early fuse: Fix crash in fuse_dentry_automount() error path evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded evm: Execute evm_inode_init_security() only when an HMAC key is loaded loop: Fix missing discard support when using LOOP_CONFIGURE powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() seq_buf: Make trace_seq_putmem_hex() support data longer than 8 tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing tracing/histograms: Fix parsing of "sym-offset" modifier rsi: fix AP mode with WPA failure due to encrypted EAPOL rsi: Assign beacon rate settings to the correct rate_info descriptor field ssb: sdio: Don't overwrite const buffer if block_write fails ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() serial_cs: remove wrong GLOBETROTTER.cis entry serial_cs: Add Option International GSM-Ready 56K/ISDN modem serial: sh-sci: Stop dmaengine transfer in sci_stop_tx() serial: mvebu-uart: fix calculation of clock divisor iio: accel: bma180: Fix BMA25x bandwidth register values iio: ltr501: ltr501_read_ps(): add missing endianness conversion iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too iio: light: tcs3472: do not free unallocated IRQ iio: frequency: adf4350: disable reg and clk on error in adf4350_probe() rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path clk: agilex/stratix10: fix bypass representation clk: agilex/stratix10: remove noc_clk clk: agilex/stratix10/n5x: fix how the bypass_reg is handled f2fs: Prevent swap file in LFS mode s390: mm: Fix secure storage access exception handling s390/cio: dont call css_wait_for_slow_path() inside a lock KVM: x86/mmu: Use MMU's role to detect CR4.SMEP value in nested NPT walk KVM: x86/mmu: Treat NX as used (not reserved) for all !TDP shadow MMUs KVM: PPC: Book3S HV: Workaround high stack usage with clang KVM: nVMX: Handle split-lock #AC exceptions that happen in L2 perf/smmuv3: Don't trample existing events with global filter mm/gup: fix try_grab_compound_head() race with split_huge_page() bus: mhi: Wait for M2 state during system resume SUNRPC: Should wake up the privileged task firstly. SUNRPC: Fix the batch tasks count wraparound. mac80211: remove iwlwifi specific workaround that broke sta NDP tx can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done can: isotp: isotp_release(): omit unintended hrtimer restart on socket release can: gw: synchronize rcu operations before removing gw job entry can: bcm: delay release of struct bcm_op after synchronize_rcu() ext4: use ext4_grp_locked_error in mb_find_extent ext4: fix avefreec in find_group_orlov ext4: remove check for zero nr_to_scan in ext4_es_scan() ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit ext4: return error code when ext4_fill_flex_info() fails ext4: fix overflow in ext4_iomap_alloc() ext4: fix kernel infoleak via ext4_extent_header ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle btrfs: clear defrag status of a root if starting transaction fails btrfs: compression: don't try to compress if we don't have enough pages btrfs: send: fix invalid path for unlink operations after parent orphanization ARM: dts: at91: sama5d4: fix pinctrl muxing ARM: dts: ux500: Fix LED probing arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode crypto: ccp - Annotate SEV Firmware file names crypto: nx - Fix memcpy() over-reading in nonce Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl iov_iter_fault_in_readable() should do nothing in xarray case copy_page_to_iter(): fix ITER_DISCARD case selftests/lkdtm: Avoid needing explicit sub-shell ntfs: fix validity check for file name attribute gfs2: Fix error handling in init_statfs gfs2: Fix underflow in gfs2_page_mkwrite xhci: solve a double free problem while doing s4 usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() usb: dwc3: Fix debugfs creation flow USB: cdc-acm: blacklist Heimann USB Appset device usb: renesas-xhci: Fix handling of unknown ROM state usb: gadget: eem: fix echo command packet response issue net: can: ems_usb: fix use-after-free in ems_usb_disconnect() Input: usbtouchscreen - fix control-request directions media: dvb-usb: fix wrong definition ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook x360 830 G8 ALSA: hda/realtek: Add another ALC236 variant support ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8 ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8 ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8 ALSA: intel8x0: Fix breakage at ac97 clock measurement ALSA: usb-audio: scarlett2: Fix wrong resume call ALSA: firewire-motu: fix stream format for MOTU 8pre FireWire ALSA: usb-audio: Fix OOB access at proc output ALSA: usb-audio: fix rate on Ozone Z90 USB headset Bluetooth: Remove spurious error message Bluetooth: btqca: Don't modify firmware contents in-place Bluetooth: hci_qca: fix potential GPF Linux 5.10.49 xen/events: reset active flag for lateeoi events later Hexagon: change jumps to must-extend in futex_atomic_* Hexagon: add target builtins to kernel Hexagon: fix build errors media: uvcvideo: Support devices that report an OT as an entity source KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path Linux 5.10.48 Revert "KVM: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack" RDMA/mlx5: Block FDB rules when not in switchdev mode gpio: AMD8111 and TQMX86 require HAS_IOPORT_MAP drm/nouveau: fix dma_address check for CPU/GPU sync gpio: mxc: Fix disabled interrupt wake-up support scsi: sr: Return appropriate error code when disk is ejected ANDROID: ABI: update android12-5.10-lts ABI for 7/2 KMI update ANDROID: ABI: hikey960_gki.fragment: Add cfg80211 and mac80211 as modules ANDROID: ABI: gki_defconfig: Make cfg80211 and mac80211 modules Revert "ANDROID: GKI: Enable some necessary CFG80211 configs for WIFI" Linux 5.10.47 integrity: Load mokx variables into the blacklist keyring certs: Add ability to preload revocation certs certs: Move load_system_certificate_list to a common function certs: Add EFI_CERT_X509_GUID support for dbx entries Revert "drm: add a locked version of drm_is_current_master" netfs: fix test for whether we can skip read when writing beyond EOF swiotlb: manipulate orig_addr when tlb_addr has offset KVM: SVM: Call SEV Guest Decommission if ASID binding fails mm, futex: fix shared futex pgoff on shmem huge page mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk() mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes mm: page_vma_mapped_walk(): get vma_address_end() earlier mm: page_vma_mapped_walk(): use goto instead of while (1) mm: page_vma_mapped_walk(): add a level of indentation mm: page_vma_mapped_walk(): crossing page table boundary mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd mm: page_vma_mapped_walk(): settle PageHuge on entry mm: page_vma_mapped_walk(): use page for pvmw->page mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page() mm/thp: fix page_address_in_vma() on file THP tails mm/thp: fix vma_address() if virtual address below file offset mm/thp: try_to_unmap() use TTU_SYNC for safe splitting mm/thp: make is_huge_zero_pmd() safe and quicker mm/thp: fix __split_huge_pmd_locked() on shmem migration entry mm, thp: use head page in __migration_entry_wait() mm/rmap: use page_not_mapped in try_to_unmap() mm/rmap: remove unneeded semicolon in page_not_mapped() mm: add VM_WARN_ON_ONCE_PAGE() macro x86/fpu: Make init_fpstate correct with optimized XSAVE x86/fpu: Preserve supervisor states in sanitize_restored_user_xstate() kthread: prevent deadlock when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() kthread_worker: split code for canceling the delayed work timer ceph: must hold snap_rwsem when filling inode for async create i2c: robotfuzz-osif: fix control-request directions KVM: do not allow mapping valid but non-reference-counted pages s390/stack: fix possible register corruption with stack switch helper nilfs2: fix memory leak in nilfs_sysfs_delete_device_group scsi: sd: Call sd_revalidate_disk() for ioctl(BLKRRPART) gpiolib: cdev: zero padding during conversion to gpioline_info_changed i2c: i801: Ensure that SMBHSTSTS_INUSE_STS is cleared when leaving i801_access pinctrl: stm32: fix the reported number of GPIO lines per bank perf/x86: Track pmu in per-CPU cpu_hw_events net: ll_temac: Avoid ndo_start_xmit returning NETDEV_TX_BUSY net: ll_temac: Add memory-barriers for TX BD access PCI: Add AMD RS690 quirk to enable 64-bit DMA recordmcount: Correct st_shndx handling mac80211: handle various extensible elements correctly mac80211: reset profile_periodicity/ema_ap net: qed: Fix memcpy() overflow of qed_dcbx_params() KVM: selftests: Fix kvm_check_cap() assertion r8169: Avoid memcpy() over-reading of ETH_SS_STATS sh_eth: Avoid memcpy() over-reading of ETH_SS_STATS r8152: Avoid memcpy() over-reading of ETH_SS_STATS net/packet: annotate accesses to po->ifindex net/packet: annotate accesses to po->bind net: caif: fix memory leak in ldisc_open riscv32: Use medany C model for modules net: phy: dp83867: perform soft reset and retain established link net/packet: annotate data race in packet_sendmsg() inet: annotate date races around sk->sk_txhash net: annotate data race in sock_error() ping: Check return value of function 'ping_queue_rcv_skb' inet: annotate data race in inet_send_prepare() and inet_dgram_connect() net: ethtool: clear heap allocations for ethtool function mac80211: drop multicast fragments net: ipv4: Remove unneed BUG() function dmaengine: mediatek: use GFP_NOWAIT instead of GFP_ATOMIC in prep_dma dmaengine: mediatek: do not issue a new desc if one is still current dmaengine: mediatek: free the proper desc in desc_free handler dmaengine: rcar-dmac: Fix PM reference leak in rcar_dmac_probe() cfg80211: call cfg80211_leave_ocb when switching away from OCB mac80211_hwsim: drop pending frames on stop mac80211: remove warning in ieee80211_get_sband() dmaengine: xilinx: dpdma: Limit descriptor IDs to 16 bits dmaengine: xilinx: dpdma: Add missing dependencies to Kconfig dmaengine: stm32-mdma: fix PM reference leak in stm32_mdma_alloc_chan_resourc() dmaengine: zynqmp_dma: Fix PM reference leak in zynqmp_dma_alloc_chan_resourc() perf/x86/intel/lbr: Zero the xstate buffer on allocation perf/x86/lbr: Remove cpuc->lbr_xsave allocation from atomic context locking/lockdep: Improve noinstr vs errors x86/xen: Fix noinstr fail in exc_xen_unknown_trap() x86/entry: Fix noinstr fail in __do_fast_syscall_32() drm/vc4: hdmi: Make sure the controller is powered in detect drm/vc4: hdmi: Move the HSM clock enable to runtime_pm Revert "PCI: PM: Do not read power state in pci_enable_device_flags()" spi: spi-nxp-fspi: move the register operation after the clock enable arm64: Force NO_BLOCK_MAPPINGS if crashkernel reservation is required arm64: Ignore any DMA offsets in the max_zone_phys() calculation MIPS: generic: Update node names to avoid unit addresses mmc: meson-gx: use memcpy_to/fromio for dram-access-quirk ARM: 9081/1: fix gcc-10 thumb2-kernel regression drm/amdgpu: wait for moving fence after pinning drm/radeon: wait for moving fence after pinning drm/nouveau: wait for moving fence after pinning v2 drm: add a locked version of drm_is_current_master Revert "drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell." Revert "drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue." module: limit enabling module.sig_enforce Revert "mm: relocate 'write_protect_seq' in struct mm_struct" Linux 5.10.46 usb: dwc3: core: fix kernel panic when do reboot usb: dwc3: debugfs: Add and remove endpoint dirs dynamically perf beauty: Update copy of linux/socket.h with the kernel sources tools headers UAPI: Sync linux/in.h copy with the kernel sources net: fec_ptp: add clock rate zero check net: stmmac: disable clocks in stmmac_remove_config_dt() mm/slub.c: include swab.h mm/slub: actually fix freelist pointer vs redzoning mm/slub: fix redzoning for small allocations mm/slub: clarify verification reporting mm/swap: fix pte_same_as_swp() not removing uffd-wp bit when compare net: bridge: fix vlan tunnel dst refcnt when egressing net: bridge: fix vlan tunnel dst null pointer dereference net: ll_temac: Fix TX BD buffer overwrite net: ll_temac: Make sure to free skb when it is completely used drm/amdgpu/gfx9: fix the doorbell missing when in CGPG issue. drm/amdgpu/gfx10: enlarge CP_MEC_DOORBELL_RANGE_UPPER to cover full doorbell. cfg80211: avoid double free of PMSR request cfg80211: make certificate generation more robust mac80211: Fix NULL ptr deref for injected rate info dmaengine: pl330: fix wrong usage of spinlock flags in dma_cyclc crash_core, vmcoreinfo: append 'SECTION_SIZE_BITS' to vmcoreinfo x86/fpu: Reset state for all signal restore failures x86/fpu: Invalidate FPU state after a failed XRSTOR from a user buffer x86/fpu: Prevent state corruption in __fpu__restore_sig() x86/pkru: Write hardware init value to PKRU when xstate is init x86/ioremap: Map EFI-reserved memory as encrypted for SEV x86/process: Check PF_KTHREAD and not current->mm for kernel threads x86/mm: Avoid truncating memblocks for SGX memory ARCv2: save ABI registers across signal handling s390/ap: Fix hanging ioctl caused by wrong msg counter s390/mcck: fix calculation of SIE critical section size KVM: X86: Fix x86_emulator slab cache leak KVM: x86/mmu: Calculate and check "full" mmu_role for nested MMU KVM: x86: Immediately reset the MMU context when the SMM flag is cleared PCI: Work around Huawei Intelligent NIC VF FLR erratum PCI: Add ACS quirk for Broadcom BCM57414 NIC PCI: aardvark: Fix kernel panic during PIO transfer PCI: Mark some NVIDIA GPUs to avoid bus reset PCI: Mark TI C667X to avoid bus reset tracing: Do no increment trace_clock_global() by one tracing: Do not stop recording comms if the trace file is being read tracing: Do not stop recording cmdlines when tracing is off usb: chipidea: imx: Fix Battery Charger 1.2 CDP detection usb: core: hub: Disable autosuspend for Cypress CY7C65632 can: mcba_usb: fix memory leak in mcba_usb can: j1939: fix Use-after-Free, hold skb ref while in use can: bcm/raw/isotp: use per module netdevice notifier can: bcm: fix infoleak in struct bcm_msg_head bpf: Do not mark insn as seen under speculative path verification bpf: Inherit expanded/patched seen count from old aux data irqchip/gic-v3: Workaround inconsistent PMR setting on NMI entry mm: relocate 'write_protect_seq' in struct mm_struct hwmon: (scpi-hwmon) shows the negative temperature properly radeon: use memcpy_to/fromio for UVD fw upload ASoC: qcom: lpass-cpu: Fix pop noise during audio capture begin drm/sun4i: dw-hdmi: Make HDMI PHY into a platform device pinctrl: ralink: rt2880: avoid to error in calls is pin is already enabled ASoC: rt5682: Fix the fast discharge for headset unplugging in soundwire mode regulator: rt4801: Fix NULL pointer dereference if priv->enable_gpios is NULL spi: stm32-qspi: Always wait BUSY bit to be cleared in stm32_qspi_wait_cmd() ASoC: tas2562: Fix TDM_CFG0_SAMPRATE values sched/pelt: Ensure that *_sum is always synced with *_avg spi: spi-zynq-qspi: Fix some wrong goto jumps & missing error code regulator: rtmv20: Fix to make regcache value first reading back from HW ASoC: fsl-asoc-card: Set .owner attribute when registering card. phy: phy-mtk-tphy: Fix some resource leaks in mtk_phy_init() ASoC: rt5659: Fix the lost powers for the HDA header platform/x86: thinkpad_acpi: Add X1 Carbon Gen 9 second fan support regulator: bd70528: Fix off-by-one for buck123 .n_voltages setting regulator: cros-ec: Fix error code in dev_err message net: ethernet: fix potential use-after-free in ec_bhf_remove icmp: don't send out ICMP messages with a source address of 0.0.0.0 bnxt_en: Call bnxt_ethtool_free() in bnxt_init_one() error path bnxt_en: Fix TQM fastpath ring backing store computation bnxt_en: Rediscover PHY capabilities after firmware reset cxgb4: fix wrong shift. net: cdc_eem: fix tx fixup skb leak net: hamradio: fix memory leak in mkiss_close be2net: Fix an error handling path in 'be_probe()' net/mlx5: Reset mkey index on creation net/mlx5: E-Switch, Allow setting GUID for host PF vport net/mlx5: E-Switch, Read PF mac address net/af_unix: fix a data-race in unix_dgram_sendmsg / unix_release_sock net: ipv4: fix memory leak in ip_mc_add1_src net: fec_ptp: fix issue caused by refactor the fec_devtype net: usb: fix possible use-after-free in smsc75xx_bind lantiq: net: fix duplicated skb in rx descriptor ring net: cdc_ncm: switch to eth%d interface naming ptp: improve max_adj check against unreasonable values bpf: Fix leakage under speculation on mispredicted branches net: qrtr: fix OOB Read in qrtr_endpoint_post ipv4: Fix device used for dst_alloc with local routes cxgb4: fix wrong ethtool n-tuple rule lookup netxen_nic: Fix an error handling path in 'netxen_nic_probe()' qlcnic: Fix an error handling path in 'qlcnic_probe()' ethtool: strset: fix message length calculation net: qualcomm: rmnet: don't over-count statistics net: qualcomm: rmnet: Update rmnet device MTU based on real device net: make get_net_ns return error if NET_NS is disabled net: stmmac: dwmac1000: Fix extended MAC address registers definition cxgb4: halt chip before flashing PHY firmware image cxgb4: fix sleep in atomic when flashing PHY firmware cxgb4: fix endianness when flashing boot image alx: Fix an error handling path in 'alx_probe()' selftests: mptcp: enable syncookie only in absence of reorders mptcp: do not warn on bad input from the network mptcp: try harder to borrow memory from subflow under pressure sch_cake: Fix out of bounds when parsing TCP options and header mptcp: Fix out of bounds when parsing TCP options netfilter: synproxy: Fix out of bounds when parsing TCP options net/mlx5e: Block offload of outer header csum for UDP tunnels net/mlx5: DR, Don't use SW steering when RoCE is not supported net/mlx5: DR, Allow SW steering for sw_owner_v2 devices net/mlx5: Consider RoCE cap before init RDMA resources net/mlx5e: Fix page reclaim for dead peer hairpin net/mlx5e: Remove dependency in IPsec initialization flows net/sched: act_ct: handle DNAT tuple collision rtnetlink: Fix regression in bridge VLAN configuration udp: fix race between close() and udp_abort() ice: parameterize functions responsible for Tx ring management ice: add ndo_bpf callback for safe mode netdev ops netfilter: nft_fib_ipv6: skip ipv6 packets from any to link-local net: lantiq: disable interrupt before sheduling NAPI net: dsa: felix: re-enable TX flow control in ocelot_port_flush() net: rds: fix memory leak in rds_recvmsg vrf: fix maximum MTU net: ipv4: fix memory leak in netlbl_cipsov4_add_std libbpf: Fixes incorrect rx_ring_setup_done mlxsw: core: Set thermal zone polling delay argument to real value at init mlxsw: reg: Spectrum-3: Enforce lowest max-shaper burst size of 11 mac80211: fix skb length check in ieee80211_scan_rx() batman-adv: Avoid WARN_ON timing related checks fanotify: fix copy_event_to_user() fid error clean up kvm: LAPIC: Restore guard to prevent illegal APIC register access mm/memory-failure: make sure wait for page writeback in memory_failure afs: Fix an IS_ERR() vs NULL check dmaengine: stedma40: add missing iounmap() on error in d40_probe() dmaengine: SF_PDMA depends on HAS_IOMEM dmaengine: QCOM_HIDMA_MGMT depends on HAS_IOMEM dmaengine: ALTERA_MSGDMA depends on HAS_IOMEM dmaengine: xilinx: dpdma: initialize registers before request_irq dmaengine: fsl-dpaa2-qdma: Fix error return code in two functions dmaengine: idxd: add missing dsa driver unregister Linux 5.10.45 fib: Return the correct errno code net: Return the correct errno code net/x25: Return the correct errno code rtnetlink: Fix missing error code in rtnl_bridge_notify() drm/amd/amdgpu:save psp ring wptr to avoid attack drm/amd/display: Fix potential memory leak in DMUB hw_init drm/amdgpu: refine amdgpu_fru_get_product_info drm/amd/display: Allow bandwidth validation for 0 streams. net: ipconfig: Don't override command-line hostnames or domains nvme-loop: do not warn for deleted controllers during reset nvme-loop: check for NVME_LOOP_Q_LIVE in nvme_loop_destroy_admin_queue() nvme-loop: clear NVME_LOOP_Q_LIVE when nvme_loop_configure_admin_queue() fails nvme-loop: reset queue count to 1 in nvme_loop_destroy_io_queues() scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V Bluetooth: Add a new USB ID for RTL8822CE scsi: qedf: Do not put host in qedf_vport_create() unconditionally ethernet: myri10ge: Fix missing error code in myri10ge_probe() scsi: target: core: Fix warning on realtime kernels gfs2: Fix use-after-free in gfs2_glock_shrink_scan riscv: Use -mno-relax when using lld linker HID: gt683r: add missing MODULE_DEVICE_TABLE gfs2: fix a deadlock on withdraw-during-mount gfs2: Prevent direct-I/O write fallback errors from getting lost ARM: OMAP2+: Fix build warning when mmc_omap is not built ARM: OMAP1: Fix use of possibly uninitialized irq variable drm/tegra: sor: Fully initialize SOR before registration gpu: host1x: Split up client initalization and registration drm/tegra: sor: Do not leak runtime PM reference HID: usbhid: fix info leak in hid_submit_ctrl HID: Add BUS_VIRTUAL to hid_connect logging HID: multitouch: set Stylus suffix for Stylus-application devices, too HID: quirks: Add quirk for Lenovo optical mouse HID: hid-sensor-hub: Return error for hid_set_field() failure HID: hid-input: add mapping for emoji picker key HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for Saitek X65 net: ieee802154: fix null deref in parse dev addr Linux 5.10.44 proc: only require mm_struct for writing tracing: Correct the length check which causes memory corruption scsi: core: Only put parent device if host state differs from SHOST_CREATED scsi: core: Put .shost_dev in failure path if host state changes to RUNNING scsi: core: Fix failure handling of scsi_add_host_with_dma() scsi: core: Fix error handling of scsi_host_alloc() NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error. NFSv4: Fix second deadlock in nfs4_evict_inode() NFS: Fix use-after-free in nfs4_init_client() kvm: fix previous commit for 32-bit builds perf session: Correct buffer copying when peeking events NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode() NFS: Fix a potential NULL dereference in nfs_get_client() IB/mlx5: Fix initializing CQ fragments buffer KVM: x86: Ensure liveliness of nested VM-Enter fail tracepoint message x86/nmi_watchdog: Fix old-style NMI watchdog regression on old Intel CPUs sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling sched/fair: Make sure to update tg contrib for blocked load sched/fair: Keep load_avg and load_sum synced perf: Fix data race between pin_count increment/decrement gpio: wcd934x: Fix shift-out-of-bounds error phy: ti: Fix an error code in wiz_probe() ASoC: meson: gx-card: fix sound-dai dt schema ASoC: core: Fix Null-point-dereference in fmt_single_name() phy: cadence: Sierra: Fix error return code in cdns_sierra_phy_probe() tools/bootconfig: Fix error return code in apply_xbc() vmlinux.lds.h: Avoid orphan section with !SMP ARM: cpuidle: Avoid orphan section warning RDMA/mlx4: Do not map the core_clock page to user space unless enabled RDMA/ipoib: Fix warning caused by destroying non-initial netns drm/msm/a6xx: avoid shadow NULL reference in failure path drm/msm/a6xx: update/fix CP_PROTECT initialization drm/msm/a6xx: fix incorrectly set uavflagprd_inv field for A650 drm/mcde: Fix off by 10^3 in calculation usb: typec: mux: Fix copy-paste mistake in typec_mux_match usb: dwc3: gadget: Disable gadget IRQ during pullup disable phy: usb: Fix misuse of IS_ENABLED regulator: rtmv20: Fix .set_current_limit/.get_current_limit callbacks regulator: bd71828: Fix .n_voltages settings regulator: fan53880: Fix missing n_voltages setting regulator: bd718x7: Fix the BUCK7 voltage setting on BD71837 regulator: max77620: Use device_set_of_node_from_dev() regulator: core: resolve supply for boot-on/always-on regulators usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port usb: fix various gadget panics on 10gbps cabling usb: fix various gadgets null ptr deref on 10gbps cabling. usb: gadget: eem: fix wrong eem header operation USB: serial: cp210x: fix alternate function for CP2102N QFN20 USB: serial: quatech2: fix control-request directions USB: serial: omninet: add device id for Zyxel Omni 56K Plus USB: serial: ftdi_sio: add NovaTech OrionMX product ID usb: gadget: f_fs: Ensure io_completion_wq is idle during unbind usb: typec: intel_pmc_mux: Add missed error check for devm_ioremap_resource() usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe() usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path usb: typec: wcove: Use LE to CPU conversion when accessing msg->header usb: musb: fix MUSB_QUIRK_B_DISCONNECT_99 handling usb: dwc3: ep0: fix NULL pointer exception usb: dwc3: gadget: Bail from dwc3_gadget_exit() if dwc->gadget is NULL usb: dwc3: meson-g12a: Disable the regulator in the error handling path of the probe usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms usb: f_ncm: only first packet of aggregate needs to start timer USB: f_ncm: ncm_bitrate (speed) is unsigned mmc: renesas_sdhi: Fix HS400 on R-Car M3-W+ mmc: renesas_sdhi: abort tuning when timeout detected ftrace: Do not blindly read the ip address in ftrace_bug() cgroup1: don't allow '\n' in renaming btrfs: promote debugging asserts to full-fledged checks in validate_super btrfs: return value from btrfs_mark_extent_written() in case of error async_xor: check src_offs is not NULL before updating it staging: rtl8723bs: Fix uninitialized variables kvm: avoid speculation-based attacks from out-of-range memslot accesses KVM: X86: MMU: Use the correct inherited permissions to get shadow page perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server drm: Lock pointer access in drm_master_release() drm: Fix use-after-free read in drm_getunique() Revert "ACPI: sleep: Put the FACS table after using it" spi: bcm2835: Fix out-of-bounds access with more than 4 slaves ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8 ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 Aero G8 ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP EliteBook x360 1040 G8 ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Elite Dragonfly G2 ALSA: hda/realtek: headphone and mic don't work on an Acer laptop ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun() ALSA: seq: Fix race of snd_seq_timer_open() i2c: mpc: implement erratum A-004447 workaround i2c: mpc: Make use of i2c_recover_bus() spi: Cleanup on failure of initial setup spi: Don't have controller clean up spi device before driver unbind powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010 i2c controllers powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers nvmet: fix false keep-alive timeout when a controller is torn down nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME bnx2x: Fix missing error code in bnx2x_iov_init_one() dm verity: fix require_signatures module_param permissions MIPS: Fix kernel hang under FUNCTION_GRAPH_TRACER and PREEMPT_TRACER nvme-fabrics: decode host pathing error for connect net: dsa: microchip: enable phy errata workaround on 9567 net: appletalk: cops: Fix data race in cops_probe1 net: macb: ensure the device is available before accessing GEMGXL control registers scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal scsi: hisi_sas: Drop free_irq() of devm_request_irq() allocated irq scsi: vmw_pvscsi: Set correct residual data length scsi: bnx2fc: Return failure if io_req is already in ABTS processing net:sfc: fix non-freed irq in legacy irq mode RDS tcp loopback connection can hang net/qla3xxx: fix schedule while atomic in ql_sem_spinlock wq: handle VM suspension in stall detection cgroup: disable controllers at parse time net: mdiobus: get rid of a BUG_ON() netlink: disable IRQs for netlink_lock_table() bonding: init notify_work earlier to avoid uninitialized use isdn: mISDN: netjet: Fix crash in nj_probe: usb: chipidea: udc: assign interrupt number to USB gadget structure spi: sprd: Add missing MODULE_DEVICE_TABLE ASoC: sti-sas: add missing MODULE_DEVICE_TABLE vfio-ccw: Serialize FSM IDLE state with I/O completion vfio-ccw: Reset FSM state to IDLE inside FSM ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet usb: cdns3: Fix runtime PM imbalance on error net/nfc/rawsock.c: fix a permission check bug bpf: Forbid trampoline attach for functions with variable arguments spi: spi-zynq-qspi: Fix stack violation bug spi: Fix spi device unregister flow ASoC: amd: fix for pcm_read() error ASoC: max98088: fix ni clock divider calculation proc: Track /proc/$pid/attr/ opener mm_struct ANDROID: clang: update to 12.0.5 ANDROID: GKI: Refresh ABI following trimmed symbol CRC fix FROMLIST: export: Make CRCs robust to symbol trimming ANDROID: Add GKI_HIDDEN_MM_CONFIGS to support ballooning. defconfig: Remove RESET_INTEL_GW/RESET_BRCMSTB_RESCAL from tuivm config 6ab9d62 reset: RESET_INTEL_GW should depend on X86 42f6a76 reset: RESET_BRCMSTB_RESCAL should depend on ARCH_BRCMSTB Remove RESET_INTEL_GW/RESET_BRCMSTB_RESCAL from marking as 'n' in trusted VM config due to below change. interconnect: qcom: Fix compile error for LTS merge Conflicts: Documentation/devicetree/bindings Documentation/devicetree/bindings/i2c/i2c-at91.txt Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml drivers/bus/mhi/core/main.c drivers/iommu/arm/arm-smmu/arm-smmu.c drivers/mmc/host/sdhci-msm.c drivers/slimbus/messaging.c drivers/slimbus/qcom-ngd-ctrl.c net/qrtr/ns.c net/qrtr/qrtr.c Change-Id: I63018794287f1b197b83780a72d67267eb4ef0d2 Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2082 lines
67 KiB
Makefile
2082 lines
67 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 5
|
|
PATCHLEVEL = 10
|
|
SUBLEVEL = 66
|
|
EXTRAVERSION =
|
|
NAME = Dare mighty things
|
|
|
|
# *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
|
|
|
|
ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
|
|
quiet=silent_
|
|
endif
|
|
|
|
export quiet Q KBUILD_VERBOSE
|
|
|
|
# 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
|
|
|
|
abs_srctree := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
|
|
|
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
|
|
#
|
|
# This does not become effective immediately because MAKEFLAGS is re-parsed
|
|
# once after the Makefile is read. We need to invoke sub-make.
|
|
MAKEFLAGS += --include-dir=$(abs_srctree)
|
|
need-sub-make := 1
|
|
endif
|
|
|
|
this-makefile := $(lastword $(MAKEFILE_LIST))
|
|
|
|
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
|
|
|
|
# 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
|
|
|
|
# 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))
|
|
|
|
export KBUILD_CHECKSRC KBUILD_EXTMOD
|
|
|
|
extmod-prefix = $(if $(KBUILD_EXTMOD),$(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
|
|
|
|
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
|
|
old_version_h := include/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
|
|
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
|
|
image_name
|
|
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
|
|
|
|
config-build :=
|
|
mixed-build :=
|
|
need-config := 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-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 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 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 sh
|
|
ifeq ($(ARCH),sh64)
|
|
SRCARCH := sh
|
|
endif
|
|
|
|
KCONFIG_CONFIG ?= .config
|
|
export KCONFIG_CONFIG
|
|
|
|
# Default file for 'make defconfig'. This may be overridden by arch-Makefile.
|
|
export KBUILD_DEFCONFIG := defconfig
|
|
|
|
# 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),)
|
|
HOSTCC = clang
|
|
HOSTCXX = clang++
|
|
else
|
|
HOSTCC = gcc
|
|
HOSTCXX = g++
|
|
endif
|
|
|
|
export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
|
|
-O2 -fomit-frame-pointer -std=gnu89
|
|
export KBUILD_USERLDFLAGS :=
|
|
|
|
KBUILD_HOSTCFLAGS := $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
|
|
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
|
|
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
|
|
KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
|
|
|
|
# Make variables (CC, etc...)
|
|
CPP = $(CC) -E
|
|
ifneq ($(LLVM),)
|
|
CC = clang
|
|
LD = ld.lld
|
|
AR = llvm-ar
|
|
NM = llvm-nm
|
|
OBJCOPY = llvm-objcopy
|
|
OBJDUMP = llvm-objdump
|
|
READELF = llvm-readelf
|
|
STRIP = llvm-strip
|
|
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
|
|
PAHOLE = pahole
|
|
RESOLVE_BTFIDS = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
|
|
LEX = flex
|
|
YACC = bison
|
|
AWK = awk
|
|
INSTALLKERNEL := installkernel
|
|
DEPMOD = depmod
|
|
PERL = perl
|
|
PYTHON = python
|
|
PYTHON3 = python3
|
|
CHECK = sparse
|
|
BASH = bash
|
|
KGZIP = gzip
|
|
KBZIP2 = bzip2
|
|
KLZOP = lzop
|
|
LZMA = lzma
|
|
LZ4 = lz4
|
|
XZ = xz
|
|
ZSTD = zstd
|
|
|
|
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
|
|
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
|
|
NOSTDINC_FLAGS :=
|
|
CFLAGS_MODULE =
|
|
AFLAGS_MODULE =
|
|
LDFLAGS_MODULE =
|
|
CFLAGS_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/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=gnu89
|
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
|
KBUILD_AFLAGS_KERNEL :=
|
|
KBUILD_CFLAGS_KERNEL :=
|
|
KBUILD_AFLAGS_MODULE := -DMODULE
|
|
KBUILD_CFLAGS_MODULE := -DMODULE
|
|
KBUILD_LDFLAGS_MODULE :=
|
|
KBUILD_LDFLAGS :=
|
|
CLANG_FLAGS :=
|
|
|
|
CC := scripts/basic/cc-wrapper $(CC)
|
|
|
|
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
|
|
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
|
|
export PERL PYTHON 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_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
|
|
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
|
|
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
|
|
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
|
|
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
|
|
|
|
# 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
|
|
$(Q)rm -f .tmp_quiet_recordmcount
|
|
|
|
PHONY += outputmakefile
|
|
# 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
|
|
outputmakefile:
|
|
ifdef building_out_of_srctree
|
|
$(Q)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
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile $(srctree)
|
|
$(Q)test -e .gitignore || \
|
|
{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
|
|
endif
|
|
|
|
ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
|
|
ifneq ($(CROSS_COMPILE),)
|
|
CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
|
|
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
|
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
|
|
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
|
|
endif
|
|
ifneq ($(GCC_TOOLCHAIN),)
|
|
CLANG_FLAGS += --gcc-toolchain=$(GCC_TOOLCHAIN)
|
|
endif
|
|
ifneq ($(LLVM_IAS),1)
|
|
CLANG_FLAGS += -no-integrated-as
|
|
endif
|
|
CLANG_FLAGS += -Werror=unknown-warning-option
|
|
KBUILD_CFLAGS += $(CLANG_FLAGS)
|
|
KBUILD_AFLAGS += $(CLANG_FLAGS)
|
|
export CLANG_FLAGS
|
|
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 = $(shell $(CC) --version 2>/dev/null | head -n 1)
|
|
|
|
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 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
|
|
|
|
# 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 := init/ usr/
|
|
drivers-y := drivers/ sound/ techpack/
|
|
drivers-$(CONFIG_SAMPLES) += samples/
|
|
drivers-y += net/ virt/
|
|
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 \
|
|
$(call cc-option,-fno-tree-loop-im) \
|
|
$(call cc-disable-warning,maybe-uninitialized,)
|
|
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
|
|
|
|
RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
|
|
RETPOLINE_VDSO_CFLAGS_GCC := -mindirect-branch=thunk-inline -mindirect-branch-register
|
|
RETPOLINE_CFLAGS_CLANG := -mretpoline-external-thunk
|
|
RETPOLINE_VDSO_CFLAGS_CLANG := -mretpoline
|
|
RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_CFLAGS_CLANG)))
|
|
RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_VDSO_CFLAGS_CLANG)))
|
|
export RETPOLINE_CFLAGS
|
|
export RETPOLINE_VDSO_CFLAGS
|
|
|
|
include 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: $(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:
|
|
$(Q)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 += $(call cc-option,-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
|
|
else ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
|
|
KBUILD_CFLAGS += -O3
|
|
else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
|
KBUILD_CFLAGS += -Os
|
|
endif
|
|
|
|
# Tell gcc to never replace conditional load with a non-conditional one
|
|
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
|
|
KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races)
|
|
|
|
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 += $(call cc-option,-fno-reorder-blocks,) \
|
|
$(call cc-option,-fno-ipa-cp-clone,) \
|
|
$(call cc-option,-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)
|
|
|
|
ifdef CONFIG_CC_IS_CLANG
|
|
KBUILD_CPPFLAGS += -Qunused-arguments
|
|
KBUILD_CFLAGS += -Wno-format-invalid-specifier
|
|
KBUILD_CFLAGS += -Wno-gnu
|
|
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
|
|
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
|
|
# See modpost pattern 2
|
|
KBUILD_CFLAGS += -mno-global-merge
|
|
else
|
|
|
|
# Warn about unmarked fall-throughs in switch statement.
|
|
# Disabled for clang while comment to attribute conversion happens and
|
|
# https://github.com/ClangBuiltLinux/linux/issues/636 is discussed.
|
|
KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,)
|
|
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)
|
|
ifdef CONFIG_FRAME_POINTER
|
|
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
|
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.
|
|
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
|
|
# Future support for zero initialization is still being debated, see
|
|
# https://bugs.llvm.org/show_bug.cgi?id=45497. These flags are subject to being
|
|
# renamed or dropped.
|
|
KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
|
|
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
|
|
endif
|
|
|
|
DEBUG_CFLAGS :=
|
|
|
|
# Workaround for GCC versions < 5.0
|
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
|
|
ifdef CONFIG_CC_IS_GCC
|
|
DEBUG_CFLAGS += $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_INFO
|
|
|
|
ifdef CONFIG_DEBUG_INFO_SPLIT
|
|
DEBUG_CFLAGS += -gsplit-dwarf
|
|
else
|
|
DEBUG_CFLAGS += -g
|
|
endif
|
|
|
|
ifneq ($(LLVM_IAS),1)
|
|
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_INFO_DWARF4
|
|
DEBUG_CFLAGS += -gdwarf-4
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_INFO_REDUCED
|
|
DEBUG_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \
|
|
$(call cc-option,-fno-var-tracking)
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_INFO_COMPRESSED
|
|
DEBUG_CFLAGS += -gz=zlib
|
|
KBUILD_AFLAGS += -gz=zlib
|
|
KBUILD_LDFLAGS += --compress-debug-sections=zlib
|
|
endif
|
|
|
|
endif # CONFIG_DEBUG_INFO
|
|
|
|
KBUILD_CFLAGS += $(DEBUG_CFLAGS)
|
|
export DEBUG_CFLAGS
|
|
|
|
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
|
|
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 += $(call cc-option, -fno-inline-functions-called-once)
|
|
endif
|
|
|
|
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
|
KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
|
|
LDFLAGS_vmlinux += --gc-sections
|
|
endif
|
|
|
|
ifdef CONFIG_SHADOW_CALL_STACK
|
|
CC_FLAGS_SCS := -fsanitize=shadow-call-stack
|
|
KBUILD_CFLAGS += $(CC_FLAGS_SCS)
|
|
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)
|
|
# TODO(b/182572011): Revert 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
|
|
endif
|
|
|
|
ifdef CONFIG_LTO
|
|
KBUILD_CFLAGS += $(CC_FLAGS_LTO)
|
|
export CC_FLAGS_LTO
|
|
endif
|
|
|
|
ifdef CONFIG_CFI_CLANG
|
|
CC_FLAGS_CFI := -fsanitize=cfi \
|
|
-fsanitize-cfi-cross-dso \
|
|
-fno-sanitize-cfi-canonical-jump-tables \
|
|
-fno-sanitize-blacklist
|
|
|
|
ifdef CONFIG_CFI_PERMISSIVE
|
|
CC_FLAGS_CFI += -fsanitize-recover=cfi \
|
|
-fno-sanitize-trap=cfi
|
|
else
|
|
ifndef CONFIG_UBSAN_TRAP
|
|
CC_FLAGS_CFI += -ftrap-function=__ubsan_handle_cfi_check_fail_abort
|
|
endif
|
|
endif
|
|
|
|
# If LTO flags are filtered out, we must also filter out CFI.
|
|
CC_FLAGS_LTO += $(CC_FLAGS_CFI)
|
|
KBUILD_CFLAGS += $(CC_FLAGS_CFI)
|
|
export CC_FLAGS_CFI
|
|
endif
|
|
|
|
ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
|
|
KBUILD_CFLAGS += -falign-functions=32
|
|
endif
|
|
|
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
|
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
|
|
|
# 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
|
|
|
|
# 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, zero-length-bounds)
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
|
|
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
|
|
KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
|
|
|
|
# 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
|
|
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
|
|
|
|
# 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_KASAN) += scripts/Makefile.kasan
|
|
include-$(CONFIG_KCSAN) += scripts/Makefile.kcsan
|
|
include-$(CONFIG_UBSAN) += scripts/Makefile.ubsan
|
|
include-$(CONFIG_KCOV) += scripts/Makefile.kcov
|
|
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 and CFLAGS as the last assignments
|
|
KBUILD_CPPFLAGS += $(KCPPFLAGS)
|
|
KBUILD_AFLAGS += $(KAFLAGS)
|
|
KBUILD_CFLAGS += $(KCFLAGS)
|
|
|
|
KBUILD_LDFLAGS_MODULE += --build-id=sha1
|
|
LDFLAGS_vmlinux += --build-id=sha1
|
|
|
|
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
|
|
LDFLAGS_vmlinux += $(call ld-option, -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
|
|
|
|
#
|
|
# INSTALL_MOD_STRIP, if defined, will cause modules to be
|
|
# stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
|
|
# the default option --strip-debug will be used. Otherwise,
|
|
# INSTALL_MOD_STRIP value will be used as the options to the strip command.
|
|
|
|
ifdef INSTALL_MOD_STRIP
|
|
ifeq ($(INSTALL_MOD_STRIP),1)
|
|
mod_strip_cmd = $(STRIP) --strip-debug
|
|
else
|
|
mod_strip_cmd = $(STRIP) $(INSTALL_MOD_STRIP)
|
|
endif # INSTALL_MOD_STRIP=1
|
|
else
|
|
mod_strip_cmd = true
|
|
endif # INSTALL_MOD_STRIP
|
|
export mod_strip_cmd
|
|
|
|
# CONFIG_MODULE_COMPRESS, if defined, will cause module to be compressed
|
|
# after they are installed in agreement with CONFIG_MODULE_COMPRESS_GZIP
|
|
# or CONFIG_MODULE_COMPRESS_XZ.
|
|
|
|
mod_compress_cmd = true
|
|
ifdef CONFIG_MODULE_COMPRESS
|
|
ifdef CONFIG_MODULE_COMPRESS_GZIP
|
|
mod_compress_cmd = $(KGZIP) -n -f
|
|
endif # CONFIG_MODULE_COMPRESS_GZIP
|
|
ifdef CONFIG_MODULE_COMPRESS_XZ
|
|
mod_compress_cmd = $(XZ) -f
|
|
endif # CONFIG_MODULE_COMPRESS_XZ
|
|
endif # CONFIG_MODULE_COMPRESS
|
|
export mod_compress_cmd
|
|
|
|
ifdef CONFIG_MODULE_SIG_ALL
|
|
$(eval $(call config_filename,MODULE_SIG_KEY))
|
|
|
|
mod_sign_cmd = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODULE_SIG_KEY_SRCPREFIX)$(CONFIG_MODULE_SIG_KEY) certs/signing_key.x509
|
|
else
|
|
mod_sign_cmd = true
|
|
endif
|
|
export mod_sign_cmd
|
|
|
|
HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
|
|
|
|
has_libelf := $(call try-run,\
|
|
echo "int main() {}" | \
|
|
$(HOSTCC) $(KBUILD_HOSTCFLAGS) -xc -o /dev/null $(KBUILD_HOSTLDFLAGS) $(HOST_LIBELF_LIBS) -,1,0)
|
|
|
|
ifdef CONFIG_STACK_VALIDATION
|
|
ifeq ($(has_libelf),1)
|
|
objtool_target := tools/objtool FORCE
|
|
else
|
|
SKIP_STACK_VALIDATION := 1
|
|
export SKIP_STACK_VALIDATION
|
|
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
|
|
|
|
ifdef CONFIG_BPF
|
|
ifdef CONFIG_DEBUG_INFO_BTF
|
|
ifeq ($(has_libelf),1)
|
|
resolve_btfids_target := tools/bpf/resolve_btfids FORCE
|
|
else
|
|
ERROR_RESOLVE_BTFIDS := 1
|
|
endif
|
|
endif # CONFIG_DEBUG_INFO_BTF
|
|
endif # CONFIG_BPF
|
|
|
|
PHONY += prepare0
|
|
|
|
export MODORDER := $(extmod-prefix)modules.order
|
|
export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel headers
|
|
|
|
PHONY += headers
|
|
|
|
techpack-dirs := $(shell find $(srctree)/techpack -maxdepth 1 -mindepth 1 -type d -not -name ".*")
|
|
techpack-dirs := $(subst $(srctree)/,,$(techpack-dirs))
|
|
|
|
#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 $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
|
|
$(error Headers not exportable for the $(SRCARCH) architecture))
|
|
endif
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi
|
|
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi
|
|
$(Q)for d in $(techpack-dirs); do \
|
|
$(MAKE) $(hdr-inst)=$$d/include/uapi; \
|
|
done
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 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),)
|
|
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
|
|
|
|
vmlinux-dirs := $(patsubst %/,%,$(filter %/, \
|
|
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
|
|
$(libs-y) $(libs-m)))
|
|
|
|
vmlinux-alldirs := $(sort $(vmlinux-dirs) Documentation \
|
|
$(patsubst %/,%,$(filter %/, $(core-) \
|
|
$(drivers-) $(libs-))))
|
|
|
|
subdir-modorder := $(addsuffix modules.order,$(filter %/, \
|
|
$(core-y) $(core-m) $(libs-y) $(libs-m) \
|
|
$(drivers-y) $(drivers-m)))
|
|
|
|
build-dirs := $(vmlinux-dirs)
|
|
clean-dirs := $(vmlinux-alldirs)
|
|
|
|
# Externally visible symbols (used by link-vmlinux.sh)
|
|
KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
|
|
KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
|
|
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
|
|
KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))
|
|
|
|
export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
|
|
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
|
|
# used by scripts/Makefile.package
|
|
export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) LICENSES arch include scripts tools)
|
|
|
|
vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
|
|
|
|
# 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: descend modules.order
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
|
|
"$(MAKE) -f $(srctree)/Makefile vmlinux"
|
|
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)
|
|
|
|
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
|
|
|
|
# Final link of vmlinux with optional arch pass after final link
|
|
cmd_link-vmlinux = \
|
|
$(CONFIG_SHELL) $< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)"; \
|
|
$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
|
|
|
|
ifndef KBUILD_MIXED_TREE
|
|
vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
|
|
+$(call if_changed,link-vmlinux)
|
|
endif
|
|
|
|
targets := vmlinux
|
|
|
|
# The actual objects are generated when descending,
|
|
# make sure no implicit rule kicks in
|
|
$(sort $(vmlinux-deps) $(subdir-modorder)): descend ;
|
|
|
|
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/autoconf.h
|
|
|
|
prepare0: archprepare
|
|
$(Q)$(MAKE) $(build)=scripts/mod
|
|
$(Q)$(MAKE) $(build)=.
|
|
|
|
# All the preparing..
|
|
prepare: prepare0 prepare-objtool prepare-resolve_btfids
|
|
|
|
# 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
|
|
|
|
PHONY += prepare-objtool prepare-resolve_btfids
|
|
prepare-objtool: $(objtool_target)
|
|
ifeq ($(SKIP_STACK_VALIDATION),1)
|
|
ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
|
|
@echo "error: Cannot generate __mcount_loc for CONFIG_DYNAMIC_FTRACE=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
@false
|
|
endif
|
|
ifdef CONFIG_UNWINDER_ORC
|
|
@echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
@false
|
|
else
|
|
@echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
endif
|
|
endif
|
|
|
|
prepare-resolve_btfids: $(resolve_btfids_target)
|
|
ifeq ($(ERROR_RESOLVE_BTFIDS),1)
|
|
@echo "error: Cannot resolve BTF IDs for CONFIG_DEBUG_INFO_BTF, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
|
|
@false
|
|
endif
|
|
# 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
|
|
ifneq (,$(BUILD_NUMBER))
|
|
UTS_RELEASE=$(KERNELRELEASE)-ab$(BUILD_NUMBER)
|
|
else
|
|
UTS_RELEASE=$(KERNELRELEASE)
|
|
endif
|
|
define filechk_utsrelease.h
|
|
if [ `echo -n "$(UTS_RELEASE)" | wc -c ` -gt $(uts_len) ]; then \
|
|
echo '"$(UTS_RELEASE)" exceeds $(uts_len) characters' >&2; \
|
|
exit 1; \
|
|
fi; \
|
|
echo \#define UTS_RELEASE \"$(UTS_RELEASE)\"
|
|
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)))'
|
|
endef
|
|
|
|
$(version_h): PATCHLEVEL := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0)
|
|
$(version_h): SUBLEVEL := $(if $(SUBLEVEL), $(SUBLEVEL), 0)
|
|
$(version_h): FORCE
|
|
$(call filechk,version.h)
|
|
$(Q)rm -f $(old_version_h)
|
|
|
|
include/generated/utsrelease.h: include/config/kernel.release FORCE
|
|
$(call filechk,utsrelease.h)
|
|
|
|
PHONY += headerdep
|
|
headerdep:
|
|
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
|
|
$(srctree)/scripts/headerdep.pl -I$(srctree)/include
|
|
|
|
# Deprecated. It is no-op now.
|
|
PHONY += headers_check
|
|
headers_check:
|
|
@:
|
|
$(Q)for d in $(techpack-dirs); do \
|
|
$(MAKE) $(hdr-inst)=$$d/include/uapi HDRCHECK=1; \
|
|
done
|
|
|
|
ifdef CONFIG_HEADERS_INSTALL
|
|
prepare: headers
|
|
endif
|
|
|
|
PHONY += scripts_unifdef
|
|
scripts_unifdef: scripts_basic
|
|
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Kernel selftest
|
|
|
|
PHONY += kselftest
|
|
kselftest:
|
|
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
|
|
|
|
kselftest-%: 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
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# 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
|
|
#
|
|
# A module can be listed more than once in obj-m resulting in
|
|
# duplicate lines in modules.order files. Those are removed
|
|
# using awk while concatenating to the final file.
|
|
|
|
PHONY += modules
|
|
# if KBUILD_BUILTIN && !KBUILD_MIXED_TREE, depend on vmlinux
|
|
modules: $(if $(KBUILD_BUILTIN), $(if $(KBUILD_MIXED_TREE),,vmlinux))
|
|
modules: modules_check modules_prepare
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
PHONY += modules_check
|
|
modules_check: modules.order
|
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
|
|
|
|
cmd_modules_order = $(AWK) '!x[$$0]++' $(real-prereqs) > $@
|
|
|
|
modules.order: $(subdir-modorder) FORCE
|
|
$(call if_changed,modules_order)
|
|
|
|
targets += modules.order
|
|
|
|
# Target to prepare building external modules
|
|
PHONY += modules_prepare
|
|
modules_prepare: prepare
|
|
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
|
|
|
|
# Target to install modules
|
|
PHONY += modules_install
|
|
modules_install: _modinst_ _modinst_post
|
|
|
|
PHONY += _modinst_
|
|
_modinst_:
|
|
@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)/
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
|
|
# This depmod is only for convenience to give the initial
|
|
# boot a modules.dep even before / is mounted read-write. However the
|
|
# boot script depmod is the master version.
|
|
PHONY += _modinst_post
|
|
_modinst_post: _modinst_
|
|
$(call cmd,depmod)
|
|
|
|
ifeq ($(CONFIG_MODULE_SIG), y)
|
|
PHONY += modules_sign
|
|
modules_sign:
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
|
|
endif
|
|
|
|
else # CONFIG_MODULES
|
|
|
|
# Modules not configured
|
|
# ---------------------------------------------------------------------------
|
|
|
|
PHONY += modules modules_install
|
|
modules modules_install:
|
|
@echo >&2
|
|
@echo >&2 "The present kernel configuration has modules disabled."
|
|
@echo >&2 "Type 'make config' and enable loadable module support."
|
|
@echo >&2 "Then build a kernel with module support enabled."
|
|
@echo >&2
|
|
@exit 1
|
|
|
|
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
|
|
|
|
# Directories & files removed with 'make mrproper'
|
|
MRPROPER_FILES += include/config include/generated \
|
|
arch/$(SRCARCH)/include/generated .tmp_objdiff \
|
|
debian snap tar-install \
|
|
.config .config.old .version \
|
|
Module.symvers \
|
|
signing_key.pem signing_key.priv signing_key.x509 \
|
|
x509.genkey extra_certificates signing_key.x509.keyid \
|
|
signing_key.x509.signer vmlinux-gdb.py \
|
|
*.spec
|
|
|
|
# Directories & files removed with 'make distclean'
|
|
DISTCLEAN_FILES += tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
|
|
|
|
# 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)
|
|
|
|
# distclean
|
|
#
|
|
distclean: rm-files := $(wildcard $(DISTCLEAN_FILES))
|
|
|
|
PHONY += distclean
|
|
|
|
distclean: mrproper
|
|
$(call cmd,rmfiles)
|
|
@find $(srctree) $(RCS_FIND_IGNORE) \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
|
|
-o -name 'core' \) \
|
|
-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 ''
|
|
@$(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)):'
|
|
@$(if $(archhelp),$(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 ' 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 $@
|
|
|
|
# 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.
|
|
#
|
|
# The following are the only valid targets when building external
|
|
# modules.
|
|
# make M=dir clean Delete all automatically generated files
|
|
# make M=dir modules Make all modules in specified dir
|
|
# make M=dir Same as 'make M=dir modules'
|
|
# make M=dir modules_install
|
|
# Install the modules built in the module directory
|
|
# Assumes install directory is already created
|
|
|
|
# We are always building only modules.
|
|
KBUILD_BUILTIN :=
|
|
KBUILD_MODULES := 1
|
|
|
|
build-dirs := $(KBUILD_EXTMOD)
|
|
PHONY += modules
|
|
modules: $(MODORDER)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
$(MODORDER): descend
|
|
@:
|
|
|
|
PHONY += modules_install
|
|
modules_install: _emodinst_ _emodinst_post
|
|
|
|
install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra)
|
|
PHONY += _emodinst_
|
|
_emodinst_:
|
|
$(Q)mkdir -p $(MODLIB)/$(install-dir)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
|
|
PHONY += _emodinst_post
|
|
_emodinst_post: _emodinst_
|
|
$(call cmd,depmod)
|
|
|
|
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 += 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 ''
|
|
|
|
# no-op for external module builds
|
|
PHONY += prepare modules_prepare
|
|
|
|
endif # KBUILD_EXTMOD
|
|
|
|
# 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 := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS)))
|
|
|
|
$(single-ko): single_modpost
|
|
@:
|
|
$(single-no-ko): descend
|
|
@:
|
|
|
|
ifeq ($(KBUILD_EXTMOD),)
|
|
# For the single build of in-tree modules, use a temporary file to avoid
|
|
# the situation of modules_install installing an invalid modules.order.
|
|
MODORDER := .modules.tmp
|
|
endif
|
|
|
|
PHONY += single_modpost
|
|
single_modpost: $(single-no-ko) modules_prepare
|
|
$(Q){ $(foreach m, $(single-ko), echo $(extmod-prefix)$m;) } > $(MODORDER)
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
|
|
|
KBUILD_MODULES := 1
|
|
|
|
export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod-prefix), $(single-no-ko))
|
|
|
|
# trim unrelated directories
|
|
build-dirs := $(foreach d, $(build-dirs), \
|
|
$(if $(filter $(d)/%, $(KBUILD_SINGLE_TARGETS)), $(d)))
|
|
|
|
endif
|
|
|
|
ifndef CONFIG_MODULES
|
|
KBUILD_MODULES :=
|
|
endif
|
|
|
|
# Handle descending into subdirectories listed in $(build-dirs)
|
|
# 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 += descend $(build-dirs)
|
|
descend: $(build-dirs)
|
|
$(build-dirs): prepare
|
|
$(Q)$(MAKE) $(build)=$@ \
|
|
single-build=$(if $(filter-out $@/, $(filter $@/%, $(KBUILD_SINGLE_TARGETS))),1) \
|
|
$(if $(KBUILD_MIXED_TREE),,need-builtin=1) need-modorder=1
|
|
|
|
clean-dirs := $(addprefix _clean_, $(clean-dirs))
|
|
PHONY += $(clean-dirs) clean
|
|
$(clean-dirs):
|
|
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
|
|
|
|
clean: $(clean-dirs)
|
|
$(call cmd,rmfiles)
|
|
@find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
|
|
\( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
|
|
-o -name '*.ko.*' \
|
|
-o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
|
|
-o -name '*.dwo' -o -name '*.lst' \
|
|
-o -name '*.su' -o -name '*.mod' \
|
|
-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.*' \
|
|
-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_VMLINUX_OBJS) $(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)
|
|
|
|
# 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/ $*
|
|
|
|
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
|
cmd_rmfiles = rm -rf $(rm-files)
|
|
|
|
# Run depmod only if we have System.map and depmod is executable
|
|
quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
|
|
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
|
|
$(KERNELRELEASE) $(mixed-build-prefix)
|
|
|
|
# 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)
|