Commit Graph

16541 Commits

Author SHA1 Message Date
Sivasri Kumar, Vanka
b3d2d42542 Merge keystone/android12-5.10-keystone-qcom-release.101+ (ac14ef0) into msm-5.10
* refs/heads/tmp-ac14ef0:
  BACKPORT: can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: oplus: Update the ABI xml and symbol list
  UPSTREAM: remoteproc: Fix count check in rproc_coredump_write()
  BACKPORT: esp: Fix possible buffer overflow in ESP transformation
  ANDROID: Fix the drain_all_pages default condition broken by a hook
  UPSTREAM: Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
  UPSTREAM: xfrm: fix MTU regression
  ANDROID: signal: Add vendor hook for memory reaping
  FROMGIT: usb: gadget: uvc: allow for application to cleanly shutdown
  FROMGIT: usb: dwc3: gadget: increase tx fifo size for ss isoc endpoints
  UPSTREAM: usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()
  FROMGIT: usb: gadget: uvc: remove pause flag use
  FROMGIT: usb: gadget: uvc: allow changing interface name via configfs
  UPSTREAM: usb: gadget: uvc: Fix crash when encoding data for usb request
  UPSTREAM: usb: gadget: uvc: test if ep->desc is valid on ep_queue
  UPSTREAM: usb: gadget: uvc: only pump video data if necessary
  UPSTREAM: usb: gadget: uvc: only schedule stream in streaming state
  UPSTREAM: usb: dwc3: gadget: Give some time to schedule isoc
  UPSTREAM: usb: gadget: uvc: make uvc_num_requests depend on gadget speed
  UPSTREAM: usb: gadget: composite: Show warning if function driver's descriptors are incomplete.
  FROMLIST: kbuild: Add environment variables for userprogs flags
  ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree
  BACKPORT: staging: ion: Prevent incorrect reference counting behavour
  FROMGIT: net: fix wrong network header length
  UPSTREAM: mm: fix unexpected zeroed page mapping with zram swap
  ANDROID: vendor_hooks: Add hooks for mutex
  UPSTREAM: usb: dwc3: gadget: Replace list_for_each_entry_safe() if using giveback
  UPSTREAM: usb: dwc3: Issue core soft reset before enabling run/stop
  UPSTREAM: usb: dwc3: gadget: Wait for ep0 xfers to complete during dequeue
  ANDROID: Update QCOM symbol list for trace_map/unmap
  ANDROID: fix KCFLAGS override by __ANDROID_COMMON_KERNEL__
  ANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroup
  ANDROID: vendor_hooks: Add hooks for rwsem
  ANDROID: Add flag to indicate compiling against ACK
  ANDROID: GKI: build damon reclaim
  FROMLIST: mm/damon/reclaim: Fix the timer always stays active
  BACKPORT: treewide: Add missing includes masked by cgroup -> bpf dependency
  UPSTREAM: mm/damon: modify damon_rand() macro to static inline function
  UPSTREAM: mm/damon: add 'age' of region tracepoint support
  UPSTREAM: mm/damon: hide kernel pointer from tracepoint event
  UPSTREAM: mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log
  UPSTREAM: mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging
  UPSTREAM: mm/damon/dbgfs: remove an unnecessary variable
  UPSTREAM: mm/damon: move the implementation of damon_insert_region to damon.h
  UPSTREAM: mm/damon: add access checking for hugetlb pages
  UPSTREAM: mm/damon/dbgfs: support all DAMOS stats
  UPSTREAM: mm/damon/reclaim: provide reclamation statistics
  UPSTREAM: mm/damon/schemes: account how many times quota limit has exceeded
  UPSTREAM: mm/damon/schemes: account scheme actions that successfully applied
  UPSTREAM: mm/damon: convert macro functions to static inline functions
  UPSTREAM: mm/damon: move damon_rand() definition into damon.h
  UPSTREAM: mm/damon/schemes: add the validity judgment of thresholds
  UPSTREAM: mm/damon/vaddr: remove swap_ranges() and replace it with swap()
  UPSTREAM: mm/damon: remove some unneeded function definitions in damon.h
  UPSTREAM: mm/damon/core: use abs() instead of diff_of()
  UPSTREAM: mm/damon: unified access_check function naming rules
  UPSTREAM: mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'
  UPSTREAM: mm/damon/dbgfs: protect targets destructions with kdamond_lock
  UPSTREAM: mm/damon/vaddr-test: remove unnecessary variables
  UPSTREAM: mm/damon/vaddr-test: split a test function having >1024 bytes frame size
  UPSTREAM: mm/damon/vaddr: remove an unnecessary warning message
  UPSTREAM: mm/damon/core: remove unnecessary error messages
  UPSTREAM: mm/damon/dbgfs: remove an unnecessary error message
  UPSTREAM: mm/damon/core: use better timer mechanisms selection threshold
  UPSTREAM: mm/damon/core: fix fake load reports due to uninterruptible sleeps
  BACKPORT: timers: implement usleep_idle_range()
  UPSTREAM: mm/damon/dbgfs: fix missed use of damon_dbgfs_lock
  UPSTREAM: mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation
  UPSTREAM: mm/damon: remove return value from before_terminate callback
  UPSTREAM: mm/damon: fix a few spelling mistakes in comments and a pr_debug message
  UPSTREAM: mm/damon: simplify stop mechanism
  UPSTREAM: mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on
  UPSTREAM: mm/damon: remove unnecessary variable initialization
  UPSTREAM: mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)
  UPSTREAM: selftests/damon: support watermarks
  UPSTREAM: mm/damon/dbgfs: support watermarks
  UPSTREAM: mm/damon/schemes: activate schemes based on a watermarks mechanism
  UPSTREAM: tools/selftests/damon: update for regions prioritization of schemes
  UPSTREAM: mm/damon/dbgfs: support prioritization weights
  UPSTREAM: mm/damon/vaddr,paddr: support pageout prioritization
  UPSTREAM: mm/damon/schemes: prioritize regions within the quotas
  UPSTREAM: mm/damon/selftests: support schemes quotas
  UPSTREAM: mm/damon/dbgfs: support quotas of schemes
  UPSTREAM: mm/damon/schemes: implement time quota
  UPSTREAM: mm/damon/schemes: skip already charged targets and regions
  UPSTREAM: mm/damon/schemes: implement size quota for schemes application speed control
  UPSTREAM: mm/damon/paddr: support the pageout scheme
  UPSTREAM: mm/damon/dbgfs: remove unnecessary variables
  UPSTREAM: mm/damon/vaddr: constify static mm_walk_ops
  UPSTREAM: mm/damon/dbgfs: support physical memory monitoring
  UPSTREAM: mm/damon: implement primitives for physical address space monitoring
  UPSTREAM: mm/damon/vaddr: separate commonly usable functions
  UPSTREAM: mm/damon/dbgfs-test: add a unit test case for 'init_regions'
  UPSTREAM: mm/damon/dbgfs: allow users to set initial monitoring target regions
  UPSTREAM: selftests/damon: add 'schemes' debugfs tests
  UPSTREAM: mm/damon/schemes: implement statistics feature
  UPSTREAM: mm/damon/dbgfs: support DAMON-based Operation Schemes
  UPSTREAM: mm/damon/vaddr: support DAMON-based Operation Schemes
  UPSTREAM: mm/damon/core: implement DAMON-based Operation Schemes (DAMOS)
  UPSTREAM: mm/damon/core: account age of target regions
  UPSTREAM: mm/damon/core: nullify pointer ctx->kdamond with a NULL
  UPSTREAM: mm/damon: needn't hold kdamond_lock to print pid of kdamond
  UPSTREAM: mm/damon: remove unnecessary do_exit() from kdamond
  UPSTREAM: mm/damon/core: print kdamond start log in debug mode only
  UPSTREAM: include/linux/damon.h: fix kernel-doc comments for 'damon_callback'
  UPSTREAM: mm/damon: grammar s/works/work/
  UPSTREAM: mm/damon/core-test: fix wrong expectations for 'damon_split_regions_of()'
  UPSTREAM: mm/damon: don't use strnlen() with known-bogus source length
  UPSTREAM: mm/damon: add kunit tests
  UPSTREAM: mm/damon: add user space selftests
  UPSTREAM: mm/damon/dbgfs: support multiple contexts
  UPSTREAM: mm/damon/dbgfs: export kdamond pid to the user space
  UPSTREAM: mm/damon: implement a debugfs-based user space interface
  UPSTREAM: mm/damon: add a tracepoint
  UPSTREAM: mm/damon: implement primitives for the virtual memory address spaces
  UPSTREAM: mm/idle_page_tracking: make PG_idle reusable
  UPSTREAM: mm/damon: adaptively adjust regions
  UPSTREAM: mm/damon/core: implement region-based sampling
  UPSTREAM: mm: introduce Data Access MONitor (DAMON)
  BACKPORT: net/packet: fix slab-out-of-bounds access in packet_recvmsg()
  BACKPORT: fuse: fix pipe buffer lifetime for direct_io
  BACKPORT: dm: fix NULL pointer issue when free bio
  UPSTREAM: kfence, x86: fix preemptible warning on KPTI-enabled systems
  ANDROID: ABI: Update allowed list for galaxy
  ANDROID: abi_gki_aarch64.xml: update based on proper LTO=full setting
  BACKPORT: virtio-blk: Use blk_validate_block_size() to validate block size
  ANDROID: add for tuning readahead size
  BACKPORT: media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
  BACKPORT: nl80211: correctly check NL80211_ATTR_REG_ALPHA2 size
  BACKPORT: ext4: don't BUG if someone dirty pages without asking ext4 first
  ANDROID: GKI: Update symbols to abi_gki_aarch64_oplus
  BACKPORT: iommu: Extend mutex lock scope in iommu_probe_device()
  BACKPORT: iommu: Fix race condition during default domain allocation
  ANDROID: GKI: Update symbols to symbol list

 Conflicts:
	build.config.common

Change-Id: I30e0e3ce2527d66896add9fe45d71924557a46f2
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2022-06-03 14:05:35 +05:30
Sivasri Kumar, Vanka
53f97d77bb Merge keystone/android12-5.10-keystone-qcom-release.101+ (a0a7006) into msm-5.10
* refs/heads/tmp-a0a7006:
  ANDROID: Fix the drain_all_pages default condition broken by a hook
  UPSTREAM: Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
  UPSTREAM: xfrm: fix MTU regression
  FROMGIT: net: fix wrong network header length

Change-Id: Ia72d25a98cd228e76a9f466d777d2caafaf82951
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2022-05-18 22:04:30 +05:30
Suren Baghdasaryan
f4c0e37dbc ANDROID: Fix the drain_all_pages default condition broken by a hook
The condition introduced by a patch adding a vendor hook to skip
drain_all_pages is invalid and changes the default behavior for CMA
allocations. Fix the condition to restore default behavior.

Fixes: a2485b8abd ("ANDROID: vendor_hooks: Add hooks to for alloc_contig_range")
Bug: 232357688
Reported-by: Yong-Taek Lee <ytk.lee@samsung.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I686ad9dff57f604557f79cf4dc12cde55474e533
(cherry picked from commit 66f0c91b2f)
2022-05-16 05:21:23 +00:00
Suren Baghdasaryan
66f0c91b2f ANDROID: Fix the drain_all_pages default condition broken by a hook
The condition introduced by a patch adding a vendor hook to skip
drain_all_pages is invalid and changes the default behavior for CMA
allocations. Fix the condition to restore default behavior.

Fixes: a2485b8abd ("ANDROID: vendor_hooks: Add hooks to for alloc_contig_range")
Bug: 232357688
Reported-by: Yong-Taek Lee <ytk.lee@samsung.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I686ad9dff57f604557f79cf4dc12cde55474e533
2022-05-13 05:04:50 +00:00
Minchan Kim
a37eec78a6 UPSTREAM: mm: fix unexpected zeroed page mapping with zram swap
commit e914d8f00391520ecc4495dd0ca0124538ab7119 upstream.

Two processes under CLONE_VM cloning, user process can be corrupted by
seeing zeroed page unexpectedly.

      CPU A                        CPU B

  do_swap_page                do_swap_page
  SWP_SYNCHRONOUS_IO path     SWP_SYNCHRONOUS_IO path
  swap_readpage valid data
    swap_slot_free_notify
      delete zram entry
                              swap_readpage zeroed(invalid) data
                              pte_lock
                              map the *zero data* to userspace
                              pte_unlock
  pte_lock
  if (!pte_same)
    goto out_nomap;
  pte_unlock
  return and next refault will
  read zeroed data

The swap_slot_free_notify is bogus for CLONE_VM case since it doesn't
increase the refcount of swap slot at copy_mm so it couldn't catch up
whether it's safe or not to discard data from backing device.  In the
case, only the lock it could rely on to synchronize swap slot freeing is
page table lock.  Thus, this patch gets rid of the swap_slot_free_notify
function.  With this patch, CPU A will see correct data.

      CPU A                        CPU B

  do_swap_page                do_swap_page
  SWP_SYNCHRONOUS_IO path     SWP_SYNCHRONOUS_IO path
                              swap_readpage original data
                              pte_lock
                              map the original data
                              swap_free
                                swap_range_free
                                  bd_disk->fops->swap_slot_free_notify
  swap_readpage read zeroed data
                              pte_unlock
  pte_lock
  if (!pte_same)
    goto out_nomap;
  pte_unlock
  return
  on next refault will see mapped data by CPU B

The concern of the patch would increase memory consumption since it
could keep wasted memory with compressed form in zram as well as
uncompressed form in address space.  However, most of cases of zram uses
no readahead and do_swap_page is followed by swap_free so it will free
the compressed form from in zram quickly.

Link: https://lkml.kernel.org/r/YjTVVxIAsnKAXjTd@google.com
Fixes: 0bcac06f27 ("mm, swap: skip swapcache for swapin of synchronous device")
Reported-by: Ivan Babrou <ivan@cloudflare.com>
Tested-by: Ivan Babrou <ivan@cloudflare.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: David Hildenbrand <david@redhat.com>
Cc: <stable@vger.kernel.org>	[4.14+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Minchan Kim <minchan@google.com>
Bug: 214353194
(cherry picked from commit 20ed94f818)
 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
 linux-5.10.y)
Change-Id: I06552d47d3d71f97da49385fccdad80ae65dba26
2022-05-06 20:54:07 +00:00
Sivasri Kumar, Vanka
812893becb Merge keystone/android12-5.10-keystone-qcom-release.101+ (49a1520) into msm-5.10
* refs/heads/tmp-49a1520:
  BACKPORT: media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
  FROMLIST: remoteproc: Use unbounded workqueue for recovery work
  UPSTREAM: xfrm: fix tunnel model fragmentation behavior
  ANDROID: GKI: Enable CRYPTO_DES
  ANDROID: GKI: set more vfs-only exports into their own namespace
  ANDROID: Split ANDROID_STRUCT_PADDING into separate configs
  ANDROID: selftests: incfs: skip large_file_test test is not enough free space
  ANDROID: selftests: incfs: Add -fno-omit-frame-pointer
  ANDROID: incremental-fs: limit mount stack depth
  ANDROID: GKI: Update symbols to abi_gki_aarch64_oplus
  ANDROID: vendor_hooks: Reduce pointless modversions CRC churn
  UPSTREAM: locking/lockdep: Avoid potential access of invalid memory in lock_class
  ANDROID: mm: Fix implicit declaration of function 'isolate_lru_page'
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: GKI: Add hook symbol to symbol list
  Revert "ANDROID: dm-bow: Protect Ranges fetched and erased from the RB tree"
  ANDROID: vendor_hooks: Add hooks to for free_unref_page_commit
  ANDROID: vendor_hooks: Add hooks to for alloc_contig_range
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hooks: Add hook in shrink_node_memcgs
  ANDROID: GKI: Add symbols to symbol list
  FROMGIT: iommu/iova: Improve 32-bit free space estimate
  ANDROID: export walk_page_range and swp_swap_info
  ANDROID: vendor_hooks: export shrink_slab
  ANDROID: usb: gadget: f_accessory: add compat_ioctl support
  UPSTREAM: sr9700: sanity check for packet length
  UPSTREAM: io_uring: return back safer resurrect
  UPSTREAM: Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
  UPSTREAM: usb: gadget: don't release an existing dev->buf
  UPSTREAM: usb: gadget: clear related members when goto fail
  UPSTREAM: usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
  UPSTREAM: usb: gadget: rndis: prevent integer overflow in rndis_set_response()
  FROMGIT: mm/migrate: fix race between lock page and clear PG_Isolated
  UPSTREAM: arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  UPSTREAM: arm64: Use the clearbhb instruction in mitigations
  UPSTREAM: KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
  UPSTREAM: arm64: Mitigate spectre style branch history side channels
  UPSTREAM: arm64: Do not include __READ_ONCE() block in assembly files
  UPSTREAM: KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
  UPSTREAM: arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
  UPSTREAM: arm64: Add percpu vectors for EL1
  Revert "BACKPORT: FROMLIST: scsi: core: Reserve one tag for the UFS driver"
  UPSTREAM: arm64: entry: Add macro for reading symbol addresses from the trampoline
  UPSTREAM: arm64: entry: Add vectors that have the bhb mitigation sequences
  UPSTREAM: arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
  UPSTREAM: arm64: entry: Allow the trampoline text to occupy multiple pages
  UPSTREAM: arm64: entry: Make the kpti trampoline's kpti sequence optional
  UPSTREAM: arm64: entry: Move trampoline macros out of ifdef'd section
  UPSTREAM: arm64: entry: Don't assume tramp_vectors is the start of the vectors
  UPSTREAM: arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
  UPSTREAM: arm64: entry: Move the trampoline data page before the text page
  UPSTREAM: arm64: entry: Free up another register on kpti's tramp_exit path
  UPSTREAM: arm64: entry: Make the trampoline cleanup optional
  UPSTREAM: arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit
  UPSTREAM: arm64: entry.S: Add ventry overflow sanity checks
  UPSTREAM: arm64: cpufeature: add HWCAP for FEAT_RPRES
  UPSTREAM: arm64: cpufeature: add HWCAP for FEAT_AFP
  UPSTREAM: arm64: add ID_AA64ISAR2_EL1 sys register
  UPSTREAM: arm64: Add HWCAP for self-synchronising virtual counter
  UPSTREAM: arm64: Add Cortex-X2 CPU part definition
  UPSTREAM: arm64: cputype: Add CPU implementor & types for the Apple M1 cores
  Linux 5.10.101
  iommu: Fix potential use-after-free during probe
  perf: Fix list corruption in perf_cgroup_switch()
  arm64: dts: imx8mq: fix lcdif port node
  scsi: lpfc: Reduce log messages seen after firmware download
  scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled
  can: isotp: fix error path in isotp_sendmsg() to unlock wait queue
  Makefile.extrawarn: Move -Wunaligned-access to W=1
  hwmon: (dell-smm) Speed up setting of fan speed
  phy: ti: Fix missing sentinel for clk_div_table
  speakup-dectlk: Restore pitch setting
  USB: serial: cp210x: add CPI Bulk Coin Recycler id
  USB: serial: cp210x: add NCR Retail IO box id
  USB: serial: ch341: add support for GW Instek USB2.0-Serial devices
  USB: serial: option: add ZTE MF286D modem
  USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320
  usb: raw-gadget: fix handling of dual-direction-capable endpoints
  usb: gadget: f_uac2: Define specific wTerminalType
  usb: gadget: rndis: check size of RNDIS_MSG_SET command
  USB: gadget: validate interface OS descriptor requests
  usb: gadget: udc: renesas_usb3: Fix host to USB_ROLE_NONE transition
  usb: dwc3: gadget: Prevent core from processing stale TRBs
  usb: ulpi: Call of_node_put correctly
  usb: ulpi: Move of_node_put to ulpi_dev_release
  net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup
  Revert "usb: dwc2: drd: fix soft connect when gadget is unconfigured"
  usb: dwc2: drd: fix soft connect when gadget is unconfigured
  eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX
  n_tty: wake up poll(POLLRDNORM) on receiving data
  vt_ioctl: add array_index_nospec to VT_ACTIVATE
  vt_ioctl: fix array_index_nospec in vt_setactivate
  net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister
  net: mscc: ocelot: fix mutex lock error during ethtool stats read
  ice: fix IPIP and SIT TSO offload
  ice: fix an error code in ice_cfg_phy_fec()
  dpaa2-eth: unregister the netdev before disconnecting from the PHY
  net: amd-xgbe: disable interrupts during pci removal
  tipc: rate limit warning for received illegal binding update
  net: mdio: aspeed: Add missing MODULE_DEVICE_TABLE
  veth: fix races around rq->rx_notify_masked
  net: fix a memleak when uncloning an skb dst and its metadata
  net: do not keep the dst cache when uncloning an skb dst and its metadata
  nfp: flower: fix ida_idx not being released
  ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path
  net: dsa: lantiq_gswip: don't use devres for mdiobus
  net: dsa: felix: don't use devres for mdiobus
  net: dsa: bcm_sf2: don't use devres for mdiobus
  net: dsa: ar9331: register the mdiobus under devres
  net: dsa: mv88e6xxx: don't use devres for mdiobus
  bonding: pair enable_port with slave_arr_updates
  gpio: sifive: use the correct register to read output values
  ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE
  drm/panel: simple: Assign data from panel_dpi_probe() correctly
  ixgbevf: Require large buffers for build_skb on 82599VF
  arm64: dts: meson-g12b-odroid-n2: fix typo 'dio2133'
  netfilter: ctnetlink: disable helper autoassign
  misc: fastrpc: avoid double fput() on failed usercopy
  drm/vc4: hdmi: Allow DBLCLK modes even if horz timing is odd.
  gpio: aggregator: Fix calling into sleeping GPIO controllers
  usb: f_fs: Fix use-after-free for epfile
  ARM: dts: imx7ulp: Fix 'assigned-clocks-parents' typo
  phy: xilinx: zynqmp: Fix bus width setting for SGMII
  ARM: dts: imx6qdl-udoo: Properly describe the SD card detect
  staging: fbtft: Fix error path in fbtft_driver_module_init()
  ARM: dts: meson8b: Fix the UART device-tree schema validation
  ARM: dts: meson8: Fix the UART device-tree schema validation
  ARM: dts: meson: Fix the UART compatible strings
  ARM: dts: Fix timer regression for beagleboard revision c
  drm/rockchip: vop: Correct RK3399 VOP register fields
  PM: s2idle: ACPI: Fix wakeup interrupts handling
  ACPI/IORT: Check node revision for PMCG resources
  nvme-tcp: fix bogus request completion when failing to send AER
  ARM: socfpga: fix missing RESET_CONTROLLER
  ARM: dts: Fix boot regression on Skomer
  ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group
  riscv: fix build with binutils 2.38
  KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow
  KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode
  KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS
  KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER
  KVM: eventfd: Fix false positive RCU usage warning
  net: stmmac: dwmac-sun8i: use return val of readl_poll_timeout()
  nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs
  perf: Always wake the parent event
  usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend
  PM: hibernate: Remove register_nosave_region_late()
  scsi: myrs: Fix crash in error case
  scsi: ufs: Treat link loss as fatal error
  scsi: pm8001: Fix bogus FW crash for maxcpus=1
  scsi: qedf: Fix refcount issue when LOGO is received during TMF
  scsi: qedf: Add stag_work to all the vports
  scsi: ufs: ufshcd-pltfrm: Check the return value of devm_kstrdup()
  scsi: target: iscsi: Make sure the np under each tpg is unique
  powerpc/fixmap: Fix VM debug warning on unmap
  net: sched: Clarify error message when qdisc kind is unknown
  drm: panel-orientation-quirks: Add quirk for the 1Netbook OneXPlayer
  x86/perf: Avoid warning for Arch LBR without XSAVE
  NFSv4 handle port presence in fs_location server string
  NFSv4 expose nfs_parse_server_name function
  NFSv4 remove zero number of fs_locations entries error check
  NFSv4.1: Fix uninitialised variable in devicenotify
  nfs: nfs4clinet: check the return value of kstrdup()
  NFSv4 only print the label when its queried
  NFS: change nfs_access_get_cached to only report the mask
  tracing: Propagate is_signed to expression
  drm/amdgpu: Set a suitable dev_info.gart_page_size
  NFSD: Fix offset type in I/O trace points
  NFSD: Clamp WRITE offsets
  NFS: Fix initialisation of nfs_client cl_flags field
  net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs
  net: phy: marvell: Fix RGMII Tx/Rx delays setting in 88e1121-compatible PHYs
  can: isotp: fix potential CAN frame reception race in isotp_rcv()
  mmc: sdhci-of-esdhc: Check for error num after setting mask
  ima: Do not print policy rule with inactive LSM labels
  ima: Allow template selection with ima_template[_fmt]= after ima_hash=
  ima: Remove ima_policy file before directory
  integrity: check the return value of audit_log_start()
  Linux 5.10.100
  tipc: improve size validations for received domain records
  crypto: api - Move cryptomgr soft dependency into algapi
  KVM: s390: Return error on SIDA memop on normal guest
  moxart: fix potential use-after-free on remove path
  Linux 5.10.99
  selftests: nft_concat_range: add test for reload with no element add/del
  cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning
  net: dsa: mt7530: make NET_DSA_MT7530 select MEDIATEK_GE_PHY
  ext4: fix incorrect type issue during replay_del_range
  ext4: fix error handling in ext4_fc_record_modified_inode()
  ext4: fix error handling in ext4_restore_inline_data()
  ext4: modify the logic of ext4_mb_new_blocks_simple
  ext4: prevent used blocks from being allocated during fast commit replay
  EDAC/xgene: Fix deferred probing
  EDAC/altera: Fix deferred probing
  x86/perf: Default set FREEZE_ON_SMI for all
  perf/x86/intel/pt: Fix crash with stop filters in single-range mode
  perf stat: Fix display of grouped aliased events
  fbcon: Add option to enable legacy hardware acceleration
  Revert "fbcon: Disable accelerated scrolling"
  rtc: cmos: Evaluate century appropriate
  tools/resolve_btfids: Do not print any commands when building silently
  selftests: futex: Use variable MAKE instead of make
  selftests/exec: Remove pipe from TEST_GEN_FILES
  bpf: Use VM_MAP instead of VM_ALLOC for ringbuf
  gve: fix the wrong AdminQ buffer queue index check
  nfsd: nfsd4_setclientid_confirm mistakenly expires confirmed client.
  scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe
  pinctrl: bcm2835: Fix a few error paths
  pinctrl: intel: fix unexpected interrupt
  pinctrl: intel: Fix a glitch when updating IRQ flags on a preconfigured line
  ASoC: max9759: fix underflow in speaker_gain_control_put()
  ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name
  ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes
  ASoC: fsl: Add missing error handling in pcm030_fabric_probe
  drm/i915/overlay: Prevent divide by zero bugs in scaling
  net: stmmac: ensure PTP time register reads are consistent
  net: stmmac: dump gmac4 DMA registers correctly
  net: macsec: Verify that send_sci is on when setting Tx sci explicitly
  net: macsec: Fix offload support for NETDEV_UNREGISTER event
  net: ieee802154: Return meaningful error codes from the netlink helpers
  net: ieee802154: ca8210: Stop leaking skb's
  net: ieee802154: mcr20a: Fix lifs/sifs periods
  net: ieee802154: hwsim: Ensure proper channel selection at probe time
  spi: uniphier: fix reference count leak in uniphier_spi_probe()
  spi: meson-spicc: add IRQ check in meson_spicc_probe
  spi: mediatek: Avoid NULL pointer crash in interrupt
  spi: bcm-qspi: check for valid cs before applying chip select
  iommu/amd: Fix loop timeout issue in iommu_ga_log_enable()
  iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping()
  RDMA/mlx4: Don't continue event handler after memory allocation failure
  RDMA/siw: Fix broken RDMA Read Fence/Resume logic.
  IB/rdmavt: Validate remote_addr during loopback atomic tests
  RDMA/ucma: Protect mc during concurrent multicast leaves
  RDMA/cma: Use correct address when leaving multicast group
  memcg: charge fs_context and legacy_fs_context
  Revert "ASoC: mediatek: Check for error clk pointer"
  IB/hfi1: Fix AIP early init panic
  dma-buf: heaps: Fix potential spectre v1 gadget
  block: bio-integrity: Advance seed correctly for larger interval sizes
  mm/kmemleak: avoid scanning potential huge holes
  mm/pgtable: define pte_index so that preprocessor could recognize it
  mm/debug_vm_pgtable: remove pte entry from the page table
  nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts()
  drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina panels
  drm/nouveau: fix off by one in BIOS boundary checking
  btrfs: fix deadlock between quota disable and qgroup rescan worker
  ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after reboot from Windows
  ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer chipset)
  ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 quirks
  ALSA: hda/realtek: Add quirk for ASUS GU603
  ALSA: hda: realtek: Fix race at concurrent COEF updates
  ALSA: hda: Fix UAF of leds class devs at unbinding
  ALSA: usb-audio: Correct quirk for VF0770
  ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx()
  ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx()
  ASoC: ops: Reject out of bounds values in snd_soc_put_volsw()
  audit: improve audit queue handling when "audit=1" on cmdline
  selinux: fix double free of cond_list on error paths
  Revert "perf: Fix perf_event_read_local() time"
  Linux 5.10.98
  Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" again
  Revert "drm/vc4: hdmi: Make sure the device is powered with CEC"
  Linux 5.10.97
  tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data()
  af_packet: fix data-race in packet_setsockopt / packet_setsockopt
  cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask()
  rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink()
  net: sched: fix use-after-free in tc_new_tfilter()
  fanotify: Fix stale file descriptor in copy_event_to_user()
  net: amd-xgbe: Fix skb data length underflow
  net: amd-xgbe: ensure to reset the tx_timer_active flag
  ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback
  net/mlx5: E-Switch, Fix uninitialized variable modact
  net/mlx5: Use del_timer_sync in fw reset flow of halting poll
  net/mlx5e: Fix handling of wrong devices during bond netevent
  cgroup-v1: Require capabilities to set release_agent
  drm/vc4: hdmi: Make sure the device is powered with CEC
  x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN
  x86/mce: Add Xeon Sapphire Rapids to list of CPUs that support PPIN
  psi: Fix uaf issue when psi trigger is destroyed while being polled
  KVM: x86: Forcibly leave nested virt when SMM state is toggled
  Revert "drivers: bus: simple-pm-bus: Add support for probing simple bus only devices"
  net: ipa: prevent concurrent replenish
  net: ipa: use a bitmap for endpoint replenish_enabled
  net: ipa: fix atomic update in ipa_endpoint_replenish()
  PCI: pciehp: Fix infinite loop in IRQ handler upon power fault
  Linux 5.10.96
  mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip()
  block: Fix wrong offset in bio_truncate()
  fsnotify: invalidate dcache before IN_DELETE event
  usr/include/Makefile: add linux/nfc.h to the compile-test coverage
  dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config
  net: bridge: vlan: fix memory leak in __allowed_ingress
  ipv4: remove sparse error in ip_neigh_gw4()
  ipv4: tcp: send zero IPID in SYNACK messages
  ipv4: raw: lock the socket in raw_bind()
  net: bridge: vlan: fix single net device option dumping
  Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values"
  net: hns3: handle empty unknown interrupt for VF
  net: cpsw: Properly initialise struct page_pool_params
  yam: fix a memory leak in yam_siocdevprivate()
  drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc
  drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy
  video: hyperv_fb: Fix validation of screen resolution
  ibmvnic: don't spin in tasklet
  ibmvnic: init ->running_cap_crqs early
  ipv4: fix ip option filtering for locally generated fragments
  net: ipv4: Fix the warning for dereference
  net: ipv4: Move ip_options_fragment() out of loop
  powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending
  hwmon: (lm90) Mark alert as broken for MAX6654
  efi/libstub: arm64: Fix image check alignment at entry
  rxrpc: Adjust retransmission backoff
  octeontx2-pf: Forward error codes to VF
  phylib: fix potential use-after-free
  net: phy: broadcom: hook up soft_reset for BCM54616S
  sched/pelt: Relax the sync of util_sum with util_avg
  perf: Fix perf_event_read_local() time
  kernel: delete repeated words in comments
  netfilter: conntrack: don't increment invalid counter on NF_REPEAT
  powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06
  NFS: Ensure the server has an up to date ctime before renaming
  NFS: Ensure the server has an up to date ctime before hardlinking
  ipv6: annotate accesses to fn->fn_sernum
  drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable
  drm/msm/dsi: Fix missing put_device() call in dsi_get_phy
  drm/msm: Fix wrong size calculation
  net-procfs: show net devices bound packet types
  NFSv4: nfs_atomic_open() can race when looking up a non-regular file
  NFSv4: Handle case where the lookup of a directory fails
  hwmon: (lm90) Reduce maximum conversion rate for G781
  ipv4: avoid using shared IP generator for connected sockets
  ping: fix the sk_bound_dev_if match in ping_lookup
  hwmon: (lm90) Mark alert as broken for MAX6680
  hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649
  net: fix information leakage in /proc/net/ptype
  ipv6_tunnel: Rate limit warning messages
  scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put()
  rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev
  rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev
  usb: roles: fix include/linux/usb/role.h compile issue
  i40e: fix unsigned stat widths
  i40e: Fix for failed to init adminq while VF reset
  i40e: Fix queues reservation for XDP
  i40e: Fix issue when maximum queues is exceeded
  i40e: Increase delay to 1 s after global EMP reset
  powerpc/32: Fix boot failure with GCC latent entropy plugin
  powerpc/32s: Fix kasan_init_region() for KASAN
  powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs
  x86/MCE/AMD: Allow thresholding interface updates after init
  sched/membarrier: Fix membarrier-rseq fence command missing from query bitmask
  ocfs2: fix a deadlock when commit trans
  jbd2: export jbd2_journal_[grab|put]_journal_head
  ucsi_ccg: Check DEV_INT bit only when starting CCG4
  usb: typec: tcpm: Do not disconnect while receiving VBUS off
  USB: core: Fix hang in usb_kill_urb by adding memory barriers
  usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS
  usb: common: ulpi: Fix crash in ulpi_match()
  usb: xhci-plat: fix crash when suspend if remote wake enable
  usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge
  tty: Add support for Brainboxes UC cards.
  tty: n_gsm: fix SW flow control encoding/handling
  serial: stm32: fix software flow control transfer
  serial: 8250: of: Fix mapped region size when using reg-offset property
  netfilter: nft_payload: do not update layer 4 checksum when mangling fragments
  arm64: errata: Fix exec handling in erratum 1418040 workaround
  KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS
  drm/etnaviv: relax submit size limits
  perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX
  Revert "KVM: SVM: avoid infinite loop on NPF from bad address"
  fsnotify: fix fsnotify hooks in pseudo filesystems
  ceph: set pool_ns in new inode layout for async creates
  ceph: properly put ceph_string reference after async create attempt
  tracing: Don't inc err_log entry count if entry allocation fails
  tracing/histogram: Fix a potential memory leak for kstrdup()
  PM: wakeup: simplify the output logic of pm_show_wakelocks()
  efi: runtime: avoid EFIv2 runtime services on Apple x86 machines
  udf: Fix NULL ptr deref when converting from inline format
  udf: Restore i_lenAlloc when inode expansion fails
  scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices
  bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack()
  s390/hypfs: include z/VM guests with access control group set
  s390/module: fix loading modules with a lot of relocations
  net: stmmac: skip only stmmac_ptp_register when resume from suspend
  net: sfp: ignore disabled SFP node
  media: venus: core: Drop second v4l2 device unregister
  Bluetooth: refactor malicious adv data check
  ANDROID: Fix CRC issue up with xfrm headers in 5.10.94
  Revert "xfrm: rate limit SA mapping change message to user space"
  Revert "clocksource: Reduce clocksource-skew threshold"
  Revert "clocksource: Avoid accidental unstable marking of clocksources"
  Linux 5.10.95
  drm/vmwgfx: Fix stale file descriptors on failed usercopy
  select: Fix indefinitely sleeping task in poll_schedule_timeout()
  KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU
  rcu: Tighten rcu_advance_cbs_nowake() checks
  bnx2x: Invalidate fastpath HSI version for VFs
  bnx2x: Utilize firmware 7.13.21.0
  drm/i915: Flush TLBs before releasing backing store
  Linux 5.10.94
  scripts: sphinx-pre-install: Fix ctex support on Debian
  scripts: sphinx-pre-install: add required ctex dependency
  ath10k: Fix the MTU size on QCA9377 SDIO
  mtd: nand: bbt: Fix corner case in bad block table handling
  lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test
  mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault
  lib82596: Fix IRQ check in sni_82596_probe
  scripts/dtc: dtx_diff: remove broken example from help text
  dt-bindings: watchdog: Require samsung,syscon-phandle for Exynos7
  dt-bindings: display: meson-vpu: Add missing amlogic,canvas property
  dt-bindings: display: meson-dw-hdmi: add missing sound-name-prefix property
  net: mscc: ocelot: fix using match before it is set
  net: sfp: fix high power modules without diagnostic monitoring
  net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config()
  bcmgenet: add WOL IRQ check
  net_sched: restore "mpu xxx" handling
  net: bonding: fix bond_xmit_broadcast return value error bug
  arm64: dts: qcom: msm8996: drop not documented adreno properties
  devlink: Remove misleading internal_flags from health reporter dump
  perf probe: Fix ppc64 'perf probe add events failed' case
  dmaengine: at_xdmac: Fix at_xdmac_lld struct definition
  dmaengine: at_xdmac: Fix lld view setting
  dmaengine: at_xdmac: Fix concurrency over xfers_list
  dmaengine: at_xdmac: Print debug message after realeasing the lock
  dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending
  dmaengine: at_xdmac: Don't start transactions at tx_submit level
  perf script: Fix hex dump character output
  libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route()
  gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst()
  xfrm: Don't accidentally set RTO_ONLINK in decode_session4()
  netns: add schedule point in ops_exit_list()
  inet: frags: annotate races around fqdir->dead and fqdir->high_thresh
  taskstats: Cleanup the use of task->exit_code
  virtio_ring: mark ring unused on error
  vdpa/mlx5: Fix wrong configuration of virtio_version_1_0
  rtc: pxa: fix null pointer dereference
  HID: vivaldi: fix handling devices not using numbered reports
  net: axienet: increase default TX ring size to 128
  net: axienet: fix for TX busy handling
  net: axienet: fix number of TX ring slots for available check
  net: axienet: Fix TX ring slot available check
  net: axienet: limit minimum TX ring size
  net: axienet: add missing memory barriers
  net: axienet: reset core on initialization prior to MDIO access
  net: axienet: Wait for PhyRstCmplt after core reset
  net: axienet: increase reset timeout
  net/smc: Fix hung_task when removing SMC-R devices
  clk: si5341: Fix clock HW provider cleanup
  clk: Emit a stern warning with writable debugfs enabled
  af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress
  f2fs: fix to reserve space for IO align feature
  f2fs: compress: fix potential deadlock of compress file
  parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
  net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module
  net/fsl: xgmac_mdio: Add workaround for erratum A-009885
  ipv4: avoid quadratic behavior in netns dismantle
  ipv4: update fib_info_cnt under spinlock protection
  perf evsel: Override attr->sample_period for non-libpfm4 events
  xdp: check prog type before updating BPF link
  bpftool: Remove inclusion of utilities.mak from Makefiles
  block: Fix fsync always failed if once failed
  powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses
  powerpc/cell: Fix clang -Wimplicit-fallthrough warning
  Revert "net/mlx5: Add retry mechanism to the command entry index allocation"
  dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK
  RDMA/rxe: Fix a typo in opcode name
  RDMA/hns: Modify the mapping attribute of doorbell to device
  dmaengine: uniphier-xdmac: Fix type of address variables
  scsi: core: Show SCMD_LAST in text form
  Bluetooth: hci_sync: Fix not setting adv set duration
  Documentation: fix firewire.rst ABI file path error
  Documentation: refer to config RANDOMIZE_BASE for kernel address-space randomization
  Documentation: ACPI: Fix data node reference documentation
  Documentation: dmaengine: Correctly describe dmatest with channel unset
  media: correct MEDIA_TEST_SUPPORT help text
  drm/vc4: hdmi: Make sure the device is powered with CEC
  media: rcar-csi2: Optimize the selection PHTW register
  can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message
  firmware: Update Kconfig help text for Google firmware
  of: base: Improve argument length mismatch error
  drm/radeon: fix error handling in radeon_driver_open_kms
  ext4: don't use the orphan list when migrating an inode
  ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits'
  ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal
  ext4: fast commit may miss tracking unwritten range during ftruncate
  ext4: use ext4_ext_remove_space() for fast commit replay delete range
  ext4: Fix BUG_ON in ext4_bread when write quota data
  ext4: set csum seed in tmp inode while migrating to extents
  ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE
  ext4: initialize err_blk before calling __ext4_get_inode_loc
  ext4: fix a possible ABBA deadlock due to busy PA
  ext4: make sure quota gets properly shutdown on error
  ext4: make sure to reset inode lockdep class when quota enabling fails
  btrfs: respect the max size in the header when activating swap file
  btrfs: check the root node for uptodate before returning it
  btrfs: fix deadlock between quota enable and other quota operations
  xfrm: fix policy lookup for ipv6 gre packets
  PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device
  PCI: pci-bridge-emul: Correctly set PCIe capabilities
  PCI: pci-bridge-emul: Fix definitions of reserved bits
  PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space
  PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only
  PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors
  PCI: xgene: Fix IB window setup
  powerpc/64s/radix: Fix huge vmap false positive
  parisc: Fix lpa and lpa_user defines
  drm/bridge: analogix_dp: Make PSR-exit block less
  drm/nouveau/kms/nv04: use vzalloc for nv04_display
  drm/etnaviv: limit submit sizes
  device property: Fix fwnode_graph_devcon_match() fwnode leak
  s390/mm: fix 2KB pgtable release race
  iwlwifi: mvm: Increase the scan timeout guard to 30 seconds
  tracing/kprobes: 'nmissed' not showed correctly for kretprobe
  cputime, cpuacct: Include guest time in user time in cpuacct.stat
  serial: Fix incorrect rs485 polarity on uart open
  fuse: Pass correct lend value to filemap_write_and_wait_range()
  xen/gntdev: fix unmap notification order
  spi: uniphier: Fix a bug that doesn't point to private data correctly
  tpm: fix NPE on probe for missing device
  ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers
  crypto: caam - replace this_cpu_ptr with raw_cpu_ptr
  crypto: stm32/crc32 - Fix kernel BUG triggered in probe()
  crypto: omap-aes - Fix broken pm_runtime_and_get() usage
  rpmsg: core: Clean up resources on announce_create failure.
  phy: mediatek: Fix missing check in mtk_mipi_tx_probe
  ASoC: mediatek: mt8183: fix device_node leak
  ASoC: mediatek: mt8173: fix device_node leak
  scsi: sr: Don't use GFP_DMA
  MIPS: Octeon: Fix build errors using clang
  i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters
  irqchip/gic-v4: Disable redistributors' view of the VPE table at boot time
  MIPS: OCTEON: add put_device() after of_find_device_by_node()
  udf: Fix error handling in udf_new_inode()
  powerpc/fadump: Fix inaccurate CPU state info in vmcore generated with panic
  powerpc: handle kdump appropriately with crash_kexec_post_notifiers option
  selftests/powerpc/spectre_v2: Return skip code when miss_percent is high
  powerpc/40x: Map 32Mbytes of memory at startup
  MIPS: Loongson64: Use three arguments for slti
  ALSA: seq: Set upper limit of processed events
  scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup
  dm: fix alloc_dax error handling in alloc_dev
  nvmem: core: set size for sysfs bin file
  w1: Misuse of get_user()/put_user() reported by sparse
  KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST
  KVM: PPC: Book3S: Suppress warnings when allocating too big memory slots
  powerpc/powermac: Add missing lockdep_register_key()
  clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB
  i2c: mpc: Correct I2C reset procedure
  powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING
  i2c: i801: Don't silently correct invalid transfer size
  powerpc/watchdog: Fix missed watchdog reset due to memory ordering race
  powerpc/btext: add missing of_node_put
  powerpc/cell: add missing of_node_put
  powerpc/powernv: add missing of_node_put
  powerpc/6xx: add missing of_node_put
  x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs
  parisc: Avoid calling faulthandler_disabled() twice
  random: do not throw away excess input to crng_fast_load
  serial: core: Keep mctrl register state and cached copy in sync
  serial: pl010: Drop CR register reset on set_termios
  regulator: qcom_smd: Align probe function with rpmh-regulator
  net: gemini: allow any RGMII interface mode
  net: phy: marvell: configure RGMII delays for 88E1118
  mlxsw: pci: Avoid flow control for EMAD packets
  dm space map common: add bounds check to sm_ll_lookup_bitmap()
  dm btree: add a defensive bounds check to insert_at()
  mac80211: allow non-standard VHT MCS-10/11
  net: mdio: Demote probed message to debug print
  btrfs: remove BUG_ON(!eie) in find_parent_nodes
  btrfs: remove BUG_ON() in find_parent_nodes()
  ACPI: battery: Add the ThinkPad "Not Charging" quirk
  amdgpu/pm: Make sysfs pm attributes as read-only for VFs
  drm/amdgpu: fixup bad vram size on gmc v8
  ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5
  ACPICA: Fix wrong interpretation of PCC address
  ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R()
  ACPICA: Utilities: Avoid deleting the same object twice in a row
  ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions
  jffs2: GC deadlock reading a page that is used in jffs2_write_begin()
  drm/etnaviv: consider completed fence seqno in hang check
  xfrm: rate limit SA mapping change message to user space
  Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES
  ath11k: Fix napi related hang
  um: registers: Rename function names to avoid conflicts and build problems
  iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ
  iwlwifi: mvm: Fix calculation of frame length
  iwlwifi: remove module loading failure message
  iwlwifi: fix leaks/bad data after failed firmware load
  PM: AVS: qcom-cpr: Use div64_ul instead of do_div
  rtw88: 8822c: update rx settings to prevent potential hw deadlock
  ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream
  usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0
  cpufreq: Fix initialization of min and max frequency QoS requests
  PM: runtime: Add safety net to supplier device release
  arm64: tegra: Adjust length of CCPLEX cluster MMIO region
  arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus
  audit: ensure userspace is penalized the same as the kernel when under pressure
  mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO
  media: saa7146: hexium_gemini: Fix a NULL pointer dereference in hexium_attach()
  media: igorplugusb: receiver overflow should be reported
  HID: quirks: Allow inverting the absolute X/Y values
  bpf: Do not WARN in bpf_warn_invalid_xdp_action()
  net: bonding: debug: avoid printing debug logs when bond is not notifying peers
  x86/mce: Mark mce_read_aux() noinstr
  x86/mce: Mark mce_end() noinstr
  x86/mce: Mark mce_panic() noinstr
  x86/mce: Allow instrumentation during task work queueing
  ath11k: Avoid false DEADLOCK warning reported by lockdep
  selftests/ftrace: make kprobe profile testcase description unique
  gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock
  net: phy: prefer 1000baseT over 1000baseKX
  net-sysfs: update the queue counts in the unregistration path
  ath10k: Fix tx hanging
  ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work
  iwlwifi: mvm: avoid clearing a just saved session protection id
  iwlwifi: mvm: synchronize with FW after multicast commands
  thunderbolt: Runtime PM activate both ends of the device link
  media: m920x: don't use stack on USB reads
  media: saa7146: hexium_orion: Fix a NULL pointer dereference in hexium_attach()
  media: rcar-vin: Update format alignment constraints
  media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds.
  drm: rcar-du: Fix CRTC timings when CMM is used
  x86/mm: Flush global TLB when switching to trampoline page-table
  floppy: Add max size check for user space request
  usb: uhci: add aspeed ast2600 uhci support
  arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node
  ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD win
  ACPI / x86: Allow specifying acpi_device_override_status() quirks by path
  ACPI: Change acpi_device_always_present() into acpi_device_override_status()
  ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table
  media: venus: avoid calling core_clk_setrate() concurrently during concurrent video sessions
  ath11k: Avoid NULL ptr access during mgmt tx cleanup
  rsi: Fix out-of-bounds read in rsi_read_pkt()
  rsi: Fix use-after-free in rsi_rx_done_handler()
  mwifiex: Fix skb_over_panic in mwifiex_usb_recv()
  crypto: jitter - consider 32 LSB for APT
  HSI: core: Fix return freed object in hsi_new_client
  gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use
  tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown()
  drm/bridge: megachips: Ensure both bridges are probed before registration
  mlxsw: pci: Add shutdown method in PCI driver
  soc: ti: pruss: fix referenced node in error message
  drm/amdgpu/display: set vblank_disable_immediate for DC
  drm/amd/display: check top_pipe_to_program pointer
  ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART
  EDAC/synopsys: Use the quirk for version instead of ddr version
  media: b2c2: Add missing check in flexcop_pci_isr:
  HID: apple: Do not reset quirks when the Fn key is not found
  drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L
  usb: gadget: f_fs: Use stream_open() for endpoint files
  ath11k: Fix crash caused by uninitialized TX ring
  media: atomisp: handle errors at sh_css_create_isp_params()
  batman-adv: allow netlink usage in unprivileged containers
  ARM: shmobile: rcar-gen2: Add missing of_node_put()
  media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure
  media: atomisp: set per-device's default mode
  media: atomisp: fix try_fmt logic
  drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR
  drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR
  ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply
  selftests/bpf: Fix bpf_object leak in skb_ctx selftest
  drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y
  fs: dlm: filter user dlm messages for kernel locks
  Bluetooth: Fix debugfs entry leak in hci_register_dev()
  ARM: dts: omap3-n900: Fix lp5523 for multi color
  of: base: Fix phandle argument length mismatch error message
  clk: bm1880: remove kfrees on static allocations
  ASoC: fsl_asrc: refine the check of available clock divider
  RDMA/cxgb4: Set queue pair state when being queried
  ASoC: fsl_mqs: fix MODULE_ALIAS
  powerpc/xive: Add missing null check after calling kmalloc
  mips: bcm63xx: add support for clk_set_parent()
  mips: lantiq: add support for clk_set_parent()
  arm64: tegra: Remove non existent Tegra194 reset
  arm64: tegra: Fix Tegra194 HDA {clock,reset}-names ordering
  counter: stm32-lptimer-cnt: remove iio counter abi
  misc: lattice-ecp3-config: Fix task hung when firmware load failed
  ASoC: samsung: idma: Check of ioremap return value
  ASoC: mediatek: Check for error clk pointer
  phy: uniphier-usb3ss: fix unintended writing zeros to PHY register
  scsi: block: pm: Always set request queue runtime active in blk_post_runtime_resume()
  iommu/iova: Fix race between FQ timeout and teardown
  ASoC: Intel: catpt: Test dmaengine_submit() result before moving on
  iommu/amd: Restore GA log/tail pointer on host resume
  iommu/amd: Remove iommu_init_ga()
  dmaengine: pxa/mmp: stop referencing config->slave_id
  mips: fix Kconfig reference to PHYS_ADDR_T_64BIT
  mips: add SYS_HAS_CPU_MIPS64_R5 config for MIPS Release 5 support
  clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system enter shell
  of: unittest: 64 bit dma address test requires arch support
  of: unittest: fix warning on PowerPC frame size warning
  ASoC: rt5663: Handle device_property_read_u32_array error codes
  RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry
  RDMA/core: Let ib_find_gid() continue search even after empty entry
  powerpc/powermac: Add additional missing lockdep_register_key()
  PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity()
  RDMA/qedr: Fix reporting max_{send/recv}_wr attrs
  scsi: ufs: Fix race conditions related to driver data
  iommu/io-pgtable-arm: Fix table descriptor paddr formatting
  openrisc: Add clone3 ABI wrapper
  binder: fix handling of error during copy
  char/mwave: Adjust io port register size
  ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID
  ALSA: oss: fix compile error when OSS_DEBUG is enabled
  clocksource: Avoid accidental unstable marking of clocksources
  clocksource: Reduce clocksource-skew threshold
  powerpc/32s: Fix shift-out-of-bounds in KASAN init
  powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an overflown PMC
  powerpc/irq: Add helper to set regs->softe
  powerpc/perf: move perf irq/nmi handling details into traps.c
  powerpc/perf: MMCR0 control for PMU registers under PMCC=00
  powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C
  dt-bindings: thermal: Fix definition of cooling-maps contribution property
  ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA
  powerpc/prom_init: Fix improper check of prom_getprop()
  clk: imx8mn: Fix imx8mn_clko1_sels
  scsi: pm80xx: Update WARN_ON check in pm8001_mpi_build_cmd()
  RDMA/hns: Validate the pkey index
  RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with pending cmd-bit"
  ALSA: hda: Add missing rwsem around snd_ctl_remove() calls
  ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls
  ALSA: jack: Add missing rwsem around snd_ctl_remove() calls
  ext4: avoid trim error on fs with small groups
  net: mcs7830: handle usb read errors properly
  iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing()
  pcmcia: fix setting of kthread task states
  can: xilinx_can: xcan_probe(): check for error irq
  can: softing: softing_startstop(): fix set but not used variable warning
  tpm_tis: Fix an error handling path in 'tpm_tis_core_init()'
  tpm: add request_locality before write TPM_INT_ENABLE
  can: mcp251xfd: add missing newline to printed strings
  regmap: Call regmap_debugfs_exit() prior to _init()
  netrom: fix api breakage in nr_setsockopt()
  ax25: uninitialized variable in ax25_setsockopt()
  spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe
  Bluetooth: L2CAP: uninitialized variables in l2cap_sock_setsockopt()
  lib/mpi: Add the return value check of kcalloc()
  net/mlx5: Set command entry semaphore up once got index free
  Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels"
  net/mlx5e: Don't block routes with nexthop objects in SW
  net/mlx5e: Fix page DMA map/unmap attributes
  debugfs: lockdown: Allow reading debugfs files that are not world readable
  HID: hid-uclogic-params: Invalid parameter check in uclogic_params_frame_init_v1_buttonpad
  HID: hid-uclogic-params: Invalid parameter check in uclogic_params_huion_init
  HID: hid-uclogic-params: Invalid parameter check in uclogic_params_get_str_desc
  HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init
  usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe
  Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe
  Bluetooth: hci_bcm: Check for error irq
  fsl/fman: Check for null pointer after calling devm_ioremap
  staging: greybus: audio: Check null pointer
  rocker: fix a sleeping in atomic bug
  ppp: ensure minimum packet size in ppp_write()
  netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone
  bpf: Fix SO_RCVBUF/SO_SNDBUF handling in _bpf_setsockopt().
  bpf: Don't promote bogus looking registers after null check.
  netfilter: ipt_CLUSTERIP: fix refcount leak in clusterip_tg_check()
  power: reset: mt6397: Check for null res pointer
  pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in nonstatic_find_mem_region()
  pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in __nonstatic_find_io_region()
  ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes
  x86/mce/inject: Avoid out-of-bounds write when setting flags
  hwmon: (mr75203) fix wrong power-up delay value
  x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS
  Bluetooth: hci_qca: Stop IBS timer during BT OFF
  software node: fix wrong node passed to find nargs_prop
  backlight: qcom-wled: Respect enabled-strings in set_brightness
  backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion
  backlight: qcom-wled: Override default length with qcom,enabled-strings
  backlight: qcom-wled: Fix off-by-one maximum with default num_strings
  backlight: qcom-wled: Pass number of elements to read to read_u32_array
  backlight: qcom-wled: Validate enabled string indices in DT
  bpftool: Enable line buffering for stdout
  Bluetooth: L2CAP: Fix using wrong mode
  um: virtio_uml: Fix time-travel external time propagation
  um: fix ndelay/udelay defines
  selinux: fix potential memleak in selinux_add_opt()
  mmc: meson-mx-sdio: add IRQ check
  mmc: meson-mx-sdhc: add IRQ check
  iwlwifi: mvm: test roc running status bits before removing the sta
  iwlwifi: mvm: fix 32-bit build in FTM
  ARM: dts: armada-38x: Add generic compatible to UART nodes
  arm64: dts: marvell: cn9130: enable CP0 GPIO controllers
  arm64: dts: marvell: cn9130: add GPIO and SPI aliases
  usb: ftdi-elan: fix memory leak on device disconnect
  ARM: 9159/1: decompressor: Avoid UNPREDICTABLE NOP encoding
  xfrm: state and policy should fail if XFRMA_IF_ID 0
  xfrm: interface with if_id 0 should return error
  media: hantro: Fix probe func error path
  drm/tegra: vic: Fix DMA API misuse
  drm/bridge: ti-sn65dsi86: Set max register for regmap
  drm/msm/dpu: fix safe status debugfs file
  arm64: dts: qcom: ipq6018: Fix gpio-ranges property
  arm64: dts: qcom: c630: Fix soundcard setup
  ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan()
  media: coda/imx-vdoa: Handle dma_set_coherent_mask error codes
  media: msi001: fix possible null-ptr-deref in msi001_probe()
  media: dw2102: Fix use after free
  ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors
  ath11k: Fix deleting uninitialized kernel timer during fragment cache flush
  crypto: stm32 - Revert broken pm_runtime_resume_and_get changes
  crypto: stm32/cryp - fix bugs and crash in tests
  crypto: stm32/cryp - fix lrw chaining mode
  crypto: stm32/cryp - fix double pm exit
  crypto: stm32/cryp - check early input data
  crypto: stm32/cryp - fix xts and race condition in crypto_engine requests
  crypto: stm32/cryp - fix CTR counter carry
  crypto: stm32 - Fix last sparse warning in stm32_cryp_check_ctr_counter
  selftests: harness: avoid false negatives if test has no ASSERTs
  selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST
  x86/uaccess: Move variable into switch case statement
  xfrm: fix a small bug in xfrm_sa_len()
  mwifiex: Fix possible ABBA deadlock
  rcu/exp: Mark current CPU as exp-QS in IPI loop second pass
  drm/msm/dp: displayPort driver need algorithm rational
  sched/rt: Try to restart rt period timer when rt runtime exceeded
  wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma
  media: si2157: Fix "warm" tuner state detection
  media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach()
  media: dib8000: Fix a memleak in dib8000_init()
  arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1
  arm64: lib: Annotate {clear, copy}_page() as position-independent
  bpf: Remove config check to enable bpf support for branch records
  bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD)
  bpf: Adjust BTF log size limit.
  sched/fair: Fix per-CPU kthread and wakee stacking for asym CPU capacity
  sched/fair: Fix detection of per-CPU kthreads waking a task
  Bluetooth: btmtksdio: fix resume failure
  staging: rtl8192e: rtllib_module: fix error handle case in alloc_rtllib()
  staging: rtl8192e: return error code from rtllib_softmac_init()
  floppy: Fix hang in watchdog when disk is ejected
  serial: amba-pl011: do not request memory region twice
  tty: serial: uartlite: allow 64 bit address
  arm64: dts: ti: k3-j7200: Correct the d-cache-sets info
  arm64: dts: ti: k3-j721e: Fix the L2 cache sets
  arm64: dts: ti: k3-j7200: Fix the L2 cache sets
  drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms()
  drm/amdgpu: Fix a NULL pointer dereference in amdgpu_connector_lcd_native_mode()
  thermal/drivers/imx8mm: Enable ADC when enabling monitor
  ACPI: EC: Rework flushing of EC work while suspended to idle
  cgroup: Trace event cgroup id fields should be u64
  arm64: dts: qcom: msm8916: fix MMC controller aliases
  netfilter: bridge: add support for pppoe filtering
  thermal/drivers/imx: Implement runtime PM support
  media: venus: core: Fix a resource leak in the error handling path of 'venus_probe()'
  media: venus: core: Fix a potential NULL pointer dereference in an error handling path
  media: venus: core, venc, vdec: Fix probe dependency error
  media: venus: pm_helpers: Control core power domain manually
  media: coda: fix CODA960 JPEG encoder buffer overflow
  media: mtk-vcodec: call v4l2_m2m_ctx_release first when file is released
  media: si470x-i2c: fix possible memory leak in si470x_i2c_probe()
  media: imx-pxp: Initialize the spinlock prior to using it
  media: rcar-csi2: Correct the selection of hsfreqrange
  mfd: atmel-flexcom: Use .resume_noirq
  mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP
  tty: serial: atmel: Call dma_async_issue_pending()
  tty: serial: atmel: Check return code of dmaengine_submit()
  arm64: dts: ti: k3-j721e: correct cache-sets info
  ath11k: Use host CE parameters for CE interrupts configuration
  crypto: qat - fix undetected PFVF timeout in ACK loop
  crypto: qat - make pfvf send message direction agnostic
  crypto: qat - remove unnecessary collision prevention step in PFVF
  crypto: qat - fix spelling mistake: "messge" -> "message"
  ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 disco
  mtd: hyperbus: rpc-if: fix bug in rpcif_hb_remove
  crypto: qce - fix uaf on qce_skcipher_register_one
  crypto: qce - fix uaf on qce_ahash_register_one
  media: dmxdev: fix UAF when dvb_register_device() fails
  arm64: dts: renesas: cat875: Add rx/tx delays
  drm/vboxvideo: fix a NULL vs IS_ERR() check
  fs: dlm: fix build with CONFIG_IPV6 disabled
  tee: fix put order in teedev_close_context()
  ath11k: reset RSN/WPA present state for open BSS
  ath11k: clear the keys properly via DISABLE_KEY
  ath11k: Fix ETSI regd with weather radar overlap
  Bluetooth: stop proccessing malicious adv data
  memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails
  fs: dlm: don't call kernel_getpeername() in error_report()
  fs: dlm: use sk->sk_socket instead of con->sock
  arm64: dts: meson-gxbb-wetek: fix missing GPIO binding
  arm64: dts: meson-gxbb-wetek: fix HDMI in early boot
  arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+
  arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name
  media: aspeed: Update signal status immediately to ensure sane hw state
  media: em28xx: fix memory leak in em28xx_init_dev
  media: aspeed: fix mode-detect always time out at 2nd run
  media: atomisp: fix uninitialized bug in gmin_get_pmic_id_and_addr()
  media: atomisp: fix enum formats logic
  media: atomisp: add NULL check for asd obtained from atomisp_video_pipe
  media: staging: media: atomisp: pci: Balance braces around conditional statements in file atomisp_cmd.c
  media: atomisp: fix ifdefs in sh_css.c
  media: atomisp: fix inverted error check for ia_css_mipi_is_source_port_valid()
  media: atomisp: do not use err var when checking port validity for ISP2400
  media: atomisp: fix inverted logic in buffers_needed()
  media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case
  media: atomisp: add missing media_device_cleanup() in atomisp_unregister_entities()
  media: videobuf2: Fix the size printk format
  mtd: hyperbus: rpc-if: Check return value of rpcif_sw_init()
  ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware
  wcn36xx: fix RX BD rate mapping for 5GHz legacy rates
  wcn36xx: populate band before determining rate on RX
  wcn36xx: Put DXE block into reset before freeing memory
  wcn36xx: Release DMA channel descriptor allocations
  wcn36xx: Fix DMA channel enable/disable cycle
  wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND
  wcn36xx: ensure pairing of init_scan/finish_scan and start_scan/end_scan
  drm/vc4: hdmi: Set a default HSM rate
  clk: bcm-2835: Remove rounding up the dividers
  clk: bcm-2835: Pick the closest clock rate
  Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails
  drm/rockchip: dsi: Reconfigure hardware on resume()
  drm/rockchip: dsi: Disable PLL clock on bind error
  drm/rockchip: dsi: Hold pm-runtime across bind/unbind
  drm/rockchip: dsi: Fix unbalanced clock on probe error
  drm/panel: innolux-p079zca: Delete panel on attach() failure
  drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure
  drm: fix null-ptr-deref in drm_dev_init_release()
  drm/bridge: display-connector: fix an uninitialized pointer in probe()
  Bluetooth: L2CAP: Fix not initializing sk_peer_pid
  drm/ttm: Put BO in its memory manager's lru list
  shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode
  mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed pages
  dma/pool: create dma atomic pool only if dma zone has managed pages
  mm_zone: add function to check if managed dma zone exists
  PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller
  dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled()
  gpu: host1x: Add back arm_iommu_detach_device()
  iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure
  lkdtm: Fix content of section containing lkdtm_rodata_do_nothing()
  iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs
  can: softing_cs: softingcs_probe(): fix memleak on registration failure
  media: cec-pin: fix interrupt en/disable handling
  media: stk1160: fix control-message timeouts
  media: pvrusb2: fix control-message timeouts
  media: redrat3: fix control-message timeouts
  media: dib0700: fix undefined behavior in tuner shutdown
  media: s2255: fix control-message timeouts
  media: cpia2: fix control-message timeouts
  media: em28xx: fix control-message timeouts
  media: mceusb: fix control-message timeouts
  media: flexcop-usb: fix control-message timeouts
  media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE
  rtc: cmos: take rtc_lock while reading from CMOS
  tools/nolibc: fix incorrect truncation of exit code
  tools/nolibc: i386: fix initial stack alignment
  tools/nolibc: x86-64: Fix startup code bug
  x86/gpu: Reserve stolen memory for first integrated Intel GPU
  mtd: rawnand: davinci: Rewrite function description
  mtd: rawnand: davinci: Avoid duplicated page read
  mtd: rawnand: davinci: Don't calculate ECC when reading page
  mtd: Fixed breaking list in __mtd_del_partition.
  mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6
  mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings
  nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed bind()
  f2fs: fix to do sanity check in is_alive()
  HID: wacom: Avoid using stale array indicies to read contact count
  HID: wacom: Ignore the confidence flag when a touch is removed
  HID: wacom: Reset expected and received contact counts at the same time
  HID: uhid: Fix worker destroying device without any protection
  KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock
  Linux 5.10.93
  mtd: fixup CFI on ixp4xx
  powerpc/pseries: Get entry and uaccess flush required bits from H_GET_CPU_CHARACTERISTICS
  ALSA: hda/realtek: Re-order quirk entries for Lenovo
  ALSA: hda/realtek: Add quirk for Legion Y9000X 2020
  ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk
  ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after reboot from Windows
  ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices
  KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all
  firmware: qemu_fw_cfg: fix kobject leak in probe error path
  firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries
  firmware: qemu_fw_cfg: fix sysfs information leak
  rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled
  media: uvcvideo: fix division by zero at stream start
  video: vga16fb: Only probe for EGA and VGA 16 color graphic cards
  9p: only copy valid iattrs in 9P2000.L setattr implementation
  KVM: s390: Clarify SIGP orders versus STOP/RESTART
  KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest
  perf: Protect perf_guest_cbs with RCU
  vfs: fs_context: fix up param length parsing in legacy_parse_param
  remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided
  orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc()
  devtmpfs regression fix: reconfigure on each mount
  kbuild: Add $(KBUILD_HOSTLDFLAGS) to 'has_libelf' test
  Linux 5.10.92
  staging: greybus: fix stack size warning with UBSAN
  drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk()
  staging: wlan-ng: Avoid bitwise vs logical OR warning in hfa384x_usb_throttlefn()
  media: Revert "media: uvcvideo: Set unique vdev name based in type"
  random: fix crash on multiple early calls to add_bootloader_randomness()
  random: fix data race on crng init time
  random: fix data race on crng_node_pool
  can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved}
  can: isotp: convert struct tpcon::{idx,len} to unsigned int
  can: gs_usb: fix use of uninitialized variable, detach device on reception of invalid USB data
  mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
  veth: Do not record rx queue hint in veth_xmit
  mmc: sdhci-pci: Add PCI ID for Intel ADL
  ath11k: Fix buffer overflow when scanning with extraie
  USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status
  USB: core: Fix bug in resuming hub's handling of wakeup requests
  ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100
  Bluetooth: bfusb: fix division by zero in send path
  Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0
  Bluetooth: btusb: Add support for Foxconn MT7922A
  Bluetooth: btusb: Add two more Bluetooth parts for WCN6855
  Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb()
  bpf: Fix out of bounds access from invalid *_or_null type verification
  workqueue: Fix unbind_workers() VS wq_worker_running() race
  md: revert io stats accounting
  Linux 5.10.91
  Input: zinitix - make sure the IRQ is allocated before it gets enabled
  ARM: dts: gpio-ranges property is now required
  ipv6: raw: check passed optlen before reading
  drm/amd/display: Added power down for DCN10
  mISDN: change function names to avoid conflicts
  atlantic: Fix buff_ring OOB in aq_ring_rx_clean
  net: udp: fix alignment problem in udp4_seq_show()
  ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate
  scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
  usb: mtu3: fix interval value for intr and isoc
  ipv6: Do cleanup if attribute validation fails in multipath route
  ipv6: Continue processing multipath route even if gateway attribute is invalid
  power: bq25890: Enable continuous conversion for ADC at charging
  phonet: refcount leak in pep_sock_accep
  rndis_host: support Hytera digital radios
  power: reset: ltc2952: Fix use of floating point literals
  power: supply: core: Break capacity loop
  xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate
  net: ena: Fix error handling when calculating max IO queues number
  net: ena: Fix undefined state when tx request id is out of bounds
  sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc
  batman-adv: mcast: don't send link-local multicast to mcast routers
  lwtunnel: Validate RTA_ENCAP_TYPE attribute length
  ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route
  ipv6: Check attribute length for RTA_GATEWAY in multipath route
  ipv4: Check attribute length for RTA_FLOW in multipath route
  ipv4: Check attribute length for RTA_GATEWAY in multipath route
  ftrace/samples: Add missing prototypes direct functions
  i40e: Fix incorrect netdev's real number of RX/TX queues
  i40e: Fix for displaying message regarding NVM version
  i40e: fix use-after-free in i40e_sync_filters_subtask()
  sfc: The RX page_ring is optional
  mac80211: initialize variable have_higher_than_11mbit
  RDMA/uverbs: Check for null return of kmalloc_array
  netrom: fix copying in user data in nr_setsockopt
  RDMA/core: Don't infoleak GRH fields
  iavf: Fix limit of total number of queues to active queues of VF
  i40e: Fix to not show opcode msg on unsuccessful VF MAC change
  ieee802154: atusb: fix uninit value in atusb_set_extended_addr
  tracing: Tag trace_percpu_buffer as a percpu pointer
  tracing: Fix check for trace_percpu_buffer validity in get_trace_buf()
  selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv()
  f2fs: quota: fix potential deadlock
  Linux 5.10.90
  bpf: Add kconfig knob for disabling unpriv bpf by default
  perf script: Fix CPU filtering of a script's switch events
  net: fix use-after-free in tw_timer_handler
  Input: spaceball - fix parsing of movement data packets
  Input: appletouch - initialize work before device registration
  scsi: vmw_pvscsi: Set residual data length conditionally
  binder: fix async_free_space accounting for empty parcels
  usb: mtu3: set interval of FS intr and isoc endpoint
  usb: mtu3: fix list_head check warning
  usb: mtu3: add memory barrier before set GPD's HWO
  usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
  xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
  drm/amdgpu: add support for IP discovery gc_info table v2
  drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly enabled
  uapi: fix linux/nfc.h userspace compilation errors
  nfc: uapi: use kernel size_t to fix user-space builds
  i2c: validate user data in compat ioctl
  fsl/fman: Fix missing put_device() call in fman_port_probe
  net/ncsi: check for error return from call to nla_put_u32
  selftests/net: udpgso_bench_tx: fix dst ip argument
  net/mlx5e: Fix wrong features assignment in case of error
  ionic: Initialize the 'lif->dbid_inuse' bitmap
  igc: Fix TX timestamp support for non-MSI-X platforms
  net/smc: fix kernel panic caused by race of smc_sock
  net/smc: don't send CDC/LLC message if link not ready
  net/smc: improved fix wait on already cleared link
  NFC: st21nfca: Fix memory leak in device probe and remove
  net: lantiq_xrx200: fix statistics of received bytes
  net: ag71xx: Fix a potential double free in error handling paths
  net: usb: pegasus: Do not drop long Ethernet frames
  net/smc: fix using of uninitialized completions
  sctp: use call_rcu to free endpoint
  selftests: Calculate udpgso segment count without header adjustment
  udp: using datalen to cap ipv6 udp max gso segments
  net/mlx5e: Fix ICOSQ recovery flow for XSK
  net/mlx5e: Wrap the tx reporter dump callback to extract the sq
  net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources
  scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
  selinux: initialize proto variable in selinux_ip_postroute_compat()
  recordmcount.pl: fix typo in s390 mcount regex
  memblock: fix memblock_phys_alloc() section mismatch error
  platform/x86: apple-gmux: use resource_size() with res
  parisc: Clear stale IIR value on instruction access rights trap
  tomoyo: use hwight16() in tomoyo_domain_quota_is_ok()
  tomoyo: Check exceeded quota early in tomoyo_domain_quota_is_ok().
  Input: i8042 - enable deferred probe quirk for ASUS UM325UA
  Input: i8042 - add deferred probe support
  Linux 5.10.89
  phonet/pep: refuse to enable an unbound pipe
  hamradio: improve the incomplete fix to avoid NPD
  hamradio: defer ax25 kfree after unregister_netdev
  ax25: NPD bug when detaching AX25 device
  hwmon: (lm90) Do not report 'busy' status bit as alarm
  hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681
  pinctrl: mediatek: fix global-out-of-bounds issue
  ASoC: rt5682: fix the wrong jack type detected
  ASoC: tas2770: Fix setting of high sample rates
  Input: goodix - add id->model mapping for the "9111" model
  Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312
  mm: mempolicy: fix THP allocations escaping mempolicy restrictions
  KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state
  usb: gadget: u_ether: fix race in setting MAC address in setup phase
  ceph: fix up non-directory creation in SGID directories
  f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr()
  tee: optee: Fix incorrect page free bug
  mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page()
  mac80211: fix locking in ieee80211_start_ap error path
  ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling
  mmc: mmci: stm32: clear DLYB_CR after sending tuning command
  mmc: core: Disable card detect during shutdown
  mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands
  mmc: sdhci-tegra: Fix switch to HS400ES mode
  gpio: dln2: Fix interrupts when replugging the device
  pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines
  KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU
  platform/x86: intel_pmc_core: fix memleak on registration failure
  x86/pkey: Fix undefined behaviour with PKRU_WD_BIT
  tee: handle lookup of shm with reference count 0
  parisc: Fix mask used to select futex spinlock
  parisc: Correct completer in lws start
  ipmi: fix initialization when workqueue allocation fails
  ipmi: ssif: initialize ssif_info->client early
  ipmi: bail out if init_srcu_struct fails
  Input: atmel_mxt_ts - fix double free in mxt_read_info_block
  ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s
  ALSA: hda/realtek: Fix quirk for Clevo NJ51CU
  ALSA: hda/realtek: Add new alc285-hp-amp-init model
  ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6
  ALSA: drivers: opl3: Fix incorrect use of vp->state
  ALSA: jack: Check the return value of kstrdup()
  hwmon: (lm90) Drop critical attribute support for MAX6654
  hwmon: (lm90) Introduce flag indicating extended temperature support
  hwmon: (lm90) Add basic support for TI TMP461
  hwmon: (lm90) Fix usage of CONFIG2 register in detect function
  pinctrl: bcm2835: Change init order for gpio hogs
  Input: elantech - fix stack out of bound access in elantech_change_report_id()
  sfc: falcon: Check null pointer of rx_queue->page_ring
  sfc: Check null pointer of rx_queue->page_ring
  net: ks8851: Check for error irq
  drivers: net: smc911x: Check for error irq
  fjes: Check for error irq
  bonding: fix ad_actor_system option setting to default
  ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module
  igb: fix deadlock caused by taking RTNL in RPM resume path
  net: skip virtio_net_hdr_set_proto if protocol already set
  net: accept UFOv6 packages in virtio_net_hdr_to_skb
  qlcnic: potential dereference null pointer of rx_queue->page_ring
  net: marvell: prestera: fix incorrect return of port_find
  ARM: dts: imx6qdl-wandboard: Fix Ethernet support
  netfilter: fix regression in looped (broad|multi)cast's MAC handling
  RDMA/hns: Replace kfree() with kvfree()
  IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
  ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent()
  spi: change clk_disable_unprepare to clk_unprepare
  arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode
  HID: potential dereference of null pointer
  HID: holtek: fix mouse probing
  ext4: check for inconsistent extents between index and leaf block
  ext4: check for out-of-order index extents in ext4_valid_extent_entries()
  ext4: prevent partial update of the extent blocks
  net: usb: lan78xx: add Allied Telesis AT29M2-AF
  arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd
  arm64: vdso32: drop -no-integrated-as flag
  Linux 5.10.88
  xen/netback: don't queue unlimited number of packages
  xen/netback: fix rx queue stall detection
  xen/console: harden hvc_xen against event channel storms
  xen/netfront: harden netfront against event channel storms
  xen/blkfront: harden blkfront against event channel storms
  Revert "xsk: Do not sleep in poll() when need_wakeup set"
  bus: ti-sysc: Fix variable set but not used warning for reinit_modules
  rcu: Mark accesses to rcu_state.n_force_qs
  scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
  scsi: scsi_debug: Fix type in min_t to avoid stack OOB
  scsi: scsi_debug: Don't call kcalloc() if size arg is zero
  ovl: fix warning in ovl_create_real()
  fuse: annotate lock in fuse_reverse_inval_entry()
  media: mxl111sf: change mutex_init() location
  xsk: Do not sleep in poll() when need_wakeup set
  ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name
  Input: touchscreen - avoid bitwise vs logical OR warning
  drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE
  libata: if T_LENGTH is zero, dma direction should be DMA_NONE
  timekeeping: Really make sure wall_to_monotonic isn't positive
  serial: 8250_fintek: Fix garbled text for console
  iocost: Fix divide-by-zero on donation from low hweight cgroup
  zonefs: add MODULE_ALIAS_FS
  btrfs: fix double free of anon_dev after failure to create subvolume
  btrfs: fix memory leak in __add_inode_ref()
  USB: serial: option: add Telit FN990 compositions
  USB: serial: cp210x: fix CP2105 GPIO registration
  usb: xhci: Extend support for runtime power management for AMD's Yellow carp.
  PCI/MSI: Mask MSI-X vectors only on success
  PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error
  usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe
  USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04)
  tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous
  KVM: x86: Drop guest CPUID check for host initiated writes to MSR_IA32_PERF_CAPABILITIES
  Revert "usb: early: convert to readl_poll_timeout_atomic()"
  USB: gadget: bRequestType is a bitfield, not a enum
  powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n
  bpf, selftests: Fix racing issue in btf_skc_cls_ingress test
  sit: do not call ipip6_dev_free() from sit_init_net()
  net: systemport: Add global locking for descriptor lifecycle
  net/smc: Prevent smc_release() from long blocking
  net: Fix double 0x prefix print in SKB dump
  sfc_ef100: potential dereference of null pointer
  net/packet: rx_owner_map depends on pg_vec
  netdevsim: Zero-initialize memory for new map's value in function nsim_bpf_map_alloc
  ixgbe: set X550 MDIO speed before talking to PHY
  ixgbe: Document how to enable NBASE-T support
  igc: Fix typo in i225 LTR functions
  igbvf: fix double free in `igbvf_probe`
  igb: Fix removal of unicast MAC filters of VFs
  soc/tegra: fuse: Fix bitwise vs. logical OR warning
  mptcp: clear 'kern' flag from fallback sockets
  drm/amd/pm: fix a potential gpu_metrics_table memory leak
  rds: memory leak in __rds_conn_create()
  flow_offload: return EOPNOTSUPP for the unsupported mpls action type
  mac80211: fix lookup when adding AddBA extension element
  mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock
  drm/ast: potential dereference of null pointer
  selftest/net/forwarding: declare NETIFS p9 p10
  net/sched: sch_ets: don't remove idle classes from the round-robin list
  dmaengine: st_fdma: fix MODULE_ALIAS
  selftests: Fix IPv6 address bind tests
  selftests: Fix raw socket bind tests with VRF
  selftests: Add duplicate config only for MD5 VRF tests
  net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg
  inet_diag: fix kernel-infoleak for UDP sockets
  sch_cake: do not call cake_destroy() from cake_init()
  s390/kexec_file: fix error handling when applying relocations
  selftests: net: Correct ping6 expected rc from 2 to 1
  virtio/vsock: fix the transport to work with VMADDR_CID_ANY
  soc: imx: Register SoC device only on i.MX boards
  clk: Don't parent clks until the parent is fully registered
  ARM: socfpga: dts: fix qspi node compatible
  ceph: initialize pathlen variable in reconnect_caps_cb
  ceph: fix duplicate increment of opened_inodes metric
  tee: amdtee: fix an IS_ERR() vs NULL bug
  mac80211: track only QoS data frames for admission control
  arm64: dts: rockchip: fix audio-supply for Rock Pi 4
  arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply
  arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply
  arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas-edge
  arm64: dts: imx8mp-evk: Improve the Ethernet PHY description
  arm64: dts: imx8m: correct assigned clocks for FEC
  audit: improve robustness of the audit queue handling
  dm btree remove: fix use after free in rebalance_children()
  recordmcount.pl: look for jgnop instruction as well as bcrl on s390
  vdpa: check that offsets are within bounds
  virtio_ring: Fix querying of maximum DMA mapping size for virtio device
  bpf, selftests: Add test case trying to taint map value pointer
  bpf: Make 32->64 bounds propagation slightly more robust
  bpf: Fix signed bounds propagation after mov32
  firmware: arm_scpi: Fix string overflow in SCPI genpd driver
  mac80211: validate extended element ID is present
  mac80211: send ADDBA requests using the tid/queue of the aggregation session
  mac80211: mark TX-during-stop for TX in in_reconfig
  mac80211: fix regression in SSN handling of addba tx
  KVM: downgrade two BUG_ONs to WARN_ON_ONCE
  KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE
  Linux 5.10.87
  arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM
  arm: extend pfn_valid to take into account freed memory map alignment
  memblock: ensure there is no overflow in memblock_overlaps_region()
  memblock: align freed memory map on pageblock boundaries with SPARSEMEM
  memblock: free_unused_memmap: use pageblock units instead of MAX_ORDER
  perf intel-pt: Fix error timestamp setting on the decoder error path
  perf intel-pt: Fix missing 'instruction' events with 'q' option
  perf intel-pt: Fix next 'err' value, walking trace
  perf intel-pt: Fix state setting when receiving overflow (OVF) packet
  perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type
  perf intel-pt: Fix sync state when a PSB (synchronization) packet is found
  perf intel-pt: Fix some PGE (packet generation enable/control flow packets) usage
  perf inject: Fix itrace space allowed for new attributes
  ethtool: do not perform operations on net devices being unregistered
  hwmon: (dell-smm) Fix warning on /proc/i8k creation error
  fuse: make sure reclaim doesn't write the inode
  bpf: Fix integer overflow in argument calculation for bpf_map_area_alloc
  staging: most: dim2: use device release method
  KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req
  tracing: Fix a kmemleak false positive in tracing_map
  drm/amd/display: add connector type check for CRC source set
  drm/amd/display: Fix for the no Audio bug with Tiled Displays
  net: netlink: af_netlink: Prevent empty skb by adding a check on len.
  i2c: rk3x: Handle a spurious start completion interrupt flag
  parisc/agp: Annotate parisc agp init functions with __init
  ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P
  ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid
  net/mlx4_en: Update reported link modes for 1/10G
  Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP"
  s390/test_unwind: use raw opcode instead of invalid instruction
  KVM: arm64: Save PSTATE early on exit
  drm/msm/dsi: set default num_data_lanes
  nfc: fix segfault in nfc_genl_dump_devices_done
  Linux 5.10.86
  netfilter: selftest: conntrack_vrf.sh: fix file permission
  Linux 5.10.85
  Documentation/Kbuild: Remove references to gcc-plugin.sh
  MAINTAINERS: adjust GCC PLUGINS after gcc-plugin.sh removal
  doc: gcc-plugins: update gcc-plugins.rst
  kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gcc
  bpf: Add selftests to cover packet access corner cases
  misc: fastrpc: fix improper packet size calculation
  irqchip: nvic: Fix offset for Interrupt Priority Offsets
  irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
  irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
  irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()
  irqchip/aspeed-scu: Replace update_bits with write_bits.
  csky: fix typo of fpu config macro
  iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove
  iio: ad7768-1: Call iio_trigger_notify_done() on error
  iio: adc: axp20x_adc: fix charging current reporting on AXP22x
  iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda
  iio: at91-sama5d2: Fix incorrect sign extension
  iio: dln2: Check return value of devm_iio_trigger_register()
  iio: dln2-adc: Fix lockdep complaint
  iio: itg3200: Call iio_trigger_notify_done() on error
  iio: kxsd9: Don't return error code in trigger handler
  iio: ltr501: Don't return error code in trigger handler
  iio: mma8452: Fix trigger reference couting
  iio: stk3310: Don't return error code in interrupt handler
  iio: trigger: stm32-timer: fix MODULE_ALIAS
  iio: trigger: Fix reference counting
  iio: gyro: adxrs290: fix data signedness
  xhci: avoid race between disable slot command and host runtime suspend
  usb: core: config: using bit mask instead of individual bits
  xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending
  usb: core: config: fix validation of wMaxPacketValue entries
  USB: gadget: zero allocate endpoint 0 buffers
  USB: gadget: detect too-big endpoint 0 requests
  selftests/fib_tests: Rework fib_rp_filter_test()
  net/qla3xxx: fix an error code in ql_adapter_up()
  net, neigh: clear whole pneigh_entry at alloc time
  net: fec: only clear interrupt of handling queue in fec_enet_rx_queue()
  net: altera: set a couple error code in probe()
  net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero
  tools build: Remove needless libpython-version feature check that breaks test-all fast path
  dt-bindings: net: Reintroduce PHY no lane swap binding
  Documentation/locking/locktypes: Update migrate_disable() bits.
  perf tools: Fix SMT detection fast read path
  Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge"
  i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc
  mtd: rawnand: fsmc: Fix timing computation
  mtd: rawnand: fsmc: Take instruction delay into account
  i40e: Fix pre-set max number of queues for VF
  i40e: Fix failed opcode appearing if handling messages from VF
  clk: imx: use module_platform_driver
  RDMA/hns: Do not destroy QP resources in the hw resetting phase
  RDMA/hns: Do not halt commands during reset until later
  ASoC: codecs: wcd934x: return correct value from mixer put
  ASoC: codecs: wcd934x: handle channel mappping list correctly
  ASoC: codecs: wsa881x: fix return values from kcontrol put
  ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer
  ASoC: rt5682: Fix crash due to out of scope stack vars
  PM: runtime: Fix pm_runtime_active() kerneldoc comment
  qede: validate non LSO skb length
  scsi: scsi_debug: Fix buffer size of REPORT ZONES command
  scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc()
  block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
  tracefs: Set all files to the same group ownership as the mount option
  net: mvpp2: fix XDP rx queues registering
  aio: fix use-after-free due to missing POLLFREE handling
  aio: keep poll requests on waitqueue until completed
  signalfd: use wake_up_pollfree()
  binder: use wake_up_pollfree()
  wait: add wake_up_pollfree()
  libata: add horkage for ASMedia 1092
  can: m_can: Disable and ignore ELO interrupt
  can: pch_can: pch_can_rx_normal: fix use after free
  drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence.
  clk: qcom: regmap-mux: fix parent clock lookup
  mmc: renesas_sdhi: initialize variable properly when tuning
  tracefs: Have new files inherit the ownership of their parent
  nfsd: Fix nsfd startup race (again)
  nfsd: fix use-after-free due to delegation race
  md: fix update super 1.0 on rdev size change
  btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling
  btrfs: clear extent buffer uptodate when we fail to write it
  scsi: qla2xxx: Format log strings only if needed
  ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
  ALSA: pcm: oss: Limit the period size to 16MB
  ALSA: pcm: oss: Fix negative period/buffer sizes
  ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1
  ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform
  ALSA: ctl: Fix copy of updated id with element read/write
  mm: bdi: initialize bdi_min_ratio when bdi is unregistered
  KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall
  net/sched: fq_pie: prevent dismantle issue
  devlink: fix netns refcount leak in devlink_nl_cmd_reload()
  IB/hfi1: Correct guard on eager buffer deallocation
  iavf: Fix reporting when setting descriptor count
  iavf: restore MSI state on reset
  netfilter: conntrack: annotate data-races around ct->timeout
  udp: using datalen to cap max gso segments
  seg6: fix the iif in the IPv6 socket control block
  nfp: Fix memory leak in nfp_cpp_area_cache_add()
  bonding: make tx_rebalance_counter an atomic
  ice: ignore dropped packets during init
  bpf: Fix the off-by-two error in range markings
  bpf, x86: Fix "no previous prototype" warning
  vrf: don't run conntrack on vrf with !dflt qdisc
  selftests: netfilter: add a vrf+conntrack testcase
  nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
  drm/amdkfd: fix boot failure when iommu is disabled in Picasso.
  drm/amdgpu: init iommu after amdkfd device init
  drm/amdgpu: move iommu_resume before ip init/resume
  drm/amdgpu: add amdgpu_amdkfd_resume_iommu
  drm/amdkfd: separate kfd_iommu_resume from kfd_resume
  drm/amd/amdkfd: adjust dummy functions' placement
  x86/sme: Explicitly map new EFI memmap table as encrypted
  can: sja1000: fix use after free in ems_pcmcia_add_card()
  can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct stats->{rx,tx}_errors counter
  can: kvaser_usb: get CAN clock frequency from device
  IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr
  IB/hfi1: Fix early init panic
  IB/hfi1: Insure use of smp_processor_id() is preempt disabled
  nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups
  HID: check for valid USB device for many HID drivers
  HID: wacom: fix problems when device is not a valid USB device
  HID: bigbenff: prevent null pointer dereference
  HID: add USB_HID dependancy on some USB HID drivers
  HID: add USB_HID dependancy to hid-chicony
  HID: add USB_HID dependancy to hid-prodikeys
  HID: add hid_is_usb() function to make it simpler for USB detection
  HID: google: add eel USB id
  HID: quirks: Add quirk for the Microsoft Surface 3 type-cover
  gcc-plugins: fix gcc 11 indigestion with plugins...
  gcc-plugins: simplify GCC plugin-dev capability test
  usb: gadget: uvc: fix multiple opens
  ANDROID: GKI: fix up abi breakage in fib_rules.h
  Linux 5.10.84
  ipmi: msghandler: Make symbol 'remove_work_wq' static
  net/tls: Fix authentication failure in CCM mode
  parisc: Mark cr16 CPU clocksource unstable on all SMP machines
  iwlwifi: mvm: retry init flow if failed
  serial: 8250: Fix RTS modem control while in rs485 mode
  serial: 8250_pci: rewrite pericom_do_set_divisor()
  serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array
  serial: core: fix transmit-buffer reset and memleak
  serial: tegra: Change lower tolerance baud rate limit for tegra20 and tegra30
  serial: pl011: Add ACPI SBSA UART match id
  tty: serial: msm_serial: Deactivate RX DMA for polling support
  x86/64/mm: Map all kernel memory into trampoline_pgd
  x86/tsc: Disable clocksource watchdog for TSC on qualified platorms
  x86/tsc: Add a timer to make sure TSC_adjust is always checked
  usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect
  USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub
  xhci: Fix commad ring abort, write all 64 bits to CRCR register.
  vgacon: Propagate console boot parameters before calling `vc_resize'
  parisc: Fix "make install" on newer debian releases
  parisc: Fix KBUILD_IMAGE for self-extracting kernel
  x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry()
  x86/pv: Switch SWAPGS to ALTERNATIVE
  sched/uclamp: Fix rq->uclamp_max not set on first enqueue
  x86/xen: Add xenpv_restore_regs_and_return_to_usermode()
  x86/entry: Use the correct fence macro after swapgs in kernel CR3
  x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword
  KVM: VMX: Set failure code in prepare_vmcs02()
  KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register
  atlantic: Remove warn trace message.
  atlantic: Fix statistics logic for production hardware
  Remove Half duplex mode speed capabilities.
  atlantic: Add missing DIDs and fix 115c.
  atlantic: Fix to display FW bundle version instead of FW mac version.
  atlatnic: enable Nbase-t speeds with base-t
  atlantic: Increase delay for fw transactions
  drm/msm: Do hw_init() before capturing GPU state
  drm/msm/a6xx: Allocate enough space for GMU registers
  net/smc: Keep smc_close_final rc during active close
  net/rds: correct socket tunable error in rds_tcp_tune()
  net/smc: fix wrong list_del in smc_lgr_cleanup_early
  ipv4: convert fib_num_tclassid_users to atomic_t
  net: annotate data-races on txq->xmit_lock_owner
  dpaa2-eth: destroy workqueue at the end of remove function
  net: marvell: mvpp2: Fix the computation of shared CPUs
  net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ is available
  ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec
  rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer()
  rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle()
  ASoC: tegra: Fix kcontrol put callback in AHUB
  ASoC: tegra: Fix kcontrol put callback in DSPK
  ASoC: tegra: Fix kcontrol put callback in DMIC
  ASoC: tegra: Fix kcontrol put callback in I2S
  ASoC: tegra: Fix kcontrol put callback in ADMAIF
  ASoC: tegra: Fix wrong value type in DSPK
  ASoC: tegra: Fix wrong value type in DMIC
  ASoC: tegra: Fix wrong value type in I2S
  ASoC: tegra: Fix wrong value type in ADMAIF
  mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode
  selftests: net: Correct case name
  net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources()
  arm64: ftrace: add missing BTIs
  siphash: use _unaligned version by default
  net: mpls: Fix notifications when deleting a device
  net: qlogic: qlcnic: Fix a NULL pointer dereference in qlcnic_83xx_add_rings()
  tcp: fix page frag corruption on page fault
  natsemi: xtensa: fix section mismatch warnings
  i2c: cbus-gpio: set atomic transfer callback
  i2c: stm32f7: stop dma transfer in case of NACK
  i2c: stm32f7: recover the bus on access timeout
  i2c: stm32f7: flush TX FIFO upon transfer errors
  wireguard: ratelimiter: use kvcalloc() instead of kvzalloc()
  wireguard: receive: drop handshakes if queue lock is contended
  wireguard: receive: use ring buffer for incoming handshakes
  wireguard: device: reset peer src endpoint when netns exits
  wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST
  wireguard: selftests: actually test for routing loops
  wireguard: allowedips: add missing __rcu annotation to satisfy sparse
  wireguard: selftests: increase default dmesg log size
  tracing/histograms: String compares should not care about signed values
  KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg()
  KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1
  KVM: x86: Use a stable condition around all VT-d PI paths
  KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST
  KVM: Disallow user memslot with size that exceeds "unsigned long"
  drm/amd/display: Allow DSC on supported MST branch devices
  ipv6: fix memory leak in fib6_rule_suppress
  sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl
  sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl
  fget: check that the fd still exists after getting a ref to it
  s390/pci: move pseudo-MMIO to prevent MIO overlap
  cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink()
  ipmi: Move remove_work to dedicated workqueue
  rt2x00: do not mark device gone on EPROTO errors during start
  kprobes: Limit max data_size of the kretprobe instances
  vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit
  ACPI: Add stubs for wakeup handler functions
  net/smc: Avoid warning of possible recursive locking
  perf report: Fix memory leaks around perf_tip()
  perf hist: Fix memory leak of a perf_hpp_fmt
  perf inject: Fix ARM SPE handling
  net: ethernet: dec: tulip: de4x5: fix possible array overflows in type3_infoblock()
  net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of bound
  ipv6: check return value of ipv6_skip_exthdr
  ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in hns_dsaf_ge_srst_by_port()
  ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile
  drm/amd/amdgpu: fix potential memleak
  drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again
  scsi: iscsi: Unblock session then wake up error handler
  thermal: core: Reset previous low and high trip during thermal zone init
  btrfs: check-integrity: fix a warning on write caching disabled disk
  s390/setup: avoid using memblock_enforce_memory_limit
  platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep
  platform/x86: thinkpad_acpi: Add support for dual fan control
  net: return correct error code
  atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait
  net/smc: Transfer remaining wait queue entries during fallback
  mac80211: do not access the IV when it was stripped
  drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY
  powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for persistent memory"
  gfs2: Fix length of holes reported at end-of-file
  gfs2: release iopen glock early in evict
  ovl: fix deadlock in splice write
  ovl: simplify file splice
  can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM
  NFSv42: Fix pagecache invalidation after COPY/CLONE
  ANDROID: GKI: update abi_gki_aarch64.xml due to bpf changes in 5.10.83
  Revert "net: ipv6: add fib6_nh_release_dsts stub"
  Revert "net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group"
  Revert "mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB"
  Linux 5.10.83
  drm/amdgpu/gfx9: switch to golden tsc registers for renoir+
  net: stmmac: platform: fix build warning when with !CONFIG_PM_SLEEP
  shm: extend forced shm destroy to support objects from several IPC nses
  s390/mm: validate VMA in PGSTE manipulation functions
  tty: hvc: replace BUG_ON() with negative return value
  xen/netfront: don't trust the backend response data blindly
  xen/netfront: disentangle tx_skb_freelist
  xen/netfront: don't read data from request on the ring page
  xen/netfront: read response from backend only once
  xen/blkfront: don't trust the backend response data blindly
  xen/blkfront: don't take local copy of a request from the ring page
  xen/blkfront: read response from backend only once
  xen: sync include/xen/interface/io/ring.h with Xen's newest version
  tracing: Check pid filtering when creating events
  vhost/vsock: fix incorrect used length reported to the guest
  iommu/amd: Clarify AMD IOMMUv2 initialization messages
  smb3: do not error on fsync when readonly
  ceph: properly handle statfs on multifs setups
  f2fs: set SBI_NEED_FSCK flag when inconsistent node block found
  sched/scs: Reset task stack state in bringup_cpu()
  tcp: correctly handle increased zerocopy args struct size
  net: mscc: ocelot: correctly report the timestamping RX filters in ethtool
  net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP
  net: hns3: fix VF RSS failed problem after PF enable multi-TCs
  net/smc: Don't call clcsock shutdown twice when smc shutdown
  net: vlan: fix underflow for the real_dev refcnt
  net/sched: sch_ets: don't peek at classes beyond 'nbands'
  tls: fix replacing proto_ops
  tls: splice_read: fix record type check
  MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48
  MIPS: loongson64: fix FTLB configuration
  igb: fix netpoll exit with traffic
  nvmet: use IOCB_NOWAIT only if the filesystem supports it
  net/smc: Fix loop in smc_listen
  net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk()
  net: phylink: Force retrigger in case of latched link-fail indicator
  net: phylink: Force link down and retrigger resolve on interface change
  lan743x: fix deadlock in lan743x_phy_link_status_change()
  tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited flows
  drm/amd/display: Set plane update flags for all planes in reset
  PM: hibernate: use correct mode for swsusp_close()
  net/ncsi : Add payload to be 32-bit aligned to fix dropped packets
  nvmet-tcp: fix incomplete data digest send
  net: marvell: mvpp2: increase MTU limit when XDP enabled
  mlxsw: spectrum: Protect driver from buggy firmware
  mlxsw: Verify the accessed index doesn't exceed the array length
  net/smc: Ensure the active closing peer first closes clcsock
  erofs: fix deadlock when shrink erofs slab
  scsi: scsi_debug: Zero clear zones at reset write pointer
  scsi: core: sysfs: Fix setting device state to SDEV_RUNNING
  ice: avoid bpf_prog refcount underflow
  ice: fix vsi->txq_map sizing
  net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group
  net: ipv6: add fib6_nh_release_dsts stub
  net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls
  net: stmmac: fix system hang caused by eee_ctrl_timer during suspend/resume
  nfp: checking parameter process for rx-usecs/tx-usecs is invalid
  ipv6: fix typos in __ip6_finish_output()
  firmware: smccc: Fix check for ARCH_SOC_ID not implemented
  mptcp: fix delack timer
  ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec
  iavf: Prevent changing static ITR values if adaptive moderation is on
  net: marvell: prestera: fix double free issue on err path
  drm/vc4: fix error code in vc4_create_object()
  scsi: mpt3sas: Fix kernel panic during drive powercycle test
  drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks
  ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE
  NFSv42: Don't fail clone() unless the OP_CLONE operation failed
  firmware: arm_scmi: pm: Propagate return value to caller
  net: ieee802154: handle iftypes as u32
  ASoC: codecs: wcd934x: return error code correctly from hw_params
  ASoC: topology: Add missing rwsem around snd_ctl_remove() calls
  ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling
  ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer
  ARM: dts: bcm2711: Fix PCIe interrupts
  ARM: dts: BCM5301X: Add interrupt properties to GPIO node
  ARM: dts: BCM5301X: Fix I2C controller interrupt
  netfilter: flowtable: fix IPv6 tunnel addr match
  netfilter: ipvs: Fix reuse connection if RS weight is 0
  netfilter: ctnetlink: do not erase error code with EINVAL
  netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY
  proc/vmcore: fix clearing user buffer by properly using clear_user()
  PCI: aardvark: Fix link training
  PCI: aardvark: Simplify initialization of rootcap on virtual bridge
  PCI: aardvark: Implement re-issuing config requests on CRS response
  PCI: aardvark: Update comment about disabling link training
  PCI: aardvark: Deduplicate code in advk_pcie_rd_conf()
  powerpc/32: Fix hardlockup on vmap stack overflow
  mdio: aspeed: Fix "Link is Down" issue
  mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB
  mmc: sdhci-esdhc-imx: disable CMDQ support
  tracing: Fix pid filtering when triggers are attached
  tracing/uprobe: Fix uprobe_perf_open probes iteration
  KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB
  xen: detect uninitialized xenbus in xenbus_init
  xen: don't continue xenstore initialization in case of errors
  fuse: release pipe buf after last use
  staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
  staging: greybus: Add missing rwsem around snd_ctl_remove() calls
  staging/fbtft: Fix backlight
  HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts
  Revert "parisc: Fix backtrace to always include init funtion names"
  media: cec: copy sequence field for the reply
  ALSA: hda/realtek: Fix LED on HP ProBook 435 G7
  ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100
  ALSA: ctxfi: Fix out-of-range access
  binder: fix test regression due to sender_euid change
  usb: hub: Fix locking issues with address0_mutex
  usb: hub: Fix usb enumeration issue due to address0 race
  usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts
  usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe
  net: nexthop: fix null pointer dereference when IPv6 is not enabled
  usb: dwc3: gadget: Fix null pointer exception
  usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer
  usb: dwc3: gadget: Ignore NoStream after End Transfer
  usb: dwc2: hcd_queue: Fix use of floating point literal
  usb: dwc2: gadget: Fix ISOC flow for elapsed frames
  USB: serial: option: add Fibocom FM101-GL variants
  USB: serial: option: add Telit LE910S1 0x9200 composition
  ACPI: Get acpi_device's parent from the parent field
  bpf: Fix toctou on read-only map's constant scalar tracking
  Linux 5.10.82
  Revert "perf: Rework perf_event_exit_event()"
  ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign()
  ALSA: hda: hdac_ext_stream: fix potential locking issues
  x86/Kconfig: Fix an unused variable error in dell-smm-hwmon
  btrfs: update device path inode time instead of bd_inode
  fs: export an inode_update_time helper
  ice: Delete always true check of PF pointer
  usb: max-3421: Use driver data instead of maintaining a list of bound devices
  ASoC: DAPM: Cover regression by kctl change notification fix
  selinux: fix NULL-pointer dereference when hashtab allocation fails
  RDMA/netlink: Add __maybe_unused to static inline in C file
  hugetlbfs: flush TLBs correctly after huge_pmd_unshare
  scsi: ufs: core: Fix task management completion timeout race
  scsi: ufs: core: Fix task management completion
  drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga and dvi connectors
  drm/i915/dp: Ensure sink rate values are always valid
  drm/nouveau: clean up all clients on device removal
  drm/nouveau: use drm_dev_unplug() during device removal
  drm/nouveau: Add a dedicated mutex for the clients list
  drm/udl: fix control-message timeout
  drm/amd/display: Update swizzle mode enums
  cfg80211: call cfg80211_stop_ap when switch from P2P_GO type
  parisc/sticon: fix reverse colors
  btrfs: fix memory ordering between normal and ordered work functions
  net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 platform
  udf: Fix crash after seekdir
  KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested state load
  block: Check ADMIN before NICE for IOPRIO_CLASS_RT
  s390/kexec: fix memory leak of ipl report buffer
  scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id()
  powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX
  x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
  mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag
  ipc: WARN if trying to remove ipc object which is absent
  tipc: check for null after calling kmemdup
  hexagon: clean up timer-regs.h
  hexagon: export raw I/O routines for modules
  tun: fix bonding active backup with arp monitoring
  arm64: vdso32: suppress error message for 'make mrproper'
  net: stmmac: dwmac-rk: Fix ethernet on rk3399 based devices
  s390/kexec: fix return code handling
  perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server
  perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server
  pinctrl: qcom: sdm845: Enable dual edge errata
  KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr()
  e100: fix device suspend/resume
  NFC: add NCI_UNREG flag to eliminate the race
  net: nfc: nci: Change the NCI close sequence
  NFC: reorder the logic in nfc_{un,}register_device
  NFC: reorganize the functions in nci_request
  i40e: Fix display error code in dmesg
  i40e: Fix creation of first queue by omitting it if is not power of two
  i40e: Fix warning message and call stack during rmmod i40e driver
  i40e: Fix ping is lost after configuring ADq on VF
  i40e: Fix changing previously set num_queue_pairs for PFs
  i40e: Fix NULL ptr dereference on VSI filter sync
  i40e: Fix correct max_pkt_size on VF RX queue
  net: virtio_net_hdr_to_skb: count transport header in UFO
  net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove
  net: sched: act_mirred: drop dst for the direction from egress to ingress
  scsi: core: sysfs: Fix hang when device state is set via sysfs
  net/mlx5: E-Switch, return error if encap isn't supported
  net/mlx5: E-Switch, Change mode lock from mutex to rw semaphore
  net/mlx5: Lag, update tracker when state change event received
  net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove()
  platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()'
  mips: lantiq: add support for clk_get_parent()
  mips: bcm63xx: add support for clk_get_parent()
  MIPS: generic/yamon-dt: fix uninitialized variable error
  iavf: Fix for setting queues to 0
  iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset
  iavf: validate pointers
  iavf: prevent accidental free of filter structure
  iavf: Fix failure to exit out from last all-multicast mode
  iavf: free q_vectors before queues in iavf_disable_vf
  iavf: check for null in iavf_fix_features
  iavf: Fix return of set the new channel count
  net/smc: Make sure the link_id is unique
  sock: fix /proc/net/sockstat underflow in sk_clone_lock()
  net: reduce indentation level in sk_clone_lock()
  tipc: only accept encrypted MSG_CRYPTO msgs
  bnxt_en: reject indirect blk offload when hw-tc-offload is off
  net: bnx2x: fix variable dereferenced before check
  net: ipa: disable HOLB drop when updating timer
  tracing: Add length protection to histogram string copies
  tcp: Fix uninitialized access in skb frags array for Rx 0cp.
  net-zerocopy: Refactor skb frag fast-forward op.
  net-zerocopy: Copy straggler unaligned data for TCP Rx. zerocopy.
  drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame
  perf tests: Remove bash construct from record+zstd_comp_decomp.sh
  perf bench futex: Fix memory leak of perf_cpu_map__new()
  perf bpf: Avoid memory leak from perf_env__insert_btf()
  tracing/histogram: Do not copy the fixed-size char array field over the field size
  blkcg: Remove extra blkcg_bio_issue_init
  perf/x86/vlbr: Add c->flags to vlbr event constraints
  sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain()
  mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set
  clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk
  clk/ast2600: Fix soc revision for AHB
  clk: ingenic: Fix bugs with divided dividers
  f2fs: fix incorrect return value in f2fs_sanity_check_ckpt()
  f2fs: compress: disallow disabling compress on non-empty compressed file
  sh: define __BIG_ENDIAN for math-emu
  sh: math-emu: drop unused functions
  sh: fix kconfig unmet dependency warning for FRAME_POINTER
  f2fs: fix to use WHINT_MODE
  f2fs: fix up f2fs_lookup tracepoints
  maple: fix wrong return value of maple_bus_init().
  sh: check return code of request_irq
  powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST
  powerpc/dcr: Use cmplwi instead of 3-argument cmpli
  ALSA: gus: fix null pointer dereference on pointer block
  ARM: dts: qcom: fix memory and mdio nodes naming for RB3011
  powerpc/5200: dts: fix memory node unit name
  iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr()
  scsi: target: Fix alua_tg_pt_gps_count tracking
  scsi: target: Fix ordered tag handling
  scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs()
  scsi: scsi_debug: Fix out-of-bound read in resp_readcap16()
  MIPS: sni: Fix the build
  tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc
  ALSA: ISA: not for M68K
  ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash
  ARM: dts: ls1021a: move thermal-zones node out of soc/
  usb: host: ohci-tmio: check return value after calling platform_get_resource()
  ARM: dts: omap: fix gpmc,mux-add-data type
  firmware_loader: fix pre-allocated buf built-in firmware use
  ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec
  scsi: advansys: Fix kernel pointer leak
  ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect
  clk: imx: imx6ul: Move csi_sel mux to correct base register
  ASoC: SOF: Intel: hda-dai: fix potential locking issue
  arm64: dts: freescale: fix arm,sp805 compatible string
  arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property
  arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency
  ARM: BCM53016: Specify switch ports for Meraki MR32
  staging: rtl8723bs: remove possible deadlock when disconnect (v2)
  ARM: dts: ux500: Skomer regulator fixes
  usb: typec: tipd: Remove WARN_ON in tps6598x_block_read
  usb: musb: tusb6010: check return value after calling platform_get_resource()
  bus: ti-sysc: Use context lost quirk for otg
  bus: ti-sysc: Add quirk handling for reinit on context lost
  RDMA/bnxt_re: Check if the vlan is valid before reporting
  arm64: dts: hisilicon: fix arm,sp805 compatible string
  arm64: dts: rockchip: Disable CDN DP on Pinebook Pro
  scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
  ARM: dts: NSP: Fix mpcore, mmc node names
  staging: wfx: ensure IRQ is ready before enabling it
  arm64: dts: allwinner: a100: Fix thermal zone node name
  arm64: dts: allwinner: h5: Fix GPU thermal zone node name
  ARM: dts: sunxi: Fix OPPs node name
  arm64: zynqmp: Fix serial compatible string
  arm64: zynqmp: Do not duplicate flash partition label property

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/arm/omap/omap.txt
	Documentation/devicetree/bindings/display/amlogic,meson-dw-hdmi.yaml
	Documentation/devicetree/bindings/display/amlogic,meson-vpu.yaml
	Documentation/devicetree/bindings/net/can/tcan4x5x.txt
	Documentation/devicetree/bindings/net/ethernet-phy.yaml
	Documentation/devicetree/bindings/thermal/thermal-zones.yaml
	Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
	drivers/clk/qcom/common.c
	drivers/remoteproc/qcom_pil_info.c
	idrivers/virtio/virtio_ring.c

Change-Id: I1ddf9efa935eae6e64c34f041d09a2573a2ab26f
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2022-05-04 21:38:11 +05:30
xiaofeng
e5b4949bfc ANDROID: vendor_hooks: tune reclaim scan type for specified mem_cgroup
Add memcg support for hooks in the reclaim path

Bug: 230450931
Change-Id: Ia3e6949985d915c8640139fbb93800d91e1e46f8
Signed-off-by: xiaofeng <xiaofeng5@xiaomi.com>
2022-04-29 20:11:57 +00:00
Hailong Tu
0453acd7fb FROMLIST: mm/damon/reclaim: Fix the timer always stays active
The timer stays active even if the reclaim mechanism is never enabled.
It is unnecessary overhead can be completely avoided by using module_param_cb() for enabled flag.

Signed-off-by: Hailong Tu <tuhailong@gmail.com>

Link: https://lore.kernel.org/all/20220421125910.1052459-1-tuhailong@gmail.com/

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I77591e41ce424ce16a4a5c70e7a86cdae996a354
2022-04-28 23:09:18 +08:00
Jakub Kicinski
2522f6c4da BACKPORT: treewide: Add missing includes masked by cgroup -> bpf dependency
cgroup.h (therefore swap.h, therefore half of the universe)
includes bpf.h which in turn includes module.h and slab.h.
Since we're about to get rid of that dependency we need
to clean things up.

v2: drop the cpu.h include from cacheinfo.h, it's not necessary
and it makes riscv sensitive to ordering of include files.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Peter Chen <peter.chen@kernel.org>
Acked-by: SeongJae Park <sj@kernel.org>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/all/20211120035253.72074-1-kuba@kernel.org/  # v1
Link: https://lore.kernel.org/all/20211120165528.197359-1-kuba@kernel.org/ # cacheinfo discussion
Link: https://lore.kernel.org/bpf/20211202203400.1208663-1-kuba@kernel.org

(cherry picked from commit 8581fd402a0cf80b5298e3b225e7a7bd8f110e69)

Dropped all the changes except for the ones made in mm/damon/vaddr.c

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ib64ecbe4e06f192ed576af77e03e6b49d538bac9
2022-04-28 23:09:18 +08:00
SeongJae Park
94006b8a3a UPSTREAM: mm/damon: hide kernel pointer from tracepoint event
DAMON's virtual address spaces monitoring primitive uses 'struct pid *'
of the target process as its monitoring target id.  The kernel address
is exposed as-is to the user space via the DAMON tracepoint,
'damon_aggregated'.

Though primarily only privileged users are allowed to access that, it
would be better to avoid unnecessarily exposing kernel pointers so.
Because the trace result is only required to be able to distinguish each
target, we aren't need to use the pointer as-is.

This makes the tracepoint to use the index of the target in the
context's targets list as its id in the tracepoint, to hide the kernel
space address.

Link: https://lkml.kernel.org/r/20211229131016.23641-5-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 76fd0285b447991267e838842c0be7395eb454bb)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Iee4a6f56cf9bf5f61fb95f438dfc3316c10198e5
2022-04-28 23:09:18 +08:00
SeongJae Park
4c350065aa UPSTREAM: mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log
The failure log message for 'damon_va_three_regions()' prints the target
id, which is a 'struct pid' pointer in the case.  To avoid exposing the
kernel pointer via the log, this makes the log to use the index of the
target in the context's targets list instead.

Link: https://lkml.kernel.org/r/20211229131016.23641-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 962fe7a6b1b2f9deb1b31b3344afa3b11afdf7ab)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I6b9b09a9b7024630f05ec41db030006d63f47ce1
2022-04-28 23:09:18 +08:00
SeongJae Park
c44028a162 UPSTREAM: mm/damon/vaddr: use pr_debug() for damon_va_three_regions() failure logging
Failure of 'damon_va_three_regions()' is logged using 'pr_err()'.  But,
the function can fail in legal situations.  To avoid making users be
surprised and to keep the kernel clean, this makes the log to be printed
using 'pr_debug()'.

Link: https://lkml.kernel.org/r/20211229131016.23641-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 251403f19aab6a122f4dcfb14149814e85564202)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I0a2c08d856d0067af6af7a008e89f63fa5fac381
2022-04-28 23:09:18 +08:00
SeongJae Park
98dcd2427c UPSTREAM: mm/damon/dbgfs: remove an unnecessary variable
Patch series "mm/damon: Hide unnecessary information disclosures".

DAMON is exposing some unnecessary information including kernel pointer
in kernel log and tracepoint.  This patchset hides such information.
The first patch is only for a trivial cleanup, though.

This patch (of 4):

This commit removes a unnecessarily used variable in
dbgfs_target_ids_write().

Link: https://lkml.kernel.org/r/20211229131016.23641-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20211229131016.23641-2-sj@kernel.org
Fixes: 4bc05954d007 ("mm/damon: implement a debugfs-based user space interface")
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 70b8480812d0a3930049a44820a1fa149b090c10)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I774c900de92780ae9ebf09f01c0b0536eb43f822
2022-04-28 23:09:18 +08:00
Guoqing Jiang
21dc18f9a0 UPSTREAM: mm/damon: move the implementation of damon_insert_region to damon.h
Usually, inline function is declared static since it should sit between
storage and type.  And implement it in a header file if used by multiple
files.

And this change also fixes compile issue when backport damon to 5.10.

  mm/damon/vaddr.c: In function `damon_va_evenly_split_region':
  ./include/linux/damon.h:425:13: error: inlining failed in call to `always_inline' `damon_insert_region': function body not available
  425 | inline void damon_insert_region(struct damon_region *r,
      | ^~~~~~~~~~~~~~~~~~~
  mm/damon/vaddr.c:86:3: note: called from here
  86 | damon_insert_region(n, r, next, t);
     | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Link: https://lkml.kernel.org/r/20211223085703.6142-1-guoqing.jiang@linux.dev
Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 2cd4b8e10cc31eadb5b10b1d73b3f28156f3776c)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Iaa05318092b8e98bfbfc72a8c5df2cb6de97d224
2022-04-28 23:09:18 +08:00
Baolin Wang
73faa856e9 UPSTREAM: mm/damon: add access checking for hugetlb pages
The process's VMAs can be mapped by hugetlb page, but now the DAMON did
not implement the access checking for hugetlb pte, so we can not get the
actual access count like below if a process VMAs were mapped by hugetlb.

  damon_aggregated: target_id=18446614368406014464 nr_regions=12 4194304-5476352: 0 545
  damon_aggregated: target_id=18446614368406014464 nr_regions=12 140662370467840-140662372970496: 0 545
  damon_aggregated: target_id=18446614368406014464 nr_regions=12 140662372970496-140662375460864: 0 545
  damon_aggregated: target_id=18446614368406014464 nr_regions=12 140662375460864-140662377951232: 0 545
  damon_aggregated: target_id=18446614368406014464 nr_regions=12 140662377951232-140662380449792: 0 545
  damon_aggregated: target_id=18446614368406014464 nr_regions=12 140662380449792-140662382944256: 0 545
  ......

Thus this patch adds hugetlb access checking support, with this patch we
can see below VMA mapped by hugetlb access count.

  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296486649856-140296489914368: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296489914368-140296492978176: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296492978176-140296495439872: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296495439872-140296498311168: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296498311168-140296501198848: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296501198848-140296504320000: 1 3
  damon_aggregated: target_id=18446613056935405824 nr_regions=12 140296504320000-140296507568128: 1 2
  ......

[baolin.wang@linux.alibaba.com: fix unused var warning]
  Link: https://lkml.kernel.org/r/1aaf9c11-0d8e-b92d-5c92-46e50a6e8d4e@linux.alibaba.com
[baolin.wang@linux.alibaba.com: v3]
  Link: https://lkml.kernel.org/r/486927ecaaaecf2e3a7fbe0378ec6e1c58b50747.1640852276.git.baolin.wang@linux.alibaba.com

Link: https://lkml.kernel.org/r/6afcbd1fda5f9c7c24f320d26a98188c727ceec3.1639623751.git.baolin.wang@linux.alibaba.com
Signed-off-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 49f4203aae06ba9d67b500c90339b262b0a52637)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Id7c86f5c0344efef150b3b27f662b696263947ed
2022-04-28 23:09:18 +08:00
SeongJae Park
b0cf3ac6d3 UPSTREAM: mm/damon/dbgfs: support all DAMOS stats
Currently, DAMON debugfs interface is not supporting DAMON-based
Operation Schemes (DAMOS) stats for schemes successfully applied regions
and time/space quota limit exceeds.  This adds the support.

Link: https://lkml.kernel.org/r/20211210150016.35349-6-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 3a619fdb8de8a3ecd4200e7d183d2c8ceb32289e)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ide3cfaff1b63e053ece5a8746a463fb87ef6c607
2022-04-28 23:09:18 +08:00
SeongJae Park
1c400b8796 UPSTREAM: mm/damon/reclaim: provide reclamation statistics
This implements new DAMON_RECLAIM parameters for statistics reporting.
Those can be used for understanding how DAMON_RECLAIM is working, and
for tuning the other parameters.

Link: https://lkml.kernel.org/r/20211210150016.35349-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 60e52e7c46a127bca5ddd48b89002564f3862063)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I721bdacb3b2d8b41154296f5dbf8ef48c5dd0744
2022-04-28 23:09:18 +08:00
SeongJae Park
f755f1a2bc UPSTREAM: mm/damon/schemes: account how many times quota limit has exceeded
If the time/space quotas of a given DAMON-based operation scheme is too
small, the scheme could show unexpectedly slow progress.  However, there
is no good way to notice the case in runtime.  This commit extends the
DAMOS stat to provide how many times the quota limits exceeded so that
the users can easily notice the case and tune the scheme.

Link: https://lkml.kernel.org/r/20211210150016.35349-3-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 6268eac34ca30af7f6313504d556ec7fcd295621)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I36184dc51917810c81ac8d576b144e33a4454dc1
2022-04-28 23:09:18 +08:00
SeongJae Park
7cecfab158 UPSTREAM: mm/damon/schemes: account scheme actions that successfully applied
Patch series "mm/damon/schemes: Extend stats for better online analysis and tuning".

To help online access pattern analysis and tuning of DAMON-based
Operation Schemes (DAMOS), DAMOS provides simple statistics for each
scheme.  Introduction of DAMOS time/space quota further made the tuning
easier by making the risk management easier.  However, that also made
understanding of the working schemes a little bit more difficult.

For an example, progress of a given scheme can now be throttled by not
only the aggressiveness of the target access pattern, but also the
time/space quotas.  So, when a scheme is showing unexpectedly slow
progress, it's difficult to know by what the progress of the scheme is
throttled, with currently provided statistics.

This patchset extends the statistics to contain some metrics that can be
helpful for such online schemes analysis and tuning (patches 1-2),
exports those to users (patches 3 and 5), and add documents (patches 4
and 6).

This patch (of 6):

DAMON-based operation schemes (DAMOS) stats provide only the number and
the amount of regions that the action of the scheme has tried to be
applied.  Because the action could be failed for some reasons, the
currently provided information is sometimes not useful or convenient
enough for schemes profiling and tuning.  To improve this situation,
this commit extends the DAMOS stats to provide the number and the amount
of regions that the action has successfully applied.

Link: https://lkml.kernel.org/r/20211210150016.35349-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20211210150016.35349-2-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 0e92c2ee9f459542c5384d9cfab24873c3dd6398)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Iddfe9257cb99091404202576a1addc5cc340cb8b
2022-04-28 23:09:18 +08:00
SeongJae Park
943c0cd13f UPSTREAM: mm/damon: convert macro functions to static inline functions
Patch series "mm/damon: Misc cleanups".

This patchset contains miscellaneous cleanups for DAMON's macro
functions and documentation.

This patch (of 6):

This commit converts macro functions in DAMON to static inline functions,
for better type checking, code documentation, etc[1].

[1] https://lore.kernel.org/linux-mm/20211202151213.6ec830863342220da4141bc5@linux-foundation.org/

Link: https://lkml.kernel.org/r/20211209131806.19317-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20211209131806.19317-2-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 88f86dcfa454784f7de550966c60fc78a3e95d6d)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Id1e4e08a844b49cf3572cb3ac02158f5c1909ea2
2022-04-28 23:09:18 +08:00
Xin Hao
947d088b1f UPSTREAM: mm/damon: move damon_rand() definition into damon.h
damon_rand() is called in three files:damon/core.c, damon/ paddr.c,
damon/vaddr.c, i think there is no need to redefine this twice, So move
it to damon.h will be a good choice.

Link: https://lkml.kernel.org/r/20211202075859.51341-1-xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 9b2a38d6ef25c1748e3964b0ff30a89e4ed26583)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ib7be3062385fac4b422faa86705968aa39095a72
2022-04-28 23:09:18 +08:00
Xin Hao
b45423116e UPSTREAM: mm/damon/schemes: add the validity judgment of thresholds
In dbgfs "schemes" interface, i do some test like this:
    # cd /sys/kernel/debug/damon
    # echo "2 1 2 1 10 1 3 10 1 1 1 1 1 1 1 1 2 3" > schemes
    # cat schemes
    # 2 1 2 1 10 1 3 10 1 1 1 1 1 1 1 1 2 3 0 0

There have some unreasonable places, i set the valules of these variables
"<min_sz, max_sz> <min_nr_a, max_nr_a>, <min_age, max_age>, <wmarks.high,
wmarks.mid, wmarks.low>" as "<2, 1>, <2, 1>, <10, 1>, <1, 2, 3>.

So there add a validity judgment for these thresholds value.

Link: https://lkml.kernel.org/r/d78360e52158d786fcbf20bc62c96785742e76d3.1637239568.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit c89ae63eb0662b6c9f82dbfad3ef010239b8c1b1)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I2b23124b95ebeac935f28f9632dccaeabace4533
2022-04-28 23:09:17 +08:00
Yihao Han
b198e86d5a UPSTREAM: mm/damon/vaddr: remove swap_ranges() and replace it with swap()
Remove 'swap_ranges()' and replace it with the macro 'swap()' defined in
'include/linux/minmax.h' to simplify code and improve efficiency

Link: https://lkml.kernel.org/r/20211111115355.2808-1-hanyihao@vivo.com
Signed-off-by: Yihao Han <hanyihao@vivo.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 8bd0b9da03c9154e279b1a502636103887b9fbed)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Icf565b52a7642fb830ae004764ca496986aed82a
2022-04-28 23:09:17 +08:00
Xin Hao
9a8de9c702 UPSTREAM: mm/damon: remove some unneeded function definitions in damon.h
In damon.h some func definitions about VA & PA can only be used in its
own file, so there no need to define in the header file, and the header
file will look cleaner.

If other files later need these functions, the prototypes can be added
to damon.h at that time.

[sj@kernel.org: remove unnecessary function prototype position changes]
 Link: https://lkml.kernel.org/r/20211118114827.20052-1-sj@kernel.org

Link: https://lkml.kernel.org/r/45fd5b3ef6cce8e28dbc1c92f9dc845ccfc949d7.1636989871.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Signed-off-by: SeongJae Park <sj@kernel.org>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit cdeed009f3bceee41f73f0137db785fd29a05cb8)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I2203b9c8e4625493797e1f3e506431799c4404c9
2022-04-28 23:09:17 +08:00
Xin Hao
07045a0e5a UPSTREAM: mm/damon/core: use abs() instead of diff_of()
In kernel, we can use abs(a - b) to get the absolute value, So there is no
need to redefine a new one.

Link: https://lkml.kernel.org/r/b24e7b82d9efa90daf150d62dea171e19390ad0b.1636989871.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit d720bbbd70e968f8a0257393b575c3a29b56f990)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Iab418bdc79cea24a175c2c5e17ab7ee393df6c47
2022-04-28 23:09:17 +08:00
Xin Hao
8b02bed759 UPSTREAM: mm/damon: unified access_check function naming rules
Patch series "mm/damon: Do some small changes", v4.

This patch (of 4):

In damon/paddr.c file, two functions names start with underscore,
	static void __damon_pa_prepare_access_check(struct damon_ctx *ctx,
			struct damon_region *r)
	static void __damon_pa_prepare_access_check(struct damon_ctx *ctx,
			struct damon_region *r)
In damon/vaddr.c file, there are also two functions with the same function,
	static void damon_va_prepare_access_check(struct damon_ctx *ctx,
			struct mm_struct *mm, struct damon_region *r)
	static void damon_va_check_access(struct damon_ctx *ctx,
			struct mm_struct *mm, struct damon_region *r)

It makes sense to keep consistent, and it is not easy to be confused with
the function that call them.

Link: https://lkml.kernel.org/r/cover.1636989871.git.xhao@linux.alibaba.com
Link: https://lkml.kernel.org/r/529054aed932a42b9c09fc9977ad4574b9e7b0bd.1636989871.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit b627b774911660852ce7f3f3817955ddad2bd130)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I180e7f068ed4745c5fbc0e2a81320b7fda03c52e
2022-04-28 23:09:17 +08:00
SeongJae Park
d4d20c7ef5 UPSTREAM: mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()'
DAMON debugfs interface increases the reference counts of 'struct pid's
for targets from the 'target_ids' file write callback
('dbgfs_target_ids_write()'), but decreases the counts only in DAMON
monitoring termination callback ('dbgfs_before_terminate()').

Therefore, when 'target_ids' file is repeatedly written without DAMON
monitoring start/termination, the reference count is not decreased and
therefore memory for the 'struct pid' cannot be freed.  This commit
fixes this issue by decreasing the reference counts when 'target_ids' is
written.

Link: https://lkml.kernel.org/r/20211229124029.23348-1-sj@kernel.org
Fixes: 4bc05954d007 ("mm/damon: implement a debugfs-based user space interface")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>	[5.15+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit ebb3f994dd92f8fb4d70c7541091216c1e10cb71)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I1d280e32acf9478f48c6946469da1444a2998464
2022-04-28 23:09:17 +08:00
SeongJae Park
c3939031fb UPSTREAM: mm/damon/dbgfs: protect targets destructions with kdamond_lock
DAMON debugfs interface iterates current monitoring targets in
'dbgfs_target_ids_read()' while holding the corresponding
'kdamond_lock'.  However, it also destructs the monitoring targets in
'dbgfs_before_terminate()' without holding the lock.  This can result in
a use_after_free bug.  This commit avoids the race by protecting the
destruction with the corresponding 'kdamond_lock'.

Link: https://lkml.kernel.org/r/20211221094447.2241-1-sj@kernel.org
Reported-by: Sangwoo Bae <sangwoob@amazon.com>
Fixes: 4bc05954d007 ("mm/damon: implement a debugfs-based user space interface")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>	[5.15.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 34796417964b8d0aef45a99cf6c2d20cebe33733)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I27e10c0e1ccc6c28c5a948a246e45db7a0338bed
2022-04-28 23:09:17 +08:00
SeongJae Park
82bb332bf0 UPSTREAM: mm/damon/vaddr-test: remove unnecessary variables
A couple of test functions in DAMON virtual address space monitoring
primitives implementation has unnecessary damon_ctx variables.  This
commit removes those.

Link: https://lkml.kernel.org/r/20211201150440.1088-7-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 9f86d624292c238203b3687cdb870a2cde1a6f9b)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ic7543d67d15843d7c2110302de950958a3b46e04
2022-04-28 23:09:17 +08:00
SeongJae Park
4f0e48e5e9 UPSTREAM: mm/damon/vaddr-test: split a test function having >1024 bytes frame size
On some configuration[1], 'damon_test_split_evenly()' kunit test
function has >1024 bytes frame size, so below build warning is
triggered:

      CC      mm/damon/vaddr.o
    In file included from mm/damon/vaddr.c:672:
    mm/damon/vaddr-test.h: In function 'damon_test_split_evenly':
    mm/damon/vaddr-test.h:309:1: warning: the frame size of 1064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
      309 | }
          | ^

This commit fixes the warning by separating the common logic in the
function.

[1] https://lore.kernel.org/linux-mm/202111182146.OV3C4uGr-lkp@intel.com/

Link: https://lkml.kernel.org/r/20211201150440.1088-6-sj@kernel.org
Fixes: 17ccae8bb5c9 ("mm/damon: add kunit tests")
Signed-off-by: SeongJae Park <sj@kernel.org>
Reported-by: kernel test robot <lkp@intel.com>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 044cd9750fe010170f5dc812e4824d98f5ea928c)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I78226fdde7f992f5aa8209f0996561a3f7efce84
2022-04-28 23:09:17 +08:00
SeongJae Park
90af7e344b UPSTREAM: mm/damon/vaddr: remove an unnecessary warning message
The DAMON virtual address space monitoring primitive prints a warning
message for wrong DAMOS action.  However, it is not essential as the
code returns appropriate failure in the case.  This commit removes the
message to make the log clean.

Link: https://lkml.kernel.org/r/20211201150440.1088-5-sj@kernel.org
Fixes: 6dea8add4d28 ("mm/damon/vaddr: support DAMON-based Operation Schemes")
Signed-off-by: SeongJae Park <sj@kernel.org>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 09e12289cc044afa484e70c0b379d579d52caf9a)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I695d3e813f9449b388f2757c6e81cba76ee3e1bf
2022-04-28 23:09:17 +08:00
SeongJae Park
4e19846848 UPSTREAM: mm/damon/core: remove unnecessary error messages
DAMON core prints error messages when damon_target object creation is
failed or wrong monitoring attributes are given.  Because appropriate
error code is returned for each case, the messages are not essential.
Also, because the code path can be triggered with user-specified input,
this could result in kernel log mistakenly being messy.  To avoid the
case, this commit removes the messages.

Link: https://lkml.kernel.org/r/20211201150440.1088-4-sj@kernel.org
Fixes: 4bc05954d007 ("mm/damon: implement a debugfs-based user space interface")
Fixes: b9a6ac4e4ede ("mm/damon: adaptively adjust regions")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: kernel test robot <lkp@intel.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 1afaf5cb687de85c5e00ac70f6eea5597077cbc5)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I571336c5d49998029d4727b523b7a0950c753b2f
2022-04-28 23:09:17 +08:00
SeongJae Park
a7969dac5a UPSTREAM: mm/damon/dbgfs: remove an unnecessary error message
When wrong scheme action is requested via the debugfs interface, DAMON
prints an error message.  Because the function returns error code, this
is not really needed.  Because the code path is triggered by the user
specified input, this can result in kernel log mistakenly being messy.
To avoid the case, this commit removes the message.

Link: https://lkml.kernel.org/r/20211201150440.1088-3-sj@kernel.org
Fixes: af122dd8f3c0 ("mm/damon/dbgfs: support DAMON-based Operation Schemes")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 0bceffa236af401f5206feaf3538526cbc427209)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I6c6e4ea6891eee04cb934f237b7d1768a766f240
2022-04-28 23:09:17 +08:00
SeongJae Park
f37ab7f595 UPSTREAM: mm/damon/core: use better timer mechanisms selection threshold
Patch series "mm/damon: Trivial fixups and improvements".

This patchset contains trivial fixups and improvements for DAMON and its
kunit/kselftest tests.

This patch (of 11):

DAMON is using hrtimer if requested sleep time is <=100ms, while the
suggested threshold[1] is <=20ms.  This commit applies the threshold.

[1] Documentation/timers/timers-howto.rst

Link: https://lkml.kernel.org/r/20211201150440.1088-2-sj@kernel.org
Fixes: ee801b7dd7822 ("mm/damon/schemes: activate schemes based on a watermarks mechanism")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 4de46a30b9929d3d1b29e481d48e9c25f8ac7919)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ieb5e3e196c96d8d54c83fecec53fdd13db763b62
2022-04-28 23:09:17 +08:00
SeongJae Park
63e8bc85e6 UPSTREAM: mm/damon/core: fix fake load reports due to uninterruptible sleeps
Because DAMON sleeps in uninterruptible mode, /proc/loadavg reports fake
load while DAMON is turned on, though it is doing nothing.  This can
confuse users[1].  To avoid the case, this commit makes DAMON sleeps in
idle mode.

[1] https://lore.kernel.org/all/11868371.O9o76ZdvQC@natalenko.name/

Link: https://lkml.kernel.org/r/20211126145015.15862-3-sj@kernel.org
Fixes: 2224d8485492 ("mm: introduce Data Access MONitor (DAMON)")
Reported-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Signed-off-by: SeongJae Park <sj@kernel.org>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 70e9274805fccfd175d0431a947bfd11ee7df40e)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Id3518e85d9b1db9f71b62932418993b4b9666326
2022-04-28 23:09:17 +08:00
SeongJae Park
2581464867 UPSTREAM: mm/damon/dbgfs: fix missed use of damon_dbgfs_lock
DAMON debugfs is supposed to protect dbgfs_ctxs, dbgfs_nr_ctxs, and
dbgfs_dirs using damon_dbgfs_lock.  However, some of the code is
accessing the variables without the protection.  This fixes it by
protecting all such accesses.

Link: https://lkml.kernel.org/r/20211110145758.16558-3-sj@kernel.org
Fixes: 75c1c2b53c78 ("mm/damon/dbgfs: support multiple contexts")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit d78f3853f831eee46c6dbe726debf3be9e9c0d05)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ibdfcc75f9f219b69a4b4e6161af257c1d0eba891
2022-04-28 23:09:17 +08:00
SeongJae Park
dbbff9155c UPSTREAM: mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation
Patch series "DAMON fixes".

This patch (of 2):

DAMON users can trigger below warning in '__alloc_pages()' by invoking
write() to some DAMON debugfs files with arbitrarily high count
argument, because DAMON debugfs interface allocates some buffers based
on the user-specified 'count'.

        if (unlikely(order >= MAX_ORDER)) {
                WARN_ON_ONCE(!(gfp & __GFP_NOWARN));
                return NULL;
        }

Because the DAMON debugfs interface code checks failure of the
'kmalloc()', this commit simply suppresses the warnings by adding
'__GFP_NOWARN' flag.

Link: https://lkml.kernel.org/r/20211110145758.16558-1-sj@kernel.org
Link: https://lkml.kernel.org/r/20211110145758.16558-2-sj@kernel.org
Fixes: 4bc05954d007 ("mm/damon: implement a debugfs-based user space interface")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit db7a347b26fe05d2e8c115bb24dfd908d0252bc3)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ie04cc634d998260e5791b4daa4215b83a6af9071
2022-04-28 23:09:17 +08:00
Changbin Du
55a2d2f5a7 UPSTREAM: mm/damon: remove return value from before_terminate callback
Since the return value of 'before_terminate' callback is never used, we
make it have no return value.

Link: https://lkml.kernel.org/r/20211029005023.8895-1-changbin.du@gmail.com
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 658f9ae761b5965893727dd4edcdad56e5a439bb)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ida44623827a7a667118a2af329f6e58a57941fc9
2022-04-28 23:09:17 +08:00
Colin Ian King
b48f28f49c UPSTREAM: mm/damon: fix a few spelling mistakes in comments and a pr_debug message
There are a few spelling mistakes in the code.  Fix these.

Link: https://lkml.kernel.org/r/20211028184157.614544-1-colin.i.king@gmail.com
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 0107865541961ee128149c9873996d32143a74d0)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I09c9421b1abeed6c002cf5fef07d229cf0f22ebd
2022-04-28 23:09:16 +08:00
Changbin Du
bb15a07842 UPSTREAM: mm/damon: simplify stop mechanism
A kernel thread can exit gracefully with kthread_stop().  So we don't
need a new flag 'kdamond_stop'.  And to make sure the task struct is not
freed when accessing it, get reference to it before termination.

Link: https://lkml.kernel.org/r/20211027130517.4404-1-changbin.du@gmail.com
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 0f91d13366a402420bf98eaaf393db03946c13e0)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I7b959fc6cd114dc244c895cf19b9fd864b81cd12
2022-04-28 23:09:16 +08:00
Xin Hao
f1456aa48d UPSTREAM: mm/damon/dbgfs: add adaptive_targets list check before enable monitor_on
When the ctx->adaptive_targets list is empty, I did some test on
monitor_on interface like this.

    # cat /sys/kernel/debug/damon/target_ids
    #
    # echo on > /sys/kernel/debug/damon/monitor_on
    # damon: kdamond (5390) starts

Though the ctx->adaptive_targets list is empty, but the kthread_run
still be called, and the kdamond.x thread still be created, this is
meaningless.

So there adds a judgment in 'dbgfs_monitor_on_write', if the
ctx->adaptive_targets list is empty, return -EINVAL.

Link: https://lkml.kernel.org/r/0a60a6e8ec9d71989e0848a4dc3311996ca3b5d4.1634720326.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit b5ca3e83ddb05342b1b30700b999cb9b107511f6)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I768592c5fded26ead98ba94a46d43fd64118f589
2022-04-28 23:09:16 +08:00
Xin Hao
8c2db14f3f UPSTREAM: mm/damon: remove unnecessary variable initialization
Patch series "mm/damon: Fix some small bugs", v4.

This patch (of 2):

In 'damon_va_apply_three_regions' there is no need to set variable 'i'
to zero.

Link: https://lkml.kernel.org/r/b7df8d3dad0943a37e01f60c441b1968b2b20354.1634720326.git.xhao@linux.alibaba.com
Link: https://lkml.kernel.org/r/cover.1634720326.git.xhao@linux.alibaba.com
Signed-off-by: Xin Hao <xhao@linux.alibaba.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit a460a36034bad4403c2c62e04a521bc6987ae5db)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I81c05842e2372f3ab7a3d74df5358fbfb1c96342
2022-04-28 23:09:16 +08:00
SeongJae Park
4d321b786f UPSTREAM: mm/damon: introduce DAMON-based Reclamation (DAMON_RECLAIM)
This implements a new kernel subsystem that finds cold memory regions
using DAMON and reclaims those immediately.  It is intended to be used
as proactive lightweigh reclamation logic for light memory pressure.
For heavy memory pressure, it could be inactivated and fall back to the
traditional page-scanning based reclamation.

It's implemented on top of DAMON framework to use the DAMON-based
Operation Schemes (DAMOS) feature.  It utilizes all the DAMOS features
including speed limit, prioritization, and watermarks.

It could be enabled and tuned in boot time via the kernel boot
parameter, and in run time via its module parameters
('/sys/module/damon_reclaim/parameters/') interface.

[yangyingliang@huawei.com: fix error return code in damon_reclaim_turn()]
  Link: https://lkml.kernel.org/r/20211025124500.2758060-1-yangyingliang@huawei.com

Link: https://lkml.kernel.org/r/20211019150731.16699-15-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 43b0536cb4710e7bb591edfda7e68a1c327a3409)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Id57795ee37e5db046f782d2bffcd0533fe476558
2022-04-28 23:09:16 +08:00
SeongJae Park
88d44101df UPSTREAM: mm/damon/dbgfs: support watermarks
This updates DAMON debugfs interface to support the watermarks based
schemes activation.  For this, now 'schemes' file receives five more
values.

Link: https://lkml.kernel.org/r/20211019150731.16699-13-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit ae666a6dddfd119da55cc1bad54f7cbd8b2ef54c)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I9b1b7c285ea04bd4dc9beefcc6a4e5368f093745
2022-04-28 23:09:16 +08:00
SeongJae Park
fb7d5f3b1a UPSTREAM: mm/damon/schemes: activate schemes based on a watermarks mechanism
DAMON-based operation schemes need to be manually turned on and off.  In
some use cases, however, the condition for turning a scheme on and off
would depend on the system's situation.  For example, schemes for
proactive pages reclamation would need to be turned on when some memory
pressure is detected, and turned off when the system has enough free
memory.

For easier control of schemes activation based on the system situation,
this introduces a watermarks-based mechanism.  The client can describe
the watermark metric (e.g., amount of free memory in the system),
watermark check interval, and three watermarks, namely high, mid, and
low.  If the scheme is deactivated, it only gets the metric and compare
that to the three watermarks for every check interval.  If the metric is
higher than the high watermark, the scheme is deactivated.  If the
metric is between the mid watermark and the low watermark, the scheme is
activated.  If the metric is lower than the low watermark, the scheme is
deactivated again.  This is to allow users fall back to traditional
page-granularity mechanisms.

Link: https://lkml.kernel.org/r/20211019150731.16699-12-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit ee801b7dd7822a82fd7663048ad649545fac6df3)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I857d0aeab8aa58929ea71c8e9d42b3b93966fc51
2022-04-28 23:09:16 +08:00
SeongJae Park
eb9cf87aa8 UPSTREAM: mm/damon/dbgfs: support prioritization weights
This allows DAMON debugfs interface users set the prioritization weights
by putting three more numbers to the 'schemes' file.

Link: https://lkml.kernel.org/r/20211019150731.16699-10-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit f4a68b4a04e6db9397f7776c51d0f9715bd1a60e)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: Ia47dfebe9817da3e0d669ea996c0d3b44f980936
2022-04-28 23:09:16 +08:00
SeongJae Park
798e889699 UPSTREAM: mm/damon/vaddr,paddr: support pageout prioritization
This makes the default monitoring primitives for virtual address spaces
and the physical address sapce to support memory regions prioritization
for 'PAGEOUT' DAMOS action.  It calculates hotness of each region as
weighted sum of 'nr_accesses' and 'age' of the region and get the
priority score as reverse of the hotness, so that cold regions can be
paged out first.

Link: https://lkml.kernel.org/r/20211019150731.16699-9-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 198f0f4c58b9f481e4e51c8c70a6ab9852bbab7f)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I5f8f8d5e3b0669ec48fa6d698b963091c892106d
2022-04-28 23:09:16 +08:00
SeongJae Park
dd1947047e UPSTREAM: mm/damon/schemes: prioritize regions within the quotas
This makes DAMON apply schemes to regions having higher priority first,
if it cannot apply schemes to all regions due to the quotas.

The prioritization function should be implemented in the monitoring
primitives.  Those would commonly calculate the priority of the region
using attributes of regions, namely 'size', 'nr_accesses', and 'age'.
For example, some primitive would calculate the priority of each region
using a weighted sum of 'nr_accesses' and 'age' of the region.

The optimal weights would depend on give environments, so this makes
those customizable.  Nevertheless, the score calculation functions are
only encouraged to respect the weights, not mandated.

Link: https://lkml.kernel.org/r/20211019150731.16699-8-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 38683e003153f7abfa612d7b7fe147efa4624af2)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I7c96b116f7daf1d33df427b023aba3664951e2cb
2022-04-28 23:09:16 +08:00
SeongJae Park
8c491daa0f UPSTREAM: mm/damon/dbgfs: support quotas of schemes
This makes the debugfs interface of DAMON support the scheme quotas by
chaning the format of the input for the schemes file.

Link: https://lkml.kernel.org/r/20211019150731.16699-6-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit d7d0ec85e983945079364db3c3d2d80cc795a48c)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I2260814672b0b9db7f0b416505bfa767fa0fa00b
2022-04-28 23:09:16 +08:00
SeongJae Park
2c090a6bc6 UPSTREAM: mm/damon/schemes: implement time quota
The size quota feature of DAMOS is useful for IO resource-critical
systems, but not so intuitive for CPU time-critical systems.  Systems
using zram or zswap-like swap device would be examples.

To provide another intuitive ways for such systems, this implements
time-based quota for DAMON-based Operation Schemes.  If the quota is
set, DAMOS tries to use only up to the user-defined quota of CPU time
within a given time window.

Link: https://lkml.kernel.org/r/20211019150731.16699-5-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Amit Shah <amit@kernel.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: David Woodhouse <dwmw@amazon.com>
Cc: Greg Thelen <gthelen@google.com>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Leonard Foerster <foersleo@amazon.de>
Cc: Marco Elver <elver@google.com>
Cc: Markus Boehme <markubo@amazon.de>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Shuah Khan <shuah@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

(cherry picked from commit 1cd2430300594a230dba9178ac9e286d868d9da2)

Bug: 228223814
Signed-off-by: Hailong Tu <tuhailong@oppo.com>
Change-Id: I5ee77a0882cb67d76f7f24ce7742414718ba028c
2022-04-28 23:09:16 +08:00