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

 defconfig: Remove RESET_INTEL_GW/RESET_BRCMSTB_RESCAL from tuivm config

 6ab9d62 reset: RESET_INTEL_GW should depend on X86
 42f6a76 reset: RESET_BRCMSTB_RESCAL should depend on ARCH_BRCMSTB
 Remove RESET_INTEL_GW/RESET_BRCMSTB_RESCAL from marking as 'n'
 in trusted VM config due to below change.

 interconnect: qcom: Fix compile error for LTS merge

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/i2c/i2c-at91.txt
	Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml
	Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
	drivers/bus/mhi/core/main.c
	drivers/iommu/arm/arm-smmu/arm-smmu.c
	drivers/mmc/host/sdhci-msm.c
	drivers/slimbus/messaging.c
	drivers/slimbus/qcom-ngd-ctrl.c
	net/qrtr/ns.c
	net/qrtr/qrtr.c

Change-Id: I63018794287f1b197b83780a72d67267eb4ef0d2
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2021-10-28 12:35:06 +05:30

2082 lines
67 KiB
Makefile

# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 66
EXTRAVERSION =
NAME = Dare mighty things
# *DOCUMENTATION*
# To see a list of typical targets execute "make help"
# More info can be located in ./README
# Comments in this file are targeted only to the developer, do not
# expect to learn how to build the kernel reading this file.
$(if $(filter __%, $(MAKECMDGOALS)), \
$(error targets prefixed with '__' are only for internal use))
# That's our default target when none is given on the command line
PHONY := __all
__all:
# We are using a recursive build, so we need to do a little thinking
# to get the ordering right.
#
# Most importantly: sub-Makefiles should only ever modify files in
# their own directory. If in some directory we have a dependency on
# a file in another dir (which doesn't happen often, but it's often
# unavoidable when linking the built-in.a targets which finally
# turn into vmlinux), we will call a sub make in that other dir, and
# after that we are sure that everything which is in that other dir
# is now up to date.
#
# The only cases where we need to modify files which have global
# effects are thus separated out and done before the recursive
# descending is started. They are now explicitly listed as the
# prepare rule.
ifneq ($(sub_make_done),1)
# Do not use make's built-in rules and variables
# (this increases performance and avoids hard-to-debug behaviour)
MAKEFLAGS += -rR
# Avoid funny character set dependencies
unexport LC_ALL
LC_COLLATE=C
LC_NUMERIC=C
export LC_COLLATE LC_NUMERIC
# Avoid interference with shell env settings
unexport GREP_OPTIONS
# Beautify output
# ---------------------------------------------------------------------------
#
# Normally, we echo the whole command before executing it. By making
# that echo $($(quiet)$(cmd)), we now have the possibility to set
# $(quiet) to choose other forms of output instead, e.g.
#
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
#
# If $(quiet) is empty, the whole command will be printed.
# If it is set to "quiet_", only the short version will be printed.
# If it is set to "silent_", nothing will be printed at all, since
# the variable $(silent_cmd_cc_o_c) doesn't exist.
#
# A simple variant is to prefix commands with $(Q) - that's useful
# for commands that shall be hidden in non-verbose mode.
#
# $(Q)ln $@ :<
#
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
# If KBUILD_VERBOSE equals 2 then give the reason why each target is rebuilt.
#
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
ifeq ("$(origin V)", "command line")
KBUILD_VERBOSE = $(V)
endif
ifndef KBUILD_VERBOSE
KBUILD_VERBOSE = 0
endif
ifeq ($(KBUILD_VERBOSE),1)
quiet =
Q =
else
quiet=quiet_
Q = @
endif
# If the user is running make -s (silent mode), suppress echoing of
# commands
ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),)
quiet=silent_
endif
export quiet Q KBUILD_VERBOSE
# Kbuild will save output files in the current working directory.
# This does not need to match to the root of the kernel source tree.
#
# For example, you can do this:
#
# cd /dir/to/store/output/files; make -f /dir/to/kernel/source/Makefile
#
# If you want to save output files in a different location, there are
# two syntaxes to specify it.
#
# 1) O=
# Use "make O=dir/to/store/output/files/"
#
# 2) Set KBUILD_OUTPUT
# Set the environment variable KBUILD_OUTPUT to point to the output directory.
# export KBUILD_OUTPUT=dir/to/store/output/files/; make
#
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
# variable.
# Do we want to change the working directory?
ifeq ("$(origin O)", "command line")
KBUILD_OUTPUT := $(O)
endif
ifneq ($(KBUILD_OUTPUT),)
# Make's built-in functions such as $(abspath ...), $(realpath ...) cannot
# expand a shell special character '~'. We use a somewhat tedious way here.
abs_objtree := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd)
$(if $(abs_objtree),, \
$(error failed to create output directory "$(KBUILD_OUTPUT)"))
# $(realpath ...) resolves symlinks
abs_objtree := $(realpath $(abs_objtree))
else
abs_objtree := $(CURDIR)
endif # ifneq ($(KBUILD_OUTPUT),)
ifeq ($(abs_objtree),$(CURDIR))
# Suppress "Entering directory ..." unless we are changing the work directory.
MAKEFLAGS += --no-print-directory
else
need-sub-make := 1
endif
abs_srctree := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
ifneq ($(words $(subst :, ,$(abs_srctree))), 1)
$(error source directory cannot contain spaces or colons)
endif
ifneq ($(abs_srctree),$(abs_objtree))
# Look for make include files relative to root of kernel src
#
# This does not become effective immediately because MAKEFLAGS is re-parsed
# once after the Makefile is read. We need to invoke sub-make.
MAKEFLAGS += --include-dir=$(abs_srctree)
need-sub-make := 1
endif
this-makefile := $(lastword $(MAKEFILE_LIST))
ifneq ($(filter 3.%,$(MAKE_VERSION)),)
# 'MAKEFLAGS += -rR' does not immediately become effective for GNU Make 3.x
# We need to invoke sub-make to avoid implicit rules in the top Makefile.
need-sub-make := 1
# Cancel implicit rules for this Makefile.
$(this-makefile): ;
endif
export abs_srctree abs_objtree
export sub_make_done := 1
ifeq ($(need-sub-make),1)
PHONY += $(MAKECMDGOALS) __sub-make
$(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make
@:
# Invoke a second make in the output directory, passing relevant variables
__sub-make:
$(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS)
endif # need-sub-make
endif # sub_make_done
# We process the rest of the Makefile if this is the final invocation of make
ifeq ($(need-sub-make),)
# Do not print "Entering directory ...",
# but we want to display it when entering to the output directory
# so that IDEs/editors are able to understand relative filenames.
MAKEFLAGS += --no-print-directory
# Call a source code checker (by default, "sparse") as part of the
# C compilation.
#
# Use 'make C=1' to enable checking of only re-compiled files.
# Use 'make C=2' to enable checking of *all* source files, regardless
# of whether they are re-compiled or not.
#
# See the file "Documentation/dev-tools/sparse.rst" for more details,
# including where to get the "sparse" utility.
ifeq ("$(origin C)", "command line")
KBUILD_CHECKSRC = $(C)
endif
ifndef KBUILD_CHECKSRC
KBUILD_CHECKSRC = 0
endif
# Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
# directory of external module to build. Setting M= takes precedence.
ifeq ("$(origin M)", "command line")
KBUILD_EXTMOD := $(M)
endif
$(if $(word 2, $(KBUILD_EXTMOD)), \
$(error building multiple external modules is not supported))
export KBUILD_CHECKSRC KBUILD_EXTMOD
extmod-prefix = $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)
# ANDROID: set up mixed-build support. mixed-build allows device kernel modules
# to be compiled against a GKI kernel. This approach still uses the headers and
# Kbuild from device kernel, so care must be taken to ensure that those headers match.
ifdef KBUILD_MIXED_TREE
# Need vmlinux.symvers for modpost and System.map for depmod, check whether they exist in KBUILD_MIXED_TREE
required_mixed_files=vmlinux.symvers System.map
$(if $(filter-out $(words $(required_mixed_files)), \
$(words $(wildcard $(add-prefix $(KBUILD_MIXED_TREE)/,$(required_mixed_files))))),,\
$(error KBUILD_MIXED_TREE=$(KBUILD_MIXED_TREE) doesn't contain $(required_mixed_files)))
endif
mixed-build-prefix = $(if $(KBUILD_MIXED_TREE),$(KBUILD_MIXED_TREE)/)
export KBUILD_MIXED_TREE
ifeq ($(abs_srctree),$(abs_objtree))
# building in the source tree
srctree := .
building_out_of_srctree :=
else
ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
# building in a subdirectory of the source tree
srctree := ..
else
srctree := $(abs_srctree)
endif
building_out_of_srctree := 1
endif
ifneq ($(KBUILD_ABS_SRCTREE),)
srctree := $(abs_srctree)
endif
objtree := .
VPATH := $(srctree)
export building_out_of_srctree srctree objtree VPATH
# To make sure we do not include .config for any of the *config targets
# catch them early, and hand them over to scripts/kconfig/Makefile
# It is allowed to specify more targets when calling make, including
# mixing *config targets and build targets.
# For example 'make oldconfig all'.
# Detect when mixed targets is specified, and make a second invocation
# of make so .config is not included in this case either (for *config).
version_h := include/generated/uapi/linux/version.h
old_version_h := include/linux/version.h
clean-targets := %clean mrproper cleandocs
no-dot-config-targets := $(clean-targets) \
cscope gtags TAGS tags help% %docs check% coccicheck \
$(version_h) headers headers_% archheaders archscripts \
%asm-generic kernelversion %src-pkg dt_binding_check \
outputmakefile
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
image_name
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.s %.symtypes %/
config-build :=
mixed-build :=
need-config := 1
may-sync-config := 1
single-build :=
ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
need-config :=
endif
endif
ifneq ($(filter $(no-sync-config-targets), $(MAKECMDGOALS)),)
ifeq ($(filter-out $(no-sync-config-targets), $(MAKECMDGOALS)),)
may-sync-config :=
endif
endif
ifneq ($(KBUILD_EXTMOD),)
may-sync-config :=
endif
ifeq ($(KBUILD_EXTMOD),)
ifneq ($(filter %config,$(MAKECMDGOALS)),)
config-build := 1
ifneq ($(words $(MAKECMDGOALS)),1)
mixed-build := 1
endif
endif
endif
# We cannot build single targets and the others at the same time
ifneq ($(filter $(single-targets), $(MAKECMDGOALS)),)
single-build := 1
ifneq ($(filter-out $(single-targets), $(MAKECMDGOALS)),)
mixed-build := 1
endif
endif
# For "make -j clean all", "make -j mrproper defconfig all", etc.
ifneq ($(filter $(clean-targets),$(MAKECMDGOALS)),)
ifneq ($(filter-out $(clean-targets),$(MAKECMDGOALS)),)
mixed-build := 1
endif
endif
# install and modules_install need also be processed one by one
ifneq ($(filter install,$(MAKECMDGOALS)),)
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
mixed-build := 1
endif
endif
ifdef mixed-build
# ===========================================================================
# We're called with mixed targets (*config and build targets).
# Handle them one by one.
PHONY += $(MAKECMDGOALS) __build_one_by_one
$(MAKECMDGOALS): __build_one_by_one
@:
__build_one_by_one:
$(Q)set -e; \
for i in $(MAKECMDGOALS); do \
$(MAKE) -f $(srctree)/Makefile $$i; \
done
else # !mixed-build
include scripts/Kbuild.include
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
include scripts/subarch.include
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
#
# When performing cross compilation for other architectures ARCH shall be set
# to the target architecture. (See arch/* for the possibilities).
# ARCH can be set during invocation of make:
# make ARCH=ia64
# Another way is to have ARCH set in the environment.
# The default ARCH is the host where make is executed.
# CROSS_COMPILE specify the prefix used for all executables used
# during compilation. Only gcc and related bin-utils executables
# are prefixed with $(CROSS_COMPILE).
# CROSS_COMPILE can be set on the command line
# make CROSS_COMPILE=ia64-linux-
# Alternatively CROSS_COMPILE can be set in the environment.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
ARCH ?= $(SUBARCH)
# Architecture as present in compile.h
UTS_MACHINE := $(ARCH)
SRCARCH := $(ARCH)
# Additional ARCH settings for x86
ifeq ($(ARCH),i386)
SRCARCH := x86
endif
ifeq ($(ARCH),x86_64)
SRCARCH := x86
endif
# Additional ARCH settings for sparc
ifeq ($(ARCH),sparc32)
SRCARCH := sparc
endif
ifeq ($(ARCH),sparc64)
SRCARCH := sparc
endif
# Additional ARCH settings for sh
ifeq ($(ARCH),sh64)
SRCARCH := sh
endif
KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG
# Default file for 'make defconfig'. This may be overridden by arch-Makefile.
export KBUILD_DEFCONFIG := defconfig
# SHELL used by kbuild
CONFIG_SHELL := sh
HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null)
HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null)
ifneq ($(LLVM),)
HOSTCC = clang
HOSTCXX = clang++
else
HOSTCC = gcc
HOSTCXX = g++
endif
export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \
-O2 -fomit-frame-pointer -std=gnu89
export KBUILD_USERLDFLAGS :=
KBUILD_HOSTCFLAGS := $(KBUILD_USERCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
KBUILD_HOSTLDLIBS := $(HOST_LFS_LIBS) $(HOSTLDLIBS)
# Make variables (CC, etc...)
CPP = $(CC) -E
ifneq ($(LLVM),)
CC = clang
LD = ld.lld
AR = llvm-ar
NM = llvm-nm
OBJCOPY = llvm-objcopy
OBJDUMP = llvm-objdump
READELF = llvm-readelf
STRIP = llvm-strip
else
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
READELF = $(CROSS_COMPILE)readelf
STRIP = $(CROSS_COMPILE)strip
endif
PAHOLE = pahole
RESOLVE_BTFIDS = $(objtree)/tools/bpf/resolve_btfids/resolve_btfids
LEX = flex
YACC = bison
AWK = awk
INSTALLKERNEL := installkernel
DEPMOD = depmod
PERL = perl
PYTHON = python
PYTHON3 = python3
CHECK = sparse
BASH = bash
KGZIP = gzip
KBZIP2 = bzip2
KLZOP = lzop
LZMA = lzma
LZ4 = lz4
XZ = xz
ZSTD = zstd
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
NOSTDINC_FLAGS :=
CFLAGS_MODULE =
AFLAGS_MODULE =
LDFLAGS_MODULE =
CFLAGS_KERNEL =
AFLAGS_KERNEL =
LDFLAGS_vmlinux =
# Use USERINCLUDE when you must reference the UAPI directories only.
USERINCLUDE := \
-I$(srctree)/arch/$(SRCARCH)/include/uapi \
-I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
-I$(srctree)/include/uapi \
-I$(objtree)/include/generated/uapi \
-include $(srctree)/include/linux/kconfig.h
# Use LINUXINCLUDE when you must reference the include/ directory.
# Needed to be compatible with the O= option
LINUXINCLUDE := \
-I$(srctree)/arch/$(SRCARCH)/include \
-I$(objtree)/arch/$(SRCARCH)/include/generated \
$(if $(building_out_of_srctree),-I$(srctree)/include) \
-I$(objtree)/include \
$(USERINCLUDE)
KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
-Werror=implicit-function-declaration -Werror=implicit-int \
-Werror=return-type -Wno-format-security \
-std=gnu89
KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_AFLAGS_KERNEL :=
KBUILD_CFLAGS_KERNEL :=
KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
KBUILD_LDFLAGS_MODULE :=
KBUILD_LDFLAGS :=
CLANG_FLAGS :=
CC := scripts/basic/cc-wrapper $(CC)
export ARCH SRCARCH CONFIG_SHELL BASH HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE LD CC
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
export PERL PYTHON PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
# Files to ignore in find ... statements
export RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o \
-name CVS -o -name .pc -o -name .hg -o -name .git \) \
-prune -o
export RCS_TAR_IGNORE := --exclude SCCS --exclude BitKeeper --exclude .svn \
--exclude CVS --exclude .pc --exclude .hg --exclude .git
# ===========================================================================
# Rules shared between *config targets and build targets
# Basic helpers built in scripts/basic/
PHONY += scripts_basic
scripts_basic:
$(Q)$(MAKE) $(build)=scripts/basic
$(Q)rm -f .tmp_quiet_recordmcount
PHONY += outputmakefile
# Before starting out-of-tree build, make sure the source tree is clean.
# outputmakefile generates a Makefile in the output directory, if using a
# separate output directory. This allows convenient use of make in the
# output directory.
# At the same time when output Makefile generated, generate .gitignore to
# ignore whole output directory
outputmakefile:
ifdef building_out_of_srctree
$(Q)if [ -f $(srctree)/.config -o \
-d $(srctree)/include/config -o \
-d $(srctree)/arch/$(SRCARCH)/include/generated ]; then \
echo >&2 "***"; \
echo >&2 "*** The source tree is not clean, please run 'make$(if $(findstring command line, $(origin ARCH)), ARCH=$(ARCH)) mrproper'"; \
echo >&2 "*** in $(abs_srctree)";\
echo >&2 "***"; \
false; \
fi
$(Q)ln -fsn $(srctree) source
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile $(srctree)
$(Q)test -e .gitignore || \
{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
endif
ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
ifneq ($(CROSS_COMPILE),)
CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
endif
ifneq ($(GCC_TOOLCHAIN),)
CLANG_FLAGS += --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
ifneq ($(LLVM_IAS),1)
CLANG_FLAGS += -no-integrated-as
endif
CLANG_FLAGS += -Werror=unknown-warning-option
KBUILD_CFLAGS += $(CLANG_FLAGS)
KBUILD_AFLAGS += $(CLANG_FLAGS)
export CLANG_FLAGS
endif
# The expansion should be delayed until arch/$(SRCARCH)/Makefile is included.
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
# and from include/config/auto.conf.cmd to detect the compiler upgrade.
CC_VERSION_TEXT = $(shell $(CC) --version 2>/dev/null | head -n 1)
ifdef config-build
# ===========================================================================
# *config targets only - make sure prerequisites are updated, and descend
# in scripts/kconfig to make the *config target
# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
# KBUILD_DEFCONFIG may point out an alternative default configuration
# used for 'make defconfig'
include arch/$(SRCARCH)/Makefile
export KBUILD_DEFCONFIG KBUILD_KCONFIG CC_VERSION_TEXT
config: outputmakefile scripts_basic FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig $@
%config: outputmakefile scripts_basic FORCE
$(Q)$(MAKE) $(build)=scripts/kconfig $@
else #!config-build
# ===========================================================================
# Build targets only - this includes vmlinux, arch specific targets, clean
# targets and others. In general all targets except *config targets.
# If building an external module we do not care about the all: rule
# but instead __all depend on modules
PHONY += all
ifeq ($(KBUILD_EXTMOD),)
__all: all
else
__all: modules
endif
# Decide whether to build built-in, modular, or both.
# Normally, just do built-in.
KBUILD_MODULES :=
KBUILD_BUILTIN := 1
# If we have only "make modules", don't compile built-in objects.
ifeq ($(MAKECMDGOALS),modules)
KBUILD_BUILTIN :=
endif
# If we have "make <whatever> modules", compile modules
# in addition to whatever we do anyway.
# Just "make" or "make all" shall build modules as well
ifneq ($(filter all modules nsdeps %compile_commands.json clang-%,$(MAKECMDGOALS)),)
KBUILD_MODULES := 1
endif
ifeq ($(MAKECMDGOALS),)
KBUILD_MODULES := 1
endif
export KBUILD_MODULES KBUILD_BUILTIN
ifdef need-config
include include/config/auto.conf
endif
ifeq ($(KBUILD_EXTMOD),)
# Objects we will link into vmlinux / subdirs we need to visit
core-y := init/ usr/
drivers-y := drivers/ sound/ techpack/
drivers-$(CONFIG_SAMPLES) += samples/
drivers-y += net/ virt/
libs-y := lib/
endif # KBUILD_EXTMOD
ifndef KBUILD_MIXED_TREE
# The all: target is the default when no target is given on the
# command line.
# This allow a user to issue only 'make' to build a kernel including modules
# Defaults to vmlinux, but the arch makefile usually adds further targets
all: vmlinux
endif
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage \
$(call cc-option,-fno-tree-loop-im) \
$(call cc-disable-warning,maybe-uninitialized,)
export CFLAGS_GCOV
# The arch Makefiles can override CC_FLAGS_FTRACE. We may also append it later.
ifdef CONFIG_FUNCTION_TRACER
CC_FLAGS_FTRACE := -pg
endif
RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
RETPOLINE_VDSO_CFLAGS_GCC := -mindirect-branch=thunk-inline -mindirect-branch-register
RETPOLINE_CFLAGS_CLANG := -mretpoline-external-thunk
RETPOLINE_VDSO_CFLAGS_CLANG := -mretpoline
RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_CFLAGS_CLANG)))
RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_VDSO_CFLAGS_CLANG)))
export RETPOLINE_CFLAGS
export RETPOLINE_VDSO_CFLAGS
include arch/$(SRCARCH)/Makefile
ifdef need-config
ifdef may-sync-config
# Read in dependencies to all Kconfig* files, make sure to run syncconfig if
# changes are detected. This should be included after arch/$(SRCARCH)/Makefile
# because some architectures define CROSS_COMPILE there.
include include/config/auto.conf.cmd
$(KCONFIG_CONFIG):
@echo >&2 '***'
@echo >&2 '*** Configuration file "$@" not found!'
@echo >&2 '***'
@echo >&2 '*** Please run some configurator (e.g. "make oldconfig" or'
@echo >&2 '*** "make menuconfig" or "make xconfig").'
@echo >&2 '***'
@/bin/false
# The actual configuration files used during the build are stored in
# include/generated/ and include/config/. Update them if .config is newer than
# include/config/auto.conf (which mirrors .config).
#
# This exploits the 'multi-target pattern rule' trick.
# The syncconfig should be executed only once to make all the targets.
# (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
#
# Do not use $(call cmd,...) here. That would suppress prompts from syncconfig,
# so you cannot notice that Kconfig is waiting for the user input.
%/config/auto.conf %/config/auto.conf.cmd %/generated/autoconf.h: $(KCONFIG_CONFIG)
$(Q)$(kecho) " SYNC $@"
$(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
else # !may-sync-config
# External modules and some install targets need include/generated/autoconf.h
# and include/config/auto.conf but do not care if they are up-to-date.
# Use auto.conf to trigger the test
PHONY += include/config/auto.conf
include/config/auto.conf:
$(Q)test -e include/generated/autoconf.h -a -e $@ || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or $@ are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
endif # may-sync-config
endif # need-config
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
KBUILD_CFLAGS += -O2
else ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3
KBUILD_CFLAGS += -O3
else ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os
endif
# Tell gcc to never replace conditional load with a non-conditional one
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races)
ifdef CONFIG_READABLE_ASM
# Disable optimizations that make assembler listings hard to read.
# reorder blocks reorders the control in the function
# ipa clone creates specialized cloned functions
# partial inlining inlines only parts of functions
KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
$(call cc-option,-fno-ipa-cp-clone,) \
$(call cc-option,-fno-partial-inlining)
endif
ifneq ($(CONFIG_FRAME_WARN),0)
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
endif
stackp-flags-y := -fno-stack-protector
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
KBUILD_CFLAGS += $(stackp-flags-y)
ifdef CONFIG_CC_IS_CLANG
KBUILD_CPPFLAGS += -Qunused-arguments
KBUILD_CFLAGS += -Wno-format-invalid-specifier
KBUILD_CFLAGS += -Wno-gnu
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
# See modpost pattern 2
KBUILD_CFLAGS += -mno-global-merge
else
# Warn about unmarked fall-throughs in switch statement.
# Disabled for clang while comment to attribute conversion happens and
# https://github.com/ClangBuiltLinux/linux/issues/636 is discussed.
KBUILD_CFLAGS += $(call cc-option,-Wimplicit-fallthrough,)
endif
# These warnings generated too much noise in a regular build.
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
# Some targets (ARM with Thumb2, for example), can't be built with frame
# pointers. For those, we don't have FUNCTION_TRACER automatically
# select FRAME_POINTER. However, FUNCTION_TRACER adds -pg, and this is
# incompatible with -fomit-frame-pointer with current GCC, so we don't use
# -fomit-frame-pointer with FUNCTION_TRACER.
ifndef CONFIG_FUNCTION_TRACER
KBUILD_CFLAGS += -fomit-frame-pointer
endif
endif
# Initialize all stack variables with a 0xAA pattern.
ifdef CONFIG_INIT_STACK_ALL_PATTERN
KBUILD_CFLAGS += -ftrivial-auto-var-init=pattern
endif
# Initialize all stack variables with a zero value.
ifdef CONFIG_INIT_STACK_ALL_ZERO
# Future support for zero initialization is still being debated, see
# https://bugs.llvm.org/show_bug.cgi?id=45497. These flags are subject to being
# renamed or dropped.
KBUILD_CFLAGS += -ftrivial-auto-var-init=zero
KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
endif
DEBUG_CFLAGS :=
# Workaround for GCC versions < 5.0
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801
ifdef CONFIG_CC_IS_GCC
DEBUG_CFLAGS += $(call cc-ifversion, -lt, 0500, $(call cc-option, -fno-var-tracking-assignments))
endif
ifdef CONFIG_DEBUG_INFO
ifdef CONFIG_DEBUG_INFO_SPLIT
DEBUG_CFLAGS += -gsplit-dwarf
else
DEBUG_CFLAGS += -g
endif
ifneq ($(LLVM_IAS),1)
KBUILD_AFLAGS += -Wa,-gdwarf-2
endif
ifdef CONFIG_DEBUG_INFO_DWARF4
DEBUG_CFLAGS += -gdwarf-4
endif
ifdef CONFIG_DEBUG_INFO_REDUCED
DEBUG_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \
$(call cc-option,-fno-var-tracking)
endif
ifdef CONFIG_DEBUG_INFO_COMPRESSED
DEBUG_CFLAGS += -gz=zlib
KBUILD_AFLAGS += -gz=zlib
KBUILD_LDFLAGS += --compress-debug-sections=zlib
endif
endif # CONFIG_DEBUG_INFO
KBUILD_CFLAGS += $(DEBUG_CFLAGS)
export DEBUG_CFLAGS
ifdef CONFIG_FUNCTION_TRACER
ifdef CONFIG_FTRACE_MCOUNT_USE_CC
CC_FLAGS_FTRACE += -mrecord-mcount
ifdef CONFIG_HAVE_NOP_MCOUNT
ifeq ($(call cc-option-yn, -mnop-mcount),y)
CC_FLAGS_FTRACE += -mnop-mcount
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
endif
endif
endif
ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
CC_FLAGS_USING += -DCC_USING_NOP_MCOUNT
endif
ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT
ifdef CONFIG_HAVE_C_RECORDMCOUNT
BUILD_C_RECORDMCOUNT := y
export BUILD_C_RECORDMCOUNT
endif
endif
ifdef CONFIG_HAVE_FENTRY
ifeq ($(call cc-option-yn, -mfentry),y)
CC_FLAGS_FTRACE += -mfentry
CC_FLAGS_USING += -DCC_USING_FENTRY
endif
endif
export CC_FLAGS_FTRACE
KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING)
KBUILD_AFLAGS += $(CC_FLAGS_USING)
endif
# We trigger additional mismatches with less inlining
ifdef CONFIG_DEBUG_SECTION_MISMATCH
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
endif
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
LDFLAGS_vmlinux += --gc-sections
endif
ifdef CONFIG_SHADOW_CALL_STACK
CC_FLAGS_SCS := -fsanitize=shadow-call-stack
KBUILD_CFLAGS += $(CC_FLAGS_SCS)
export CC_FLAGS_SCS
endif
ifdef CONFIG_LTO_CLANG
ifdef CONFIG_LTO_CLANG_THIN
CC_FLAGS_LTO := -flto=thin -fsplit-lto-unit
KBUILD_LDFLAGS += --thinlto-cache-dir=$(extmod-prefix).thinlto-cache
else
CC_FLAGS_LTO := -flto
endif
ifeq ($(SRCARCH),x86)
# TODO(b/182572011): Revert workaround for compiler / linker bug.
CC_FLAGS_LTO += -fvisibility=hidden
else
CC_FLAGS_LTO += -fvisibility=default
endif
# Limit inlining across translation units to reduce binary size
KBUILD_LDFLAGS += -mllvm -import-instr-limit=5
endif
ifdef CONFIG_LTO
KBUILD_CFLAGS += $(CC_FLAGS_LTO)
export CC_FLAGS_LTO
endif
ifdef CONFIG_CFI_CLANG
CC_FLAGS_CFI := -fsanitize=cfi \
-fsanitize-cfi-cross-dso \
-fno-sanitize-cfi-canonical-jump-tables \
-fno-sanitize-blacklist
ifdef CONFIG_CFI_PERMISSIVE
CC_FLAGS_CFI += -fsanitize-recover=cfi \
-fno-sanitize-trap=cfi
else
ifndef CONFIG_UBSAN_TRAP
CC_FLAGS_CFI += -ftrap-function=__ubsan_handle_cfi_check_fail_abort
endif
endif
# If LTO flags are filtered out, we must also filter out CFI.
CC_FLAGS_LTO += $(CC_FLAGS_CFI)
KBUILD_CFLAGS += $(CC_FLAGS_CFI)
export CC_FLAGS_CFI
endif
ifdef CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B
KBUILD_CFLAGS += -falign-functions=32
endif
# arch Makefile may override CC so keep this after arch Makefile is included
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
# warn about C99 declaration after statement
KBUILD_CFLAGS += -Wdeclaration-after-statement
# Variable Length Arrays (VLAs) should not be used anywhere in the kernel
KBUILD_CFLAGS += -Wvla
# disable pointer signed / unsigned warnings in gcc 4.0
KBUILD_CFLAGS += -Wno-pointer-sign
# disable stringop warnings in gcc 8+
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
# We'll want to enable this eventually, but it's not going away for 5.7 at least
KBUILD_CFLAGS += $(call cc-disable-warning, zero-length-bounds)
KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
# Another good warning that we'll want to enable eventually
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
# Enabled with W=2, disabled by default as noisy
KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += -fno-strict-overflow
# Make sure -fstack-check isn't enabled (like gentoo apparently did)
KBUILD_CFLAGS += -fno-stack-check
# conserve stack if available
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
# Prohibit date/time macros, which would make the build non-deterministic
KBUILD_CFLAGS += -Werror=date-time
# enforce correct pointer usage
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
# Require designated initializers for all marked structures
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
# change __FILE__ to the relative path from the srctree
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
# include additional Makefiles when needed
include-y := scripts/Makefile.extrawarn
include-$(CONFIG_KASAN) += scripts/Makefile.kasan
include-$(CONFIG_KCSAN) += scripts/Makefile.kcsan
include-$(CONFIG_UBSAN) += scripts/Makefile.ubsan
include-$(CONFIG_KCOV) += scripts/Makefile.kcov
include-$(CONFIG_GCC_PLUGINS) += scripts/Makefile.gcc-plugins
include $(addprefix $(srctree)/, $(include-y))
# scripts/Makefile.gcc-plugins is intentionally included last.
# Do not add $(call cc-option,...) below this line. When you build the kernel
# from the clean source tree, the GCC plugins do not exist at this point.
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
KBUILD_CPPFLAGS += $(KCPPFLAGS)
KBUILD_AFLAGS += $(KAFLAGS)
KBUILD_CFLAGS += $(KCFLAGS)
KBUILD_LDFLAGS_MODULE += --build-id=sha1
LDFLAGS_vmlinux += --build-id=sha1
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
LDFLAGS_vmlinux += $(call ld-option, -X,)
endif
ifeq ($(CONFIG_RELR),y)
LDFLAGS_vmlinux += --pack-dyn-relocs=relr --use-android-relr-tags
endif
# We never want expected sections to be placed heuristically by the
# linker. All sections should be explicitly named in the linker script.
ifdef CONFIG_LD_ORPHAN_WARN
LDFLAGS_vmlinux += --orphan-handling=warn
endif
# Align the bit size of userspace programs with the kernel
KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CFLAGS))
# make the checker run with the right architecture
CHECKFLAGS += --arch=$(ARCH)
# insure the checker run with the right endianness
CHECKFLAGS += $(if $(CONFIG_CPU_BIG_ENDIAN),-mbig-endian,-mlittle-endian)
# the checker needs the correct machine size
CHECKFLAGS += $(if $(CONFIG_64BIT),-m64,-m32)
# Default kernel image to build when no specific target is given.
# KBUILD_IMAGE may be overruled on the command line or
# set in the environment
# Also any assignments in arch/$(ARCH)/Makefile take precedence over
# this default value
export KBUILD_IMAGE ?= vmlinux
#
# INSTALL_PATH specifies where to place the updated kernel and system map
# images. Default is /boot, but you can set it to other values
export INSTALL_PATH ?= /boot
#
# INSTALL_DTBS_PATH specifies a prefix for relocations required by build roots.
# Like INSTALL_MOD_PATH, it isn't defined in the Makefile, but can be passed as
# an argument if needed. Otherwise it defaults to the kernel install path
#
export INSTALL_DTBS_PATH ?= $(INSTALL_PATH)/dtbs/$(KERNELRELEASE)
#
# INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
# relocations required by build roots. This is not defined in the
# makefile but the argument can be passed to make if needed.
#
MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
export MODLIB
#
# INSTALL_MOD_STRIP, if defined, will cause modules to be
# stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
# the default option --strip-debug will be used. Otherwise,
# INSTALL_MOD_STRIP value will be used as the options to the strip command.
ifdef INSTALL_MOD_STRIP
ifeq ($(INSTALL_MOD_STRIP),1)
mod_strip_cmd = $(STRIP) --strip-debug
else
mod_strip_cmd = $(STRIP) $(INSTALL_MOD_STRIP)
endif # INSTALL_MOD_STRIP=1
else
mod_strip_cmd = true
endif # INSTALL_MOD_STRIP
export mod_strip_cmd
# CONFIG_MODULE_COMPRESS, if defined, will cause module to be compressed
# after they are installed in agreement with CONFIG_MODULE_COMPRESS_GZIP
# or CONFIG_MODULE_COMPRESS_XZ.
mod_compress_cmd = true
ifdef CONFIG_MODULE_COMPRESS
ifdef CONFIG_MODULE_COMPRESS_GZIP
mod_compress_cmd = $(KGZIP) -n -f
endif # CONFIG_MODULE_COMPRESS_GZIP
ifdef CONFIG_MODULE_COMPRESS_XZ
mod_compress_cmd = $(XZ) -f
endif # CONFIG_MODULE_COMPRESS_XZ
endif # CONFIG_MODULE_COMPRESS
export mod_compress_cmd
ifdef CONFIG_MODULE_SIG_ALL
$(eval $(call config_filename,MODULE_SIG_KEY))
mod_sign_cmd = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODULE_SIG_KEY_SRCPREFIX)$(CONFIG_MODULE_SIG_KEY) certs/signing_key.x509
else
mod_sign_cmd = true
endif
export mod_sign_cmd
HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
has_libelf := $(call try-run,\
echo "int main() {}" | \
$(HOSTCC) $(KBUILD_HOSTCFLAGS) -xc -o /dev/null $(KBUILD_HOSTLDFLAGS) $(HOST_LIBELF_LIBS) -,1,0)
ifdef CONFIG_STACK_VALIDATION
ifeq ($(has_libelf),1)
objtool_target := tools/objtool FORCE
else
SKIP_STACK_VALIDATION := 1
export SKIP_STACK_VALIDATION
endif
endif
PHONY += resolve_btfids_clean
resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids
# tools/bpf/resolve_btfids directory might not exist
# in output directory, skip its clean in that case
resolve_btfids_clean:
ifneq ($(wildcard $(resolve_btfids_O)),)
$(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(resolve_btfids_O) clean
endif
ifdef CONFIG_BPF
ifdef CONFIG_DEBUG_INFO_BTF
ifeq ($(has_libelf),1)
resolve_btfids_target := tools/bpf/resolve_btfids FORCE
else
ERROR_RESOLVE_BTFIDS := 1
endif
endif # CONFIG_DEBUG_INFO_BTF
endif # CONFIG_BPF
PHONY += prepare0
export MODORDER := $(extmod-prefix)modules.order
export MODULES_NSDEPS := $(extmod-prefix)modules.nsdeps
# ---------------------------------------------------------------------------
# Kernel headers
PHONY += headers
techpack-dirs := $(shell find $(srctree)/techpack -maxdepth 1 -mindepth 1 -type d -not -name ".*")
techpack-dirs := $(subst $(srctree)/,,$(techpack-dirs))
#Default location for installed headers
ifeq ($(KBUILD_EXTMOD),)
PHONY += archheaders archscripts
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst obj
headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts
else
hdr-prefix = $(KBUILD_EXTMOD)/
hdr-inst := -f $(srctree)/scripts/Makefile.headersinst dst=$(KBUILD_EXTMOD)/usr/include objtree=$(objtree)/$(KBUILD_EXTMOD) obj
endif
export INSTALL_HDR_PATH = $(objtree)/$(hdr-prefix)usr
quiet_cmd_headers_install = INSTALL $(INSTALL_HDR_PATH)/include
cmd_headers_install = \
mkdir -p $(INSTALL_HDR_PATH); \
rsync -mrl --include='*/' --include='*\.h' --exclude='*' \
$(hdr-prefix)usr/include $(INSTALL_HDR_PATH);
PHONY += headers_install
headers_install: headers
$(call cmd,headers_install)
headers:
ifeq ($(KBUILD_EXTMOD),)
$(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))
endif
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)include/uapi
$(Q)$(MAKE) $(hdr-inst)=$(hdr-prefix)arch/$(SRCARCH)/include/uapi
$(Q)for d in $(techpack-dirs); do \
$(MAKE) $(hdr-inst)=$$d/include/uapi; \
done
# ---------------------------------------------------------------------------
# Devicetree files
ifeq ($(KBUILD_EXTMOD),)
ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/boot/dts/),)
dtstree := arch/$(SRCARCH)/boot/dts
endif
else # KBUILD_EXTMOD
# Devicetree source should live in $(KBUILD_EXTMOD)/arch/$(SRCARCH)/boot/dts/
# But it may live inside some other folder relative to KBUILD_EXTMOD, as specified
# by KBUILD_EXTMOD_DTS
KBUILD_EXTMOD_DTS = arch/$(SRCARCH)/boot/dts
ifneq ($(wildcard $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/ $(srctree)/$(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)/),)
dtstree := $(KBUILD_EXTMOD)/$(KBUILD_EXTMOD_DTS)
endif
endif
ifneq ($(dtstree),)
%.dtb: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
PHONY += dtbs dtbs_install dtbs_check
dtbs: include/config/kernel.release scripts_dtc
$(Q)$(MAKE) $(build)=$(dtstree)
ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
export CHECK_DTBS=y
dtbs: dt_binding_check
endif
dtbs_check: dtbs
dtbs_install:
$(Q)$(MAKE) $(dtbinst)=$(dtstree) dst=$(INSTALL_DTBS_PATH)
ifdef CONFIG_OF_EARLY_FLATTREE
all: dtbs
endif
endif
PHONY += scripts_dtc
scripts_dtc: scripts_basic
$(Q)$(MAKE) $(build)=scripts/dtc
ifneq ($(filter dt_binding_check, $(MAKECMDGOALS)),)
export CHECK_DT_BINDING=y
endif
PHONY += dt_binding_check
dt_binding_check: scripts_dtc
$(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
ifeq ($(KBUILD_EXTMOD),)
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
vmlinux-dirs := $(patsubst %/,%,$(filter %/, \
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
$(libs-y) $(libs-m)))
vmlinux-alldirs := $(sort $(vmlinux-dirs) Documentation \
$(patsubst %/,%,$(filter %/, $(core-) \
$(drivers-) $(libs-))))
subdir-modorder := $(addsuffix modules.order,$(filter %/, \
$(core-y) $(core-m) $(libs-y) $(libs-m) \
$(drivers-y) $(drivers-m)))
build-dirs := $(vmlinux-dirs)
clean-dirs := $(vmlinux-alldirs)
# Externally visible symbols (used by link-vmlinux.sh)
KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y))
KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y)))
ifdef CONFIG_MODULES
KBUILD_VMLINUX_OBJS += $(patsubst %/, %/lib.a, $(filter %/, $(libs-y)))
KBUILD_VMLINUX_LIBS := $(filter-out %/, $(libs-y))
else
KBUILD_VMLINUX_LIBS := $(patsubst %/,%/lib.a, $(libs-y))
endif
KBUILD_VMLINUX_OBJS += $(patsubst %/,%/built-in.a, $(drivers-y))
export KBUILD_VMLINUX_OBJS KBUILD_VMLINUX_LIBS
export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
# used by scripts/Makefile.package
export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinux-alldirs)) LICENSES arch include scripts tools)
vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)
# Recurse until adjust_autoksyms.sh is satisfied
PHONY += autoksyms_recursive
ifdef CONFIG_TRIM_UNUSED_KSYMS
# For the kernel to actually contain only the needed exported symbols,
# we have to build modules as well to determine what those symbols are.
# (this can be evaluated only once include/config/auto.conf has been included)
KBUILD_MODULES := 1
autoksyms_recursive: descend modules.order
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
"$(MAKE) -f $(srctree)/Makefile vmlinux"
endif
autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
quiet_cmd_autoksyms_h = GEN $@
cmd_autoksyms_h = mkdir -p $(dir $@); \
$(CONFIG_SHELL) $(srctree)/scripts/gen_autoksyms.sh $@
$(autoksyms_h):
$(call cmd,autoksyms_h)
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
# Final link of vmlinux with optional arch pass after final link
cmd_link-vmlinux = \
$(CONFIG_SHELL) $< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)"; \
$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
ifndef KBUILD_MIXED_TREE
vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
+$(call if_changed,link-vmlinux)
endif
targets := vmlinux
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
$(sort $(vmlinux-deps) $(subdir-modorder)): descend ;
filechk_kernel.release = \
echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
$(srctree) $(BRANCH) $(KMI_GENERATION))"
# Store (new) KERNELRELEASE string in include/config/kernel.release
include/config/kernel.release: FORCE
$(call filechk,kernel.release)
# Additional helpers built in scripts/
# Carefully list dependencies so we do not try to build scripts twice
# in parallel
PHONY += scripts
scripts: scripts_basic scripts_dtc
$(Q)$(MAKE) $(build)=$(@)
# Things we need to do before we recursively start building the kernel
# or the modules are listed in "prepare".
# A multi level approach is used. prepareN is processed before prepareN-1.
# archprepare is used in arch Makefiles and when processed asm symlink,
# version.h and scripts_basic is processed / created.
PHONY += prepare archprepare
archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
include/generated/autoconf.h
prepare0: archprepare
$(Q)$(MAKE) $(build)=scripts/mod
$(Q)$(MAKE) $(build)=.
# All the preparing..
prepare: prepare0 prepare-objtool prepare-resolve_btfids
# Support for using generic headers in asm-generic
asm-generic := -f $(srctree)/scripts/Makefile.asm-generic obj
PHONY += asm-generic uapi-asm-generic
asm-generic: uapi-asm-generic
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
generic=include/asm-generic
uapi-asm-generic:
$(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
generic=include/uapi/asm-generic
PHONY += prepare-objtool prepare-resolve_btfids
prepare-objtool: $(objtool_target)
ifeq ($(SKIP_STACK_VALIDATION),1)
ifdef CONFIG_FTRACE_MCOUNT_USE_OBJTOOL
@echo "error: Cannot generate __mcount_loc for CONFIG_DYNAMIC_FTRACE=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
@false
endif
ifdef CONFIG_UNWINDER_ORC
@echo "error: Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
@false
else
@echo "warning: Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
endif
endif
prepare-resolve_btfids: $(resolve_btfids_target)
ifeq ($(ERROR_RESOLVE_BTFIDS),1)
@echo "error: Cannot resolve BTF IDs for CONFIG_DEBUG_INFO_BTF, please install libelf-dev, libelf-devel or elfutils-libelf-devel" >&2
@false
endif
# Generate some files
# ---------------------------------------------------------------------------
# KERNELRELEASE can change from a few different places, meaning version.h
# needs to be updated, so this check is forced on all builds
uts_len := 64
ifneq (,$(BUILD_NUMBER))
UTS_RELEASE=$(KERNELRELEASE)-ab$(BUILD_NUMBER)
else
UTS_RELEASE=$(KERNELRELEASE)
endif
define filechk_utsrelease.h
if [ `echo -n "$(UTS_RELEASE)" | wc -c ` -gt $(uts_len) ]; then \
echo '"$(UTS_RELEASE)" exceeds $(uts_len) characters' >&2; \
exit 1; \
fi; \
echo \#define UTS_RELEASE \"$(UTS_RELEASE)\"
endef
define filechk_version.h
if [ $(SUBLEVEL) -gt 255 ]; then \
echo \#define LINUX_VERSION_CODE $(shell \
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + 255); \
else \
echo \#define LINUX_VERSION_CODE $(shell \
expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
fi; \
echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + \
((c) > 255 ? 255 : (c)))'
endef
$(version_h): PATCHLEVEL := $(if $(PATCHLEVEL), $(PATCHLEVEL), 0)
$(version_h): SUBLEVEL := $(if $(SUBLEVEL), $(SUBLEVEL), 0)
$(version_h): FORCE
$(call filechk,version.h)
$(Q)rm -f $(old_version_h)
include/generated/utsrelease.h: include/config/kernel.release FORCE
$(call filechk,utsrelease.h)
PHONY += headerdep
headerdep:
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
$(srctree)/scripts/headerdep.pl -I$(srctree)/include
# Deprecated. It is no-op now.
PHONY += headers_check
headers_check:
@:
$(Q)for d in $(techpack-dirs); do \
$(MAKE) $(hdr-inst)=$$d/include/uapi HDRCHECK=1; \
done
ifdef CONFIG_HEADERS_INSTALL
prepare: headers
endif
PHONY += scripts_unifdef
scripts_unifdef: scripts_basic
$(Q)$(MAKE) $(build)=scripts scripts/unifdef
# ---------------------------------------------------------------------------
# Kernel selftest
PHONY += kselftest
kselftest:
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests run_tests
kselftest-%: FORCE
$(Q)$(MAKE) -C $(srctree)/tools/testing/selftests $*
PHONY += kselftest-merge
kselftest-merge:
$(if $(wildcard $(objtree)/.config),, $(error No .config exists, config your kernel first!))
$(Q)find $(srctree)/tools/testing/selftests -name config | \
xargs $(srctree)/scripts/kconfig/merge_config.sh -m $(objtree)/.config
$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
# ---------------------------------------------------------------------------
# Modules
ifdef CONFIG_MODULES
# By default, build modules as well
all: modules
# When we're building modules with modversions, we need to consider
# the built-in objects during the descend as well, in order to
# make sure the checksums are up to date before we record them.
ifdef CONFIG_MODVERSIONS
KBUILD_BUILTIN := 1
endif
# Build modules
#
# A module can be listed more than once in obj-m resulting in
# duplicate lines in modules.order files. Those are removed
# using awk while concatenating to the final file.
PHONY += modules
# if KBUILD_BUILTIN && !KBUILD_MIXED_TREE, depend on vmlinux
modules: $(if $(KBUILD_BUILTIN), $(if $(KBUILD_MIXED_TREE),,vmlinux))
modules: modules_check modules_prepare
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
PHONY += modules_check
modules_check: modules.order
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
cmd_modules_order = $(AWK) '!x[$$0]++' $(real-prereqs) > $@
modules.order: $(subdir-modorder) FORCE
$(call if_changed,modules_order)
targets += modules.order
# Target to prepare building external modules
PHONY += modules_prepare
modules_prepare: prepare
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
# Target to install modules
PHONY += modules_install
modules_install: _modinst_ _modinst_post
PHONY += _modinst_
_modinst_:
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)/kernel
@ln -s $(abspath $(srctree)) $(MODLIB)/source
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@sed 's:^:kernel/:' modules.order > $(MODLIB)/modules.order
@cp -f $(mixed-build-prefix)modules.builtin $(MODLIB)/
@cp -f $(or $(mixed-build-prefix),$(objtree)/)modules.builtin.modinfo $(MODLIB)/
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
# This depmod is only for convenience to give the initial
# boot a modules.dep even before / is mounted read-write. However the
# boot script depmod is the master version.
PHONY += _modinst_post
_modinst_post: _modinst_
$(call cmd,depmod)
ifeq ($(CONFIG_MODULE_SIG), y)
PHONY += modules_sign
modules_sign:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
endif
else # CONFIG_MODULES
# Modules not configured
# ---------------------------------------------------------------------------
PHONY += modules modules_install
modules modules_install:
@echo >&2
@echo >&2 "The present kernel configuration has modules disabled."
@echo >&2 "Type 'make config' and enable loadable module support."
@echo >&2 "Then build a kernel with module support enabled."
@echo >&2
@exit 1
endif # CONFIG_MODULES
###
# Cleaning is done on three levels.
# make clean Delete most generated files
# Leave enough to build external modules
# make mrproper Delete the current configuration, and all generated files
# make distclean Remove editor backup files, patch leftover files and the like
# Directories & files removed with 'make clean'
CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
modules.builtin modules.builtin.modinfo modules.nsdeps \
compile_commands.json .thinlto-cache
# Directories & files removed with 'make mrproper'
MRPROPER_FILES += include/config include/generated \
arch/$(SRCARCH)/include/generated .tmp_objdiff \
debian snap tar-install \
.config .config.old .version \
Module.symvers \
signing_key.pem signing_key.priv signing_key.x509 \
x509.genkey extra_certificates signing_key.x509.keyid \
signing_key.x509.signer vmlinux-gdb.py \
*.spec
# Directories & files removed with 'make distclean'
DISTCLEAN_FILES += tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
# clean - Delete most, but leave enough to build external modules
#
clean: rm-files := $(CLEAN_FILES)
PHONY += archclean vmlinuxclean
vmlinuxclean:
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
$(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
clean: archclean vmlinuxclean resolve_btfids_clean
# mrproper - Delete all generated files, including .config
#
mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
mrproper-dirs := $(addprefix _mrproper_,scripts)
PHONY += $(mrproper-dirs) mrproper
$(mrproper-dirs):
$(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
mrproper: clean $(mrproper-dirs)
$(call cmd,rmfiles)
# distclean
#
distclean: rm-files := $(wildcard $(DISTCLEAN_FILES))
PHONY += distclean
distclean: mrproper
$(call cmd,rmfiles)
@find $(srctree) $(RCS_FIND_IGNORE) \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '*%' \
-o -name 'core' \) \
-type f -print | xargs rm -f
# Packaging of the kernel to various formats
# ---------------------------------------------------------------------------
%src-pkg: FORCE
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
%pkg: include/config/kernel.release FORCE
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
# Brief documentation of the typical targets used
# ---------------------------------------------------------------------------
boards := $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*_defconfig)
boards := $(sort $(notdir $(boards)))
board-dirs := $(dir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/*/*_defconfig))
board-dirs := $(sort $(notdir $(board-dirs:/=)))
PHONY += help
help:
@echo 'Cleaning targets:'
@echo ' clean - Remove most generated files but keep the config and'
@echo ' enough build support to build external modules'
@echo ' mrproper - Remove all generated files + config + various backup files'
@echo ' distclean - mrproper + remove editor backup and patch files'
@echo ''
@echo 'Configuration targets:'
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
@echo ''
@echo 'Other generic targets:'
@echo ' all - Build all targets marked with [*]'
@echo '* vmlinux - Build the bare kernel'
@echo '* modules - Build all modules'
@echo ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
@echo ' dir/ - Build all files in dir and below'
@echo ' dir/file.[ois] - Build specified target only'
@echo ' dir/file.ll - Build the LLVM assembly file'
@echo ' (requires compiler support for LLVM assembly generation)'
@echo ' dir/file.lst - Build specified mixed source/assembly target only'
@echo ' (requires a recent binutils and recent build (System.map))'
@echo ' dir/file.ko - Build module including final link'
@echo ' modules_prepare - Set up for building external modules'
@echo ' tags/TAGS - Generate tags file for editors'
@echo ' cscope - Generate cscope index'
@echo ' gtags - Generate GNU GLOBAL index'
@echo ' kernelrelease - Output the release version string (use with make -s)'
@echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
@echo ' image_name - Output the image name (use with make -s)'
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
echo ' (default: $(INSTALL_HDR_PATH))'; \
echo ''
@echo 'Static analysers:'
@echo ' checkstack - Generate a list of stack hogs'
@echo ' versioncheck - Sanity check on version.h usage'
@echo ' includecheck - Check for duplicate included header files'
@echo ' export_report - List the usages of all exported symbols'
@echo ' headerdep - Detect inclusion cycles in headers'
@echo ' coccicheck - Check with Coccinelle'
@echo ' clang-analyzer - Check with clang static analyzer'
@echo ' clang-tidy - Check with clang-tidy'
@echo ''
@echo 'Tools:'
@echo ' nsdeps - Generate missing symbol namespace dependencies'
@echo ''
@echo 'Kernel selftest:'
@echo ' kselftest - Build and run kernel selftest'
@echo ' Build, install, and boot kernel before'
@echo ' running kselftest on it'
@echo ' Run as root for full coverage'
@echo ' kselftest-all - Build kernel selftest'
@echo ' kselftest-install - Build and install kernel selftest'
@echo ' kselftest-clean - Remove all generated kselftest files'
@echo ' kselftest-merge - Merge all the config dependencies of'
@echo ' kselftest to existing .config.'
@echo ''
@$(if $(dtstree), \
echo 'Devicetree:'; \
echo '* dtbs - Build device tree blobs for enabled boards'; \
echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)'; \
echo ' dt_binding_check - Validate device tree binding documents'; \
echo ' dtbs_check - Validate device tree source files';\
echo '')
@echo 'Userspace tools targets:'
@echo ' use "make tools/help"'
@echo ' or "cd tools; make help"'
@echo ''
@echo 'Kernel packaging:'
@$(MAKE) -f $(srctree)/scripts/Makefile.package help
@echo ''
@echo 'Documentation targets:'
@$(MAKE) -f $(srctree)/Documentation/Makefile dochelp
@echo ''
@echo 'Architecture specific targets ($(SRCARCH)):'
@$(if $(archhelp),$(archhelp),\
echo ' No architecture specific help defined for $(SRCARCH)')
@echo ''
@$(if $(boards), \
$(foreach b, $(boards), \
printf " %-27s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
echo '')
@$(if $(board-dirs), \
$(foreach b, $(board-dirs), \
printf " %-16s - Show %s-specific targets\\n" help-$(b) $(b);) \
printf " %-16s - Show all of the above\\n" help-boards; \
echo '')
@echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
@echo ' make V=2 [targets] 2 => give reason for rebuild of target'
@echo ' make O=dir [targets] Locate all output files in "dir", including .config'
@echo ' make C=1 [targets] Check re-compiled c source with $$CHECK'
@echo ' (sparse by default)'
@echo ' make C=2 [targets] Force check of all c source with $$CHECK'
@echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
@echo ' make W=n [targets] Enable extra build checks, n=1,2,3 where'
@echo ' 1: warnings which may be relevant and do not occur too often'
@echo ' 2: warnings which occur quite often but may still be relevant'
@echo ' 3: more obscure warnings, can most likely be ignored'
@echo ' Multiple levels can be combined with W=12 or W=123'
@echo ''
@echo 'Execute "make" or "make all" to build all targets marked with [*] '
@echo 'For further info see the ./README file'
help-board-dirs := $(addprefix help-,$(board-dirs))
help-boards: $(help-board-dirs)
boards-per-dir = $(sort $(notdir $(wildcard $(srctree)/arch/$(SRCARCH)/configs/$*/*_defconfig)))
$(help-board-dirs): help-%:
@echo 'Architecture specific targets ($(SRCARCH) $*):'
@$(if $(boards-per-dir), \
$(foreach b, $(boards-per-dir), \
printf " %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \
echo '')
# Documentation targets
# ---------------------------------------------------------------------------
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
linkcheckdocs dochelp refcheckdocs
PHONY += $(DOC_TARGETS)
$(DOC_TARGETS):
$(Q)$(MAKE) $(build)=Documentation $@
# Misc
# ---------------------------------------------------------------------------
PHONY += scripts_gdb
scripts_gdb: prepare0
$(Q)$(MAKE) $(build)=scripts/gdb
$(Q)ln -fsn $(abspath $(srctree)/scripts/gdb/vmlinux-gdb.py)
ifdef CONFIG_GDB_SCRIPTS
all: scripts_gdb
endif
else # KBUILD_EXTMOD
###
# External module support.
# When building external modules the kernel used as basis is considered
# read-only, and no consistency checks are made and the make
# system is not used on the basis kernel. If updates are required
# in the basis kernel ordinary make commands (without M=...) must
# be used.
#
# The following are the only valid targets when building external
# modules.
# make M=dir clean Delete all automatically generated files
# make M=dir modules Make all modules in specified dir
# make M=dir Same as 'make M=dir modules'
# make M=dir modules_install
# Install the modules built in the module directory
# Assumes install directory is already created
# We are always building only modules.
KBUILD_BUILTIN :=
KBUILD_MODULES := 1
build-dirs := $(KBUILD_EXTMOD)
PHONY += modules
modules: $(MODORDER)
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
$(MODORDER): descend
@:
PHONY += modules_install
modules_install: _emodinst_ _emodinst_post
install-dir := $(if $(INSTALL_MOD_DIR),$(INSTALL_MOD_DIR),extra)
PHONY += _emodinst_
_emodinst_:
$(Q)mkdir -p $(MODLIB)/$(install-dir)
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
PHONY += _emodinst_post
_emodinst_post: _emodinst_
$(call cmd,depmod)
compile_commands.json: $(extmod-prefix)compile_commands.json
PHONY += compile_commands.json
clean-dirs := $(KBUILD_EXTMOD)
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \
$(KBUILD_EXTMOD)/compile_commands.json $(KBUILD_EXTMOD)/.thinlto-cache
PHONY += help
help:
@echo ' Building external modules.'
@echo ' Syntax: make -C path/to/kernel/src M=$$PWD target'
@echo ''
@echo ' modules - default target, build the module(s)'
@echo ' modules_install - install the module'
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
@echo ' (default: $(abspath $(INSTALL_HDR_PATH)))'
@echo ' clean - remove generated files in module directory only'
@echo ''
# no-op for external module builds
PHONY += prepare modules_prepare
endif # KBUILD_EXTMOD
# Single targets
# ---------------------------------------------------------------------------
# To build individual files in subdirectories, you can do like this:
#
# make foo/bar/baz.s
#
# The supported suffixes for single-target are listed in 'single-targets'
#
# To build only under specific subdirectories, you can do like this:
#
# make foo/bar/baz/
ifdef single-build
# .ko is special because modpost is needed
single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS)))
single-no-ko := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS)))
$(single-ko): single_modpost
@:
$(single-no-ko): descend
@:
ifeq ($(KBUILD_EXTMOD),)
# For the single build of in-tree modules, use a temporary file to avoid
# the situation of modules_install installing an invalid modules.order.
MODORDER := .modules.tmp
endif
PHONY += single_modpost
single_modpost: $(single-no-ko) modules_prepare
$(Q){ $(foreach m, $(single-ko), echo $(extmod-prefix)$m;) } > $(MODORDER)
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
KBUILD_MODULES := 1
export KBUILD_SINGLE_TARGETS := $(addprefix $(extmod-prefix), $(single-no-ko))
# trim unrelated directories
build-dirs := $(foreach d, $(build-dirs), \
$(if $(filter $(d)/%, $(KBUILD_SINGLE_TARGETS)), $(d)))
endif
ifndef CONFIG_MODULES
KBUILD_MODULES :=
endif
# Handle descending into subdirectories listed in $(build-dirs)
# Preset locale variables to speed up the build process. Limit locale
# tweaks to this spot to avoid wrong language settings when running
# make menuconfig etc.
# Error messages still appears in the original language
PHONY += descend $(build-dirs)
descend: $(build-dirs)
$(build-dirs): prepare
$(Q)$(MAKE) $(build)=$@ \
single-build=$(if $(filter-out $@/, $(filter $@/%, $(KBUILD_SINGLE_TARGETS))),1) \
$(if $(KBUILD_MIXED_TREE),,need-builtin=1) need-modorder=1
clean-dirs := $(addprefix _clean_, $(clean-dirs))
PHONY += $(clean-dirs) clean
$(clean-dirs):
$(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
clean: $(clean-dirs)
$(call cmd,rmfiles)
@find $(if $(KBUILD_EXTMOD), $(KBUILD_EXTMOD), .) $(RCS_FIND_IGNORE) \
\( -name '*.[aios]' -o -name '*.ko' -o -name '.*.cmd' \
-o -name '*.ko.*' \
-o -name '*.dtb' -o -name '*.dtb.S' -o -name '*.dt.yaml' \
-o -name '*.dwo' -o -name '*.lst' \
-o -name '*.su' -o -name '*.mod' \
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
-o -name '*.asn1.[ch]' \
-o -name '*.symtypes' -o -name 'modules.order' \
-o -name '.tmp_*.o.*' \
-o -name '*.c.[012]*.*' \
-o -name '*.ll' \
-o -name '*.gcno' \
-o -name '*.*.symversions' \) -type f -print | xargs rm -f
# Generate tags for editors
# ---------------------------------------------------------------------------
quiet_cmd_tags = GEN $@
cmd_tags = $(BASH) $(srctree)/scripts/tags.sh $@
tags TAGS cscope gtags: FORCE
$(call cmd,tags)
# Script to generate missing namespace dependencies
# ---------------------------------------------------------------------------
PHONY += nsdeps
nsdeps: export KBUILD_NSDEPS=1
nsdeps: modules
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/nsdeps
# Clang Tooling
# ---------------------------------------------------------------------------
quiet_cmd_gen_compile_commands = GEN $@
cmd_gen_compile_commands = $(PYTHON3) $< -a $(AR) -o $@ $(filter-out $<, $(real-prereqs))
$(extmod-prefix)compile_commands.json: scripts/clang-tools/gen_compile_commands.py \
$(if $(KBUILD_EXTMOD),,$(KBUILD_VMLINUX_OBJS) $(KBUILD_VMLINUX_LIBS)) \
$(if $(CONFIG_MODULES), $(MODORDER)) FORCE
$(call if_changed,gen_compile_commands)
targets += $(extmod-prefix)compile_commands.json
PHONY += clang-tidy clang-analyzer
ifdef CONFIG_CC_IS_CLANG
quiet_cmd_clang_tools = CHECK $<
cmd_clang_tools = $(PYTHON3) $(srctree)/scripts/clang-tools/run-clang-tools.py $@ $<
clang-tidy clang-analyzer: $(extmod-prefix)compile_commands.json
$(call cmd,clang_tools)
else
clang-tidy clang-analyzer:
@echo "$@ requires CC=clang" >&2
@false
endif
# Scripts to check various things for consistency
# ---------------------------------------------------------------------------
PHONY += includecheck versioncheck coccicheck export_report
includecheck:
find $(srctree)/* $(RCS_FIND_IGNORE) \
-name '*.[hcS]' -type f -print | sort \
| xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
versioncheck:
find $(srctree)/* $(RCS_FIND_IGNORE) \
-name '*.[hcS]' -type f -print | sort \
| xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
coccicheck:
$(Q)$(BASH) $(srctree)/scripts/$@
export_report:
$(PERL) $(srctree)/scripts/export_report.pl
PHONY += checkstack kernelrelease kernelversion image_name
# UML needs a little special treatment here. It wants to use the host
# toolchain, so needs $(SUBARCH) passed to checkstack.pl. Everyone
# else wants $(ARCH), including people doing cross-builds, which means
# that $(SUBARCH) doesn't work here.
ifeq ($(ARCH), um)
CHECKSTACK_ARCH := $(SUBARCH)
else
CHECKSTACK_ARCH := $(ARCH)
endif
checkstack:
$(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
$(PERL) $(srctree)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
kernelrelease:
@echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion \
$(srctree) $(BRANCH) $(KMI_GENERATION))"
kernelversion:
@echo $(KERNELVERSION)
image_name:
@echo $(KBUILD_IMAGE)
# Clear a bunch of variables before executing the submake
ifeq ($(quiet),silent_)
tools_silent=s
endif
tools/: FORCE
$(Q)mkdir -p $(objtree)/tools
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
tools/%: FORCE
$(Q)mkdir -p $(objtree)/tools
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(tools_silent) $(filter --j% -j,$(MAKEFLAGS))" O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
cmd_rmfiles = rm -rf $(rm-files)
# Run depmod only if we have System.map and depmod is executable
quiet_cmd_depmod = DEPMOD $(KERNELRELEASE)
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
$(KERNELRELEASE) $(mixed-build-prefix)
# read saved command lines for existing targets
existing-targets := $(wildcard $(sort $(targets)))
-include $(foreach f,$(existing-targets),$(dir $(f)).$(notdir $(f)).cmd)
endif # config-build
endif # mixed-build
endif # need-sub-make
PHONY += FORCE
FORCE:
# Declare the contents of the PHONY variable as phony. We keep that
# information in a variable so we can use it in if_changed and friends.
.PHONY: $(PHONY)