android_kernel_xiaomi_sm8450/Makefile
Srinivasarao Pathipati def9052d32 Merge keystone/android12-5.10-keystone-qcom-release.198+ (0ebfe67) into msm-5.10
* refs/heads/tmp-0ebfe67:
  BACKPORT: firmware_loader: Abort all upcoming firmware load request once reboot triggered
  UPSTREAM: firmware_loader: Refactor kill_pending_fw_fallback_reqs()
  UPSTREAM: kheaders: Have cpio unconditionally replace files
  ANDROID: abi_gki_aarch64_qcom: Add android_gki_sysctl_vals
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: Add Interrupt Hook for madvise Compression
  UPSTREAM: netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
  BACKPORT: ravb: Fix use-after-free issue in ravb_tx_timeout_work()
  UPSTREAM: ravb: Fix up dma_free_coherent() call in ravb_remove()
  Revert "netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp"
  Revert "net: bridge: use DEV_STATS_INC()"
  Revert "configfs: fix a race in configfs_lookup()"
  UPSTREAM: netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP
  UPSTREAM: net: xfrm: Fix xfrm_address_filter OOB read
  UPSTREAM: igb: set max size RX buffer when store bad packet is enabled
  UPSTREAM: netfilter: nfnetlink_osf: avoid OOB read
  ANDROID: abi_gki_aarch64_qcom: Add wait_for_device_probe symbol
  UPSTREAM: regmap: Drop initial version of maximum transfer length fixes
  UPSTREAM: netfilter: xt_sctp: validate the flag_info count
  UPSTREAM: netfilter: xt_u32: validate user space input
  UPSTREAM: net/sched: Retire rsvp classifier
  UPSTREAM: ipv4: fix null-deref in ipv4_link_failure
  UPSTREAM: netfilter: nf_tables: disallow rule removal from chain binding
  UPSTREAM: netfilter: nf_tables: report use refcount overflow
  FROMLIST: lib/test_meminit: fix off-by-one error in test_pages()
  Linux 5.10.198
  xen/events: replace evtchn_rwlock with RCU
  mmc: renesas_sdhi: only reset SCC when its pointer is populated
  netfilter: nftables: exthdr: fix 4-byte stack OOB write
  netfilter: nf_tables: fix kdoc warnings after gc rework
  parisc: Restore __ldcw_align for PA-RISC 2.0 processors
  RDMA/mlx5: Fix NULL string error
  RDMA/siw: Fix connection failure handling
  RDMA/uverbs: Fix typo of sizeof argument
  RDMA/cma: Fix truncation compilation warning in make_cma_ports
  RDMA/cma: Initialize ib_sa_multicast structure to 0 when join
  gpio: pxa: disable pinctrl calls for MMP_GPIO
  gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()
  IB/mlx4: Fix the size of a buffer in add_port_entries()
  of: dynamic: Fix potential memory leak in of_changeset_action()
  RDMA/core: Require admin capabilities to set system parameters
  dm zoned: free dmz->ddev array in dmz_put_zoned_devices
  cpupower: add Makefile dependencies for install targets
  sctp: update hb timer immediately after users change hb_interval
  sctp: update transport state when processing a dupcook packet
  tcp: fix delayed ACKs for MSS boundary condition
  tcp: fix quick-ack counting to count actual ACKs of new data
  tipc: fix a potential deadlock on &tx->lock
  net: stmmac: dwmac-stm32: fix resume on STM32 MCU
  netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure
  netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp
  net: ethernet: ti: am65-cpsw: Fix error code in am65_cpsw_nuss_init_tx_chns()
  net: nfc: llcp: Add lock when modifying device list
  net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg
  net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent
  ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()
  net: fix possible store tearing in neigh_periodic_work()
  modpost: add missing else to the "of" check
  NFSv4: Fix a nfs4_state_manager() race
  ima: rework CONFIG_IMA dependency block
  scsi: target: core: Fix deadlock due to recursive locking
  ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
  regmap: rbtree: Fix wrong register marked as in-cache when creating new node
  wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling
  drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close()
  bpf: Fix tr dereferencing
  wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet
  wifi: iwlwifi: dbg_ini: fix structure packing
  ubi: Refuse attaching if mtd's erasesize is 0
  arm64: Add Cortex-A520 CPU part definition
  net: prevent rewrite of msg_name in sock_sendmsg()
  net: replace calls to sock->ops->connect() with kernel_connect()
  wifi: mwifiex: Fix tlv_buf_left calculation
  qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
  scsi: zfcp: Fix a double put in zfcp_port_enqueue()
  Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3"
  Revert "clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz"
  block: fix use-after-free of q->q_usage_counter
  rbd: take header_rwsem in rbd_dev_refresh() only when updating
  rbd: decouple parent info read-in from updating rbd_dev
  rbd: decouple header read-in from updating rbd_dev->header
  rbd: move rbd_dev_refresh() definition
  drm/mediatek: Fix backport issue in mtk_drm_gem_prime_vmap()
  ring-buffer: Fix bytes info in per_cpu buffer stats
  ring-buffer: remove obsolete comment for free_buffer_page()
  NFSv4: Fix a state manager thread deadlock regression
  NFS: rename nfs_client_kset to nfs_kset
  NFS: Cleanup unused rpc_clnt variable
  spi: zynqmp-gqspi: fix clock imbalance on probe failure
  spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in zynqmp_qspi_probe
  fs: binfmt_elf_efpic: fix personality for ELF-FDPIC
  ata: libata-sata: increase PMP SRST timeout to 10s
  ata: libata-core: Do not register PM operations for SAS ports
  ata: libata-core: Fix port and device removal
  ata: libata-core: Fix ata_port_request_pm() locking
  net: thunderbolt: Fix TCPv6 GSO checksum calculation
  bpf: Fix BTF_ID symbol generation collision in tools/
  bpf: Fix BTF_ID symbol generation collision
  btrfs: properly report 0 avail for very full file systems
  ring-buffer: Update "shortest_full" in polling
  proc: nommu: /proc/<pid>/maps: release mmap read lock
  Revert "SUNRPC dont update timeout value on connection reset"
  i2c: i801: unregister tco_pdev in i801_probe() error path
  ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES
  ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre M70q
  netfilter: nf_tables: disallow rule removal from chain binding
  nilfs2: fix potential use after free in nilfs_gccache_submit_read_data()
  serial: 8250_port: Check IRQ data before use
  Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux"
  Smack:- Use overlay inode label in smack_inode_copy_up()
  smack: Retrieve transmuting information in smack_inode_getsecurity()
  smack: Record transmuting in smk_transmuted
  nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev
  netfilter: nft_exthdr: Fix for unsafe packet data read
  netfilter: nft_exthdr: Search chunks in SCTP packets only
  watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
  watchdog: iTCO_wdt: No need to stop the timer in probe
  nvme-pci: do not set the NUMA node of device if it has none
  nvme-pci: factor out a nvme_pci_alloc_dev helper
  nvme-pci: factor the iod mempool creation into a helper
  ACPI: Check StorageD3Enable _DSD property in ACPI code
  cgroup: Fix suspicious rcu_dereference_check() usage warning
  sched/cpuacct: Optimize away RCU read lock
  sched/cpuacct: Fix charge percpu cpuusage
  sched/cpuacct: Fix user/system in shown cpuacct.usage*
  perf build: Define YYNOMEM as YYNOABORT for bison < 3.81
  fbdev/sh7760fb: Depend on FB=y
  ncsi: Propagate carrier gain/loss events to the NCSI controller
  powerpc/watchpoints: Disable preemption in thread_change_pc()
  media: vb2: frame_vector.c: replace WARN_ONCE with a comment
  bpf: Clarify error expectations from bpf_clone_redirect
  spi: nxp-fspi: reset the FLSHxCR1 registers
  ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset()
  scsi: pm80xx: Avoid leaking tags when processing OPC_INB_SET_CONTROLLER_CONFIG command
  scsi: pm80xx: Use phy-specific SAS address when sending PHY_START command
  platform/mellanox: mlxbf-bootctl: add NET dependency into Kconfig
  ring-buffer: Do not attempt to read past "commit"
  selftests: fix dependency checker script
  ring-buffer: Avoid softlockup in ring_buffer_resize()
  selftests/ftrace: Correctly enable event in instance-event.tc
  scsi: qedf: Add synchronization between I/O completions and abort
  parisc: irq: Make irq_stack_union static to avoid sparse warning
  parisc: drivers: Fix sparse warning
  parisc: iosapic.c: Fix sparse warnings
  parisc: sba: Fix compile warning wrt list of SBA devices
  dma-debug: don't call __dma_entry_alloc_check_leak() under free_entries_lock
  i2c: npcm7xx: Fix callback completion ordering
  gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip
  xtensa: boot/lib: fix function prototypes
  xtensa: boot: don't add include-dirs
  xtensa: iss/network: make functions static
  xtensa: add default definition for XCHAL_HAVE_DIV32
  power: supply: ucs1002: fix error code in ucs1002_get_property()
  bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up
  ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot
  ARM: dts: Unify pwm-omap-dmtimer node names
  ARM: dts: am335x: Guardian: Update beeper label
  ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value
  ARM: dts: motorola-mapphone: Add 1.2GHz OPP
  ARM: dts: motorola-mapphone: Configure lower temperature passive cooling
  ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4
  ARM: dts: omap: correct indentation
  clk: tegra: fix error return case for recalc_rate
  bus: ti-sysc: Fix missing AM35xx SoC matching
  bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset()
  MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled
  btrfs: reset destination buffer when read_extent_buffer() gets invalid range
  ata: ahci: Add Elkhart Lake AHCI controller
  ata: ahci: Rename board_ahci_mobile
  ata: ahci: Add support for AMD A85 FCH (Hudson D4)
  ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY
  netfilter: nft_exthdr: Fix non-linear header modification
  netfilter: exthdr: add support for tcp option removal
  netfilter: nft_exthdr: break evaluation if setting TCP option fails
  netfilter: nf_tables: add and use nft_thoff helper
  netfilter: nf_tables: add and use nft_sk helper
  netfilter: nft_exthdr: Support SCTP chunks
  netfilter: use actual socket sk for REJECT action
  media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts
  media: venus: hfi: Add a 6xx boot logic
  media: venus: core: Add differentiator IS_V6(core)
  media: venus: hfi: Define additional 6xx registers
  media: venus: hfi,pm,firmware: Convert to block relative addressing
  media: venus: core: Add io base variables for each block
  mmc: renesas_sdhi: register irqs before registering controller
  mmc: tmio: support custom irq masks
  mmc: renesas_sdhi: populate SCC pointer at the proper place
  mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup
  Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN
  Input: i8042 - rename i8042-x86ia64io.h to i8042-acpipnpio.h
  netfilter: nf_tables: double hook unregistration in netns path
  netfilter: nf_tables: unregister flowtable hooks on netns exit
  i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()
  gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
  net: rds: Fix possible NULL-pointer dereference
  bnxt_en: Flush XDP for bnxt_poll_nitroa0()'s NAPI
  locking/seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested()
  seqlock: Prefix internal seqcount_t-only macros with a "do_"
  seqlock: Rename __seqprop() users
  seqlock: avoid -Wshadow warnings
  netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP
  team: fix null-ptr-deref when team device type is changed
  net: bridge: use DEV_STATS_INC()
  net: hns3: add 5ms delay before clear firmware reset irq source
  net: hns3: only enable unicast promisc when mac table full
  x86/srso: Fix SBPB enablement for spec_rstack_overflow=off
  x86/srso: Fix srso_show_state() side effect
  platform/x86: intel_scu_ipc: Fail IPC send if still busy
  platform/x86: intel_scu_ipc: Don't override scu in intel_scu_ipc_dev_simple_command()
  platform/x86: intel_scu_ipc: Check status upon timeout in ipc_wait_for_interrupt()
  platform/x86: intel_scu_ipc: Check status after timeout in busy_loop()
  dccp: fix dccp_v4_err()/dccp_v6_err() again
  powerpc/perf/hv-24x7: Update domain value check
  ipv4: fix null-deref in ipv4_link_failure
  i40e: Fix VF VLAN offloading when port VLAN is configured
  ASoC: imx-audmix: Fix return error with devm_clk_get()
  selftests: tls: swap the TX and RX sockets in some tests
  selftests/tls: Add {} to avoid static checker warning
  bpf: Avoid deadlock when using queue and stack maps from NMI
  netfilter: nf_tables: disallow element removal on anonymous sets
  ASoC: meson: spdifin: start hw on dai probe
  netfilter: nf_tables: fix memleak when more than 255 elements expired
  netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration
  netfilter: nft_set_pipapo: stop GC iteration if GC transaction allocation fails
  netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention
  netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
  netfilter: nf_tables: defer gc run if previous batch is still pending
  netfilter: nf_tables: use correct lock to protect gc_list
  netfilter: nf_tables: GC transaction race with abort path
  netfilter: nf_tables: GC transaction race with netns dismantle
  netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path
  netfilter: nf_tables: don't fail inserts if duplicate has expired
  netfilter: nf_tables: remove busy mark and gc batch API
  netfilter: nft_set_hash: mark set element as dead when deleting from packet path
  netfilter: nf_tables: adapt set backend to use GC transaction API
  netfilter: nf_tables: GC transaction API to avoid race with control plane
  netfilter: nf_tables: don't skip expired elements during walk
  netfilter: nf_tables: integrate pipapo into commit protocol
  tracing: Have event inject files inc the trace array ref count
  ext4: do not let fstrim block system suspend
  ext4: move setting of trimmed bit into ext4_try_to_trim_range()
  ext4: replace the traditional ternary conditional operator with with max()/min()
  ext4: mark group as trimmed only if it was fully scanned
  ext4: change s_last_trim_minblks type to unsigned long
  ext4: scope ret locally in ext4_try_to_trim_range()
  ext4: add new helper interface ext4_try_to_trim_range()
  ext4: remove the 'group' parameter of ext4_trim_extent
  ata: libahci: clear pending interrupt status
  ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones
  tracing: Increase trace array ref count on enable and filter files
  SUNRPC: Mark the cred for revalidation if the server rejects it
  NFS/pNFS: Report EINVAL errors from connect() to the server
  NFS: Use the correct commit info in nfs_join_page_group()
  FROMLIST: drm/mediatek: Fix backport issue in mtk_drm_gem_prime_vmap()
  Android Common Kernel: Initial commit
  Revert "scsi: core: Use 32-bit hostnum in scsi_host_lookup()"
  UPSTREAM: usb: gadget: ncm: Handle decoding of multiple NTB's in unwrap call
  Revert "fs/nls: make load_nls() take a const parameter"
  Revert "tracing: Introduce pipe_cpumask to avoid race on trace_pipes"
  Revert "tracing: Zero the pipe cpumask on alloc to avoid spurious -EBUSY"
  Revert "crypto: api - Use work queue in crypto_destroy_instance"
  ANDROID: ABI: Update oplus symbol list
  ANDROID: vendor_hooks: Add hooks for oem percpu-rwsem optimaton
  UPSTREAM: net: sched: sch_qfq: Fix UAF in qfq_dequeue()
  UPSTREAM: net/sched: sch_hfsc: Ensure inner classes have fsc curve
  Linux 5.10.197
  ext4: fix rec_len verify error
  scsi: pm8001: Setup IRQs on resume
  scsi: megaraid_sas: Fix deadlock on firmware crashdump
  ata: libata: disallow dev-initiated LPM transitions to unsupported states
  i2c: aspeed: Reset the i2c controller when timeout occurs
  tracefs: Add missing lockdown check to tracefs_create_dir()
  nfsd: fix change_info in NFSv4 RENAME replies
  tracing: Have option files inc the trace array ref count
  tracing: Have current_trace inc the trace array ref count
  drm/amd/display: enable cursor degamma for DCN3+ DRM legacy gamma
  mm/filemap: fix infinite loop in generic_file_buffered_read()
  proc: fix a dentry lock race between release_task and lookup
  net/sched: Retire rsvp classifier
  drm/amdgpu: fix amdgpu_cs_p1_user_fence
  btrfs: release path before inode lookup during the ino lookup ioctl
  btrfs: fix lockdep splat and potential deadlock after failure running delayed items
  ovl: fix incorrect fdput() on aio completion
  attr: block mode changes of symlinks
  md/raid1: fix error: ISO C90 forbids mixed declarations
  samples/hw_breakpoint: fix building without module unloading
  x86/boot/compressed: Reserve more memory for page tables
  scsi: lpfc: Fix the NULL vs IS_ERR() bug for debugfs_create_file()
  selftests: tracing: Fix to unmount tracefs for recovering environment
  scsi: qla2xxx: Fix NULL vs IS_ERR() bug for debugfs_create_dir()
  drm: gm12u320: Fix the timeout usage for usb_bulk_msg()
  btrfs: compare the correct fsid/metadata_uuid in btrfs_validate_super
  btrfs: add a helper to read the superblock metadata_uuid
  btrfs: move btrfs_pinned_by_swapfile prototype into volumes.h
  perf tools: Add an option to build without libbfd
  perf jevents: Make build dependency on test JSONs
  mtd: rawnand: brcmnand: Fix ECC level field setting for v7.2 controller
  mtd: rawnand: brcmnand: Allow SoC to provide I/O operations
  kobject: Add sanity check for kset->kobj.ktype in kset_register()
  media: pci: ipu3-cio2: Initialise timing struct to avoid a compiler warning
  serial: cpm_uart: Avoid suspicious locking
  scsi: target: iscsi: Fix buffer overflow in lio_target_nacl_info_show()
  usb: gadget: fsl_qe_udc: validate endpoint index for ch9 udc
  media: pci: cx23885: replace BUG with error return
  media: tuners: qt1010: replace BUG_ON with a regular error
  media: dvb-usb-v2: gl861: Fix null-ptr-deref in gl861_i2c_master_xfer
  media: az6007: Fix null-ptr-deref in az6007_i2c_xfer()
  media: anysee: fix null-ptr-deref in anysee_master_xfer
  media: af9005: Fix null-ptr-deref in af9005_i2c_xfer
  media: dw2102: Fix null-ptr-deref in dw2102_i2c_transfer()
  media: dvb-usb-v2: af9035: Fix null-ptr-deref in af9035_i2c_master_xfer
  powerpc/pseries: fix possible memory leak in ibmebus_bus_init()
  jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount
  fs/jfs: prevent double-free in dbUnmount() after failed jfs_remount()
  ext2: fix datatype of block number in ext2_xattr_set2()
  md: raid1: fix potential OOB in raid1_remove_disk()
  bus: ti-sysc: Configure uart quirks for k3 SoC
  drm/exynos: fix a possible null-pointer dereference due to data race in exynos_drm_crtc_atomic_disable()
  ALSA: hda: intel-dsp-cfg: add LunarLake support
  samples/hw_breakpoint: Fix kernel BUG 'invalid opcode: 0000'
  drm/bridge: tc358762: Instruct DSI host to generate HSE packets
  wifi: mac80211_hwsim: drop short frames
  netfilter: ebtables: fix fortify warnings in size_entry_mwt()
  alx: fix OOB-read compiler warning
  mmc: sdhci-esdhc-imx: improve ESDHC_FLAG_ERR010450
  tpm_tis: Resend command to recover from data transfer errors
  crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui()
  wifi: wil6210: fix fortify warnings
  wifi: mwifiex: fix fortify warning
  wifi: ath9k: fix printk specifier
  wifi: ath9k: fix fortify warnings
  crypto: lrw,xts - Replace strlcpy with strscpy
  devlink: remove reload failed checks in params get/set callbacks
  hw_breakpoint: fix single-stepping when using bpf_overflow_handler
  ACPI: video: Add backlight=native DMI quirk for Apple iMac12,1 and iMac12,2
  perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
  ACPI: video: Add backlight=native DMI quirk for Lenovo Ideapad Z470
  scftorture: Forgive memory-allocation failure if KASAN
  rcuscale: Move rcu_scale_writer() schedule_timeout_uninterruptible() to _idle()
  kernel/fork: beware of __put_task_struct() calling context
  ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer
  locks: fix KASAN: use-after-free in trace_event_raw_event_filelock_lock
  btrfs: output extra debug info if we failed to find an inline backref
  autofs: fix memory leak of waitqueues in autofs_catatonic_mode
  Linux 5.10.196
  Revert "configfs: fix a race in configfs_lookup()"
  FROMGIT: f2fs: split initial and dynamic conditions for extent_cache
  Revert "ip_tunnels: use DEV_STATS_INC()"
  Linux 5.10.195
  parisc: Drop loops_per_jiffy from per_cpu struct
  drm/amd/display: Fix a bug when searching for insert_above_mpcc
  kcm: Fix error handling for SOCK_DGRAM in kcm_sendmsg().
  ixgbe: fix timestamp configuration code
  ipv6: fix ip6_sock_set_addr_preferences() typo
  net/tls: do not free tls_rec on async operation in bpf_exec_tx_verdict()
  platform/mellanox: mlxbf-tmfifo: Drop jumbo frames
  platform/mellanox: mlxbf-tmfifo: Drop the Rx packet if no more descriptors
  kcm: Fix memory leak in error path of kcm_sendmsg()
  r8152: check budget for r8152_poll()
  hsr: Fix uninit-value access in fill_frame_info()
  net: ethernet: mtk_eth_soc: fix possible NULL pointer dereference in mtk_hwlro_get_fdir_all()
  net: ethernet: mvpp2_main: fix possible OOB write in mvpp2_ethtool_get_rxnfc()
  net/smc: use smc_lgr_list.lock to protect smc_lgr_list.list iterate in smcr_port_add
  kselftest/runner.sh: Propagate SIGTERM to runner child
  selftests/kselftest/runner/run_one(): allow running non-executable files
  net: ipv4: fix one memleak in __inet_del_ifa()
  bus: mhi: host: Skip MHI reset if device is in RDDM
  ARM: dts: BCM5301X: Extend RAM to full 256MB for Linksys EA6500 V2
  ARM: dts: samsung: exynos4210-i9100: Fix LCD screen's physical size
  scsi: qla2xxx: Flush mailbox commands on chip reset
  scsi: qla2xxx: Fix crash in PCIe error handling
  scsi: qla2xxx: Consolidate zio threshold setting for both FCP & NVMe
  scsi: qla2xxx: If fcport is undergoing deletion complete I/O with retry
  arm64: sdei: abort running SDEI handlers during crash
  ACPI: APEI: explicit init of HEST and GHES in apci_init()
  perf hists browser: Fix the number of entries for 'e' key
  perf tools: Handle old data in PERF_RECORD_ATTR
  perf hists browser: Fix hierarchy mode header
  drm/amd/display: prevent potential division by zero errors
  mtd: rawnand: brcmnand: Fix potential false time out warning
  mtd: rawnand: brcmnand: Fix potential out-of-bounds access in oob write
  mtd: rawnand: brcmnand: Fix crash during the panic_write
  btrfs: use the correct superblock to compare fsid in btrfs_validate_super
  btrfs: don't start transaction when joining with TRANS_JOIN_NOSTART
  fuse: nlookup missing decrement in fuse_direntplus_link
  ata: pata_ftide010: Add missing MODULE_DESCRIPTION
  ata: sata_gemini: Add missing MODULE_DESCRIPTION
  ext4: add correct group descriptors and reserved GDT blocks to system zone
  sh: boards: Fix CEU buffer size passed to dma_declare_coherent_memory()
  net: hns3: fix the port information display when sfp is absent
  netfilter: nfnetlink_osf: avoid OOB read
  net: dsa: sja1105: fix -ENOSPC when replacing the same tc-cbs too many times
  net: dsa: sja1105: fix bandwidth discrepancy between tc-cbs software and offload
  ip_tunnels: use DEV_STATS_INC()
  idr: fix param name in idr_alloc_cyclic() doc
  s390/zcrypt: don't leak memory if dev_set_name() fails
  igb: Change IGB_MIN to allow set rx/tx value between 64 and 80
  igbvf: Change IGBVF_MIN to allow set rx/tx value between 64 and 80
  igc: Change IGC_MIN to allow set rx/tx value between 64 and 80
  kcm: Destroy mutex in kcm_exit_net()
  net: sched: sch_qfq: Fix UAF in qfq_dequeue()
  af_unix: Fix data race around sk->sk_err.
  af_unix: Fix data-races around sk->sk_shutdown.
  af_unix: Fix data-race around unix_tot_inflight.
  af_unix: Fix data-races around user->unix_inflight.
  net: ipv6/addrconf: avoid integer underflow in ipv6_create_tempaddr
  veth: Fixing transmit return status for dropped packets
  igb: disable virtualization features on 82580
  ipv4: ignore dst hint for multipath routes
  drm/i915/gvt: Drop unused helper intel_vgpu_reset_gtt()
  drm/i915/gvt: Save/restore HW status to support GVT suspend/resume
  net: read sk->sk_family once in sk_mc_loop()
  ipv4: annotate data-races around fi->fib_dead
  sctp: annotate data-races around sk->sk_wmem_queued
  net/sched: fq_pie: avoid stalls in fq_pie_timer()
  pwm: lpc32xx: Remove handling of PWM channels
  watchdog: intel-mid_wdt: add MODULE_ALIAS() to allow auto-load
  perf top: Don't pass an ERR_PTR() directly to perf_session__delete()
  x86/virt: Drop unnecessary check on extended CPUID level in cpu_has_svm()
  perf annotate bpf: Don't enclose non-debug code with an assert()
  backlight: gpio_backlight: Drop output GPIO direction check for initial power state
  kconfig: fix possible buffer overflow
  NFSv4/pnfs: minor fix for cleanup path in nfs4_get_device_info
  NFS: Fix a potential data corruption
  soc: qcom: qmi_encdec: Restrict string length in decode
  clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock
  clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz
  dt-bindings: clock: xlnx,versal-clk: drop select:false
  pinctrl: cherryview: fix address_space_handler() argument
  parisc: led: Reduce CPU overhead for disk & lan LED computation
  parisc: led: Fix LAN receive and transmit LEDs
  lib/test_meminit: allocate pages up to order MAX_ORDER
  drm/ast: Fix DRAM init on AST2200
  fbdev/ep93xx-fb: Do not assign to struct fb_info.dev
  scsi: qla2xxx: Remove unsupported ql2xenabledif option
  scsi: qla2xxx: Turn off noisy message log
  scsi: qla2xxx: Fix erroneous link up failure
  scsi: qla2xxx: fix inconsistent TMF timeout
  scsi: qla2xxx: Fix deletion race condition
  io_uring: break iopolling on signal
  io_uring: break out of iowq iopoll on teardown
  io_uring: always lock in io_apoll_task_func
  net/ipv6: SKB symmetric hash should incorporate transport ports
  udf: initialize newblock to 0
  md/md-bitmap: remove unnecessary local variable in backlog_store()
  tracing: Zero the pipe cpumask on alloc to avoid spurious -EBUSY
  usb: typec: tcpci: clear the fault status bit
  USB: core: Fix oversight in SuperSpeed initialization
  USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()
  USB: core: Change usb_get_device_descriptor() API
  USB: core: Unite old scheme and new scheme descriptor reads
  usb: typec: bus: verify partner exists in typec_altmode_attention
  cpufreq: brcmstb-avs-cpufreq: Fix -Warray-bounds bug
  crypto: stm32 - fix loop iterating through scatterlist for DMA
  s390/ipl: add missing secure/has_secure file to ipl type 'unknown'
  pstore/ram: Check start of empty przs during init
  fsverity: skip PKCS#7 parser when keyring is empty
  net: handle ARPHRD_PPP in dev_is_mac_header_xmit()
  X.509: if signature is unsupported skip validation
  dccp: Fix out of bounds access in DCCP error handler
  dlm: fix plock lookup when using multiple lockspaces
  parisc: Fix /proc/cpuinfo output for lscpu
  procfs: block chmod on /proc/thread-self/comm
  Revert "PCI: Mark NVIDIA T4 GPUs to avoid bus reset"
  ntb: Fix calculation ntb_transport_tx_free_entry()
  ntb: Clean up tx tail index on link down
  ntb: Drop packets when qp link is down
  scsi: mpt3sas: Perform additional retries if doorbell read returns 0
  Revert "scsi: qla2xxx: Fix buffer overrun"
  media: dvb: symbol fixup for dvb_attach()
  arm64: csum: Fix OoB access in IP checksum code for negative lengths
  xtensa: PMU: fix base address for the newer hardware
  backlight/lv5207lp: Compare against struct fb_info.device
  backlight/bd6107: Compare against struct fb_info.device
  backlight/gpio_backlight: Compare against struct fb_info.device
  ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch()
  ipmi_si: fix a memleak in try_smi_init()
  scsi: core: Fix the scsi_set_resid() documentation
  printk: ringbuffer: Fix truncating buffer size min_t cast
  ALSA: pcm: Fix missing fixup call in compat hw_refine ioctl
  PM / devfreq: Fix leak in devfreq_dev_release()
  igb: set max size RX buffer when store bad packet is enabled
  skbuff: skb_segment, Call zero copy functions before using skbuff frags
  netfilter: xt_sctp: validate the flag_info count
  netfilter: xt_u32: validate user space input
  netfilter: ipset: add the missing IP_SET_HASH_WITH_NET0 macro for ip_set_hash_netportnet.c
  igmp: limit igmpv3_newpack() packet size to IP_MAX_MTU
  virtio_ring: fix avail_wrap_counter in virtqueue_add_packed
  cpufreq: Fix the race condition while updating the transition_task of policy
  dmaengine: ste_dma40: Add missing IRQ check in d40_probe
  um: Fix hostaudio build errors
  mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()
  mtd: spi-nor: Check bus width while setting QE bit
  rpmsg: glink: Add check for kstrdup
  phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write
  phy/rockchip: inno-hdmi: round fractal pixclock in rk3328 recalc_rate
  phy/rockchip: inno-hdmi: use correct vco_div_5 macro on rk3328
  mtd: rawnand: brcmnand: Fix mtd oobsize
  tracing: Fix race issue between cpu buffer write and swap
  x86/speculation: Mark all Skylake CPUs as vulnerable to GDS
  HID: multitouch: Correct devm device reference for hidinput input_dev name
  HID: logitech-dj: Fix error handling in logi_dj_recv_switch_to_dj_mode()
  RDMA/siw: Correct wrong debug message
  RDMA/siw: Balance the reference of cep->kref in the error path
  Revert "IB/isert: Fix incorrect release of isert connection"
  amba: bus: fix refcount leak
  serial: tegra: handle clk prepare error in tegra_uart_hw_init()
  scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock
  scsi: core: Use 32-bit hostnum in scsi_host_lookup()
  cgroup:namespace: Remove unused cgroup_namespaces_init()
  media: ov2680: Fix regulators being left enabled on ov2680_power_on() errors
  media: ov2680: Fix vflip / hflip set functions
  media: ov2680: Fix ov2680_bayer_order()
  media: ov2680: Remove auto-gain and auto-exposure controls
  media: i2c: ov2680: Set V4L2_CTRL_FLAG_MODIFY_LAYOUT on flips
  media: ov5640: Enable MIPI interface in ov5640_set_power_mipi()
  USB: gadget: f_mass_storage: Fix unused variable warning
  media: go7007: Remove redundant if statement
  iommu/vt-d: Fix to flush cache of PASID directory table
  iommu/qcom: Disable and reset context bank before programming
  fsi: aspeed: Reset master errors after CFAM reset
  IB/uverbs: Fix an potential error pointer dereference
  driver core: test_async: fix an error code
  dma-buf/sync_file: Fix docs syntax
  coresight: tmc: Explicit type conversions to prevent integer overflow
  scsi: qedf: Do not touch __user pointer in qedf_dbg_fp_int_cmd_read() directly
  scsi: qedf: Do not touch __user pointer in qedf_dbg_debug_cmd_read() directly
  scsi: qedf: Do not touch __user pointer in qedf_dbg_stop_io_on_error_cmd_read() directly
  x86/APM: drop the duplicate APM_MINOR_DEV macro
  serial: sprd: Fix DMA buffer leak issue
  serial: sprd: Assign sprd_port after initialized to avoid wrong access
  scsi: qla4xxx: Add length check when parsing nlattrs
  scsi: be2iscsi: Add length check when parsing nlattrs
  scsi: iscsi: Add strlen() check in iscsi_if_set{_host}_param()
  scsi: iscsi: Add length check for nlattr payload
  scsi: iscsi: Rename iscsi_set_param() to iscsi_if_set_param()
  scsi: RDMA/srp: Fix residual handling
  usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
  media: mediatek: vcodec: Return NULL if no vdec_fb is found
  media: rkvdec: increase max supported height for H.264
  scsi: hisi_sas: Fix normally completed I/O analysed as failed
  scsi: hisi_sas: Fix warnings detected by sparse
  scsi: hisi_sas: Modify v3 HW SATA completion error processing
  scsi: hisi_sas: Modify v3 HW SSP underflow error processing
  scsi: libsas: Introduce more SAM status code aliases in enum exec_status
  scsi: hisi_sas: Print SAS address for v3 hw erroneous completion print
  media: cx24120: Add retval check for cx24120_message_send()
  media: dvb-usb: m920x: Fix a potential memory leak in m920x_i2c_xfer()
  media: dib7000p: Fix potential division by zero
  drivers: usb: smsusb: fix error handling code in smsusb_init_device
  media: v4l2-core: Fix a potential resource leak in v4l2_fwnode_parse_link()
  media: i2c: tvp5150: check return value of devm_kasprintf()
  media: ad5820: Drop unsupported ad5823 from i2c_ and of_device_id tables
  NFSv4.2: fix handling of COPY ERR_OFFLOAD_NO_REQ
  NFS: Guard against READDIR loop when entry names exceed MAXNAMELEN
  NFSD: da_addr_body field missing in some GETDEVICEINFO replies
  fs: lockd: avoid possible wrong NULL parameter
  jfs: validate max amount of blocks before allocation.
  powerpc/iommu: Fix notifiers being shared by PCI and VIO buses
  nfs/blocklayout: Use the passed in gfp flags
  powerpc/pseries: Rework lppaca_shared_proc() to avoid DEBUG_PREEMPT
  powerpc: Don't include lppaca.h in paca.h
  wifi: ath10k: Use RMW accessors for changing LNKCTL
  net/mlx5: Use RMW accessors for changing LNKCTL
  drm/radeon: Use RMW accessors for changing LNKCTL
  drm/amdgpu: Use RMW accessors for changing LNKCTL
  powerpc/perf: Convert fsl_emb notifier to state machine callbacks
  powerpc/fadump: reset dump area size if fadump memory reserve fails
  vfio/type1: fix cap_migration information leak
  clk: imx: composite-8m: fix clock pauses when set_rate would be a no-op
  clk: imx8mp: fix sai4 clock
  PCI/ASPM: Use RMW accessors for changing LNKCTL
  PCI: pciehp: Use RMW accessors for changing LNKCTL
  pinctrl: mcp23s08: check return value of devm_kasprintf()
  PCI: Mark NVIDIA T4 GPUs to avoid bus reset
  clk: qcom: reset: Use the correct type of sleep/delay based on length
  clk: qcom: gcc-sm8250: Fix gcc_sdcc2_apps_clk_src
  clk: qcom: gcc-sm8250: use ARRAY_SIZE instead of specifying num_parents
  ext4: correct grp validation in ext4_mb_good_group
  clk: qcom: gcc-sc7180: Fix up gcc_sdcc2_apps_clk_src
  clk: qcom: gcc-sc7180: use ARRAY_SIZE instead of specifying num_parents
  clk: sunxi-ng: Modify mismatched function name
  drivers: clk: keystone: Fix parameter judgment in _of_pll_clk_init()
  ipmi:ssif: Fix a memory leak when scanning for an adapter
  ipmi:ssif: Add check for kstrdup
  ALSA: ac97: Fix possible error value of *rac97
  of: unittest: Fix overlay type in apply/revert check
  bus: ti-sysc: Fix cast to enum warning
  drm/mediatek: Fix potential memory leak if vmap() fail
  bus: ti-sysc: Fix build warning for 64-bit build
  audit: fix possible soft lockup in __audit_inode_child()
  drm/msm/a2xx: Call adreno_gpu_init() earlier
  drm/amd/pm: fix variable dereferenced issue in amdgpu_device_attr_create()
  smackfs: Prevent underflow in smk_set_cipso()
  firmware: meson_sm: fix to avoid potential NULL pointer dereference
  drm/msm/mdp5: Don't leak some plane state
  drm: xlnx: zynqmp_dpsub: Add missing check for dma_set_mask
  ima: Remove deprecated IMA_TRUSTED_KEYRING Kconfig
  drm/panel: simple: Add missing connector type and pixel format for AUO T215HVN01
  drm/armada: Fix off-by-one error in armada_overlay_get_property()
  of: unittest: fix null pointer dereferencing in of_unittest_find_node_by_name()
  drm/tegra: dpaux: Fix incorrect return value of platform_get_irq
  drm/tegra: Remove superfluous error messages around platform_get_irq()
  md/md-bitmap: hold 'reconfig_mutex' in backlog_store()
  md/bitmap: don't set max_write_behind if there is no write mostly device
  drm/amdgpu: Update min() to min_t() in 'amdgpu_info_ioctl'
  arm64: dts: qcom: sdm845: Fix the min frequency of "ice_core_clk"
  arm64: dts: qcom: sdm845: Add missing RPMh power domain to GCC
  ARM: dts: BCM53573: Fix Ethernet info for Luxul devices
  drm: adv7511: Fix low refresh rate register for ADV7533/5
  ARM: dts: samsung: s5pv210-smdkv210: correct ethernet reg addresses (split)
  ARM: dts: s5pv210: add dummy 5V regulator for backlight on SMDKv210
  ARM: dts: s5pv210: adjust node names to DT spec
  ARM: dts: samsung: s3c6410-mini6410: correct ethernet reg addresses (split)
  ARM: dts: s3c64xx: align pinctrl with dtschema
  x86/mm: Fix PAT bit missing from page protection modify mask
  drm/etnaviv: fix dumping of active MMU context
  ARM: dts: BCM53573: Use updated "spi-gpio" binding properties
  ARM: dts: BCM53573: Add cells sizes to PCIe node
  ARM: dts: BCM53573: Drop nonexistent #usb-cells
  ARM: dts: BCM53573: Describe on-SoC BCM53125 rev 4 switch
  ARM: dts: BCM5301X: Harmonize EHCI/OHCI DT nodes name
  drm/amdgpu: avoid integer overflow warning in amdgpu_device_resize_fb_bar()
  arm64: dts: qcom: msm8996: Add missing interrupt to the USB2 controller
  soc: qcom: ocmem: Fix NUM_PORTS & NUM_MACROS macros
  soc: qcom: ocmem: Add OCMEM hardware version print
  ASoC: stac9766: fix build errors with REGMAP_AC97
  quota: fix dqput() to follow the guarantees dquot_srcu should provide
  quota: add new helper dquot_active()
  quota: rename dquot_active() to inode_quota_active()
  quota: factor out dquot_write_dquot()
  drm/bridge: tc358764: Fix debug print parameter order
  netrom: Deny concurrent connect().
  net/sched: sch_hfsc: Ensure inner classes have fsc curve
  hwmon: (tmp513) Fix the channel number in tmp51x_is_visible()
  mlxsw: i2c: Limit single transaction buffer size
  mlxsw: i2c: Fix chunk size setting in output mailbox buffer
  net: arcnet: Do not call kfree_skb() under local_irq_disable()
  wifi: ath9k: use IS_ERR() with debugfs_create_dir()
  Bluetooth: btusb: Do not call kfree_skb() under spin_lock_irqsave()
  wifi: mwifiex: avoid possible NULL skb pointer dereference
  wifi: ath9k: protect WMI command response buffer replacement with a lock
  wifi: ath9k: fix races between ath9k_wmi_cmd and ath9k_wmi_ctrl_rx
  samples/bpf: fix broken map lookup probe
  wifi: mwifiex: Fix missed return in oob checks failed path
  wifi: mwifiex: fix memory leak in mwifiex_histogram_read()
  fs: ocfs2: namei: check return value of ocfs2_add_entry()
  lwt: Check LWTUNNEL_XMIT_CONTINUE strictly
  lwt: Fix return values of BPF xmit ops
  hwrng: iproc-rng200 - Implement suspend and resume calls
  crypto: caam - fix unchecked return value error
  ice: ice_aq_check_events: fix off-by-one check when filling buffer
  selftests/bpf: Clean up fmod_ret in bench_rename test script
  net: tcp: fix unexcepted socket die when snd_wnd is 0
  Bluetooth: Fix potential use-after-free when clear keys
  Bluetooth: nokia: fix value check in nokia_bluetooth_serdev_probe()
  crypto: api - Use work queue in crypto_destroy_instance
  crypto: stm32 - Properly handle pm_runtime_get failing
  selftests/bpf: fix static assert compilation issue for test_cls_*.c
  wifi: mwifiex: fix error recovery in PCIE buffer descriptor management
  wifi: mwifiex: Fix OOB and integer underflow when rx packets
  can: gs_usb: gs_usb_receive_bulk_callback(): count RX overflow errors also in case of OOM
  spi: tegra20-sflash: fix to check return value of platform_get_irq() in tegra_sflash_probe()
  wifi: mt76: testmode: add nla_policy for MT76_TM_ATTR_TX_LENGTH
  bpf: reject unhashed sockets in bpf_sk_assign
  udp: re-score reuseport groups when connected sockets are present
  regmap: rbtree: Use alloc_flags for memory allocations
  hwrng: nomadik - keep clock enabled while hwrng is registered
  tcp: tcp_enter_quickack_mode() should be static
  bpf: Clear the probe_addr for uprobe
  bpftool: Use a local bpf_perf_event_value to fix accessing its fields
  cpufreq: powernow-k8: Use related_cpus instead of cpus in driver.exit()
  x86/efistub: Fix PCI ROM preservation in mixed mode
  s390/paes: fix PKEY_TYPE_EP11_AES handling for secure keyblobs
  s390/pkey: fix/harmonize internal keyblob headers
  perf/imx_ddr: don't enable counter0 if none of 4 counters are used
  x86/decompressor: Don't rely on upper 32 bits of GPRs being preserved
  selftests/resctrl: Close perf value read fd on errors
  selftests/resctrl: Unmount resctrl FS if child fails to run benchmark
  selftests/resctrl: Don't leak buffer in fill_cache()
  OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
  refscale: Fix uninitalized use of wait_queue_head_t
  selftests/harness: Actually report SKIP for signal tests
  tmpfs: verify {g,u}id mount options correctly
  fs: Fix error checking for d_hash_and_lookup()
  eventfd: prevent underflow for eventfd semaphores
  eventfd: Export eventfd_ctx_do_read()
  reiserfs: Check the return value from __getblk()
  Revert "net: macsec: preserve ingress frame ordering"
  udf: Handle error when adding extent to a file
  udf: Check consistency of Space Bitmap Descriptor
  net: Avoid address overwrite in kernel_connect
  platform/mellanox: Fix mlxbf-tmfifo not handling all virtio CONSOLE notifications
  tracing: Introduce pipe_cpumask to avoid race on trace_pipes
  ALSA: seq: oss: Fix racy open/close of MIDI devices
  scsi: storvsc: Always set no_report_opcodes
  sctp: handle invalid error codes without calling BUG()
  bnx2x: fix page fault following EEH recovery
  netlabel: fix shift wrapping bug in netlbl_catmap_setlong()
  scsi: qedi: Fix potential deadlock on &qedi_percpu->p_work_lock
  idmaengine: make FSL_EDMA and INTEL_IDMA64 depends on HAS_IOMEM
  net: usb: qmi_wwan: add Quectel EM05GV2
  vmbus_testing: fix wrong python syntax for integer value comparison
  clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO depend on HAS_IOMEM
  kprobes: Prohibit probing on CFI preamble symbol
  security: keys: perform capable check only on privileged operations
  ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer()
  ovl: Always reevaluate the file signature for IMA
  drm/amd/display: Exit idle optimizations before attempt to access PHY
  platform/x86: huawei-wmi: Silence ambient light sensor
  platform/x86: intel: hid: Always call BTNL ACPI method
  ASoC: atmel: Fix the 8K sample parameter in I2SC master
  ASoc: codecs: ES8316: Fix DMIC config
  fs/nls: make load_nls() take a const parameter
  s390/dasd: fix hanging device after request requeue
  s390/dasd: use correct number of retries for ERP requests
  m68k: Fix invalid .section syntax
  vxlan: generalize vxlan_parse_gpe_hdr and remove unused args
  ethernet: atheros: fix return value check in atl1c_tso_csum()
  ASoC: da7219: Check for failure reading AAD IRQ events
  ASoC: da7219: Flush pending AAD IRQ when suspending
  9p: virtio: make sure 'offs' is initialized in zc_request
  media: pci: cx23885: fix error handling for cx23885 ATSC boards
  media: pulse8-cec: handle possible ping error
  phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code
  ARM: dts: imx: Set default tuning step for imx7d usdhc
  ARM: dts: imx: Adjust dma-apbh node name
  ARM: dts: imx7s: Drop dma-apb interrupt-names
  ARM: dts: imx: update sdma node name format
  ASoC: rt5682: Fix a problem with error handling in the io init function of the soundwire
  pinctrl: amd: Don't show `Invalid config param` errors
  nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
  nilfs2: fix general protection fault in nilfs_lookup_dirty_data_buffers()
  fsi: master-ast-cf: Add MODULE_FIRMWARE macro
  firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
  serial: sc16is7xx: fix bug when first setting GPIO direction
  serial: sc16is7xx: fix broken port 0 uart init
  serial: qcom-geni: fix opp vote on shutdown
  configfs: fix a race in configfs_lookup()
  Bluetooth: btsdio: fix use after free bug in btsdio_remove due to race condition
  staging: rtl8712: fix race condition
  HID: wacom: remove the battery when the EKR is off
  usb: chipidea: imx: improve logic if samsung,picophy-* parameter is 0
  usb: dwc3: meson-g12a: do post init to fix broken usb after resumption
  USB: serial: option: add FOXCONN T99W368/T99W373 product
  USB: serial: option: add Quectel EM05G variant (0x030e)
  modules: only allow symbol_get of EXPORT_SYMBOL_GPL modules
  rtc: ds1685: use EXPORT_SYMBOL_GPL for ds1685_rtc_poweroff
  net: enetc: use EXPORT_SYMBOL_GPL for enetc_phc_index
  mmc: au1xmmc: force non-modular build and remove symbol_get usage
  ARM: pxa: remove use of symbol_get()
  erofs: ensure that the post-EOF tails are all zeroed
  ANDROID: GKI:  Update moto symbols list
  ANDROID: vendor_hook: Add hook to skip swapcache
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: add vendor hook of add/delete/iterate node for swap_avail_heads
  UPSTREAM: tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
  UPSTREAM: netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
  UPSTREAM: net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  ANDROID: GKI update xiaomi symbols list
  UPSTREAM: af_unix: Fix null-ptr-deref in unix_stream_sendpage().
  UPSTREAM: USB: dwc3: fix use-after-free on core driver unbind
  UPSTREAM: xhci: Fix incorrect tracking of free space on transfer rings
  UPSTREAM: kfence: avoid passing -g for test
  UPSTREAM: coresight: etm4x: Do not access TRCIDR1 for identification
  UPSTREAM: usb: typec: tcpm: fix warning when handle discover_identity message
  UPSTREAM: f2fs: fix to update age extent in f2fs_do_zero_range()
  UPSTREAM: f2fs: fix to update age extent correctly during truncation
  BACKPORT: f2fs: fix to do sanity check on extent cache correctly
  UPSTREAM: net/sched: sch_qfq: refactor parsing of netlink parameters
  BACKPORT: f2fs: don't reset unchangable mount option in f2fs_remount()
  ANDROID: arm64: dts: qcom: sdm845-db845c: Do not point MDSS to the boot splash memory region
  BACKPORT: net: nfc: Fix use-after-free caused by nfc_llcp_find_local
  Linux 5.10.194
  rcu-tasks: Add trc_inspect_reader() checks for exiting critical section
  rcu-tasks: Wait for trc_read_check_handler() IPIs
  rcu-tasks: Fix IPI failure handling in trc_wait_for_one_reader
  rcu: Prevent expedited GP from enabling tick on offline CPU
  Revert "MIPS: Alchemy: fix dbdma2"
  Revert "drm/amdgpu: install stub fence into potential unused fence pointers"
  mhi: pci_generic: Fix implicit conversion warning
  ARM: module: Use module_init_layout_section() to spot init sections
  arm64: module: Use module_init_layout_section() to spot init sections
  arm64: module-plts: inline linux/moduleloader.h
  module: Expose module_init_layout_section()
  Revert "drm/display/dp: Fix the DP DSC Receiver cap size"
  Linux 5.10.193
  mm,hwpoison: fix printing of page flags
  ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode
  mm: memory-failure: fix unexpected return value in soft_offline_page()
  mm: memory-failure: kill soft_offline_free_page()
  mm: fix page reference leak in soft_offline_page()
  mm,hwpoison: refactor get_any_page
  dma-buf/sw_sync: Avoid recursive lock during fence signal
  pinctrl: renesas: rza2: Add lock around pinctrl_generic{{add,remove}_group,{add,remove}_function}
  clk: Fix undefined reference to `clk_rate_exclusive_{get,put}'
  scsi: core: raid_class: Remove raid_component_add()
  scsi: snic: Fix double free in snic_tgt_create()
  ASoC: rt711: add two jack detection modes
  drm/i915: Fix premature release of request's reusable memory
  cgroup/cpuset: Free DL BW in case can_attach() fails
  sched/deadline: Create DL BW alloc, free & check overflow interface
  cgroup/cpuset: Iterate only if DEADLINE tasks are present
  sched/cpuset: Keep track of SCHED_DEADLINE task in cpusets
  sched/cpuset: Bring back cpuset_mutex
  cgroup/cpuset: Rename functions dealing with DEADLINE accounting
  timers/nohz: Switch to ONESHOT_STOPPED in the low-res handler when the tick is stopped
  tick: Detect and fix jiffies update stall
  torture: Fix hang during kthread shutdown phase
  x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
  drm/display/dp: Fix the DP DSC Receiver cap size
  drm/vmwgfx: Fix shader stage validation
  PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus
  media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
  of: dynamic: Refactor action prints to not use "%pOF" inside devtree_lock
  radix tree: remove unused variable
  lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
  batman-adv: Hold rtnl lock during MTU update via netlink
  batman-adv: Fix batadv_v_ogm_aggr_send memory leak
  batman-adv: Fix TT global entry leak when client roamed back
  batman-adv: Do not get eth header before batadv_check_management_packet
  batman-adv: Don't increase MTU when set by user
  batman-adv: Trigger events for auto adjusted MTU
  selinux: set next pointer before attaching to list
  nfsd: Fix race to FREE_STATEID and cl_revoked
  NFS: Fix a use after free in nfs_direct_join_group()
  mm: add a call to flush_cache_vmap() in vmap_pfn()
  clk: Fix slab-out-of-bounds error in devm_clk_release()
  NFSv4: Fix dropped lock for racing OPEN and delegation return
  ibmveth: Use dcbf rather than dcbfl
  bonding: fix macvlan over alb bond support
  net: remove bond_slave_has_mac_rcu()
  rtnetlink: Reject negative ifindexes in RTM_NEWLINK
  rtnetlink: return ENODEV when ifname does not exist and group is given
  netfilter: nf_tables: fix out of memory error handling
  net/sched: fix a qdisc modification with ambiguous command request
  igb: Avoid starting unnecessary workqueues
  ice: fix receive buffer size miscalculation
  net: validate veth and vxcan peer ifindexes
  net: bcmgenet: Fix return value check for fixed_phy_register()
  net: bgmac: Fix return value check for fixed_phy_register()
  ipvlan: Fix a reference count leak warning in ipvlan_ns_exit()
  dccp: annotate data-races in dccp_poll()
  sock: annotate data-races around prot->memory_pressure
  octeontx2-af: SDP: fix receive link config
  tracing: Fix memleak due to race between current_tracer and trace
  tracing: Fix cpu buffers unavailable due to 'record_disabled' missed
  rbd: prevent busy loop when requesting exclusive lock
  rbd: retrieve and check lock owner twice before blocklisting
  rbd: make get_lock_owner_info() return a single locker or NULL
  libceph, rbd: ignore addr->type while comparing in some cases
  drm/amd/display: check TG is non-null before checking if enabled
  drm/amd/display: do not wait for mpc idle if tg is disabled
  ALSA: pcm: Fix potential data race at PCM memory allocation helpers
  dm integrity: reduce vmalloc space footprint on 32-bit architectures
  dm integrity: increase RECALC_SECTORS to improve recalculate speed
  fbdev: fix potential OOB read in fast_imageblit()
  fbdev: Fix sys_imageblit() for arbitrary image widths
  fbdev: Improve performance of sys_imageblit()
  MIPS: cpu-features: Use boot_cpu_type for CPU type based features
  MIPS: cpu-features: Enable octeon_cache by cpu_type
  fs: dlm: fix mismatch of plock results from userspace
  fs: dlm: use dlm_plock_info for do_unlock_close
  fs: dlm: change plock interrupted message to debug again
  fs: dlm: add pid to debug log
  dlm: replace usage of found with dedicated list iterator variable
  dlm: improve plock logging if interrupted
  PCI: acpiphp: Reassign resources on bridge if necessary
  xprtrdma: Remap Receive buffers after a reconnect
  NFSv4: fix out path in __nfs4_get_acl_uncached
  objtool/x86: Fix SRSO mess
  UPSTREAM: mhi: pci_generic: Fix implicit conversion warning
  Revert "macsec: Fix traffic counters/statistics"
  Revert "macsec: use DEV_STATS_INC()"
  Revert "xfrm: add forgotten nla_policy for XFRMA_MTIMER_THRESH"
  Revert "drm/ttm: add ttm_bo_pin()/ttm_bo_unpin() v2"
  Revert "drm/ttm: make ttm_bo_unpin more defensive"
  Revert "drm/ttm: never consider pinned BOs for eviction&swap"
  Revert "drm/ttm: check null pointer before accessing when swapping"
  Revert "tracing: Show real address for trace event arguments"
  Revert "tracing: Fix sleeping while atomic in kdb ftdump"
  Linux 5.10.192
  x86/srso: Correct the mitigation status when SMT is disabled
  objtool/x86: Fixup frame-pointer vs rethunk
  x86/retpoline,kprobes: Fix position of thunk sections with CONFIG_LTO_CLANG
  x86/srso: Disable the mitigation on unaffected configurations
  x86/CPU/AMD: Fix the DIV(0) initial fix attempt
  x86/retpoline: Don't clobber RFLAGS during srso_safe_ret()
  x86/static_call: Fix __static_call_fixup()
  x86/srso: Explain the untraining sequences a bit more
  x86/cpu: Cleanup the untrain mess
  x86/cpu: Rename srso_(.*)_alias to srso_alias_\1
  x86/cpu: Rename original retbleed methods
  x86/cpu: Clean up SRSO return thunk mess
  x86/ibt: Add ANNOTATE_NOENDBR
  objtool: Add frame-pointer-specific function ignore
  x86/alternative: Make custom return thunk unconditional
  x86/cpu: Fix up srso_safe_ret() and __x86_return_thunk()
  x86/cpu: Fix __x86_return_thunk symbol type
  mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove
  net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
  virtio-net: set queues after driver_ok
  af_unix: Fix null-ptr-deref in unix_stream_sendpage().
  netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
  mmc: block: Fix in_flight[issue_type] value error
  mmc: wbsd: fix double mmc_free_host() in wbsd_init()
  cifs: Release folio lock on fscache read hit.
  ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
  serial: 8250: Fix oops for port->pm on uart_change_pm()
  ALSA: hda/realtek - Remodified 3k pull low procedure
  ASoC: meson: axg-tdm-formatter: fix channel slot allocation
  ASoC: rt5665: add missed regulator_bulk_disable
  arm64: dts: rockchip: Disable HS400 for eMMC on ROCK Pi 4
  arm64: dts: rockchip: sort nodes/properties on rk3399-rock-4
  arm64: dts: rockchip: fix regulator name on rk3399-rock-4
  arm64: dts: rockchip: add SPDIF node for ROCK Pi 4
  arm64: dts: rockchip: add ES8316 codec for ROCK Pi 4
  arm64: dts: rockchip: use USB host by default on rk3399-rock-pi-4
  arm64: dts: rockchip: fix supplies on rk3399-rock-pi-4
  bus: ti-sysc: Flush posted write on enable before reset
  net: do not allow gso_size to be set to GSO_BY_FRAGS
  sock: Fix misuse of sk_under_memory_pressure()
  net: dsa: mv88e6xxx: Wait for EEPROM done before HW reset
  i40e: fix misleading debug logs
  team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
  net: phy: broadcom: stub c45 read/write for 54810
  netfilter: nft_dynset: disallow object maps
  ipvs: fix racy memcpy in proc_do_sync_threshold
  drm/panel: simple: Fix AUO G121EAN01 panel timings according to the docs
  selftests: mirror_gre_changes: Tighten up the TTL test match
  xfrm: add forgotten nla_policy for XFRMA_MTIMER_THRESH
  xfrm: add NULL check in xfrm_update_ae_params
  ip_vti: fix potential slab-use-after-free in decode_session6
  ip6_vti: fix slab-use-after-free in decode_session6
  xfrm: fix slab-use-after-free in decode_session6
  net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
  net: af_key: fix sadb_x_filter validation
  net: xfrm: Fix xfrm_address_filter OOB read
  i2c: designware: Handle invalid SMBus block data response length value
  btrfs: fix BUG_ON condition in btrfs_cancel_balance
  tty: serial: fsl_lpuart: Clear the error flags by writing 1 for lpuart32 platforms
  tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux
  powerpc/rtas_flash: allow user copy to flash block cache objects
  fbdev: mmp: fix value check in mmphw_probe()
  i2c: bcm-iproc: Fix bcm_iproc_i2c_isr deadlock issue
  virtio-mmio: don't break lifecycle of vm_dev
  virtio-mmio: Use to_virtio_mmio_device() to simply code
  tracing/probes: Fix to update dynamic data counter if fetcharg uses it
  tracing/probes: Have process_fetch_insn() take a void * instead of pt_regs
  mmc: meson-gx: fix deferred probing
  mmc: meson-gx: use devm_mmc_alloc_host
  mmc: core: add devm_mmc_alloc_host
  mmc: sunxi: fix deferred probing
  mmc: bcm2835: fix deferred probing
  USB: dwc3: qcom: fix NULL-deref on suspend
  usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
  usb: cdns3: allocate TX FIFO size according to composite EP number
  usb: gadget: udc: core: Introduce check_config to verify USB configuration
  irqchip/mips-gic: Use raw spinlock for gic_lock
  irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
  bus: mhi: host: Range check CHDBOFF and ERDBOFF
  bus: mhi: Move host MHI code to "host" directory
  bus: mhi: Add MMIO region length to controller structure
  bus: mhi: Add MHI PCI support for WWAN modems
  iio: addac: stx104: Fix race condition when converting analog-to-digital
  iio: addac: stx104: Fix race condition for stx104_write_raw()
  iio: adc: stx104: Implement and utilize register structures
  iio: adc: stx104: Utilize iomap interface
  dt-bindings: iio: add AD74413R
  iio: add addac subdirectory
  IMA: allow/fix UML builds
  ring-buffer: Do not swap cpu_buffer during resize process
  powerpc/kasan: Disable KCOV in KASAN code
  ALSA: hda: fix a possible null-pointer dereference due to data race in snd_hdac_regmap_sync()
  ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760
  drm/amdgpu: Fix potential fence use-after-free v2
  Bluetooth: btusb: Add MT7922 bluetooth ID for the Asus Ally
  Bluetooth: L2CAP: Fix use-after-free
  pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
  gfs2: Fix possible data races in gfs2_show_options()
  usb: chipidea: imx: add missing USB PHY DPDM wakeup setting
  usb: chipidea: imx: don't request QoS for imx8ulp
  media: platform: mediatek: vpu: fix NULL ptr dereference
  usb: gadget: u_serial: Avoid spinlock recursion in __gs_console_push
  media: v4l2-mem2mem: add lock to protect parameter num_rdy
  FS: JFS: Check for read-only mounted filesystem in txBegin
  FS: JFS: Fix null-ptr-deref Read in txBegin
  MIPS: dec: prom: Address -Warray-bounds warning
  fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
  udf: Fix uninitialized array access for some pathnames
  ovl: check type and offset of struct vfsmount in ovl_entry
  RDMA/mlx5: Return the firmware result upon destroying QP/RQ
  HID: add quirk for 03f0:464a HP Elite Presenter Mouse
  drm/amdgpu: install stub fence into potential unused fence pointers
  dma-remap: use kvmalloc_array/kvfree for larger dma memory remap
  quota: fix warning in dqgrab()
  quota: Properly disable quotas when add_dquot_ref() fails
  iopoll: Call cpu_relax() in busy loops
  ASoC: Intel: sof_sdw: Add support for Rex soundwire
  ARM: dts: imx6dl: prtrvt, prtvt7, prti6q, prtwd2: fix USB related warnings
  PCI: tegra194: Fix possible array out of bounds access
  ASoC: Intel: sof_sdw: add quirk for LNL RVP
  ASoC: Intel: sof_sdw: add quirk for MTL RVP
  ALSA: emu10k1: roll up loops in DSP setup code for Audigy
  drm/radeon: Fix integer overflow in radeon_cs_parser_init
  net/mlx5: Skip clock update work when device is in error state
  net/mlx5: Move all internal timer metadata into a dedicated struct
  net/mlx5: Refactor init clock function
  macsec: use DEV_STATS_INC()
  macsec: Fix traffic counters/statistics
  mmc: sdhci-f-sdh30: Replace with sdhci_pltfm
  Linux 5.10.191
  sch_netem: fix issues in netem_change() vs get_dist_table()
  alpha: remove __init annotation from exported page_is_ram()
  scsi: qedf: Fix firmware halt over suspend and resume
  scsi: qedi: Fix firmware halt over suspend and resume
  scsi: core: Fix possible memory leak if device_add() fails
  scsi: snic: Fix possible memory leak if device_add() fails
  scsi: 53c700: Check that command slot is not NULL
  scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
  scsi: core: Fix legacy /proc parsing buffer overflow
  netfilter: nf_tables: report use refcount overflow
  nvme-rdma: fix potential unbalanced freeze & unfreeze
  nvme-tcp: fix potential unbalanced freeze & unfreeze
  btrfs: set cache_block_group_error if we find an error
  btrfs: don't stop integrity writeback too early
  ibmvnic: Handle DMA unmapping of login buffs in release functions
  ibmvnic: Unmap DMA login rsp buffer on send login fail
  ibmvnic: Enforce stronger sanity checks on login response
  net/mlx5: Allow 0 for total host VFs
  dmaengine: mcf-edma: Fix a potential un-allocated memory access
  net: hns3: add wait until mac link down
  net: hns3: refactor hclge_mac_link_status_wait for interface reuse
  net: phy: at803x: remove set/get wol callbacks for AR8032
  wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
  IB/hfi1: Fix possible panic during hotplug remove
  drivers: net: prevent tun_build_skb() to exceed the packet size limit
  dccp: fix data-race around dp->dccps_mss_cache
  bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
  tunnels: fix kasan splat when generating ipv4 pmtu error
  net/packet: annotate data-races around tp->status
  mISDN: Update parameter type of dsp_cmx_send()
  selftests: forwarding: tc_flower: Relax success criterion
  selftests: forwarding: Switch off timeout
  selftests: forwarding: Skip test when no interfaces are specified
  selftests: forwarding: ethtool_extended_state: Skip when using veth pairs
  selftests: forwarding: ethtool: Skip when using veth pairs
  selftests: forwarding: Add a helper to skip test when using veth pairs
  selftests/rseq: Fix build with undefined __weak
  drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
  x86: Move gds_ucode_mitigated() declaration to header
  x86/speculation: Add cpu_show_gds() prototype
  x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
  x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
  x86/srso: Fix build breakage with the LLVM linker
  usb: common: usb-conn-gpio: Prevent bailing out if initial role is none
  usb: dwc3: Properly handle processing of pending events
  usb-storage: alauda: Fix uninit-value in alauda_check_media()
  binder: fix memory leak in binder_init()
  iio: cros_ec: Fix the allocation size for cros_ec_command
  io_uring: correct check for O_TMPFILE
  nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
  x86/pkeys: Revert a5eff72597 ("x86/pkeys: Add PKRU value to init_fpstate")
  radix tree test suite: fix incorrect allocation size for pthreads
  hwmon: (pmbus/bel-pfe) Enable PMBUS_SKIP_STATUS_CHECK for pfe1100
  drm/amd/display: check attr flag before set cursor degamma on DCN3+
  drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap()
  drm/nouveau/gr: enable memory loads on helper invocation on all channels
  riscv,mmio: Fix readX()-to-delay() ordering
  dmaengine: pl330: Return DMA_PAUSED when transaction is paused
  selftests/bpf: Fix sk_assign on s390x
  selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code
  selftests/bpf: make test_align selftest more robust
  bpf: aggressively forget precise markings during state checkpointing
  bpf: stop setting precise in current state
  bpf: allow precision tracking for programs with subprogs
  ipv6: adjust ndisc_is_useropt() to also return true for PIO
  mmc: moxart: read scr register without changing byte order
  wireguard: allowedips: expand maximum node depth
  Linux 5.10.190
  x86/CPU/AMD: Do not leak quotient data after a division by 0
  ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
  ARM: dts: imx6sll: fixup of operating points
  ARM: dts: imx: add usb alias
  wifi: mt76: mt7615: do not advertise 5 GHz on first phy of MT7615D (DBDC)
  mt76: mt7615: Fix fall-through warnings for Clang
  mt76: move band capabilities in mt76_phy
  exfat: check if filename entries exceeds max filename length
  exfat: support dynamic allocate bh for exfat_entry_set_cache
  exfat: speed up iterate/lookup by fixing start point of traversing cluster chain
  PM: sleep: wakeirq: fix wake irq arming
  PM / wakeirq: support enabling wake-up irq after runtime_suspend called
  soundwire: fix enumeration completion
  soundwire: bus: pm_runtime_request_resume on peripheral attachment
  soundwire: bus: add better dev_dbg to track complete() calls
  selftests/rseq: Play nice with binaries statically linked against glibc 2.35+
  selftests/rseq: check if libc rseq support is registered
  powerpc/mm/altmap: Fix altmap boundary check
  mtd: rawnand: fsl_upm: Fix an off-by one test in fun_exec_op()
  mtd: rawnand: omap_elm: Fix incorrect type in assignment
  ext2: Drop fragment support
  fs: Protect reconfiguration of sb read-write from racing writes
  net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
  Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
  fs/sysv: Null check to prevent null-ptr-deref bug
  tracing: Fix sleeping while atomic in kdb ftdump
  file: reinstate f_pos locking optimization for regular files
  drm/ttm: check null pointer before accessing when swapping
  open: make RESOLVE_CACHED correctly test for O_TMPFILE
  bpf: Disable preemption in bpf_event_output
  net: tap_open(): set sk_uid from current_fsuid()
  net: tun_chr_open(): set sk_uid from current_fsuid()
  arm64: dts: stratix10: fix incorrect I2C property for SCL signal
  mtd: rawnand: meson: fix OOB available bytes for ECC
  mtd: spinand: toshiba: Fix ecc_get_status
  exfat: release s_lock before calling dir_emit()
  exfat: use kvmalloc_array/kvfree instead of kmalloc_array/kfree
  ceph: defer stopping mdsc delayed_work
  USB: zaurus: Add ID for A-300/B-500/C-700
  libceph: fix potential hang in ceph_osdc_notify()
  scsi: zfcp: Defer fc_rport blocking until after ADISC response
  tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
  tcp_metrics: annotate data-races around tm->tcpm_net
  tcp_metrics: annotate data-races around tm->tcpm_vals[]
  tcp_metrics: annotate data-races around tm->tcpm_lock
  tcp_metrics: annotate data-races around tm->tcpm_stamp
  tcp_metrics: fix addr_same() helper
  net/mlx5: fs_core: Skip the FTs in the same FS_TYPE_PRIO_CHAINS fs_prio
  net/mlx5: fs_core: Make find_closest_ft more generic
  vxlan: Fix nexthop hash size
  ip6mr: Fix skb_under_panic in ip6mr_cache_report()
  s390/qeth: Don't call dev_close/dev_open (DOWN/UP)
  net: dcb: choose correct policy to parse DCB_ATTR_BCN
  net: netsec: Ignore 'phy-mode' on SynQuacer in DT mode
  net: ll_temac: fix error checking of irq_of_parse_and_map()
  net: ll_temac: Switch to use dev_err_probe() helper
  bpf: sockmap: Remove preempt_disable in sock_map_sk_acquire
  net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  net/sched: cls_fw: No longer copy tcf_result on update to avoid use-after-free
  net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
  net: add missing data-race annotation for sk_ll_usec
  net: add missing data-race annotations around sk->sk_peek_off
  net: add missing READ_ONCE(sk->sk_rcvbuf) annotation
  net: add missing READ_ONCE(sk->sk_sndbuf) annotation
  net: add missing READ_ONCE(sk->sk_rcvlowat) annotation
  net: annotate data-races around sk->sk_max_pacing_rate
  mISDN: hfcpci: Fix potential deadlock on &hc->lock
  net: sched: cls_u32: Fix match key mis-addressing
  perf test uprobe_from_different_cu: Skip if there is no gcc
  net: dsa: fix value check in bcm_sf2_sw_probe()
  rtnetlink: let rtnl_bridge_setlink checks IFLA_BRIDGE_MODE length
  bpf: Add length check for SK_DIAG_BPF_STORAGE_REQ_MAP_FD parsing
  net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
  net/mlx5: DR, fix memory leak in mlx5dr_cmd_create_reformat_ctx
  wifi: cfg80211: Fix return value in scan logic
  KVM: s390: fix sthyi error handling
  word-at-a-time: use the same return type for has_zero regardless of endianness
  arm64: dts: imx8mn-var-som: add missing pull-up for onboard PHY reset pinmux
  loop: Select I/O scheduler 'none' from inside add_disk()
  perf: Fix function pointer case
  io_uring: gate iowait schedule on having pending requests
  x86/kprobes: Fix JNG/JNLE emulation
  x86/kprobes: Update kcb status flag after singlestepping
  x86/kprobes: Move 'inline' to the beginning of the kprobe_is_ss() declaration
  x86/kprobes: Fix to identify indirect jmp and others using range case
  x86/kprobes: Use int3 instead of debug trap for single-step
  x86/kprobes: Identify far indirect JMP correctly
  x86/kprobes: Retrieve correct opcode for group instruction
  x86/kprobes: Do not decode opcode in resume_execution()
  kprobes/x86: Fix fall-through warnings for Clang
  ASoC: cs42l51: fix driver to properly autoload with automatic module loading
  io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
  selftests: mptcp: depend on SYN_COOKIES
  cpufreq: intel_pstate: Drop ACPI _PSS states table patching
  ACPI: processor: perflib: Avoid updating frequency QoS unnecessarily
  ACPI: processor: perflib: Use the "no limit" frequency QoS
  drm/ttm: make ttm_bo_unpin more defensive
  dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
  ceph: never send metrics if disable_send_metrics is set
  ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
  s390/dasd: fix hanging device after quiesce/resume
  virtio-net: fix race between set queues and probe
  btrfs: check if the transaction was aborted at btrfs_wait_for_commit()
  staging: r8712: Fix memory leak in _r8712_init_xmit_priv()
  staging: rtl8712: Use constants from <linux/ieee80211.h>
  KVM: VMX: Don't fudge CR0 and CR4 for restricted L2 guest
  KVM: nVMX: Do not clear CR3 load/store exiting bits if L1 wants 'em
  KVM: VMX: Fold ept_update_paging_mode_cr0() back into vmx_set_cr0()
  KVM: VMX: Invert handling of CR0.WP for EPT without unrestricted guest
  irqchip/gic-v4.1: Properly lock VPEs when doing a directLPI invalidation
  irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
  tpm_tis: Explicitly check for error code
  nfsd: Remove incorrect check in nfsd4_validate_stateid
  file: always lock position for FMODE_ATOMIC_POS
  btrfs: check for commit error at btrfs_attach_transaction_barrier()
  hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
  ALSA: hda/relatek: Enable Mute LED on HP 250 G8
  tty: n_gsm: fix UAF in gsm_cleanup_mux
  staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
  Documentation: security-bugs.rst: clarify CVE handling
  Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
  Revert "usb: xhci: tegra: Fix error check"
  usb: xhci-mtk: set the dma max_seg_size
  USB: quirks: add quirk for Focusrite Scarlett
  usb: ohci-at91: Fix the unhandle interrupt when resume
  usb: dwc3: don't reset device side if dwc3 was configured as host-only
  usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
  Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
  can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
  USB: serial: simple: sort driver entries
  USB: serial: simple: add Kaufmann RKS+CAN VCP
  USB: serial: option: add Quectel EC200A module support
  USB: serial: option: support Quectel EM060K_128
  serial: sifive: Fix sifive_serial_console_setup() section
  serial: 8250_dw: Preserve original value of DLF register
  serial: qcom-geni: drop bogus runtime pm state update
  USB: gadget: Fix the memory leak in raw_gadget driver
  Revert "usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init()"
  tracing: Fix warning in trace_buffered_event_disable()
  ring-buffer: Fix wrong stat of cpu_buffer->read
  ata: pata_ns87415: mark ns87560_tf_read static
  dm raid: protect md_stop() with 'reconfig_mutex'
  dm raid: clean up four equivalent goto tags in raid_ctr()
  dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
  block: Fix a source code comment in include/uapi/linux/blkzoned.h
  ASoC: fsl_spdif: Silence output on stop
  drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
  RDMA/mthca: Fix crash when polling CQ for shared QPs
  drm/msm/adreno: Fix snapshot BINDLESS_DATA size
  drm/msm/dpu: drop enum dpu_core_perf_data_bus_id
  RDMA/mlx4: Make check for invalid flags stricter
  tipc: stop tipc crypto on failure in tipc_node_create
  tipc: check return value of pskb_trim()
  benet: fix return value check in be_lancer_xmit_workarounds()
  net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
  net/sched: mqprio: add extack to mqprio_parse_nlattr()
  net/sched: mqprio: refactor nlattr parsing to a separate function
  netfilter: nf_tables: disallow rule addition to bound chain via NFTA_RULE_CHAIN_ID
  netfilter: nf_tables: skip immediate deactivate in _PREPARE_ERROR
  netfilter: nftables: add helper function to validate set element data
  netfilter: nft_set_rbtree: fix overlap expiration walk
  platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
  team: reset team's flags when down link is P2P device
  bonding: reset bond's flags when down link is P2P device
  ice: Fix memory management in ice_ethtool_fdir.c
  tcp: Reduce chance of collisions in inet6_hashfn().
  ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
  ethernet: atheros: fix return value check in atl1e_tso_csum()
  phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
  vxlan: calculate correct header length for GPE
  vxlan: move to its own directory
  net: hns3: fix wrong bw weight of disabled tc issue
  net: hns3: reconstruct function hclge_ets_validate()
  net: phy: marvell10g: fix 88x3310 power up
  i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
  media: staging: atomisp: select V4L2_FWNODE
  phy: qcom-snps-femto-v2: properly enable ref clock
  phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend
  phy: qcom-snps: correct struct qcom_snps_hsphy kerneldoc
  phy: qcom-snps: Use dev_err_probe() to simplify code
  ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
  pwm: meson: fix handling of period/duty if greater than UINT_MAX
  pwm: meson: Simplify duplicated per-channel tracking
  tracing: Show real address for trace event arguments
  drm/ttm: never consider pinned BOs for eviction&swap
  drm/ttm: add ttm_bo_pin()/ttm_bo_unpin() v2
  fs: dlm: interrupt posix locks only when process is killed
  dlm: rearrange async condition return
  dlm: cleanup plock_op vs plock_xop
  PCI/ASPM: Avoid link retraining race
  PCI/ASPM: Factor out pcie_wait_for_retrain()
  PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
  i2c: nomadik: Remove a useless call in the remove function
  i2c: nomadik: Use devm_clk_get_enabled()
  i2c: nomadik: Remove unnecessary goto label
  i2c: Improve size determinations
  i2c: Delete error messages for failed memory allocations
  btrfs: fix extent buffer leak after tree mod log failure at split_node()
  btrfs: fix race between quota disable and relocation
  gpio: tps68470: Make tps68470_gpio_output() always set the initial value
  io_uring: don't audit the capability check in io_uring_create()
  KVM: s390: pv: fix index value of replaced ASCE
  Linux 5.10.189
  x86: fix backwards merge of GDS/SRSO bit
  xen/netback: Fix buffer overrun triggered by unusual packet
  x86/srso: Tie SBPB bit setting to microcode patch detection
  x86/srso: Fix return thunks in generated code
  x86/srso: Add IBPB on VMEXIT
  x86/srso: Add IBPB
  x86/srso: Add SRSO_NO support
  x86/srso: Add IBPB_BRTYPE support
  x86/srso: Add a Speculative RAS Overflow mitigation
  x86/cpu, kvm: Add support for CPUID_80000021_EAX
  x86/bugs: Increase the x86 bugs vector size to two u32s
  tools headers cpufeatures: Sync with the kernel sources
  x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX]
  x86/cpu: Add VM page flush MSR availablility as a CPUID feature
  Documentation/x86: Fix backwards on/off logic about YMM support
  x86/mm: Initialize text poking earlier
  mm: Move mm_cachep initialization to mm_init()
  x86/mm: Use mm_alloc() in poking_init()
  x86/mm: fix poking_init() for Xen PV guests
  x86/xen: Fix secondary processors' FPU initialization
  KVM: Add GDS_NO support to KVM
  x86/speculation: Add Kconfig option for GDS
  x86/speculation: Add force option to GDS mitigation
  x86/speculation: Add Gather Data Sampling mitigation
  x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
  x86/fpu: Mark init functions __init
  x86/fpu: Remove cpuinfo argument from init functions
  init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
  init: Invoke arch_cpu_finalize_init() earlier
  init: Remove check_bugs() leftovers
  um/cpu: Switch to arch_cpu_finalize_init()
  sparc/cpu: Switch to arch_cpu_finalize_init()
  sh/cpu: Switch to arch_cpu_finalize_init()
  mips/cpu: Switch to arch_cpu_finalize_init()
  m68k/cpu: Switch to arch_cpu_finalize_init()
  ia64/cpu: Switch to arch_cpu_finalize_init()
  ARM: cpu: Switch to arch_cpu_finalize_init()
  x86/cpu: Switch to arch_cpu_finalize_init()
  init: Provide arch_cpu_finalize_init()
  Revert "bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE"
  Revert "sctp: add bpf_bypass_getsockopt proto callback"
  Revert "net: Introduce net.ipv4.tcp_migrate_req."
  Revert "tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries."
  Revert "tcp: annotate data-races around icsk->icsk_syn_retries"
  Revert "posix-timers: Ensure timer ID search-loop limit is valid"
  Revert "Revert "8250: add support for ASIX devices with a FIFO bug""
  Linux 5.10.188
  ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
  ftrace: Store the order of pages allocated in ftrace_page
  tracing: Fix memory leak of iter->temp when reading trace_pipe
  tracing/histograms: Return an error if we fail to add histogram to hist_vars list
  net: phy: prevent stale pointer dereference in phy_init()
  tcp: annotate data-races around fastopenq.max_qlen
  tcp: annotate data-races around icsk->icsk_user_timeout
  tcp: annotate data-races around tp->notsent_lowat
  tcp: annotate data-races around rskq_defer_accept
  tcp: annotate data-races around tp->linger2
  tcp: annotate data-races around icsk->icsk_syn_retries
  tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries.
  net: Introduce net.ipv4.tcp_migrate_req.
  tcp: annotate data-races around tp->keepalive_probes
  tcp: annotate data-races around tp->keepalive_intvl
  tcp: annotate data-races around tp->keepalive_time
  tcp: annotate data-races around tp->tcp_tx_delay
  netfilter: nf_tables: skip bound chain on rule flush
  netfilter: nf_tables: skip bound chain in netns release path
  netfilter: nft_set_pipapo: fix improper element removal
  netfilter: nf_tables: can't schedule in nft_chain_validate
  netfilter: nf_tables: fix spurious set element insertion failure
  llc: Don't drop packet from non-root netns.
  fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
  Revert "tcp: avoid the lookup process failing to get sk in ehash table"
  net:ipv6: check return value of pskb_trim()
  net: ipv4: Use kfree_sensitive instead of kfree
  tcp: annotate data-races around tcp_rsk(req)->ts_recent
  octeontx2-pf: Dont allocate BPIDs for LBK interfaces
  security: keys: Modify mismatched function name
  iavf: Fix out-of-bounds when setting channels on remove
  iavf: Fix use-after-free in free_netdev
  bridge: Add extack warning when enabling STP in netns.
  net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
  pinctrl: amd: Use amd_pinconf_set() for all config options
  fbdev: imxfb: warn about invalid left/right margin
  spi: bcm63xx: fix max prepend length
  igb: Fix igb_down hung on surprise removal
  wifi: iwlwifi: mvm: avoid baid size integer overflow
  wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
  devlink: report devlink_port_type_warn source device
  bpf: Address KCSAN report on bpf_lru_list
  wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range
  sched/fair: Don't balance task to its current running CPU
  arm64: mm: fix VA-range sanity check
  arm64: set __exception_irq_entry with __irq_entry as a default
  ACPI: video: Add backlight=native DMI quirk for Lenovo ThinkPad X131e (3371 AMD version)
  ACPI: video: Add backlight=native DMI quirk for Apple iMac11,3
  ACPI: button: Add lid disable DMI quirk for Nextbook Ares 8A
  btrfs: add xxhash to fast checksum implementations
  posix-timers: Ensure timer ID search-loop limit is valid
  md/raid10: prevent soft lockup while flush writes
  md: fix data corruption for raid456 when reshape restart while grow up
  nbd: Add the maximum limit of allocated index in nbd_dev_add
  debugobjects: Recheck debug_objects_enabled before reporting
  ext4: correct inline offset when handling xattrs in inode body
  ASoC: fsl_sai: Disable bit clock with transmitter
  drm/client: Fix memory leak in drm_client_modeset_probe
  drm/client: Fix memory leak in drm_client_target_cloned
  can: bcm: Fix UAF in bcm_proc_show()
  regmap: Account for register length in SMBus I/O limits
  regmap: Drop initial version of maximum transfer length fixes
  selftests: tc: add 'ct' action kconfig dep
  selftests: tc: set timeout to 15 minutes
  fuse: revalidate: don't invalidate if interrupted
  btrfs: fix warning when putting transaction with qgroups enabled after abort
  perf probe: Add test for regression introduced by switch to die_get_decl_file()
  keys: Fix linking a duplicate key to a keyring's assoc_array
  ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
  ALSA: hda/realtek - remove 3k pull low procedure
  drm/atomic: Fix potential use-after-free in nonblocking commits
  RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests
  net/sched: sch_qfq: reintroduce lmax bound check for MTU
  scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
  scsi: qla2xxx: Pointer may be dereferenced
  scsi: qla2xxx: Correct the index of array
  scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
  scsi: qla2xxx: Fix potential NULL pointer dereference
  scsi: qla2xxx: Fix buffer overrun
  scsi: qla2xxx: Array index may go out of bound
  scsi: qla2xxx: Wait for io return on terminate rport
  tracing/probes: Fix not to count error code to total length
  tracing: Fix null pointer dereference in tracing_err_log_open()
  xtensa: ISS: fix call to split_if_spec
  ring-buffer: Fix deadloop issue on reading trace_pipe
  net: ena: fix shift-out-of-bounds in exponential backoff
  samples: ftrace: Save required argument registers in sample trampolines
  tracing/histograms: Add histograms to hist_vars if they have referenced variables
  s390/decompressor: fix misaligned symbol build error
  Revert "8250: add support for ASIX devices with a FIFO bug"
  meson saradc: fix clock divider mask length
  xhci: Show ZHAOXIN xHCI root hub speed correctly
  xhci: Fix TRB prefetch issue of ZHAOXIN hosts
  xhci: Fix resume issue of some ZHAOXIN hosts
  ceph: don't let check_caps skip sending responses for revoke msgs
  firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
  tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
  tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
  serial: atmel: don't enable IRQs prematurely
  drm/amd/display: Correct `DMUB_FW_VERSION` macro
  drm/rockchip: vop: Leave vblank enabled in self-refresh
  drm/atomic: Allow vblank-enabled + self-refresh "disable"
  fs: dlm: return positive pid value for F_GETLK
  md/raid0: add discard support for the 'original' layout
  misc: pci_endpoint_test: Re-init completion for every test
  misc: pci_endpoint_test: Free IRQs before removing the device
  PCI: rockchip: Set address alignment for endpoint mode
  PCI: rockchip: Use u32 variable to access 32-bit registers
  PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
  PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
  PCI: rockchip: Write PCI Device ID to correct register
  PCI: rockchip: Assert PCI Configuration Enable bit after probe
  PCI: qcom: Disable write access to read only registers for IP v2.3.3
  PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
  PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
  hwrng: imx-rngc - fix the timeout for init and self check
  jfs: jfs_dmap: Validate db_l2nbperpage while mounting
  ext4: only update i_reserved_data_blocks on successful block allocation
  ext4: fix wrong unit use in ext4_mb_new_blocks
  ext4: get block from bh in ext4_free_blocks for fast commit replay
  ext4: fix wrong unit use in ext4_mb_clear_bb
  ext4: Fix reusing stale buffer heads from last failed mounting
  MIPS: Loongson: Fix cpu_probe_loongson() again
  erofs: fix compact 4B support for 16k block size
  misc: fastrpc: Create fastrpc scalar with correct buffer count
  powerpc: Fail build if using recordmcount with binutils v2.37
  net: bcmgenet: Ensure MDIO unregistration has clocks enabled
  mtd: rawnand: meson: fix unaligned DMA buffers handling
  tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
  pinctrl: amd: Only use special debounce behavior for GPIO 0
  pinctrl: amd: Detect internal GPIO0 debounce handling
  pinctrl: amd: Fix mistake in handling clearing pins at startup
  f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
  nvme-pci: fix DMA direction of unmapping integrity data
  net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  net/sched: sch_qfq: refactor parsing of netlink parameters
  net/sched: make psched_mtu() RTNL-less safe
  netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write()
  net/sched: flower: Ensure both minimum and maximum ports are specified
  wifi: airo: avoid uninitialized warning in airo_get_rate()
  erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
  riscv, bpf: Fix inconsistent JIT image generation
  bpf, riscv: Support riscv jit to provide bpf_line_info
  riscv: bpf: Avoid breaking W^X
  riscv: bpf: Move bpf_jit_alloc_exec() and bpf_jit_free_exec() to core
  igc: Fix inserting of empty frame for launchtime
  igc: Fix launchtime before start of cycle
  platform/x86: wmi: Break possible infinite loop when parsing GUID
  platform/x86: wmi: move variables
  platform/x86: wmi: use guid_t and guid_equal()
  platform/x86: wmi: remove unnecessary argument
  ipv6/addrconf: fix a potential refcount underflow for idev
  NTB: ntb_tool: Add check for devm_kcalloc
  NTB: ntb_transport: fix possible memory leak while device_register() fails
  ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
  NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
  ntb: idt: Fix error handling in idt_pci_driver_init()
  udp6: fix udp6_ehashfn() typo
  icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
  net: prevent skb corruption on frag list segmentation
  net: bgmac: postpone turning IRQs off to avoid SoC hangs
  ionic: remove WARN_ON to prevent panic_on_warn
  gve: Set default duplex configuration to full
  net/sched: cls_fw: Fix improper refcount update leads to use-after-free
  net: mvneta: fix txq_map in case of txq_number==1
  scsi: qla2xxx: Fix error code in qla2x00_start_sp()
  igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings
  net/mlx5e: Check for NOT_READY flag state after locking
  net/mlx5e: fix double free in mlx5e_destroy_flow_table
  igc: Remove delay during TX ring configuration
  drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags
  drm/panel: simple: Add connector_type for innolux_at043tn24
  workqueue: clean up WORK_* constant types, clarify masking
  net: lan743x: Don't sleep in atomic context
  io_uring: add reschedule point to handle_tw_list()
  io_uring: Use io_schedule* in cqring wait
  block/partition: fix signedness issue for Amiga partitions
  rcu-tasks: Simplify trc_read_check_handler() atomic operations
  rcu-tasks: Mark ->trc_reader_special.b.need_qs data races
  rcu-tasks: Mark ->trc_reader_nesting data races
  tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
  wireguard: netlink: send staged packets when setting initial private key
  wireguard: queueing: use saner cpu selection wrapping
  netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
  netfilter: nf_tables: do not ignore genmask when looking up chain by id
  netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
  netfilter: nf_tables: fix scheduling-while-atomic splat
  netfilter: nf_tables: unbind non-anonymous set if rule construction fails
  netfilter: nf_tables: drop map element references from preparation phase
  netfilter: nftables: rename set element data activation/deactivation functions
  netfilter: nf_tables: reject unbound chain set before commit phase
  netfilter: nf_tables: reject unbound anonymous set before commit phase
  netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
  netfilter: nf_tables: fix chain binding transaction logic
  netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
  netfilter: nf_tables: add rescheduling points during loop detection walks
  netfilter: nf_tables: use net_generic infra for transaction data
  sh: pgtable-3level: Fix cast to pointer from integer of different size
  block: add overflow checks for Amiga partition support
  selftests/bpf: Add verifier test for PTR_TO_MEM spill
  tpm, tpm_tis: Claim locality in interrupt handler
  fanotify: disallow mount/sb marks on kernel internal pseudo fs
  fs: no need to check source
  leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
  ARM: orion5x: fix d2net gpio initialization
  ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
  ASoC: mediatek: mt8173: Fix irq error path
  btrfs: fix race when deleting quota root from the dirty cow roots list
  btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
  fs: Lock moved directories
  fs: Establish locking order for unrelated directories
  Revert "f2fs: fix potential corruption when moving a directory"
  ext4: Remove ext4 locking of moved directory
  fs: avoid empty option when generating legacy mount string
  jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
  shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
  autofs: use flexible array in ioctl structure
  integrity: Fix possible multiple allocation in integrity_inode_get()
  um: Use HOST_DIR for mrproper
  bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
  bcache: Remove unnecessary NULL point check in node allocations
  bcache: fixup btree_cache_wait list damage
  mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
  mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
  mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
  mmc: core: disable TRIM on Kingston EMMC04G-M627
  io_uring: wait interruptibly for request completions on exit
  NFSD: add encoding of op_recall flag for write delegation
  i2c: qup: Add missing unwind goto in qup_i2c_probe()
  ALSA: jack: Fix mutex call in snd_jack_report()
  i2c: xiic: Don't try to handle more interrupt events after error
  i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
  apparmor: fix missing error check for rhashtable_insert_fast
  sh: dma: Fix DMA channel offset calculation
  s390/qeth: Fix vipa deletion
  net: dsa: tag_sja1105: fix MAC DA patching from meta frames
  pptp: Fix fib lookup calls.
  net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
  xsk: Honor SO_BINDTODEVICE on bind
  tcp: annotate data races in __tcp_oow_rate_limited()
  net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
  powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
  octeontx2-af: Fix mapping for NIX block from CGX connection
  f2fs: fix error path handling in truncate_dnode()
  mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
  spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
  net: dsa: vsc73xx: fix MTU configuration
  Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
  sctp: fix potential deadlock on &net->sctp.addr_wq_lock
  media: cec: i2c: ch7322: also select REGMAP
  rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
  pwm: sysfs: Do not apply state to already disabled PWMs
  pwm: imx-tpm: force 'real_period' to be zero in suspend
  phy: tegra: xusb: check return value of devm_kzalloc()
  mfd: stmpe: Only disable the regulators if they are enabled
  KVM: s390: vsie: fix the length of APCB bitmap
  mfd: stmfx: Nullify stmfx->vdd in case of error
  mfd: stmfx: Fix error path in stmfx_chip_init
  test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
  serial: 8250_omap: Use force_suspend and resume for system suspend
  Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection"
  mfd: intel-lpss: Add missing check for platform_get_resource
  usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
  usb: common: usb-conn-gpio: Set last role to unknown before initial detection
  usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
  usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
  KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
  media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
  media: venus: helpers: Fix ALIGN() of non power of two
  mfd: rt5033: Drop rt5033-battery sub-device
  coresight: Fix loss of connection info when a module is unloaded
  kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
  serial: 8250: lock port for UART_IER access in omap8250_irq()
  serial: 8250: lock port for stop_rx() in omap8250_irq()
  usb: hide unused usbfs_notify_suspend/resume functions
  usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
  extcon: Fix kernel doc of property capability fields to avoid warnings
  extcon: Fix kernel doc of property fields to avoid warnings
  usb: gadget: u_serial: Add null pointer check in gserial_suspend
  usb: dwc3: qcom: Fix potential memory leak
  clk: qcom: ipq6018: fix networking resets
  clk: qcom: reset: support resetting multiple bits
  clk: qcom: reset: Allow specifying custom reset delay
  media: usb: siano: Fix warning due to null work_func_t function pointer
  media: videodev2.h: Fix struct v4l2_input tuner index comment
  media: usb: Check az6007_read() return value
  clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
  serial: 8250: omap: Fix freeing of resources on failed register
  sh: j2: Use ioremap() to translate device tree address into kernel memory
  w1: fix loop in w1_fini()
  w1: w1_therm: fix locking behavior in convert_t
  SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
  block: change all __u32 annotations to __be32 in affs_hardblocks.h
  block: fix signed int overflow in Amiga partition support
  phy: tegra: xusb: Clear the driver reference in usb-phy dev
  usb: dwc3: gadget: Propagate core init errors to UDC during pullup
  USB: serial: option: add LARA-R6 01B PIDs
  io_uring: ensure IOPOLL locks around deferred work
  hwrng: st - keep clock enabled while hwrng is registered
  dax: Introduce alloc_dev_dax_id()
  dax: Fix dax_mapping_release() use after free
  NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
  ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
  modpost: fix off by one in is_executable_section()
  crypto: marvell/cesa - Fix type mismatch warning
  modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
  modpost: fix section mismatch message for R_ARM_ABS32
  crypto: nx - fix build warnings when DEBUG_FS is not enabled
  hwrng: virtio - Fix race on data_avail and actual data
  hwrng: virtio - always add a pending request
  hwrng: virtio - don't waste entropy
  hwrng: virtio - don't wait on cleanup
  hwrng: virtio - add an internal buffer
  powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
  powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo
  mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *
  mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
  powerpc/powernv/sriov: perform null check on iov before dereferencing iov
  pinctrl: at91-pio4: check return value of devm_kasprintf()
  perf dwarf-aux: Fix off-by-one in die_get_varname()
  perf script: Fix allocation of evsel->priv related to per-event dump files
  perf script: Fixup 'struct evsel_script' method prefix
  kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
  pinctrl: cherryview: Return correct value if pin in push-pull mode
  perf bench: Add missing setlocale() call to allow usage of %'d style formatting
  perf bench: Use unbuffered output when pipe/tee'ing to a file
  PCI: Add pci_clear_master() stub for non-CONFIG_PCI
  PCI: ftpci100: Release the clock resources
  PCI: pciehp: Cancel bringup sequence if card is not present
  scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
  PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
  pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
  scsi: qedf: Fix NULL dereference in error handling
  PCI: cadence: Fix Gen2 Link Retraining process
  ASoC: imx-audmix: check return value of devm_kasprintf()
  ovl: update of dentry revalidate flags after copy up
  drivers: meson: secure-pwrc: always enable DMA domain
  clk: ti: clkctrl: check return value of kasprintf()
  clk: keystone: sci-clk: check return value of kasprintf()
  clk: si5341: free unused memory on probe failure
  clk: si5341: check return value of {devm_}kasprintf()
  clk: si5341: return error if one synth clock registration fails
  clk: si5341: Add sysfs properties to allow checking/resetting device faults
  clk: si5341: Allow different output VDD_SEL values
  clk: cdce925: check return value of kasprintf()
  clk: vc5: check memory returned by kasprintf()
  drm/msm/dp: Free resources after unregistering them
  drm/msm/dpu: do not enable color-management if DSPPs are not available
  ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
  clk: tegra: tegra124-emc: Fix potential memory leak
  clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
  clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
  RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
  RDMA/bnxt_re: wraparound mbox producer index
  amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
  drm/radeon: fix possible division-by-zero errors
  drm/amdkfd: Fix potential deallocation of previously deallocated memory.
  ARM: dts: BCM5301X: fix duplex-full => full-duplex
  hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
  hwmon: (adm1275) Allow setting sample averaging
  hwmon: (adm1275) enable adm1272 temperature reporting
  hwmon: (gsc-hwmon) fix fan pwm temperature scaling
  ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
  ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
  arm64: dts: ti: k3-j7200: Fix physical address of pin
  fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
  arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
  ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
  RDMA/hns: Fix hns_roce_table_get return value
  RDMA/hns: Clean the hardware related code for HEM
  RDMA/hns: Use refcount_t APIs for HEM
  RDMA/hns: Fix coding style issues
  RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions
  IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
  IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
  IB/hfi1: Use bitmap_zalloc() when applicable
  soc/fsl/qe: fix usb.c build errors
  ARM: dts: meson8: correct uart_B and uart_C clock references
  ASoC: es8316: Do not set rate constraints for unsupported MCLKs
  ASoC: es8316: Increment max value for ALC Capture Target Volume control
  memory: brcmstb_dpfe: fix testing array offset after use
  ARM: dts: stm32: Shorten the AV96 HDMI sound card name
  arm64: dts: qcom: apq8096: fix fixed regulator name property
  ARM: omap2: fix missing tick_broadcast() prototype
  ARM: ep93xx: fix missing-prototype warnings
  drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
  arm64: dts: qcom: msm8996: correct camss unit address
  arm64: dts: qcom: msm8994: correct SPMI unit address
  arm64: dts: qcom: msm8916: correct camss unit address
  ARM: dts: gta04: Move model property out of pinctrl node
  RDMA/bnxt_re: Fix to remove an unnecessary log
  RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid
  RDMA/bnxt_re: Use unique names while registering interrupts
  RDMA/bnxt_re: Fix to remove unnecessary return labels
  RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
  arm64: dts: microchip: sparx5: do not use PSCI on reference boards
  bus: ti-sysc: Fix dispc quirk masking bool variables
  ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
  drm/panel: sharp-ls043t1le01: adjust mode settings
  drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks`
  Input: adxl34x - do not hardcode interrupt trigger type
  ARM: dts: meson8b: correct uart_B and uart_C clock references
  ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
  drm/vram-helper: fix function names in vram helper doc
  drm/bridge: tc358768: fix THS_TRAILCNT computation
  drm/bridge: tc358768: fix TXTAGOCNT computation
  drm/bridge: tc358768: fix THS_ZEROCNT computation
  drm/bridge: tc358768: fix TCLK_TRAILCNT computation
  drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation
  drm/bridge: tc358768: fix TCLK_ZEROCNT computation
  drm/bridge: tc358768: fix PLL target frequency
  drm/bridge: tc358768: fix PLL parameters computation
  drm/bridge: tc358768: always enable HS video mode
  Input: drv260x - sleep between polling GO bit
  drm/amd/display: Explicitly specify update type per plane info change
  radeon: avoid double free in ci_dpm_init()
  netlink: Add __sock_i_ino() for __netlink_diag_dump().
  ipvlan: Fix return value of ipvlan_queue_xmit()
  netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
  netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
  lib/ts_bm: reset initial match offset for every block of text
  net: nfc: Fix use-after-free caused by nfc_llcp_find_local
  nfc: llcp: simplify llcp_sock_connect() error paths
  sfc: fix crash when reading stats while NIC is resetting
  net: axienet: Move reset before 64-bit DMA detection
  gtp: Fix use-after-free in __gtp_encap_destroy().
  selftests: rtnetlink: remove netdevsim device after ipsec offload test
  netlink: do not hard code device address lenth in fdb dumps
  netlink: fix potential deadlock in netlink_set_err()
  net: stmmac: fix double serdes powerdown
  igc: Fix race condition in PTP tx code
  wifi: ath9k: convert msecs to jiffies where needed
  wifi: cfg80211: rewrite merging of inherited elements
  wifi: iwlwifi: pull from TXQs with softirqs disabled
  rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
  wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
  memstick r592: make memstick_debug_get_tpc_name() static
  kexec: fix a memory leak in crash_shrink_memory()
  watchdog/perf: more properly prevent false positives with turbo modes
  watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
  wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
  wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
  wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
  wifi: ray_cs: Fix an error handling path in ray_probe()
  wifi: ray_cs: Drop useless status variable in parse_addr()
  wifi: ray_cs: Utilize strnlen() in parse_addr()
  wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
  wl3501_cs: use eth_hw_addr_set()
  net: create netdev->dev_addr assignment helpers
  wl3501_cs: Fix misspelling and provide missing documentation
  wifi: atmel: Fix an error handling path in atmel_probe()
  wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
  wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
  regulator: core: Streamline debugfs operations
  regulator: core: Fix more error checking for debugfs_create_dir()
  bpftool: JIT limited misreported as negative value on aarch64
  nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
  nfc: constify several pointers to u8, char and sk_buff
  libbpf: fix offsetof() and container_of() to work with CO-RE
  sctp: add bpf_bypass_getsockopt proto callback
  bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
  wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
  wifi: wilc1000: fix for absent RSN capabilities WFA testcase
  spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
  samples/bpf: Fix buffer overflow in tcp_basertt
  wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
  wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
  igc: Enable and fix RX hash usage by netstack
  pstore/ram: Add check for kstrdup
  ima: Fix build warnings
  evm: Complete description of evm_inode_setattr()
  x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
  perf/ibs: Fix interface via core pmu events
  rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
  rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
  rcuscale: Move shutdown from wait_event() to wait_event_idle()
  rcuscale: Always log error message
  rcuscale: Console output claims too few grace periods
  thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
  cpufreq: intel_pstate: Fix energy_performance_preference for passive
  ARM: 9303/1: kprobes: avoid missing-declaration warnings
  powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
  perf/arm-cmn: Fix DTC reset
  PM: domains: fix integer overflow issues in genpd_parse_state()
  clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
  tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
  posix-timers: Prevent RT livelock in itimer_delete()
  irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
  irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
  md/raid10: fix io loss while replacement replace rdev
  md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
  md/raid10: fix wrong setting of max_corr_read_errors
  md/raid10: fix overflow of md/safe_mode_delay
  md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
  blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
  x86/resctrl: Only show tasks' pid in current pid namespace
  fs: pipe: reveal missing function protoypes
  nubus: Partially revert proc_create_single_data() conversion
  drm/amdgpu: Validate VM ioctl flags.
  scripts/tags.sh: Resolve gtags empty index generation
  Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
  HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
  HID: wacom: Use ktime_t rather than int when dealing with timestamps
  fbdev: imsttfb: Fix use after free bug in imsttfb_probe
  video: imsttfb: check for ioremap() failures
  can: isotp: isotp_sendmsg(): fix return error fix on TX path
  x86/smp: Use dedicated cache-line for mwait_play_dead()
  media: atomisp: fix "variable dereferenced before check 'asd'"
  Linux 5.10.187
  x86/cpu/amd: Add a Zenbleed fix
  x86/cpu/amd: Move the errata checking functionality up
  x86/microcode/AMD: Load late on both threads too
  ANDROID: GKI: fix up sysctl_vals ABI change.
  Revert "gpio: Allow per-parent interrupt data"
  Revert "gpiolib: Fix GPIO chip IRQ initialization restriction"
  Linux 5.10.186
  bpf/btf: Accept function names that contain dots
  netfilter: nf_tables: hold mutex on netns pre_exit path
  netfilter: nf_tables: validate registers coming from userspace.
  netfilter: nftables: statify nft_parse_register()
  i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
  x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
  drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
  drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
  drm/exynos: vidi: fix a wrong error return
  ARM: dts: Fix erroneous ADS touchscreen polarities
  s390/purgatory: disable branch profiling
  ASoC: nau8824: Add quirk to active-high jack-detect
  ASoC: simple-card: Add missing of_node_put() in case of error
  spi: lpspi: disable lpspi module irq in DMA mode
  s390/cio: unregister device when the only path is gone
  Input: soc_button_array - add invalid acpi_index DMI quirk handling
  usb: gadget: udc: fix NULL dereference in remove()
  nfcsim.c: Fix error checking for debugfs_create_dir
  media: cec: core: don't set last_initiator if tx in progress
  arm64: Add missing Set/Way CMO encodings
  HID: wacom: Add error check to wacom_parse_and_register()
  scsi: target: iscsi: Prevent login threads from racing between each other
  gpiolib: Fix GPIO chip IRQ initialization restriction
  gpio: Allow per-parent interrupt data
  sch_netem: acquire qdisc lock in netem_change()
  Revert "net: phy: dp83867: perform soft reset and retain established link"
  netfilter: nfnetlink_osf: fix module autoload
  netfilter: nf_tables: disallow element updates of bound anonymous sets
  netfilter: nft_set_pipapo: .walk does not deal with generations
  be2net: Extend xmit workaround to BE3 chip
  net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
  ipvs: align inner_mac_header for encapsulation
  mmc: usdhi60rol0: fix deferred probing
  mmc: sh_mmcif: fix deferred probing
  mmc: sdhci-acpi: fix deferred probing
  mmc: owl: fix deferred probing
  mmc: omap_hsmmc: fix deferred probing
  mmc: omap: fix deferred probing
  mmc: mvsdio: fix deferred probing
  mmc: mtk-sd: fix deferred probing
  net: qca_spi: Avoid high load if QCA7000 is not available
  xfrm: Linearize the skb after offloading if needed.
  selftests: net: fcnal-test: check if FIPS mode is enabled
  selftests: net: vrf-xfrm-tests: change authentication and encryption algos
  xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
  bpf: Fix verifier id tracking of scalars on spill
  bpf: track immediate values written to stack by BPF_ST instruction
  xfrm: Ensure policies always checked on XFRM-I input path
  xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
  xfrm: Treat already-verified secpath entries as optional
  ieee802154: hwsim: Fix possible memory leaks
  memfd: check for non-NULL file_seals in memfd_create() syscall
  sysctl: move some boundary constants from sysctl.c to sysctl_vals
  mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30%
  x86/mm: Avoid using set_pgd() outside of real PGD pages
  nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
  io_uring/net: disable partial retries for recvmsg with cmsg
  io_uring/net: clear msg_controllen on partial sendmsg retry
  io_uring/net: save msghdr->msg_control for retries
  writeback: fix dereferencing NULL mapping->host on writeback_page_template
  regmap: spi-avmm: Fix regmap_bus max_raw_write
  regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
  ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
  mmc: mmci: stm32: fix max busy timeout calculation
  mmc: meson-gx: remove redundant mmc_request_done() call from irq context
  mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
  cgroup: Do not corrupt task iteration when rebinding subsystem
  PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
  PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
  Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
  PCI: hv: Fix a race condition bug in hv_pci_query_relations()
  Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
  nilfs2: fix buffer corruption due to concurrent device reads
  selftests: mptcp: join: skip check if MIB counter not supported
  selftests: mptcp: pm nl: remove hardcoded default limits
  selftests: mptcp: lib: skip if not below kernel version
  selftests: mptcp: lib: skip if missing symbol
  tick/common: Align tick period during sched_timer setup
  tracing: Add tracing_reset_all_online_cpus_unlocked() function
  net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs
  drm/amd/display: fix the system hang while disable PSR

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/clock/xlnx,versal-clk.yaml
	drivers/bus/mhi/Kconfig
	drivers/bus/mhi/Makefile
	drivers/bus/mhi/host/pm.c
	kernel/gen_kheaders.sh

Change-Id: If4b1fdb014389dda0de7ecec0dea4e0d38ad69c2
Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
2023-12-05 16:20:08 +05:30

2099 lines
68 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 198
EXTRAVERSION =
NAME = Dare mighty things
# indicate that change "Kbuild: Support nested composite objects" is
# present in the kernel so that out-of-tree modules can act upon it
export KERNEL_SUPPORTS_NESTED_COMPOSITES := y
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
# More info can be located in ./README
# Comments in this file are targeted only to the developer, do not
# expect to learn how to build the kernel reading this file.
$(if $(filter __%, $(MAKECMDGOALS)), \
$(error targets prefixed with '__' are only for internal use))
# That's our default target when none is given on the command line
PHONY := __all
__all:
# We are using a recursive build, so we need to do a little thinking
# to get the ordering right.
#
# Most importantly: sub-Makefiles should only ever modify files in
# their own directory. If in some directory we have a dependency on
# a file in another dir (which doesn't happen often, but it's often
# unavoidable when linking the built-in.a targets which finally
# turn into vmlinux), we will call a sub make in that other dir, and
# after that we are sure that everything which is in that other dir
# is now up to date.
#
# The only cases where we need to modify files which have global
# effects are thus separated out and done before the recursive
# descending is started. They are now explicitly listed as the
# prepare rule.
ifneq ($(sub_make_done),1)
# Do not use make's built-in rules and variables
# (this increases performance and avoids hard-to-debug behaviour)
MAKEFLAGS += -rR
# Avoid funny character set dependencies
unexport LC_ALL
LC_COLLATE=C
LC_NUMERIC=C
export LC_COLLATE LC_NUMERIC
# Avoid interference with shell env settings
unexport GREP_OPTIONS
# Beautify output
# ---------------------------------------------------------------------------
#
# Normally, we echo the whole command before executing it. By making
# that echo $($(quiet)$(cmd)), we now have the possibility to set
# $(quiet) to choose other forms of output instead, e.g.
#
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
#
# If $(quiet) is empty, the whole command will be printed.
# If it is set to "quiet_", only the short version will be printed.
# If it is set to "silent_", nothing will be printed at all, since
# the variable $(silent_cmd_cc_o_c) doesn't exist.
#
# A simple variant is to prefix commands with $(Q) - that's useful
# for commands that shall be hidden in non-verbose mode.
#
# $(Q)ln $@ :<
#
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
# If KBUILD_VERBOSE equals 2 then give the reason why each target is rebuilt.
#
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
ifeq ("$(origin V)", "command line")
KBUILD_VERBOSE = $(V)
endif
ifndef KBUILD_VERBOSE
KBUILD_VERBOSE = 0
endif
ifeq ($(KBUILD_VERBOSE),1)
quiet =
Q =
else
quiet=quiet_
Q = @
endif
# If the user is running make -s (silent mode), suppress echoing of
# commands
# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS.
ifeq ($(filter 3.%,$(MAKE_VERSION)),)
silence:=$(findstring s,$(firstword -$(MAKEFLAGS)))
else
silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS)))
endif
ifeq ($(silence),s)
quiet=silent_
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
KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
-O2 -fomit-frame-pointer -std=gnu89
KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS)
KBUILD_USERLDFLAGS := $(USERLDFLAGS)
KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(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
PAHOLE_FLAGS = $(shell PAHOLE=$(PAHOLE) $(srctree)/scripts/pahole-flags.sh)
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
NOSTDINC_FLAGS :=
CFLAGS_MODULE =
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 :=
# For use when analysis needs to call subshell with CC before cc-wrapper is built.
NO_WRAPPER_CC := $(CC)
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_USERCFLAGS KBUILD_USERLDFLAGS
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
export PAHOLE_FLAGS
export NO_WRAPPER_CC
# 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
# cc-wrapper may not yet be compiled, use NO_WRAPPER_CC.
ifneq ($(shell $(NO_WRAPPER_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
ifeq ($(LLVM_IAS),1)
CLANG_FLAGS += -fintegrated-as
else
CLANG_FLAGS += -fno-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
ifdef CONFIG_CC_IS_GCC
RETPOLINE_CFLAGS := $(call cc-option,-mindirect-branch=thunk-extern -mindirect-branch-register)
RETPOLINE_CFLAGS += $(call cc-option,-mindirect-branch-cs-prefix)
RETPOLINE_VDSO_CFLAGS := $(call cc-option,-mindirect-branch=thunk-inline -mindirect-branch-register)
endif
ifdef CONFIG_CC_IS_CLANG
RETPOLINE_CFLAGS := -mretpoline-external-thunk
RETPOLINE_VDSO_CFLAGS := -mretpoline
endif
ifdef CONFIG_RETHUNK
RETHUNK_CFLAGS := -mfunction-return=thunk-extern
RETPOLINE_CFLAGS += $(RETHUNK_CFLAGS)
endif
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)
KBUILD_CFLAGS-$(CONFIG_WERROR) += -Werror
KBUILD_CFLAGS += $(KBUILD_CFLAGS-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)
# These result in bogus false positives
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
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
KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER
# https://github.com/llvm/llvm-project/issues/44842
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
endif
endif
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
ifdef CONFIG_AS_IS_LLVM
KBUILD_AFLAGS += -g
else
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
KBUILD_LDFLAGS += -z noexecstack
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
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/ io_uring/
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-))))
build-dirs := $(vmlinux-dirs)
clean-dirs := $(vmlinux-alldirs)
subdir-modorder := $(addsuffix /modules.order, $(build-dirs))
# 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 autoksyms_recursive"
endif
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
quiet_cmd_autoksyms_h = GEN $@
cmd_autoksyms_h = mkdir -p $(dir $@); \
$(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@
$(autoksyms_h):
$(call cmd,autoksyms_h)
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_check modules_prepare
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
modules_install: __modinst_pre
PHONY += __modinst_pre
__modinst_pre:
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)/kernel
@ln -s $(abspath $(srctree)) $(MODLIB)/source
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
@cp -f $(mixed-build-prefix)modules.builtin $(MODLIB)/
@cp -f $(or $(mixed-build-prefix),$(objtree)/)modules.builtin.modinfo $(MODLIB)/
ifeq ($(CONFIG_MODULE_SIG), y)
PHONY += modules_sign
modules_sign:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
endif
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)
$(MODORDER): descend
@:
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
# ---------------------------------------------------------------------------
# Modules
PHONY += modules modules_install
ifdef CONFIG_MODULES
modules: $(MODORDER)
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
$(KERNELRELEASE) $(mixed-build-prefix)
modules_install:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
$(call cmd,depmod)
else # CONFIG_MODULES
# Modules not configured
# ---------------------------------------------------------------------------
modules modules_install:
@echo >&2 '***'
@echo >&2 '*** The present kernel configuration has modules disabled.'
@echo >&2 '*** To use the module feature, please run "make menuconfig" etc.'
@echo >&2 '*** to enable CONFIG_MODULES.'
@echo >&2 '***'
@exit 1
KBUILD_MODULES :=
endif # CONFIG_MODULES
# 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
@:
# Remove MODORDER when done because it is not the real one.
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
$(Q)rm -f $(MODORDER)
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
# 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)
# 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)