Commit Graph

93 Commits

Author SHA1 Message Date
Srinivasarao Pathipati
a965799388 Merge android11-5.4.191+ (375c2e2) into msm-5.4
* refs/heads/tmp-375c2e2:
  Revert "oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup"
  Linux 5.4.191
  Revert "net: micrel: fix KS8851_MLL Kconfig"
  block/compat_ioctl: fix range check in BLKGETSIZE
  staging: ion: Prevent incorrect reference counting behavour
  spi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller
  jbd2: fix a potential race while discarding reserved buffers after an abort
  ext4: force overhead calculation if the s_overhead_cluster makes no sense
  ext4: fix overhead calculation to account for the reserved gdt blocks
  ext4, doc: fix incorrect h_reserved size
  ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
  ext4: fix use-after-free in ext4_search_dir
  ext4: fix symlink file size not match to file content
  arm_pmu: Validate single/group leader events
  ARC: entry: fix syscall_trace_exit argument
  e1000e: Fix possible overflow in LTR decoding
  ASoC: soc-dapm: fix two incorrect uses of list iterator
  openvswitch: fix OOB access in reserve_sfa_size()
  xtensa: fix a7 clobbering in coprocessor context load/store
  xtensa: patch_text: Fixup last cpu should be master
  powerpc/perf: Fix power9 event alternatives
  drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
  KVM: PPC: Fix TCE handling for VFIO
  drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
  drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
  dma: at_xdmac: fix a missing check on list iterator
  ata: pata_marvell: Check the 'bmdma_addr' beforing reading
  oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup
  EDAC/synopsys: Read the error count from the correct register
  stat: fix inconsistency between struct stat and struct compat_stat
  scsi: qedi: Fix failed disconnect handling
  net: macb: Restart tx only if queue pointer is lagging
  drm/msm/mdp5: check the return of kzalloc()
  dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info()
  brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant
  mt76: Fix undefined behavior due to shift overflowing the constant
  cifs: Check the IOCB_DIRECT flag, not O_DIRECT
  vxlan: fix error return code in vxlan_fdb_append
  ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant
  platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
  reset: tegra-bpmp: Restore Handle errors in BPMP response
  ARM: vexpress/spc: Avoid negative array index when !SMP
  selftests: mlxsw: vxlan_flooding: Prevent flooding of unwanted packets
  netlink: reset network and mac headers in netlink_dump()
  l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu
  net/sched: cls_u32: fix possible leak in u32_init_knode()
  net/packet: fix packet_sock xmit return value checking
  net/smc: Fix sock leak when release after smc_shutdown()
  rxrpc: Restore removed timer deletion
  igc: Fix BUG: scheduling while atomic
  igc: Fix infinite loop in release_swfw_sync
  dmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources
  dmaengine: imx-sdma: Fix error checking in sdma_event_remap
  ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component
  ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek
  ALSA: usb-audio: Clear MIDI port active flag after draining
  tcp: Fix potential use-after-free due to double kfree()
  net/sched: cls_u32: fix netns refcount changes in u32_change()
  tcp: fix race condition when creating child sockets from syncookies
  gfs2: assign rgrp glock before compute_bitstructs
  can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
  tracing: Dump stacktrace trigger to the corresponding instance
  mm: page_alloc: fix building error on -Werror=array-compare
  etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead
  Linux 5.4.190
  ax25: Fix UAF bugs in ax25 timers
  ax25: Fix NULL pointer dereferences in ax25 timers
  ax25: fix NPD bug in ax25_disconnect
  ax25: fix UAF bug in ax25_send_control()
  ax25: Fix refcount leaks caused by ax25_cb_del()
  ax25: fix UAF bugs of net_device caused by rebinding operation
  ax25: fix reference count leaks of ax25_dev
  ax25: add refcount in ax25_dev to avoid UAF bugs
  dma-direct: avoid redundant memory sync for swiotlb
  i2c: pasemi: Wait for write xfers to finish
  smp: Fix offline cpu check in flush_smp_call_function_queue()
  dm integrity: fix memory corruption when tag_size is less than digest size
  ARM: davinci: da850-evm: Avoid NULL pointer dereference
  tick/nohz: Use WARN_ON_ONCE() to prevent console saturation
  genirq/affinity: Consider that CPUs on nodes can be unbalanced
  drm/amd/display: don't ignore alpha property on pre-multiplied mode
  ipv6: fix panic when forwarding a pkt with no in6 dev
  ALSA: pcm: Test for "silence" field in struct "pcm_format_data"
  ALSA: hda/realtek: Add quirk for Clevo PD50PNT
  btrfs: mark resumed async balance as writing
  btrfs: remove unused variable in btrfs_{start,write}_dirty_block_groups()
  ath9k: Fix usage of driver-private space in tx_info
  ath9k: Properly clear TX status area before reporting to mac80211
  gcc-plugins: latent_entropy: use /dev/urandom
  mm: kmemleak: take a full lowmem check in kmemleak_*_phys()
  mm, page_alloc: fix build_zonerefs_node()
  perf/imx_ddr: Fix undefined behavior due to shift overflowing the constant
  drivers: net: slip: fix NPD bug in sl_tx_timeout()
  scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan
  scsi: mvsas: Add PCI ID of RocketRaid 2640
  powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit
  drm/amd/display: Fix allocate_mst_payload assert on resume
  net: usb: aqc111: Fix out-of-bounds accesses in RX fixup
  tlb: hugetlb: Add more sizes to tlb_remove_huge_tlb_entry
  arm64: alternatives: mark patch_alternative() as `noinstr`
  regulator: wm8994: Add an off-on delay for WM8994 variant
  gpu: ipu-v3: Fix dev_dbg frequency output
  ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs
  net: micrel: fix KS8851_MLL Kconfig
  scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024
  scsi: target: tcmu: Fix possible page UAF
  Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer
  drm/amdkfd: Check for potential null return of kmalloc_array()
  drm/amdkfd: Fix Incorrect VMIDs passed to HWS
  drm/amd/display: Update VTEM Infopacket definition
  drm/amd/display: fix audio format not updated after edid updated
  drm/amd: Add USBC connector ID
  cifs: potential buffer overflow in handling symlinks
  nfc: nci: add flush_workqueue to prevent uaf
  testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set
  sctp: Initialize daddr on peeled off socket
  net/smc: Fix NULL pointer dereference in smc_pnet_find_ib()
  drm/msm/dsi: Use connector directly in msm_dsi_manager_connector_init()
  cfg80211: hold bss_lock while updating nontrans_list
  net/sched: taprio: Check if socket flags are valid
  net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link
  net/sched: fix initialization order when updating chain 0 head
  mlxsw: i2c: Fix initialization error flow
  gpiolib: acpi: use correct format characters
  veth: Ensure eth header is in skb's linear part
  net/sched: flower: fix parsing of ethertype following VLAN header
  memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probe
  ANDROID: GKI: fix crc issue with commit 3f91687e6e ("block: don't merge across cgroup boundaries if blkcg is enabled")
  Revert "PCI: Reduce warnings on possible RW1C corruption"
  Linux 5.4.189
  ACPI: processor idle: Check for architectural support for LPI
  cpuidle: PSCI: Move the `has_lpi` check to the beginning of the function
  selftests: cgroup: Test open-time cgroup namespace usage for migration checks
  selftests: cgroup: Test open-time credential usage for migration checks
  selftests: cgroup: Make cg_create() use 0755 for permission instead of 0644
  cgroup: Use open-time cgroup namespace for process migration perm checks
  cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv
  cgroup: Use open-time credentials for process migraton perm checks
  io_uring: fix fs->users overflow
  drm/amdkfd: Fix -Wstrict-prototypes from amdgpu_amdkfd_gfx_10_0_get_functions()
  drm/amdkfd: add missing void argument to function kgd2kfd_init
  mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning
  arm64: module: remove (NOLOAD) from linker script
  mm: don't skip swap entry even if zap_details specified
  mmc: mmci: stm32: correctly check all elements of sg list
  mmc: mmci_sdmmc: Replace sg_dma_xxx macros
  dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"
  tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
  tools build: Filter out options and warnings not supported by clang
  irqchip/gic-v3: Fix GICR_CTLR.RWP polling
  perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator
  ata: sata_dwc_460ex: Fix crash due to OOB write
  arm64: patch_text: Fixup last cpu should be master
  btrfs: fix qgroup reserve overflow the qgroup limit
  x86/speculation: Restore speculation related MSRs during S3 resume
  x86/pm: Save the MSR validity status at context setup
  mm/mempolicy: fix mpol_new leak in shared_policy_replace
  mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
  lz4: fix LZ4_decompress_safe_partial read out of bound
  mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete
  Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning"
  perf session: Remap buf if there is no space for event
  perf tools: Fix perf's libperf_print callback
  SUNRPC: Handle low memory situations in call_status()
  SUNRPC: Handle ENOMEM in call_transmit_status()
  drbd: Fix five use after free bugs in get_initial_state
  bpf: Support dual-stack sockets in bpf_tcp_check_syncookie
  spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op()
  qede: confirm skb is allocated before using
  rxrpc: fix a race in rxrpc_exit_net()
  net: openvswitch: don't send internal clone attribute to the userspace.
  ipv6: Fix stats accounting in ip6_pkt_drop
  dpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe
  IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition
  bnxt_en: reserve space inside receive page for skb_shared_info
  drm/imx: Fix memory leak in imx_pd_connector_get_modes
  net: stmmac: Fix unset max_speed difference between DT and non-DT platforms
  net: ipv4: fix route with nexthop object delete warning
  net/tls: fix slab-out-of-bounds bug in decrypt_internal
  scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()
  Drivers: hv: vmbus: Fix potential crash on module unload
  drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()
  KVM: arm64: Check arm64_get_bp_hardening_data() didn't return NULL
  mm: fix race between MADV_FREE reclaim and blkdev direct IO read
  parisc: Fix patch code locking and flushing
  parisc: Fix CPU affinity for Lasi, WAX and Dino chips
  SUNRPC: Fix socket waits for write buffer space
  jfs: prevent NULL deref in diFree
  virtio_console: eliminate anonymous module_init & module_exit
  serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
  NFS: swap-out must always use STABLE writes.
  NFS: swap IO handling is slightly different for O_DIRECT IO
  SUNRPC/call_alloc: async tasks mustn't block waiting for memory
  clk: Enforce that disjoints limits are invalid
  xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32
  NFSv4: Protect the state recovery thread against direct reclaim
  w1: w1_therm: fixes w1_seq for ds28ea00 sensors
  clk: si5341: fix reported clk_rate when output divider is 2
  minix: fix bug when opening a file with O_DIRECT
  init/main.c: return 1 from handled __setup() functions
  netlabel: fix out-of-bounds memory accesses
  Bluetooth: Fix use after free in hci_send_acl
  xtensa: fix DTC warning unit_address_format
  usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm
  scsi: libfc: Fix use after free in fc_exch_abts_resp()
  MIPS: fix fortify panic when copying asm exception handlers
  bnxt_en: Eliminate unintended link toggle during FW reset
  tuntap: add sanity checks about msg_controllen in sendmsg
  macvtap: advertise link netns via netlink
  mips: ralink: fix a refcount leak in ill_acc_of_setup()
  net/smc: correct settings of RMB window update limit
  scsi: aha152x: Fix aha152x_setup() __setup handler return value
  scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
  drm/amdkfd: make CRAT table missing message informational only
  dm ioctl: prevent potential spectre v1 gadget
  ipv4: Invalidate neighbour for broadcast address upon address addition
  power: supply: axp288-charger: Set Vhold to 4.4V
  PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
  usb: ehci: add pci device support for Aspeed platforms
  iommu/arm-smmu-v3: fix event handling soft lockup
  PCI: aardvark: Fix support for MSI interrupts
  drm/amdgpu: Fix recursive locking warning
  powerpc: Set crashkernel offset to mid of RMA region
  ipv6: make mc_forwarding atomic
  power: supply: axp20x_battery: properly report current when discharging
  scsi: bfa: Replace snprintf() with sysfs_emit()
  scsi: mvsas: Replace snprintf() with sysfs_emit()
  bpf: Make dst_port field in struct bpf_sock 16-bit wide
  powerpc: dts: t104xrdb: fix phy type for FMAN 4/5
  ptp: replace snprintf with sysfs_emit
  drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj
  ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111
  drm: Add orientation quirk for GPD Win Max
  KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs
  ARM: 9187/1: JIVE: fix return value of __setup handler
  riscv module: remove (NOLOAD)
  rtc: wm8350: Handle error for wm8350_register_irq
  ubifs: Rectify space amount budget for mkdir/tmpfile operations
  KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
  KVM: x86/mmu: do compare-and-exchange of gPTE via the user address
  openvswitch: Fixed nd target mask field in the flow dump.
  um: Fix uml_mconsole stop/go
  ARM: dts: spear13xx: Update SPI dma properties
  ARM: dts: spear1340: Update serial node properties
  ASoC: topology: Allow TLV control to be either read or write
  ubi: fastmap: Return error code if memory allocation fails in add_aeb()
  dt-bindings: spi: mxic: The interrupt property is not mandatory
  dt-bindings: mtd: nand-controller: Fix a comment in the examples
  dt-bindings: mtd: nand-controller: Fix the reg property description
  bpf: Fix comment for helper bpf_current_task_under_cgroup()
  mm/usercopy: return 1 from hardened_usercopy __setup() handler
  mm/memcontrol: return 1 from cgroup.memory __setup() handler
  mm/mmap: return 1 from stack_guard_gap __setup() handler
  ASoC: soc-compress: Change the check for codec_dai
  powerpc/kasan: Fix early region not updated correctly
  ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
  ARM: iop32x: offset IRQ numbers by 1
  ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
  ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs
  pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()
  pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()
  pinctrl: pinconf-generic: Print arguments for bias-pull-*
  net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware
  gfs2: Make sure FITRIM minlen is rounded up to fs block size
  rtc: check if __rtc_read_time was successful
  XArray: Update the LRU list in xas_split()
  can: mcba_usb: properly check endpoint type
  can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
  XArray: Fix xas_create_range() when multi-order entry present
  ubifs: rename_whiteout: correct old_dir size computing
  ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
  ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
  ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
  ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
  ubifs: rename_whiteout: Fix double free for whiteout_ui->data
  ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM
  KVM: x86: fix sending PV IPI
  KVM: Prevent module exit until all VMs are freed
  scsi: qla2xxx: Use correct feature type field during RFF_ID processing
  scsi: qla2xxx: Reduce false trigger to login
  scsi: qla2xxx: Fix N2N inconsistent PLOGI
  scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests
  scsi: qla2xxx: Fix hang due to session stuck
  scsi: qla2xxx: Fix incorrect reporting of task management failure
  scsi: qla2xxx: Fix disk failure to rediscover
  scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
  scsi: qla2xxx: Check for firmware dump already collected
  scsi: qla2xxx: Add devids and conditionals for 28xx
  scsi: qla2xxx: Fix device reconnect in loop topology
  scsi: qla2xxx: Fix warning for missing error code
  scsi: qla2xxx: Fix wrong FDMI data for 64G adapter
  scsi: qla2xxx: Fix stuck session in gpdb
  powerpc: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix 'sthcx' instruction
  ALSA: hda/realtek: Add alc256-samsung-headphone fixup
  mmc: host: Return an error when ->enable_sdio_irq() ops is missing
  media: hdpvr: initialize dev->worker at hdpvr_register_videodev
  media: Revert "media: em28xx: add missing em28xx_close_extension"
  video: fbdev: sm712fb: Fix crash in smtcfb_write()
  ARM: mmp: Fix failure to remove sram device
  ARM: tegra: tamonten: Fix I2C3 pad setting
  media: cx88-mpeg: clear interrupt status register before streaming video
  ASoC: soc-core: skip zero num_dai component in searching dai name
  video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
  video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
  video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
  ASoC: madera: Add dependencies on MFD
  ARM: dts: bcm2837: Add the missing L1/L2 cache information
  ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
  video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
  video: fbdev: cirrusfb: check pixclock to avoid divide by zero
  video: fbdev: w100fb: Reset global state
  video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
  ntfs: add sanity check on allocation size
  ext4: don't BUG if someone dirty pages without asking ext4 first
  spi: tegra20: Use of_device_get_match_data()
  PM: core: keep irq flags in device_pm_check_callbacks()
  ACPI/APEI: Limit printable size of BERT table data
  Revert "Revert "block, bfq: honor already-setup queue merges""
  lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
  ACPICA: Avoid walking the ACPI Namespace if it is not there
  bfq: fix use-after-free in bfq_dispatch_request
  irqchip/nvic: Release nvic_base upon failure
  irqchip/qcom-pdc: Fix broken locking
  Fix incorrect type in assignment of ipv6 port for audit
  loop: use sysfs_emit() in the sysfs xxx show()
  selinux: use correct type for context length
  block, bfq: don't move oom_bfqq
  pinctrl: npcm: Fix broken references to chip->parent_device
  gcc-plugins/stackleak: Exactly match strings instead of prefixes
  LSM: general protection fault in legacy_parse_param
  lib/test: use after free in register_test_dev_kmod()
  net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
  NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
  net/x25: Fix null-ptr-deref caused by x25_disconnect
  qlcnic: dcb: default to returning -EOPNOTSUPP
  selftests: test_vxlan_under_vrf: Fix broken test case
  net: phy: broadcom: Fix brcm_fet_config_init()
  xen: fix is_xen_pmu()
  clk: Initialize orphan req_rate
  clk: qcom: gcc-msm8994: Fix gpll4 width
  NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error
  netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
  jfs: fix divide error in dbNextAG
  driver core: dd: fix return value of __setup handler
  firmware: google: Properly state IOMEM dependency
  kgdbts: fix return value of __setup handler
  kgdboc: fix return value of __setup handler
  tty: hvc: fix return value of __setup handler
  pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
  pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
  pinctrl: mediatek: paris: Fix pingroup pin config state readback
  pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()
  pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
  staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree
  NFS: remove unneeded check in decode_devicenotify_args()
  clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
  clk: clps711x: Terminate clk_div_table with sentinel element
  clk: loongson1: Terminate clk_div_table with sentinel element
  clk: actions: Terminate clk_div_table with sentinel element
  remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
  remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region
  clk: qcom: clk-rcg2: Update the frac table for pixel clock
  clk: qcom: clk-rcg2: Update logic to calculate D value for RCG
  clk: imx7d: Remove audio_mclk_root_clk
  dma-debug: fix return value of __setup handlers
  NFS: Return valid errors from nfs2/3_decode_dirent()
  iio: adc: Add check for devm_request_threaded_irq
  serial: 8250: Fix race condition in RTS-after-send handling
  serial: 8250_mid: Balance reference count for PCI DMA device
  phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})
  clk: qcom: ipq8074: Use floor ops for SDCC1 clock
  pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel
  staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
  misc: alcor_pci: Fix an error handling path
  pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
  mxser: fix xmit_buf leak in activate when LSR == 0xff
  mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
  tipc: fix the timer expires after interval 100ms
  openvswitch: always update flow key after nat
  tcp: ensure PMTU updates are processed during fastopen
  selftests/bpf/test_lirc_mode2.sh: Exit with proper code
  i2c: mux: demux-pinctrl: do not deactivate a master that is not active
  af_netlink: Fix shift out of bounds in group mask calculation
  Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt
  USB: storage: ums-realtek: fix error code in rts51x_read_mem()
  bpf, sockmap: Fix double uncharge the mem of sk_msg
  bpf, sockmap: Fix more uncharged while msg has more_data
  bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full
  RDMA/mlx5: Fix memory leak in error flow for subscribe event routine
  mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
  MIPS: RB532: fix return value of __setup handler
  vxcan: enable local echo for sent CAN frames
  powerpc: 8xx: fix a return value error in mpc8xx_pic_init
  selftests/bpf: Make test_lwt_ip_encap more stable and faster
  mfd: mc13xxx: Add check for mc13xxx_irq_request
  powerpc/sysdev: fix incorrect use to determine if list is empty
  mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n
  PCI: Reduce warnings on possible RW1C corruption
  power: supply: wm8350-power: Add missing free in free_charger_irq
  power: supply: wm8350-power: Handle error for wm8350_register_irq
  i2c: xiic: Make bus names unique
  hv_balloon: rate-limit "Unhandled message" warning
  KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
  KVM: x86: Fix emulation in writing cr8
  powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
  libbpf: Skip forward declaration when counting duplicated type names
  bpf, arm64: Feed byte-offset into bpf line info
  bpf, arm64: Call build_prologue() first in first JIT pass
  drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
  scsi: hisi_sas: Change permission of parameter prot_mask
  power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
  drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
  ext2: correct max file size computing
  TOMOYO: fix __setup handlers return values
  drm/amd/display: Remove vupdate_int_entry definition
  scsi: pm8001: Fix abort all task initialization
  scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
  scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
  scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
  dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
  iwlwifi: mvm: Fix an error code in iwl_mvm_up()
  iwlwifi: Fix -EIO error code that is never returned
  dax: make sure inodes are flushed before destroy cache
  IB/cma: Allow XRC INI QPs to set their local ACK timeout
  drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug
  iommu/ipmmu-vmsa: Check for error num after setting mask
  HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
  power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
  PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
  net: dsa: mv88e6xxx: Enable port policy support on 6097
  mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update
  mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update
  powerpc/perf: Don't use perf_hw_context for trace IMC PMU
  ray_cs: Check ioremap return value
  power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
  i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb
  KVM: PPC: Fix vmx/vsx mixup in mmio emulation
  ath9k_htc: fix uninit value bugs
  drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
  drm/edid: Don't clear formats if using deep color
  mtd: rawnand: gpmi: fix controller timings setting
  mtd: onenand: Check for error irq
  Bluetooth: hci_serdev: call init_rwsem() before p->open()
  udmabuf: validate ubuf->pagecount
  ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
  drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe
  drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
  ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe
  mmc: davinci_mmc: Handle error for clk_enable
  ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
  ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
  ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
  ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
  ivtv: fix incorrect device_caps for ivtvfb
  video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
  ASoC: fsi: Add check for clk_enable
  ASoC: wm8350: Handle error for wm8350_register_irq
  ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
  media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
  arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly
  ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
  memory: emif: check the pointer temp in get_device_details()
  memory: emif: Add check for setup_interrupts
  ASoC: soc-compress: prevent the potentially use of null pointer
  ASoC: atmel_ssc_dai: Handle errors for clk_enable
  ASoC: mxs-saif: Handle errors for clk_enable
  printk: fix return value of printk.devkmsg __setup handler
  arm64: dts: broadcom: Fix sata nodename
  arm64: dts: ns2: Fix spi-cpol and spi-cpha property
  ALSA: spi: Add check for clk_enable()
  ASoC: ti: davinci-i2s: Add check for clk_enable()
  ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
  uaccess: fix nios2 and microblaze get_user_8()
  media: usb: go7007: s2250-board: fix leak in probe()
  media: em28xx: initialize refcount before kref_get
  media: video/hdmi: handle short reads of hdmi info frame.
  ARM: dts: imx: Add missing LVDS decoder on M53Menlo
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc
  soc: qcom: aoss: remove spurious IRQF_ONESHOT flags
  soc: qcom: rpmpd: Check for null return of devm_kcalloc
  ARM: dts: qcom: ipq4019: fix sleep clock
  video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
  video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()
  video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
  media: aspeed: Correct value for h-total-pixels
  media: hantro: Fix overfill bottom register field name
  media: coda: Fix missing put_device() call in coda_get_vdoa_data
  media: bttv: fix WARNING regression on tunerless devices
  f2fs: fix to avoid potential deadlock
  f2fs: fix missing free nid in f2fs_handle_failed_inode
  perf/x86/intel/pt: Fix address filter config for 32-bit kernel
  perf/core: Fix address filter parser for multiple filters
  sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
  clocksource: acpi_pm: fix return value of __setup handler
  hwmon: (pmbus) Add Vin unit off handling
  crypto: ccp - ccp_dmaengine_unregister release dma channels
  ACPI: APEI: fix return value of __setup handlers
  clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
  crypto: vmx - add missing dependencies
  hwrng: atmel - disable trng on failure path
  PM: suspend: fix return value of __setup handler
  PM: hibernate: fix __setup handler error handling
  block: don't delete queue kobject before its children
  hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
  hwmon: (pmbus) Add mutex to regulator ops
  spi: pxa2xx-pci: Balance reference count for PCI DMA device
  crypto: ccree - don't attempt 0 len DMA mappings
  audit: log AUDIT_TIME_* records only from rules
  selftests/x86: Add validity check and allow field splitting
  spi: tegra114: Add missing IRQ check in tegra_spi_probe
  crypto: mxs-dcp - Fix scatterlist processing
  crypto: authenc - Fix sleep in atomic context in decrypt_tail
  regulator: qcom_smd: fix for_each_child.cocci warnings
  PCI: pciehp: Clear cmd_busy bit in polling mode
  brcmfmac: pcie: Fix crashes due to early IRQs
  brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
  brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path
  brcmfmac: firmware: Allocate space for default boardrev in nvram
  xtensa: fix xtensa_wsr always writing 0
  xtensa: fix stop_machine_cpuslocked call in patch_text
  media: davinci: vpif: fix unbalanced runtime PM get
  DEC: Limit PMAX memory probing to R3k systems
  crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()
  crypto: rsa-pkcs1pad - restore signature length check
  crypto: rsa-pkcs1pad - correctly get hash from source scatterlist
  lib/raid6/test: fix multiple definition linking error
  thermal: int340x: Increase bitmap size
  carl9170: fix missing bit-wise or operator for tx_params
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250
  ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
  ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
  video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
  video: fbdev: sm712fb: Fix crash in smtcfb_read()
  drm/edid: check basic audio support on CEA extension block
  block: don't merge across cgroup boundaries if blkcg is enabled
  mailbox: tegra-hsp: Flush whole channel
  drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
  ACPI: properties: Consistently return -ENOENT if there are no more references
  udp: call udp_encap_enable for v6 sockets when enabling encap
  powerpc/kvm: Fix kvm_use_magic_page
  drbd: fix potential silent data corruption
  mm/kmemleak: reset tag when compare object pointer
  mm,hwpoison: unmap poisoned page before invalidation
  ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
  ALSA: cs4236: fix an incorrect NULL check on list iterator
  Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
  riscv: Fix fill_callchain return value
  qed: validate and restrict untrusted VFs vlan promisc mode
  qed: display VF trust config
  scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
  mempolicy: mbind_range() set_policy() after vma_merge()
  mm: invalidate hwpoison page cache page in fault path
  mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
  jffs2: fix memory leak in jffs2_scan_medium
  jffs2: fix memory leak in jffs2_do_mount_fs
  jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
  can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  spi: mxic: Fix the transmit path
  pinctrl: samsung: drop pin banks references on error paths
  f2fs: fix to do sanity check on .cp_pack_total_block_count
  f2fs: quota: fix loop condition at f2fs_quota_sync()
  f2fs: fix to unlock page correctly in error path of is_alive()
  NFSD: prevent integer overflow on 32 bit systems
  NFSD: prevent underflow in nfssvc_decode_writeargs()
  SUNRPC: avoid race between mod_timer() and del_timer_sync()
  HID: intel-ish-hid: Use dma_alloc_coherent for firmware update
  Documentation: update stable tree link
  Documentation: add link to stable release candidate tree
  KEYS: fix length validation in keyctl_pkey_params_get_2()
  ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
  clk: uniphier: Fix fixed-rate initialization
  greybus: svc: fix an error handling bug in gb_svc_hello()
  iio: inkern: make a best effort on offset calculation
  iio: inkern: apply consumer scale when no channel scale is available
  iio: inkern: apply consumer scale on IIO_VAL_INT cases
  iio: afe: rescale: use s64 for temporary scale calculations
  coresight: Fix TRCCONFIGR.QE sysfs interface
  xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()
  xhci: make xhci_handshake timeout for xhci_reset() adjustable
  xhci: fix runtime PM imbalance in USB2 resume
  USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
  virtio-blk: Use blk_validate_block_size() to validate block size
  block: Add a helper to validate the block size
  tpm: fix reference counting for struct tpm_chip
  iommu/iova: Improve 32-bit free space estimate
  net: dsa: microchip: add spi_device_id tables
  af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
  spi: Fix erroneous sgs value with min_t()
  net:mcf8390: Use platform_get_irq() to get the interrupt
  spi: Fix invalid sgs value
  ethernet: sun: Free the coherent when failing in probing
  virtio_console: break out of buf poll on remove
  xfrm: fix tunnel model fragmentation behavior
  HID: logitech-dj: add new lightspeed receiver id
  netdevice: add the case if dev is NULL
  USB: serial: simple: add Nokia phone driver
  USB: serial: pl2303: add IBM device IDs
  swiotlb: fix info leak with DMA_FROM_DEVICE
  Linux 5.4.188
  llc: only change llc->dev when bind() succeeds
  nds32: fix access_ok() checks in get/put_user
  tpm: use try_get_ops() in tpm-space.c
  mac80211: fix potential double free on mesh join
  rcu: Don't deboost before reporting expedited quiescent state
  crypto: qat - disable registration of algorithms
  ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
  ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3
  ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board
  netfilter: nf_tables: initialize registers in nft_do_chain()
  ALSA: hda/realtek: Add quirk for ASUS GA402
  ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
  ALSA: oss: Fix PCM OSS buffer allocation overflow
  ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call
  drivers: net: xgene: Fix regression in CRC stripping
  ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec
  ALSA: cmipci: Restore aux vol on suspend/resume
  ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB
  ALSA: pcm: Add stream lock during PCM reset ioctl operations
  llc: fix netdevice reference leaks in llc_ui_bind()
  thermal: int340x: fix memory leak in int3400_notify()
  staging: fbtft: fb_st7789v: reset display before initialization
  tpm: Fix error handling in async work
  esp: Fix possible buffer overflow in ESP transformation
  net: ipv6: fix skb_over_panic in __ip6_append_data
  nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION
  nfsd: Containerise filecache laundrette
  nfsd: cleanup nfsd_file_lru_dispose()
  Linux 5.4.187
  Revert "selftests/bpf: Add test for bpf_timer overwriting crash"
  perf symbols: Fix symbol size calculation condition
  Input: aiptek - properly check endpoint type
  usb: usbtmc: Fix bug in pipe direction for control transfers
  usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
  usb: gadget: rndis: prevent integer overflow in rndis_set_response()
  arm64: fix clang warning about TRAMP_VALIAS
  net: dsa: Add missing of_node_put() in dsa_port_parse_of
  net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()
  drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings
  hv_netvsc: Add check for kvmalloc_array
  atm: eni: Add check for dma_map_single
  net/packet: fix slab-out-of-bounds access in packet_recvmsg()
  net: phy: marvell: Fix invalid comparison in the resume and suspend functions
  efi: fix return value of __setup handlers
  ocfs2: fix crash when initialize filecheck kobj fails
  crypto: qcom-rng - ensure buffer for generate is completely filled
  Linux 5.4.186
  fixup for "arm64 entry: Add macro for reading symbol address from the trampoline"
  kselftest/vm: fix tests build with old libc
  sfc: extend the locking on mcdi->seqno
  tcp: make tcp_read_sock() more robust
  nl80211: Update bss channel on channel switch for P2P_CLIENT
  drm/vrr: Set VRR capable prop only if it is attached to connector
  iwlwifi: don't advertise TWT support
  atm: firestream: check the return value of ioremap() in fs_init()
  can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully ready
  ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
  MIPS: smp: fill in sibling and core maps earlier
  mac80211: refuse aggregations sessions before authorized
  ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
  ARM: dts: rockchip: reorder rk322x hmdi clocks
  arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
  arm64: dts: rockchip: reorder rk3399 hdmi clocks
  arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity
  xfrm: Fix xfrm migrate issues when address family changes
  xfrm: Check if_id in xfrm_migrate
  arm64: Use the clearbhb instruction in mitigations
  KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
  arm64: Mitigate spectre style branch history side channels
  KVM: arm64: Add templates for BHB mitigation sequences
  arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
  arm64: Add percpu vectors for EL1
  arm64: entry: Add macro for reading symbol addresses from the trampoline
  arm64: entry: Add vectors that have the bhb mitigation sequences
  arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
  arm64: entry: Allow the trampoline text to occupy multiple pages
  arm64: entry: Make the kpti trampoline's kpti sequence optional
  arm64: entry: Move trampoline macros out of ifdef'd section
  arm64: entry: Don't assume tramp_vectors is the start of the vectors
  arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
  arm64: entry: Move the trampoline data page before the text page
  arm64: entry: Free up another register on kpti's tramp_exit path
  arm64: entry: Make the trampoline cleanup optional
  arm64: entry.S: Add ventry overflow sanity checks
  arm64: Add Cortex-X2 CPU part definition
  arm64: add ID_AA64ISAR2_EL1 sys register
  arm64: Add Neoverse-N2, Cortex-A710 CPU part definition
  arm64: Add part number for Arm Cortex-A77
  sctp: fix the processing for INIT chunk
  Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
  Linux 5.4.185
  KVM: SVM: Don't flush cache if hardware enforces cache coherency across encryption domains
  x86/mm/pat: Don't flush cache if hardware enforces cache coherency across encryption domnains
  x86/cpu: Add hardware-enforced cache coherency as a CPUID feature
  x86/cpufeatures: Mark two free bits in word 3
  ext4: add check to prevent attempting to resize an fs with sparse_super2
  ARM: fix Thumb2 regression with Spectre BHB
  virtio: acknowledge all features before access
  virtio: unexport virtio_finalize_features
  arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
  riscv: Fix auipc+jalr relocation range checks
  mmc: meson: Fix usage of meson_mmc_post_req()
  net: macb: Fix lost RX packet wakeup race in NAPI receive
  staging: gdm724x: fix use after free in gdm_lte_rx()
  fuse: fix pipe buffer lifetime for direct_io
  ARM: Spectre-BHB: provide empty stub for non-config
  selftests/memfd: clean up mapping in mfd_fail_write
  selftest/vm: fix map_fixed_noreplace test failure
  tracing: Ensure trace buffer is at least 4096 bytes large
  ipv6: prevent a possible race condition with lifetimes
  Revert "xen-netback: Check for hotplug-status existence before watching"
  Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"
  net-sysfs: add check for netdevice being present to speed_show
  selftests/bpf: Add test for bpf_timer overwriting crash
  net: bcmgenet: Don't claim WOL when its not available
  sctp: fix kernel-infoleak for SCTP sockets
  net: phy: DP83822: clear MISR2 register to disable interrupts
  gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
  gpio: ts4900: Do not set DAT and OE together
  selftests: pmtu.sh: Kill tcpdump processes launched by subshell.
  NFC: port100: fix use-after-free in port100_send_complete
  net/mlx5: Fix a race on command flush flow
  net/mlx5: Fix size field in bufferx_reg struct
  ax25: Fix NULL pointer dereference in ax25_kill_by_device
  net: ethernet: lpc_eth: Handle error for clk_enable
  net: ethernet: ti: cpts: Handle error for clk_enable
  ethernet: Fix error handling in xemaclite_of_probe
  ARM: dts: aspeed: Fix AST2600 quad spi group
  drm/sun4i: mixer: Fix P010 and P210 format numbers
  qed: return status of qed_iov_get_link
  net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()
  virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero
  arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
  clk: qcom: gdsc: Add support to update GDSC transition delay
  ANDROID: fix up rndis ABI breakage
  Linux 5.4.184
  Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE"
  xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
  xen/gnttab: fix gnttab_end_foreign_access() without page specified
  xen/pvcalls: use alloc/free_pages_exact()
  xen/9p: use alloc/free_pages_exact()
  xen: remove gnttab_query_foreign_access()
  xen/gntalloc: don't use gnttab_query_foreign_access()
  xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
  xen/netfront: don't use gnttab_query_foreign_access() for mapped status
  xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
  xen/grant-table: add gnttab_try_end_foreign_access()
  xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
  ARM: fix build warning in proc-v7-bugs.c
  ARM: Do not use NOCROSSREFS directive with ld.lld
  ARM: fix co-processor register typo
  ARM: fix build error when BPF_SYSCALL is disabled
  ARM: include unprivileged BPF status in Spectre V2 reporting
  ARM: Spectre-BHB workaround
  ARM: use LOADADDR() to get load address of sections
  ARM: early traps initialisation
  ARM: report Spectre v2 status through sysfs
  arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit()
  arm/arm64: Provide a wrapper for SMCCC 1.1 calls
  x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT
  x86/speculation: Warn about Spectre v2 LFENCE mitigation
  x86/speculation: Update link to AMD speculation whitepaper
  x86/speculation: Use generic retpoline by default on AMD
  x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  Documentation/hw-vuln: Update spectre doc
  x86/speculation: Add eIBRS + Retpoline options
  x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
  x86,bugs: Unconditionally allow spectre_v2=retpoline,amd
  x86/speculation: Merge one test in spectre_v2_user_select_mitigation()
  Linux 5.4.183
  hamradio: fix macro redefine warning
  net: dcb: disable softirqs in dcbnl_flush_dev()
  Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
  btrfs: add missing run of delayed items after unlink during log replay
  btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
  btrfs: fix lost prealloc extents beyond eof after full fsync
  tracing: Fix return value of __setup handlers
  tracing/histogram: Fix sorting on old "cpu" value
  HID: add mapping for KEY_ALL_APPLICATIONS
  HID: add mapping for KEY_DICTATE
  Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
  Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
  nl80211: Handle nla_memdup failures in handle_nan_filter
  net: chelsio: cxgb3: check the return value of pci_find_capability()
  soc: fsl: qe: Check of ioremap return value
  memfd: fix F_SEAL_WRITE after shmem huge page allocated
  ibmvnic: free reset-work-item when flushing
  igc: igc_write_phy_reg_gpy: drop premature return
  ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
  ARM: Fix kgdb breakpoint for Thumb2
  igc: igc_read_phy_reg_gpy: drop premature return
  arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
  can: gs_usb: change active_channels's type from atomic_t to u8
  ASoC: cs4265: Fix the duplicated control name
  firmware: arm_scmi: Remove space in MODULE_ALIAS name
  efivars: Respect "block" flag in efivar_entry_set_safe()
  ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
  net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
  net: sxgbe: fix return value of __setup handler
  iavf: Fix missing check for running netdev
  net: stmmac: fix return value of __setup handler
  mac80211: fix forwarded mesh frames AC & queue selection
  ia64: ensure proper NUMA distance and possible map initialization
  sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()
  sched/topology: Make sched_init_numa() use a set for the deduplicating sort
  xen/netfront: destroy queues before real_num_tx_queues is zeroed
  block: Fix fsync always failed if once failed
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
  net: dcb: flush lingering app table entries for unregistered devices
  batman-adv: Don't expect inter-netns unique iflink indices
  batman-adv: Request iflink once in batadv_get_real_netdevice
  batman-adv: Request iflink once in batadv-on-batadv check
  netfilter: nf_queue: fix possible use-after-free
  netfilter: nf_queue: don't assume sk is full socket
  xfrm: enforce validity of offload input flags
  xfrm: fix the if_id check in changelink
  netfilter: fix use-after-free in __nf_register_net_hook()
  xfrm: fix MTU regression
  ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
  ALSA: intel_hdmi: Fix reference to PCM buffer address
  ata: pata_hpt37x: fix PCI clock detection
  usb: gadget: clear related members when goto fail
  usb: gadget: don't release an existing dev->buf
  net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
  i2c: qup: allow COMPILE_TEST
  i2c: cadence: allow COMPILE_TEST
  dmaengine: shdma: Fix runtime PM imbalance on error
  cifs: fix double free race when mount fails in cifs_get_root()
  Input: clear BTN_RIGHT/MIDDLE on buttonpads
  ASoC: rt5682: do not block workqueue if card is unbound
  ASoC: rt5668: do not block workqueue if card is unbound
  i2c: bcm2835: Avoid clock stretching timeouts
  mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
  mac80211_hwsim: report NOACK frames in tx_status
  Linux 5.4.182
  fget: clarify and improve __fget_files() implementation
  memblock: use kfree() to release kmalloced memblock regions
  Revert "drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR"
  gpio: tegra186: Fix chip_data type confusion
  tty: n_gsm: fix NULL pointer access due to DLCI release
  tty: n_gsm: fix proper link termination after failed open
  tty: n_gsm: fix encoding of control signal octet bit DV
  xhci: Prevent futile URB re-submissions due to incorrect return value.
  xhci: re-initialize the HC during resume if HCE was set
  usb: dwc3: gadget: Let the interrupt handler disable bottom halves.
  usb: dwc3: pci: Fix Bay Trail phy GPIO mappings
  USB: serial: option: add Telit LE910R1 compositions
  USB: serial: option: add support for DW5829e
  tracefs: Set the group ownership in apply_options() not parse_options()
  USB: gadget: validate endpoint index for xilinx udc
  usb: gadget: rndis: add spinlock for rndis response list
  Revert "USB: serial: ch341: add new Product ID for CH341A"
  ata: pata_hpt37x: disable primary channel on HPT371
  iio: Fix error handling for PM
  iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits
  iio: adc: men_z188_adc: Fix a resource leak in an error handling path
  tracing: Have traceon and traceoff trigger honor the instance
  RDMA/ib_srp: Fix a deadlock
  configfs: fix a race in configfs_{,un}register_subsystem()
  spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()
  net/mlx5: Fix wrong limitation of metadata match on ecpf
  net/mlx5: Fix possible deadlock on rule deletion
  netfilter: nf_tables: fix memory leak during stateful obj update
  nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac()
  net: Force inlining of checksum functions in net/checksum.h
  net: ll_temac: check the return value of devm_kmalloc()
  net/mlx5e: Fix wrong return value on ioctl EEPROM query failure
  drm/edid: Always set RGB444
  openvswitch: Fix setting ipv6 fields causing hw csum failure
  gso: do not skip outer ip header in case of ipip and net_failover
  tipc: Fix end of loop tests for list_for_each_entry()
  net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends
  bpf: Do not try bpf_msg_push_data with len 0
  perf data: Fix double free in perf_session__delete()
  ping: remove pr_err from ping_lookup
  lan743x: fix deadlock in lan743x_phy_link_status_change()
  optee: use driver internal tee_context for some rpc
  tee: export teedev_open() and teedev_close_context()
  x86/fpu: Correct pkru/xstate inconsistency
  netfilter: nf_tables_offload: incorrect flow offload action array size
  USB: zaurus: support another broken Zaurus
  sr9700: sanity check for packet length
  drm/amdgpu: disable MMHUB PG for Picasso
  parisc/unaligned: Fix ldw() and stw() unalignment handlers
  parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
  vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
  clk: jz4725b: fix mmc0 clock gating
  cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug
  Revert "netfilter: conntrack: don't refresh sctp entries in closed state"
  Linux 5.4.181
  kconfig: fix failing to generate auto.conf
  net: macb: Align the dma and coherent dma masks
  net: usb: qmi_wwan: Add support for Dell DW5829e
  tracing: Fix tp_printk option related with tp_printk_stop_on_boot
  drm/rockchip: dw_hdmi: Do not leave clock enabled in error case
  ata: libata-core: Disable TRIM on M88V29
  kconfig: let 'shell' return enough output for deep path names
  arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610
  arm64: dts: meson-g12: add ATF BL32 reserved-memory region
  arm64: dts: meson-gx: add ATF BL32 reserved-memory region
  netfilter: conntrack: don't refresh sctp entries in closed state
  irqchip/sifive-plic: Add missing thead,c900-plic match string
  ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of
  ARM: OMAP2+: hwmod: Add of_node_put() before break
  KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW
  Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj
  i2c: brcmstb: fix support for DSL and CM variants
  copy_process(): Move fd_install() out of sighand->siglock critical section
  dmaengine: sh: rcar-dmac: Check for error num after setting mask
  net: sched: limit TC_ACT_REPEAT loops
  lib/iov_iter: initialize "flags" in new pipe_buffer
  EDAC: Fix calculation of returned address and next offset in edac_align_ptr()
  scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop
  mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status
  mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe()
  NFS: Do not report writeback errors in nfs_getattr()
  NFS: LOOKUP_DIRECTORY is also ok with symlinks
  block/wbt: fix negative inflight counter when remove scsi device
  mtd: rawnand: gpmi: don't leak PM reference in error path
  powerpc/lib/sstep: fix 'ptesync' build error
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range()
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw()
  ALSA: hda: Fix missing codec probe on Shenker Dock 15
  ALSA: hda: Fix regression on forced probe mask option
  libsubcmd: Fix use-after-free for realloc(..., 0)
  bonding: fix data-races around agg_select_timer
  drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit
  bonding: force carrier update when releasing slave
  ping: fix the dif and sdif check in ping_lookup
  net: ieee802154: ca8210: Fix lifs/sifs periods
  net: dsa: lan9303: fix reset on probe
  netfilter: nft_synproxy: unregister hooks on init error path
  iwlwifi: pcie: gen2: fix locking when "HW not ready"
  iwlwifi: pcie: fix locking when "HW not ready"
  mmc: block: fix read single on recovery logic
  vsock: remove vsock from connected table when connect is interrupted by a signal
  dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending
  taskstats: Cleanup the use of task->exit_code
  ext4: prevent partial update of the extent blocks
  ext4: check for inconsistent extents between index and leaf block
  ext4: check for out-of-order index extents in ext4_valid_extent_entries()
  drm/radeon: Fix backlight control on iMac 12,1
  iwlwifi: fix use-after-free
  arm64: module/ftrace: intialize PLT at load time
  arm64: module: rework special section handling
  module/ftrace: handle patchable-function-entry
  ftrace: add ftrace_init_nop()
  Revert "module, async: async_synchronize_full() on module init iff async is used"
  drm/amdgpu: fix logic inversion in check
  nvme-rdma: fix possible use-after-free in transport error_recovery work
  nvme-tcp: fix possible use-after-free in transport error_recovery work
  nvme: fix a possible use-after-free in controller reset during load
  quota: make dquot_quota_sync return errors from ->sync_fs
  vfs: make freeze_super abort when sync_filesystem returns error
  ax25: improve the incomplete fix to avoid UAF and NPD bugs
  selftests/zram: Adapt the situation that /dev/zram0 is being used
  selftests/zram01.sh: Fix compression ratio calculation
  selftests/zram: Skip max_comp_streams interface on newer kernel
  net: ieee802154: at86rf230: Stop leaking skb's
  selftests: rtc: Increase test timeout so that all tests run
  platform/x86: ISST: Fix possible circular locking dependency detected
  btrfs: send: in case of IO error log it
  parisc: Fix sglist access in ccio-dma.c
  parisc: Fix data TLB miss in sba_unmap_sg
  parisc: Drop __init from map_pages declaration
  serial: parisc: GSC: fix build when IOSAPIC is not set
  Revert "svm: Add warning message for AVIC IPI invalid target"
  HID:Add support for UGTABLET WP5540
  Makefile.extrawarn: Move -Wunaligned-access to W=1

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/mtd/nand-controller.yaml
	Documentation/devicetree/bindings/spi/spi-mxic.txt
	drivers/clk/qcom/clk-rcg2.c
	drivers/irqchip/qcom-pdc.c
	drivers/mmc/core/host.c
	drivers/usb/host/xhci.c
	drivers/usb/host/xhci.h
	include/linux/dma-mapping.h

Change-Id: I9c58b8d579ed2c613ff4903ecca688a35ed5dbbe
Signed-off-by: Srinivasarao Pathipati <quic_c_spathi@quicinc.com>
2022-06-09 11:43:23 +05:30
Greg Kroah-Hartman
8f2333be80 This is the 5.4.183 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmInm3sACgkQONu9yGCS
 aT4y5xAAujjSyx5wPk2g/pldocgwngWwzJXLut3GPH7zyt/rwYswGQRXNXzIoXDn
 WyqnjEEmFR+zxKMnTcvLrJP92f8JWLGkmVCD+BPfy376tauUd72w7BT/WYspmfM9
 HSdcZpmWwPBCW9tw/V7Rm07029TjM32/gQ4s1EYyVKxobb29t4TuaUjAoaKSFkaX
 h/NXAKXgKSCBbjX/ua28naTF1KMR5sV370Ed/OF4Meh8z6//B5z0dFNai9n/Pq7z
 SPiOs+g6CoA4Hyog3ivX1J43ggxDxSQ9ZbueQ4RRMxlSdxR0O4KBofgQztIoqOd3
 HnTyLX4sFTNEdy2DOINigs3aT+YzSlCe7gWrnKXjbddohHh9SdKwplcIpAIQyKcJ
 PoLBlDrJ2SYwY8LDTiIKs3vCjn8dHYpXd0/2ey8Yx9EARHR+aD2734tlZ5ynCcmY
 tstF10ALDmHA63XZk1khHWdWgOokR8yrqo+CmQhWh2XKjr/k4+RK3EzDeZTWAmKL
 WMkOiz5tyYsiA4XuTKRAH6cewZjXjn9ThghIFC413swl8iUhvQzaj5HpFtcWV2ly
 CpXrRr4/m1vJp88QAy7CJRVkcElKyo07ECKaGQi2/kJynf3/f4ZTNgtjso5YBixL
 uyuM3Nf/0gT0uUM5wHK8scmWjdgCzFBP3wry3/kL8pIDDY5V+1I=
 =ifDj
 -----END PGP SIGNATURE-----

Merge 5.4.183 into android11-5.4-lts

Changes in 5.4.183
	mac80211_hwsim: report NOACK frames in tx_status
	mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
	i2c: bcm2835: Avoid clock stretching timeouts
	ASoC: rt5668: do not block workqueue if card is unbound
	ASoC: rt5682: do not block workqueue if card is unbound
	Input: clear BTN_RIGHT/MIDDLE on buttonpads
	cifs: fix double free race when mount fails in cifs_get_root()
	dmaengine: shdma: Fix runtime PM imbalance on error
	i2c: cadence: allow COMPILE_TEST
	i2c: qup: allow COMPILE_TEST
	net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
	usb: gadget: don't release an existing dev->buf
	usb: gadget: clear related members when goto fail
	ata: pata_hpt37x: fix PCI clock detection
	ALSA: intel_hdmi: Fix reference to PCM buffer address
	ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
	xfrm: fix MTU regression
	netfilter: fix use-after-free in __nf_register_net_hook()
	xfrm: fix the if_id check in changelink
	xfrm: enforce validity of offload input flags
	netfilter: nf_queue: don't assume sk is full socket
	netfilter: nf_queue: fix possible use-after-free
	batman-adv: Request iflink once in batadv-on-batadv check
	batman-adv: Request iflink once in batadv_get_real_netdevice
	batman-adv: Don't expect inter-netns unique iflink indices
	net: dcb: flush lingering app table entries for unregistered devices
	net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
	net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
	block: Fix fsync always failed if once failed
	xen/netfront: destroy queues before real_num_tx_queues is zeroed
	sched/topology: Make sched_init_numa() use a set for the deduplicating sort
	sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()
	ia64: ensure proper NUMA distance and possible map initialization
	mac80211: fix forwarded mesh frames AC & queue selection
	net: stmmac: fix return value of __setup handler
	iavf: Fix missing check for running netdev
	net: sxgbe: fix return value of __setup handler
	net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
	ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
	efivars: Respect "block" flag in efivar_entry_set_safe()
	firmware: arm_scmi: Remove space in MODULE_ALIAS name
	ASoC: cs4265: Fix the duplicated control name
	can: gs_usb: change active_channels's type from atomic_t to u8
	arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
	igc: igc_read_phy_reg_gpy: drop premature return
	ARM: Fix kgdb breakpoint for Thumb2
	ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
	igc: igc_write_phy_reg_gpy: drop premature return
	ibmvnic: free reset-work-item when flushing
	memfd: fix F_SEAL_WRITE after shmem huge page allocated
	soc: fsl: qe: Check of ioremap return value
	net: chelsio: cxgb3: check the return value of pci_find_capability()
	nl80211: Handle nla_memdup failures in handle_nan_filter
	Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
	Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
	HID: add mapping for KEY_DICTATE
	HID: add mapping for KEY_ALL_APPLICATIONS
	tracing/histogram: Fix sorting on old "cpu" value
	tracing: Fix return value of __setup handlers
	btrfs: fix lost prealloc extents beyond eof after full fsync
	btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
	btrfs: add missing run of delayed items after unlink during log replay
	Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
	net: dcb: disable softirqs in dcbnl_flush_dev()
	hamradio: fix macro redefine warning
	Linux 5.4.183

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I37011d512091e3ad1398ea2ffff6be08efbc3361
2022-03-12 13:48:22 +01:00
Dietmar Eggemann
80998dbde1 sched/topology: Fix sched_domain_topology_level alloc in sched_init_numa()
commit 71e5f6644fb2f3304fcb310145ded234a37e7cc1 upstream.

Commit "sched/topology: Make sched_init_numa() use a set for the
deduplicating sort" allocates 'i + nr_levels (level)' instead of
'i + nr_levels + 1' sched_domain_topology_level.

This led to an Oops (on Arm64 juno with CONFIG_SCHED_DEBUG):

sched_init_domains
  build_sched_domains()
    __free_domain_allocs()
      __sdt_free() {
	...
        for_each_sd_topology(tl)
	  ...
          sd = *per_cpu_ptr(sdd->sd, j); <--
	  ...
      }

Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Vincent Guittot <vincent.guittot@linaro.org>
Tested-by: Barry Song <song.bao.hua@hisilicon.com>
Link: https://lkml.kernel.org/r/6000e39e-7d28-c360-9cd6-8798fd22a9bf@arm.com
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-08 19:07:48 +01:00
Valentin Schneider
407ec382ba sched/topology: Make sched_init_numa() use a set for the deduplicating sort
commit 620a6dc40754dc218f5b6389b5d335e9a107fd29 upstream.

The deduplicating sort in sched_init_numa() assumes that the first line in
the distance table contains all unique values in the entire table. I've
been trying to pen what this exactly means for the topology, but it's not
straightforward. For instance, topology.c uses this example:

  node   0   1   2   3
    0:  10  20  20  30
    1:  20  10  20  20
    2:  20  20  10  20
    3:  30  20  20  10

  0 ----- 1
  |     / |
  |   /   |
  | /     |
  2 ----- 3

Which works out just fine. However, if we swap nodes 0 and 1:

  1 ----- 0
  |     / |
  |   /   |
  | /     |
  2 ----- 3

we get this distance table:

  node   0  1  2  3
    0:  10 20 20 20
    1:  20 10 20 30
    2:  20 20 10 20
    3:  20 30 20 10

Which breaks the deduplicating sort (non-representative first line). In
this case this would just be a renumbering exercise, but it so happens that
we can have a deduplicating sort that goes through the whole table in O(n²)
at the extra cost of a temporary memory allocation (i.e. any form of set).

The ACPI spec (SLIT) mentions distances are encoded on 8 bits. Following
this, implement the set as a 256-bits bitmap. Should this not be
satisfactory (i.e. we want to support 32-bit values), then we'll have to go
for some other sparse set implementation.

This has the added benefit of letting us allocate just the right amount of
memory for sched_domains_numa_distance[], rather than an arbitrary
(nr_node_ids + 1).

Note: DT binding equivalent (distance-map) decodes distances as 32-bit
values.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20210122123943.1217-2-valentin.schneider@arm.com
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-08 19:07:48 +01:00
Ivaylo Georgiev
125c29efb1 Merge android11-5.4.60 (8ae87ad) into msm-5.4
* refs/heads/tmp-8ae87ad:
  Linux 5.4.60
  drm/amd/display: dchubbub p-state warning during surface planes switch
  drm/amdgpu: Fix bug where DPM is not enabled after hibernate and resume
  drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
  drm: Added orientation quirk for ASUS tablet model T103HAF
  drm/panfrost: Use kvfree() to free bo->sgts
  arm64: dts: marvell: espressobin: add ethernet alias
  khugepaged: retract_page_tables() remember to test exit
  sh: landisk: Add missing initialization of sh_io_port_base
  perf/x86/rapl: Fix missing psys sysfs attributes
  tools build feature: Quote CC and CXX for their arguments
  perf bench mem: Always memset source before memcpy
  ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
  crypto: algif_aead - fix uninitialized ctx->init
  mfd: dln2: Run event handler loop under spinlock
  i2c: iproc: fix race between client unreg and isr
  test_kmod: avoid potential double free in trigger_config_run_type()
  fs/ufs: avoid potential u32 multiplication overflow
  fs/minix: remove expected error message in block_to_path()
  fs/minix: fix block limit check for V1 filesystems
  fs/minix: set s_maxbytes correctly
  nfs: Fix getxattr kernel panic and memory overflow
  net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
  drm/vmwgfx: Fix two list_for_each loop exit tests
  drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
  recordmcount: Fix build failure on non arm64
  Input: sentelic - fix error return when fsp_reg_write fails
  x86/tsr: Fix tsc frequency enumeration bug on Lightning Mountain SoC
  md-cluster: Fix potential error pointer dereference in resize_bitmaps()
  watchdog: initialize device before misc_register
  nfs: nfs_file_write() should check for writeback errors
  scsi: lpfc: nvmet: Avoid hang / use-after-free again when destroying targetport
  openrisc: Fix oops caused when dumping stack
  libnvdimm/security: ensure sysfs poll thread woke up and fetch updated attr
  libnvdimm/security: fix a typo
  clk: bcm2835: Do not use prediv with bcm2711's PLLs
  ubifs: Fix wrong orphan node deletion in ubifs_jnl_update|rename
  nfs: ensure correct writeback errors are returned on close()
  i2c: rcar: avoid race when unregistering slave
  tools build feature: Use CC and CXX from parent
  pwm: bcm-iproc: handle clk_get_rate() return
  clk: clk-atlas6: fix return value check in atlas6_clk_init()
  clk: qcom: gcc-sdm660: Fix up gcc_mss_mnoc_bimc_axi_clk
  i2c: rcar: slave: only send STOP event when we have been addressed
  iommu/vt-d: Enforce PASID devTLB field mask
  clk: qcom: clk-alpha-pll: remove unused/incorrect PLL_CAL_VAL
  clk: qcom: gcc: fix sm8150 GPU and NPU clocks
  iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
  selftests/powerpc: ptrace-pkey: Don't update expected UAMOR value
  selftests/powerpc: ptrace-pkey: Update the test to mark an invalid pkey correctly
  selftests/powerpc: ptrace-pkey: Rename variables to make it easier to follow code
  clk: actions: Fix h_clk for Actions S500 SoC
  dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
  gpu: ipu-v3: image-convert: Wait for all EOFs before completing a tile
  gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
  crypto: caam - Remove broken arc4 support
  mmc: renesas_sdhi_internal_dmac: clean up the code for dma complete
  RDMA/counter: Allow manually bind QPs with different pids to same counter
  RDMA/counter: Only bind user QPs in auto mode
  devres: keep both device name and resource name in pretty name
  crypto: af_alg - Fix regression on empty requests
  USB: serial: ftdi_sio: clean up receive processing
  USB: serial: ftdi_sio: make process-packet buffer unsigned
  selftests/bpf: test_progs use another shell exit on non-actions
  selftests/bpf: Test_progs indicate to shell on non-actions
  IB/uverbs: Set IOVA on IB MR in uverbs layer
  media: rockchip: rga: Only set output CSC mode for RGB input
  media: rockchip: rga: Introduce color fmt macros and refactor CSC mode logic
  RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah()
  RDMA/ipoib: Return void from ipoib_ib_dev_stop()
  platform/chrome: cros_ec_ishtp: Fix a double-unlock issue
  mtd: rawnand: fsl_upm: Remove unused mtd var
  octeontx2-af: change (struct qmem)->entry_sz from u8 to u16
  mfd: arizona: Ensure 32k clock is put on driver unbind and error
  crypto: algif_aead - Only wake up when ctx->more is zero
  pinctrl: ingenic: Properly detect GPIO direction when configured for IRQ
  orangefs: get rid of knob code...
  drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
  remoteproc: qcom_q6v5_mss: Validate modem blob firmware size before load
  remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load
  remoteproc: qcom: q6v5: Update running state before requesting stop
  perf intel-pt: Fix duplicate branch after CBR
  perf intel-pt: Fix FUP packet state
  module: Correctly truncate sysfs sections output
  pseries: Fix 64 bit logical memory block panic
  ceph: handle zero-length feature mask in session messages
  ceph: set sec_context xattr on symlink creation
  watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  tracing: Move pipe reference to trace array instead of current_tracer
  tracing: Use trace_sched_process_free() instead of exit() for pid tracing
  tracing/hwlat: Honor the tracing_cpumask
  kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
  ftrace: Setup correct FTRACE_FL_REGS flags for module
  mm/memory_hotplug: fix unpaired mem_hotplug_begin/done
  mm/page_counter.c: fix protection usage propagation
  ocfs2: change slot number type s16 to u16
  khugepaged: collapse_pte_mapped_thp() protect the pmd lock
  khugepaged: collapse_pte_mapped_thp() flush the right range
  ext2: fix missing percpu_counter_inc
  MIPS: qi_lb60: Fix routing to audio amplifier
  MIPS: CPU#0 is not hotpluggable
  driver core: Avoid binding drivers to dead devices
  mac80211: fix misplaced while instead of if
  bcache: fix overflow in offset_to_stripe()
  bcache: allocate meta data pages as compound pages
  md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
  net/compat: Add missing sock updates for SCM_RIGHTS
  net: stmmac: dwmac1000: provide multicast filter fallback
  net: ethernet: stmmac: Disable hardware multicast filter
  media: vsp1: dl: Fix NULL pointer dereference on unbind
  pinctrl: ingenic: Enhance support for IRQ_TYPE_EDGE_BOTH
  powerpc: Fix circular dependency between percpu.h and mmu.h
  powerpc: Allow 4224 bytes of stack expansion for the signal frame
  powerpc/ptdump: Fix build failure in hashpagetable.c
  cifs: Fix leak when handling lease break for cached root fid
  xtensa: fix xtensa_pmu_setup prototype
  xtensa: add missing exclusive access state management
  iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
  dt-bindings: iio: io-channel-mux: Fix compatible string in example code
  arm64: perf: Correct the event index in sysfs
  btrfs: fix return value mixup in btrfs_get_extent
  btrfs: make sure SB_I_VERSION doesn't get unset by remount
  btrfs: fix memory leaks after failure to lookup checksums during inode logging
  btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
  btrfs: only search for left_info if there is no right_info in try_merge_free_space
  btrfs: fix messages after changing compression level by remount
  btrfs: fix race between page release and a fast fsync
  btrfs: don't WARN if we abort a transaction with EROFS
  btrfs: sysfs: use NOFS for device creation
  btrfs: avoid possible signal interruption of btrfs_drop_snapshot() on relocation tree
  btrfs: add missing check for nocow and compression inode flags
  btrfs: relocation: review the call sites which can be interrupted by signal
  btrfs: move the chunk_mutex in btrfs_read_chunk_tree
  btrfs: open device without device_list_mutex
  btrfs: don't traverse into the seed devices in show_devname
  btrfs: remove no longer needed use of log_writers for the log root tree
  btrfs: stop incremening log_batch for the log root tree when syncing log
  btrfs: ref-verify: fix memory leak in add_block_entry
  btrfs: don't allocate anonymous block device for user invisible roots
  btrfs: free anon block device right after subvolume deletion
  btrfs: allow use of global block reserve for balance item deletion
  PCI: qcom: Add support for tx term offset for rev 2.1.0
  PCI: qcom: Define some PARF params needed for ipq8064 SoC
  PCI: Add device even if driver attach failed
  PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken
  PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
  genirq/PM: Always unlock IRQ descriptor in rearm_wake_irq()
  genirq/affinity: Make affinity setting if activated opt-in
  smb3: warn on confusing error scenario with sec=krb5
  ANDROID: ABI: FPSIMD save/restore using vendor_hooks
  ANDROID: vendor_hooks: FPSIMD save/restore by using vendor_hooks
  ANDROID: futex: Add vendor hook for wait queue
  ANDROID: sched: add vendor hooks to handle scheduling priority
  ANDROID: rwsem: Add vendor hook to the rw-semaphore
  ANDROID: binder: Add vendor hook to the binder
  FROMLIST: ufs: introduce a callback to get info of command completion
  ANDROID: scsi: ufs: export ufshcd_wb_ctrl func
  ANDROID: GKI: enable some USB_NET_ config options
  ANDROID: sched: add restrict vendor hook to modify task placement policy in EAS
  BACKPORT: kthread: Do not preempt current task if it is going to call schedule()
  ANDROID: GKI: enable CONFIG_USB_ROLE_SWITCH
  ANDROID: ABI: Update ABI after UFS error recovery patches
  BACKPORT: FROMGIT: scsi: ufs: Properly release resources if a task is aborted successfully
  BACKPORT: FROMGIT: scsi: ufs: Fix a race condition between error handler and runtime PM ops
  FROMGIT: scsi: ufs: Move dumps in IRQ handler to error handler
  BACKPORT: FROMGIT: scsi: ufs: Recover HBA runtime PM error in error handler
  BACKPORT: FROMGIT: scsi: ufs: Fix concurrency of error handler and other error recovery paths
  BACKPORT: FROMGIT: scsi: ufs: Add some debug information to ufshcd_print_host_state()
  FROMGIT: scsi: ufs-qcom: Remove testbus dump in ufs_qcom_dump_dbg_regs
  FROMGIT: scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()
  FROMGIT: scsi: ufs: Add checks before setting clk-gating states
  ANDROID: kbuild: don't preprocess module-lto.lds
  ANDROID: vendor_hooks: Add vendor hook to the net
  Revert "ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109"
  Linux 5.4.59
  io_uring: Fix NULL pointer dereference in loop_rw_iter()
  s390/gmap: improve THP splitting
  s390/dasd: fix inability to use DASD with DIAG driver
  xen/gntdev: Fix dmabuf import with non-zero sgt offset
  xen/balloon: make the balloon wait interruptible
  xen/balloon: fix accounting in alloc_xenballooned_pages error path
  fs/minix: reject too-large maximum file size
  fs/minix: don't allow getting deleted inodes
  fs/minix: check return value of sb_getblk()
  bitfield.h: don't compile-time validate _val in FIELD_FIT
  crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  crypto: ccp - Fix use of merged scatterlists
  crypto: qat - fix double free in qat_uclo_create_batch_init_list
  crypto: hisilicon - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  pstore: Fix linking when crypto API disabled
  tpm: Unify the mismatching TPM space buffer sizes
  ALSA: usb-audio: add quirk for Pioneer DDJ-RB
  irqdomain/treewide: Free firmware node after domain removal
  ARM: 8992/1: Fix unwind_frame for clang-built kernels
  parisc: mask out enable and reserved bits from sba imask
  parisc: Implement __smp_store_release and __smp_load_acquire barriers
  parisc: Do not use an ordered store in pa_tlb_lock()
  Revert "parisc: Revert "Release spinlocks using ordered store""
  Revert "parisc: Use ldcw instruction for SMP spinlock release barrier"
  Revert "parisc: Drop LDCW barrier in CAS code when running UP"
  erofs: fix extended inode could cross boundary
  mtd: rawnand: qcom: avoid write to unavailable register
  spi: spidev: Align buffers for DMA
  include/asm-generic/vmlinux.lds.h: align ro_after_init
  cpufreq: dt: fix oops on armada37xx
  cpufreq: Fix locking issues with governors
  NFS: Don't return layout segments that are in use
  NFS: Don't move layouts to plh_return_segs list while in use
  io_uring: set ctx sq/cq entry count earlier
  drm/ttm/nouveau: don't call tt destroy callback on alloc failure.
  media: media-request: Fix crash if memory allocation fails
  9p: Fix memory leak in v9fs_mount
  ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
  ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
  ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
  ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO
  USB: serial: cp210x: enable usb generic throttle/unthrottle
  USB: serial: cp210x: re-enable auto-RTS on open
  net: initialize fastreuse on inet_inherit_port
  net: refactor bind_bucket fastreuse into helper
  vmxnet3: use correct tcp hdr length when packet is encapsulated
  tcp: correct read of TFO keys on big endian systems
  net/tls: Fix kmap usage
  net: Set fput_needed iff FDPUT_FPUT is set
  net: phy: fix memory leak in device-create error path
  net/nfc/rawsock.c: add CAP_NET_RAW check.
  net: Fix potential memory leak in proto_register()
  drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
  af_packet: TPACKET_V3: fix fill status rwlock imbalance
  crypto: aesni - add compatibility with IAS
  x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
  SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()")
  svcrdma: Fix page leak in svc_rdma_recv_read_chunk()
  pinctrl-single: fix pcs_parse_pinconf() return value
  ocfs2: fix unbalanced locking
  dlm: Fix kobject memleak
  net: thunderx: initialize VF's mailbox mutex before first usage
  fsl/fman: fix eth hash table allocation
  fsl/fman: check dereferencing null pointer
  fsl/fman: fix unreachable code
  fsl/fman: fix dereference null return value
  fsl/fman: use 32-bit unsigned integer
  net: spider_net: Fix the size used in a 'dma_free_coherent()' call
  liquidio: Fix wrong return value in cn23xx_get_pf_num()
  net: ethernet: aquantia: Fix wrong return value
  net/mlx5: Delete extra dump stack that gives nothing
  net/mlx5: DR, Change push vlan action sequence
  tools, bpftool: Fix wrong return value in do_dump()
  tools, build: Propagate build failures from tools/build/Makefile.build
  wl1251: fix always return 0 error
  rtw88: coex: only skip coex triggered by BT info
  rtw88: fix short GI capability based on current bandwidth
  rtw88: fix LDPC field for RA info
  ice: Graceful error handling in HW table calloc failure
  s390/qeth: don't process empty bridge port events
  ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK
  ASoC: meson: axg-tdm-formatters: fix sclk inversion
  ASoC: meson: axg-tdmin: fix g12a skew
  ASoC: meson: axg-tdm-interface: fix link fmt setup
  selftests/powerpc: Fix online CPU selection
  cpufreq: ap806: fix cpufreq driver needs ap cpu clk
  PCI: Release IVRS table in AMD ACS quirk
  RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP
  selftests/powerpc: Fix CPU affinity for child process
  powerpc/boot: Fix CONFIG_PPC_MPC52XX references
  powerpc/32s: Fix CONFIG_BOOK3S_601 uses
  selftests/powerpc: Squash spurious errors due to device removal
  xfs: fix inode allocation block res calculation precedence
  net: dsa: rtl8366: Fix VLAN set-up
  net: dsa: rtl8366: Fix VLAN semantics
  Bluetooth: hci_serdev: Only unregister device if it was registered
  Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags
  power: supply: check if calc_soc succeeded in pm860x_init_battery
  Smack: prevent underflow in smk_set_cipso()
  Smack: fix another vsscanf out of bounds
  RDMA/core: Fix return error value in _ib_modify_qp() to negative
  PCI: cadence: Fix updating Vendor ID and Subsystem Vendor ID register
  macintosh/via-macii: Access autopoll_devs when inside lock
  net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
  scsi: mesh: Fix panic after host or bus reset
  scsi: megaraid_sas: Clear affinity hint
  usb: gadget: f_uac2: fix AC Interface Header Descriptor wTotalLength
  usb: dwc2: Fix error path in gadget registration
  MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
  phy: armada-38x: fix NETA lockup when repeatedly switching speeds
  mt76: mt7615: fix potential memory leak in mcu message handler
  powerpc/perf: Fix missing is_sier_aviable() during build
  coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
  thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
  usb: core: fix quirks_param_set() writing to a const pointer
  USB: serial: iuu_phoenix: fix led-activity helpers
  spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM
  gpu: ipu-v3: Restore RGB32, BGR32
  drm/imx: tve: fix regulator_disable error path
  drm/imx: fix use after free
  powerpc/book3s64/pkeys: Use PVR check instead of cpu feature
  phy: renesas: rcar-gen3-usb2: move irq registration to init
  PCI/ASPM: Add missing newline in sysfs 'policy'
  ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback
  staging: rtl8192u: fix a dubious looking mask before a shift
  ima: Have the LSM free its audit rule
  RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue
  RDMA/qedr: SRQ's bug fixes
  powerpc/vdso: Fix vdso cpu truncation
  powerpc/rtas: don't online CPUs for partition suspend
  kernfs: do not call fsnotify() with name without a parent
  mwifiex: Prevent memory corruption handling keys
  scsi: scsi_debug: Add check for sdebug_max_queue during module init
  drm/bridge: sil_sii8620: initialize return of sii8620_readb
  phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY
  drm: panel: simple: Fix bpc for LG LB070WV8 panel
  leds: core: Flush scheduled work for system suspend
  kobject: Avoid premature parent object freeing in kobject_cleanup()
  drm/stm: repair runtime power management
  PCI: Fix pci_cfg_wait queue locking problem
  RDMA/rxe: Skip dgid check in loopback mode
  xfs: fix reflink quota reservation accounting error
  xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork
  media: cros-ec-cec: do not bail on device_init_wakeup failure
  media: exynos4-is: Add missed check for pinctrl_lookup_state()
  media: firewire: Using uninitialized values in node_probe()
  ipvs: allow connection reuse for unconfirmed conntrack
  scsi: eesox: Fix different dev_id between request_irq() and free_irq()
  scsi: powertec: Fix different dev_id between request_irq() and free_irq()
  RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued()
  iavf: Fix updating statistics
  iavf: fix error return code in iavf_init_get_resources()
  staging: vchiq_arm: Add a matching unregister call
  drm/radeon: fix array out-of-bounds read and write issues
  cxl: Fix kobject memleak
  drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
  scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
  ASoC: Intel: bxt_rt298: add missing .owner field
  ASoC: SOF: nocodec: add missing .owner field
  media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
  media: marvell-ccic: Add missed v4l2_async_notifier_cleanup()
  media: cxusb-analog: fix V4L2 dependency
  Bluetooth: btmtksdio: fix up firmware download sequence
  Bluetooth: btusb: fix up firmware download sequence
  leds: lm355x: avoid enum conversion warning
  clk: bcm63xx-gate: fix last clock availability
  drm/arm: fix unintentional integer overflow on left shift
  drm/etnaviv: Fix error path on failure to enable bus clk
  iio: improve IIO_CONCENTRATION channel type description
  ath10k: Acquire tx_lock in tx error paths
  video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
  console: newport_con: fix an issue about leak related system resources
  video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
  btmrvl: Fix firmware filename for sd8997 chipset
  btmrvl: Fix firmware filename for sd8977 chipset
  mwifiex: Fix firmware filename for sd8997 chipset
  mwifiex: Fix firmware filename for sd8977 chipset
  agp/intel: Fix a memory leak on module initialisation failure
  drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
  drm/gem: Fix a leak in drm_gem_objects_lookup()
  drm/msm: ratelimit crtc event overflow error
  ACPICA: Do not increment operation_region reference counts for field units
  bcache: fix super block seq numbers comparision in register_cache_set()
  dyndbg: fix a BUG_ON in ddebug_describe_flags
  usb: bdc: Halt controller on suspend
  bdc: Fix bug causing crash after multiple disconnects
  usb: gadget: net2280: fix memory leak on probe error handling paths
  mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1
  ionic: update eid test for overflow
  gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
  iwlegacy: Check the return value of pcie_capability_read_*()
  platform/x86: asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15
  brcmfmac: set state of hanger slot to FREE when flushing PSQ
  brcmfmac: To fix Bss Info flag definition Bug
  brcmfmac: keep SDIO watchdog running when console_interval is non-zero
  bpf: Fix fds_example SIGSEGV error
  drm/amd/powerplay: fix compile error with ARCH=arc
  drm/amdgpu/display bail early in dm_pp_get_static_clocks
  mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
  irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
  drm/radeon: disable AGP by default
  drm/debugfs: fix plain echo to connector "force" attribute
  drm/msm: Fix a null pointer access in msm_gem_shrinker_count()
  drm: msm: a6xx: fix gpu failure after system resume
  usb: mtu3: clear dual mode of u3port when disable device
  btrfs: fix lockdep splat from btrfs_dump_space_info
  mmc: sdhci-cadence: do not use hardware tuning for SD mode
  drm/nouveau: fix multiple instances of reference count leaks
  drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek
  drm/etnaviv: fix ref count leak via pm_runtime_get_sync
  arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
  drm/nouveau/kms/nv50-: Fix disabling dithering
  md-cluster: fix wild pointer of unlock_all_bitmaps()
  bus: ti-sysc: Add missing quirk flags for usb_host_hs
  video: fbdev: neofb: fix memory leak in neo_scan_monitor()
  video: fbdev: savage: fix memory leak on error handling path in probe
  crypto: aesni - Fix build with LLVM_IAS=1
  drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
  drm/amdgpu: avoid dereferencing a NULL pointer
  fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
  ANDROID: fix a bug in quota2
  loop: be paranoid on exit and prevent new additions / removals
  Bluetooth: add a mutex lock to avoid UAF in do_enale_set
  soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag
  drm/tilcdc: fix leak & null ref in panel_connector_get_modes
  nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths
  nvme-multipath: fix logic for non-optimized paths
  nvme-rdma: fix controller reset hang during traffic
  nvme-tcp: fix controller reset hang during traffic
  md: raid0/linear: fix dereference before null check on pointer mddev
  seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID
  irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource()
  iocost: Fix check condition of iocg abs_vdebt
  ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
  spi: rockchip: Fix error in SPI slave pio read
  io_uring: fix sq array offset calculation
  regulator: fix memory leak on error path of regulator_register()
  recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64.
  tpm: Require that all digests are present in TCG_PCR_EVENT2 structures
  spi: lantiq: fix: Rx overflow error in full duplex mode
  ARM: dts: sunxi: bananapi-m2-plus-v1.2: Fix CPU supply voltages
  ARM: dts: sunxi: bananapi-m2-plus-v1.2: Add regulator supply to all CPU cores
  ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
  ARM: dts: gose: Fix ports node name for adv7612
  ARM: dts: gose: Fix ports node name for adv7180
  platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
  platform/x86: intel-hid: Fix return value check in check_acpi_dev()
  m68k: mac: Fix IOP status/control register writes
  m68k: mac: Don't send IOP message until channel is idle
  clk: scmi: Fix min and max rate when registering clocks with discrete rates
  sched/uclamp: Fix initialization of struct uclamp_rq
  arm64: dts: exynos: Fix silent hang after boot on Espresso
  firmware: arm_scmi: Fix SCMI genpd domain probing
  ARM: exynos: MCPM: Restore big.LITTLE cpuidle support
  crypto: ccree - fix resource leak on error path
  blktrace: fix debugfs use after free
  arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
  crc-t10dif: Fix potential crypto notify dead-lock
  EDAC: Fix reference count leaks
  arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
  arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
  arm64: dts: rockchip: fix rk3368-lion gmac reset gpio
  sched: correct SD_flags returned by tl->sd_flags()
  sched/fair: Fix NOHZ next idle balance
  x86/mce/inject: Fix a wrong assignment of i_mce.status
  clk: qcom: clk-rpmh: Wait for completion when enabling clocks
  fs/io_uring.c: Fix uninitialized variable is referenced in io_submit_sqe
  nvme: add a Identify Namespace Identification Descriptor list quirk
  HID: input: Fix devices that return multiple bytes in battery report
  tracepoint: Mark __tracepoint_string's __used
  ANDROID: ABI: Update allowed list for QCOM

Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
	android/abi_gki_aarch64_qcom
	drivers/clk/qcom/clk-rpmh.c
	drivers/hwtracing/coresight/coresight-tmc-etf.c
	drivers/scsi/ufs/ufs-qcom.c
	drivers/scsi/ufs/ufshcd.c

Change-Id: Ifd7b8337005ddb6c64a6f4e017e470e745170d98
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2020-08-31 13:04:44 -07:00
Greg Kroah-Hartman
c0b1779755 This is the 5.4.59 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl88xTwACgkQONu9yGCS
 aT60Lw/9HV3JZ0KDYKHRRS/n4UWh2w7jHe5hwFTfX8/KibexzGzgV3gTaXsyQx75
 Bj2ruJTGZKDvy+a9/IsjTe1v1/HPwPydDyfABNl/Rn8vQuyHzyyGzQo2owqGb57w
 4wVuoqhPASn0n2QAMG05caAx1uqPlXcT/I4H8vpzieNEHbB/2TbwFiWvrDC2d+nw
 mw1PkRmaFp2GSMOHSb68n2oYUv19EBHDtxF9WkwyftdKALQYz5x4O/n4lhpzMSmO
 OeiUg/dpLi0bptL1SQAfaY/Lxa1gFb62YvP47WbWp/P6zespOInk2n8kmpoHxol3
 MMZelRCdl9NtIKVXMEOFEv/asXPlF2wARGmNejGCYLaRqal1bH67yG4eja7biIJe
 gr5OBOFVPol83sPAnb6V4P2SEs650WR95hshYpRL9lbmcHY4q5zoXVm9ul/Hp49R
 qjjfxHDNQQoQgX4ZhEJLp2a5AEJUM4Kz28pZXHyczKYc2R6/AZWqHfnbQVURf+au
 0xJ/tOFxn3yqRtTkmuuifkZcUTJ5iRnzxUUYiGyhTqZOTNZTD0FgiI+S7gckI//K
 idoWGTszHZb6YkNBEwz4WJFtxCGpO95xgD95jOpJVxFcJ5f5PpfZE7RkXUDLR5UO
 XzJopB3nOT1h3EoI3xq7aPDF1hKbkp+VRMWcVrBeP9KgcpLisS4=
 =Tk2c
 -----END PGP SIGNATURE-----

Merge 5.4.59 into android11-5.4

Changes in 5.4.59
	tracepoint: Mark __tracepoint_string's __used
	HID: input: Fix devices that return multiple bytes in battery report
	nvme: add a Identify Namespace Identification Descriptor list quirk
	fs/io_uring.c: Fix uninitialized variable is referenced in io_submit_sqe
	clk: qcom: clk-rpmh: Wait for completion when enabling clocks
	x86/mce/inject: Fix a wrong assignment of i_mce.status
	sched/fair: Fix NOHZ next idle balance
	sched: correct SD_flags returned by tl->sd_flags()
	arm64: dts: rockchip: fix rk3368-lion gmac reset gpio
	arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
	arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
	EDAC: Fix reference count leaks
	crc-t10dif: Fix potential crypto notify dead-lock
	arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
	blktrace: fix debugfs use after free
	crypto: ccree - fix resource leak on error path
	ARM: exynos: MCPM: Restore big.LITTLE cpuidle support
	firmware: arm_scmi: Fix SCMI genpd domain probing
	arm64: dts: exynos: Fix silent hang after boot on Espresso
	sched/uclamp: Fix initialization of struct uclamp_rq
	clk: scmi: Fix min and max rate when registering clocks with discrete rates
	m68k: mac: Don't send IOP message until channel is idle
	m68k: mac: Fix IOP status/control register writes
	platform/x86: intel-hid: Fix return value check in check_acpi_dev()
	platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
	ARM: dts: gose: Fix ports node name for adv7180
	ARM: dts: gose: Fix ports node name for adv7612
	ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
	ARM: dts: sunxi: bananapi-m2-plus-v1.2: Add regulator supply to all CPU cores
	ARM: dts: sunxi: bananapi-m2-plus-v1.2: Fix CPU supply voltages
	spi: lantiq: fix: Rx overflow error in full duplex mode
	tpm: Require that all digests are present in TCG_PCR_EVENT2 structures
	recordmcount: only record relocation of type R_AARCH64_CALL26 on arm64.
	regulator: fix memory leak on error path of regulator_register()
	io_uring: fix sq array offset calculation
	spi: rockchip: Fix error in SPI slave pio read
	ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
	iocost: Fix check condition of iocg abs_vdebt
	irqchip/ti-sci-inta: Fix return value about devm_ioremap_resource()
	seccomp: Fix ioctl number for SECCOMP_IOCTL_NOTIF_ID_VALID
	md: raid0/linear: fix dereference before null check on pointer mddev
	nvme-tcp: fix controller reset hang during traffic
	nvme-rdma: fix controller reset hang during traffic
	nvme-multipath: fix logic for non-optimized paths
	nvme-multipath: do not fall back to __nvme_find_path() for non-optimized paths
	drm/tilcdc: fix leak & null ref in panel_connector_get_modes
	soc: qcom: rpmh-rsc: Set suppress_bind_attrs flag
	Bluetooth: add a mutex lock to avoid UAF in do_enale_set
	loop: be paranoid on exit and prevent new additions / removals
	fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
	drm/amdgpu: avoid dereferencing a NULL pointer
	drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
	crypto: aesni - Fix build with LLVM_IAS=1
	video: fbdev: savage: fix memory leak on error handling path in probe
	video: fbdev: neofb: fix memory leak in neo_scan_monitor()
	bus: ti-sysc: Add missing quirk flags for usb_host_hs
	md-cluster: fix wild pointer of unlock_all_bitmaps()
	drm/nouveau/kms/nv50-: Fix disabling dithering
	arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
	drm/etnaviv: fix ref count leak via pm_runtime_get_sync
	drm/nouveau: fix reference count leak in nouveau_debugfs_strap_peek
	drm/nouveau: fix multiple instances of reference count leaks
	mmc: sdhci-cadence: do not use hardware tuning for SD mode
	btrfs: fix lockdep splat from btrfs_dump_space_info
	usb: mtu3: clear dual mode of u3port when disable device
	drm: msm: a6xx: fix gpu failure after system resume
	drm/msm: Fix a null pointer access in msm_gem_shrinker_count()
	drm/debugfs: fix plain echo to connector "force" attribute
	drm/radeon: disable AGP by default
	irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
	mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
	drm/amdgpu/display bail early in dm_pp_get_static_clocks
	drm/amd/powerplay: fix compile error with ARCH=arc
	bpf: Fix fds_example SIGSEGV error
	brcmfmac: keep SDIO watchdog running when console_interval is non-zero
	brcmfmac: To fix Bss Info flag definition Bug
	brcmfmac: set state of hanger slot to FREE when flushing PSQ
	platform/x86: asus-nb-wmi: add support for ASUS ROG Zephyrus G14 and G15
	iwlegacy: Check the return value of pcie_capability_read_*()
	gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
	ionic: update eid test for overflow
	mmc: sdhci-pci-o2micro: Bug fix for O2 host controller Seabird1
	usb: gadget: net2280: fix memory leak on probe error handling paths
	bdc: Fix bug causing crash after multiple disconnects
	usb: bdc: Halt controller on suspend
	dyndbg: fix a BUG_ON in ddebug_describe_flags
	bcache: fix super block seq numbers comparision in register_cache_set()
	ACPICA: Do not increment operation_region reference counts for field units
	drm/msm: ratelimit crtc event overflow error
	drm/gem: Fix a leak in drm_gem_objects_lookup()
	drm/bridge: ti-sn65dsi86: Clear old error bits before AUX transfers
	agp/intel: Fix a memory leak on module initialisation failure
	mwifiex: Fix firmware filename for sd8977 chipset
	mwifiex: Fix firmware filename for sd8997 chipset
	btmrvl: Fix firmware filename for sd8977 chipset
	btmrvl: Fix firmware filename for sd8997 chipset
	video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
	console: newport_con: fix an issue about leak related system resources
	video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
	ath10k: Acquire tx_lock in tx error paths
	iio: improve IIO_CONCENTRATION channel type description
	drm/etnaviv: Fix error path on failure to enable bus clk
	drm/arm: fix unintentional integer overflow on left shift
	clk: bcm63xx-gate: fix last clock availability
	leds: lm355x: avoid enum conversion warning
	Bluetooth: btusb: fix up firmware download sequence
	Bluetooth: btmtksdio: fix up firmware download sequence
	media: cxusb-analog: fix V4L2 dependency
	media: marvell-ccic: Add missed v4l2_async_notifier_cleanup()
	media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
	ASoC: SOF: nocodec: add missing .owner field
	ASoC: Intel: bxt_rt298: add missing .owner field
	scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
	drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
	cxl: Fix kobject memleak
	drm/radeon: fix array out-of-bounds read and write issues
	staging: vchiq_arm: Add a matching unregister call
	iavf: fix error return code in iavf_init_get_resources()
	iavf: Fix updating statistics
	RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued()
	scsi: powertec: Fix different dev_id between request_irq() and free_irq()
	scsi: eesox: Fix different dev_id between request_irq() and free_irq()
	ipvs: allow connection reuse for unconfirmed conntrack
	media: firewire: Using uninitialized values in node_probe()
	media: exynos4-is: Add missed check for pinctrl_lookup_state()
	media: cros-ec-cec: do not bail on device_init_wakeup failure
	xfs: don't eat an EIO/ENOSPC writeback error when scrubbing data fork
	xfs: fix reflink quota reservation accounting error
	RDMA/rxe: Skip dgid check in loopback mode
	PCI: Fix pci_cfg_wait queue locking problem
	drm/stm: repair runtime power management
	kobject: Avoid premature parent object freeing in kobject_cleanup()
	leds: core: Flush scheduled work for system suspend
	drm: panel: simple: Fix bpc for LG LB070WV8 panel
	phy: exynos5-usbdrd: Calibrating makes sense only for USB2.0 PHY
	drm/bridge: sil_sii8620: initialize return of sii8620_readb
	scsi: scsi_debug: Add check for sdebug_max_queue during module init
	mwifiex: Prevent memory corruption handling keys
	kernfs: do not call fsnotify() with name without a parent
	powerpc/rtas: don't online CPUs for partition suspend
	powerpc/vdso: Fix vdso cpu truncation
	RDMA/qedr: SRQ's bug fixes
	RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue
	ima: Have the LSM free its audit rule
	staging: rtl8192u: fix a dubious looking mask before a shift
	ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback
	PCI/ASPM: Add missing newline in sysfs 'policy'
	phy: renesas: rcar-gen3-usb2: move irq registration to init
	powerpc/book3s64/pkeys: Use PVR check instead of cpu feature
	drm/imx: fix use after free
	drm/imx: tve: fix regulator_disable error path
	gpu: ipu-v3: Restore RGB32, BGR32
	spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM
	USB: serial: iuu_phoenix: fix led-activity helpers
	usb: core: fix quirks_param_set() writing to a const pointer
	thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
	coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
	powerpc/perf: Fix missing is_sier_aviable() during build
	mt76: mt7615: fix potential memory leak in mcu message handler
	phy: armada-38x: fix NETA lockup when repeatedly switching speeds
	MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
	usb: dwc2: Fix error path in gadget registration
	usb: gadget: f_uac2: fix AC Interface Header Descriptor wTotalLength
	scsi: megaraid_sas: Clear affinity hint
	scsi: mesh: Fix panic after host or bus reset
	net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
	macintosh/via-macii: Access autopoll_devs when inside lock
	PCI: cadence: Fix updating Vendor ID and Subsystem Vendor ID register
	RDMA/core: Fix return error value in _ib_modify_qp() to negative
	Smack: fix another vsscanf out of bounds
	Smack: prevent underflow in smk_set_cipso()
	power: supply: check if calc_soc succeeded in pm860x_init_battery
	Bluetooth: hci_h5: Set HCI_UART_RESET_ON_INIT to correct flags
	Bluetooth: hci_serdev: Only unregister device if it was registered
	net: dsa: rtl8366: Fix VLAN semantics
	net: dsa: rtl8366: Fix VLAN set-up
	xfs: fix inode allocation block res calculation precedence
	selftests/powerpc: Squash spurious errors due to device removal
	powerpc/32s: Fix CONFIG_BOOK3S_601 uses
	powerpc/boot: Fix CONFIG_PPC_MPC52XX references
	selftests/powerpc: Fix CPU affinity for child process
	RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP
	PCI: Release IVRS table in AMD ACS quirk
	cpufreq: ap806: fix cpufreq driver needs ap cpu clk
	selftests/powerpc: Fix online CPU selection
	ASoC: meson: axg-tdm-interface: fix link fmt setup
	ASoC: meson: axg-tdmin: fix g12a skew
	ASoC: meson: axg-tdm-formatters: fix sclk inversion
	ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK
	s390/qeth: don't process empty bridge port events
	ice: Graceful error handling in HW table calloc failure
	rtw88: fix LDPC field for RA info
	rtw88: fix short GI capability based on current bandwidth
	rtw88: coex: only skip coex triggered by BT info
	wl1251: fix always return 0 error
	tools, build: Propagate build failures from tools/build/Makefile.build
	tools, bpftool: Fix wrong return value in do_dump()
	net/mlx5: DR, Change push vlan action sequence
	net/mlx5: Delete extra dump stack that gives nothing
	net: ethernet: aquantia: Fix wrong return value
	liquidio: Fix wrong return value in cn23xx_get_pf_num()
	net: spider_net: Fix the size used in a 'dma_free_coherent()' call
	fsl/fman: use 32-bit unsigned integer
	fsl/fman: fix dereference null return value
	fsl/fman: fix unreachable code
	fsl/fman: check dereferencing null pointer
	fsl/fman: fix eth hash table allocation
	net: thunderx: initialize VF's mailbox mutex before first usage
	dlm: Fix kobject memleak
	ocfs2: fix unbalanced locking
	pinctrl-single: fix pcs_parse_pinconf() return value
	svcrdma: Fix page leak in svc_rdma_recv_read_chunk()
	SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()")
	x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
	crypto: aesni - add compatibility with IAS
	af_packet: TPACKET_V3: fix fill status rwlock imbalance
	drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
	net: Fix potential memory leak in proto_register()
	net/nfc/rawsock.c: add CAP_NET_RAW check.
	net: phy: fix memory leak in device-create error path
	net: Set fput_needed iff FDPUT_FPUT is set
	net/tls: Fix kmap usage
	tcp: correct read of TFO keys on big endian systems
	vmxnet3: use correct tcp hdr length when packet is encapsulated
	net: refactor bind_bucket fastreuse into helper
	net: initialize fastreuse on inet_inherit_port
	USB: serial: cp210x: re-enable auto-RTS on open
	USB: serial: cp210x: enable usb generic throttle/unthrottle
	ALSA: hda - fix the micmute led status for Lenovo ThinkCentre AIO
	ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
	ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
	ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
	9p: Fix memory leak in v9fs_mount
	media: media-request: Fix crash if memory allocation fails
	drm/ttm/nouveau: don't call tt destroy callback on alloc failure.
	io_uring: set ctx sq/cq entry count earlier
	NFS: Don't move layouts to plh_return_segs list while in use
	NFS: Don't return layout segments that are in use
	cpufreq: Fix locking issues with governors
	cpufreq: dt: fix oops on armada37xx
	include/asm-generic/vmlinux.lds.h: align ro_after_init
	spi: spidev: Align buffers for DMA
	mtd: rawnand: qcom: avoid write to unavailable register
	erofs: fix extended inode could cross boundary
	Revert "parisc: Drop LDCW barrier in CAS code when running UP"
	Revert "parisc: Use ldcw instruction for SMP spinlock release barrier"
	Revert "parisc: Revert "Release spinlocks using ordered store""
	parisc: Do not use an ordered store in pa_tlb_lock()
	parisc: Implement __smp_store_release and __smp_load_acquire barriers
	parisc: mask out enable and reserved bits from sba imask
	ARM: 8992/1: Fix unwind_frame for clang-built kernels
	irqdomain/treewide: Free firmware node after domain removal
	ALSA: usb-audio: add quirk for Pioneer DDJ-RB
	tpm: Unify the mismatching TPM space buffer sizes
	pstore: Fix linking when crypto API disabled
	crypto: hisilicon - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
	crypto: qat - fix double free in qat_uclo_create_batch_init_list
	crypto: ccp - Fix use of merged scatterlists
	crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
	bitfield.h: don't compile-time validate _val in FIELD_FIT
	fs/minix: check return value of sb_getblk()
	fs/minix: don't allow getting deleted inodes
	fs/minix: reject too-large maximum file size
	xen/balloon: fix accounting in alloc_xenballooned_pages error path
	xen/balloon: make the balloon wait interruptible
	xen/gntdev: Fix dmabuf import with non-zero sgt offset
	s390/dasd: fix inability to use DASD with DIAG driver
	s390/gmap: improve THP splitting
	io_uring: Fix NULL pointer dereference in loop_rw_iter()
	Linux 5.4.59

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4bc685ec9234d8f72a9c66ee2d509a2975f6d711
2020-08-19 08:40:57 +02:00
Peng Liu
e8eb09e542 sched: correct SD_flags returned by tl->sd_flags()
[ Upstream commit 9b1b234bb86bcdcdb142e900d39b599185465dbb ]

During sched domain init, we check whether non-topological SD_flags are
returned by tl->sd_flags(), if found, fire a waning and correct the
violation, but the code failed to correct the violation. Correct this.

Fixes: 143e1e28cb ("sched: Rework sched_domain topology definition")
Signed-off-by: Peng Liu <iwtbavbm@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20200609150936.GA13060@iZj6chx1xj0e0buvshuecpZ
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-08-19 08:15:54 +02:00
Pavankumar Kondeti
f6c1bf1f02 sched/walt: Fix negative count of sched_asym_cpucapacity static key
The current code sets per-cpu variable sd_asym_cpucapacity while
building sched domains even when there are no asymmetric CPUs.
This is done to make sure that EAS remains enabled on a b.L system
after hotplugging out all big/LITTLE CPUs. However it is causing
the below warning during CPU hotplug.

[13988.932604] pc : static_key_slow_dec_cpuslocked+0xe8/0x150
[13988.932608] lr : static_key_slow_dec_cpuslocked+0xe8/0x150
[13988.932610] sp : ffffffc010333c00
[13988.932612] x29: ffffffc010333c00 x28: ffffff8138d88088
[13988.932615] x27: 0000000000000000 x26: 0000000000000081
[13988.932618] x25: ffffff80917efc80 x24: ffffffc010333c60
[13988.932621] x23: ffffffd32bf09c58 x22: 0000000000000000
[13988.932623] x21: 0000000000000000 x20: ffffff80917efc80
[13988.932626] x19: ffffffd32bf0a3e0 x18: ffffff8138039c38
[13988.932628] x17: ffffffd32bf2b000 x16: 0000000000000050
[13988.932631] x15: 0000000000000050 x14: 0000000000040000
[13988.932633] x13: 0000000000000178 x12: 0000000000000001
[13988.932636] x11: 16a9ca5426841300 x10: 16a9ca5426841300
[13988.932639] x9 : 16a9ca5426841300 x8 : 16a9ca5426841300
[13988.932641] x7 : 0000000000000000 x6 : ffffff813f4edadb
[13988.932643] x5 : 0000000000000000 x4 : 0000000000000004
[13988.932646] x3 : ffffffc010333880 x2 : ffffffd32a683a2c
[13988.932648] x1 : ffffffd329355498 x0 : 000000000000001b
[13988.932651] Call trace:
[13988.932656]  static_key_slow_dec_cpuslocked+0xe8/0x150
[13988.932660]  partition_sched_domains_locked+0x1f8/0x80c
[13988.932666]  sched_cpu_deactivate+0x9c/0x13c
[13988.932670]  cpuhp_invoke_callback+0x6ac/0xa8c
[13988.932675]  cpuhp_thread_fun+0x158/0x1ac
[13988.932678]  smpboot_thread_fn+0x244/0x3e4
[13988.932681]  kthread+0x168/0x178
[13988.932685]  ret_from_fork+0x10/0x18

The mismatch between increment/decrement of sched_asym_cpucapacity
static key is resulting in the above warning. It is due to
the fact that the increment happens only when the system really
has asymmetric capacity CPUs. This check is done by going through
each CPU capacity. So when system becomes SMP during hotplug,
the increment never happens. However the decrement of this static
key is done when any of the currently online CPU has per-cpu variable
sd_asym_cpucapacity value as non-NULL. Since we always set this
variable, we run into this issue.

Our goal was to enable EAS on SMP. To achieve that enable EAS and
build perf domains (required for compute energy) irrespective
of per-cpu variable sd_asym_cpucapacity value. In this way we
no longer have to enable sched_asym_cpucapacity feature on SMP
to enable EAS.

Change-Id: Id46f2b80350b742c75195ad6939b814d4695eb07
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2020-06-16 08:14:09 +05:30
qctecmdr
1d46207553 Merge "sched: Improve the scheduler" 2020-06-10 11:30:47 -07:00
Elliot Berman
9f125adcf2 sched: Compile cpu_isolated_mask in SCHED_WALT only
cpu_isolated_mask can only be used when SCHED_WALT is enabled. The
addition of the cpu_isolated_mask causes ABI to break. Thus, compile
references to cpu_isolated_mask only when SCHED_WALT is enabled.

Change-Id: I0982f6431abca807168dbabc4aca74771819565c
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-06-04 11:42:49 -07:00
Sai Harshini Nimmala
e2ac811691 sched/walt: Consolidate WALT parameters
Create specific structures to hold all WALT related parameters used in the
scheduler.
This is to separate WALT functionality from scheduler code for GKI
purposes.

Change-Id: I6013883c00f2089dba3e5d0890c9abf5f57b3da6
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
2020-06-03 17:19:06 -07:00
Blagovest Kolenichev
2e72d8932e Merge android-5.4.24 (ce5de62) into msm-5.4
* refs/heads/tmp-ce5de62:
  Revert "BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency"
  Linux 5.4.24
  blktrace: Protect q->blk_trace with RCU
  kvm: nVMX: VMWRITE checks unsupported field before read-only field
  kvm: nVMX: VMWRITE checks VMCS-link pointer before VMCS field
  mm, thp: fix defrag setting if newline is not used
  mm/huge_memory.c: use head to check huge zero page
  mm/gup: allow FOLL_FORCE for get_user_pages_fast()
  mm/debug.c: always print flags in dump_page()
  locking/lockdep: Fix lockdep_stats indentation problem
  xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE
  bus: tegra-aconnect: Remove PM_CLK dependency
  netfilter: nf_flowtable: fix documentation
  netfilter: nft_tunnel: no need to call htons() when dumping ports
  thermal: brcmstb_thermal: Do not use DT coefficients
  thermal: db8500: Depromote debug print
  ubifs: Fix ino_t format warnings in orphan_delete()
  rcu: Allow only one expedited GP to run concurrently with wakeups
  KVM: x86: Remove spurious clearing of async #PF MSR
  KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path
  x86/resctrl: Check monitoring static key in the MBM overflow handler
  perf ui gtk: Add missing zalloc object
  perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc
  pwm: omap-dmtimer: put_device() after of_find_device_by_node()
  lib/vdso: Update coarse timekeeper unconditionally
  lib/vdso: Make __arch_update_vdso_data() logic understandable
  kprobes: Set unoptimized flag after unoptimizing code
  ima: ima/lsm policy rule loading logic bug fixes
  drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()'
  RDMA/hns: Bugfix for posting a wqe with sge
  RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs
  f2fs: fix to add swap extent correctly
  sched/fair: Optimize select_idle_cpu
  KVM: Check for a bad hva before dropping into the ghc slow path
  KVM: SVM: Override default MMIO mask if memory encryption is enabled
  mwifiex: delete unused mwifiex_get_intf_num()
  mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame()
  namei: only return -ECHILD from follow_dotdot_rcu()
  kbuild: make single target builds even faster
  kbuild: remove unneeded variable, single-all
  kbuild: move headers_check rule to usr/include/Makefile
  kbuild: remove header compile test
  selftests: Install settings files to fix TIMEOUT failures
  net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE
  net/smc: no peer ID in CLC decline for SMCD
  net: atlantic: fix out of range usage of active_vlans array
  net: atlantic: fix potential error handling
  net: atlantic: fix use after free kasan warn
  net: netlink: cap max groups which will be considered in netlink_bind()
  s390/qeth: vnicc Fix EOPNOTSUPP precedence
  nvme-pci: Hold cq_poll_lock while completing CQEs
  usb: charger: assign specific number for enum value
  hv_netvsc: Fix unwanted wakeup in netvsc_attach()
  kbuild: fix DT binding schema rule to detect command line changes
  mac80211: Remove a redundant mutex unlock
  nl80211: fix potential leak in AP start
  drm/i915/gvt: Separate display reset from ALL_ENGINES reset
  drm/i915/gvt: Fix orphan vgpu dmabuf_objs' lifetime
  i2c: jz4780: silence log flood on txabrt
  i2c: altera: Fix potential integer overflow
  MIPS: VPE: Fix a double free and a memory leak in 'release_vpe()'
  HID: hiddev: Fix race in in hiddev_disconnect()
  HID: alps: Fix an error handling path in 'alps_input_configured()'
  netfilter: xt_hashlimit: reduce hashlimit_mutex scope for htable_put()
  netfilter: ipset: Fix forceadd evaluation path
  vhost: Check docket sk_family instead of call getname
  net/smc: transfer fasync_list in case of fallback
  netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports
  io_uring: fix 32-bit compatability with sendmsg/recvmsg
  cpufreq: Fix policy initialization for internal governor drivers
  amdgpu/gmc_v9: save/restore sdpif regs during S3
  Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs"
  tracing: Disable trace_printk() on post poned tests
  macintosh: therm_windtunnel: fix regression when instantiating devices
  drm/radeon: Inline drm_get_pci_dev
  drm/amdgpu: Drop DRIVER_USE_AGP
  HID: core: increase HID report buffer size to 8KiB
  HID: core: fix off-by-one memset in hid_report_raw_event()
  HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock
  KVM: VMX: check descriptor table exits on instruction emulation
  ACPI: watchdog: Fix gas->access_width usage
  ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro
  audit: always check the netlink payload length in audit_receive_msg()
  audit: fix error handling in audit_data_to_entry()
  ext4: potential crash on allocation error in ext4_alloc_flex_bg_array()
  nvme/pci: move cqe check after device shutdown
  nvme: prevent warning triggered by nvme_stop_keep_alive
  nvme/tcp: fix bug on double requeue when send fails
  net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples()
  net: hns3: add management table after IMP reset
  mac80211: fix wrong 160/80+80 MHz setting
  cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE
  cifs: Fix mode output in debugging statements
  ice: update Unit Load Status bitmask to check after reset
  net: ena: ena-com.c: prevent NULL pointer dereference
  net: ena: ethtool: use correct value for crc32 hash
  net: ena: fix corruption of dev_idx_to_host_tbl
  net: ena: fix incorrectly saving queue numbers when setting RSS indirection table
  net: ena: rss: store hash function as values and not bits
  net: ena: rss: fix failure to get indirection table
  net: ena: rss: do not allocate key when not supported
  net: ena: fix incorrect default RSS key
  net: ena: add missing ethtool TX timestamping indication
  net: ena: fix uses of round_jiffies()
  net: ena: fix potential crash when rxfh key is NULL
  i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps
  soc/tegra: fuse: Fix build with Tegra194 configuration
  amdgpu: Prevent build errors regarding soft/hard-float FP ABI tags
  drm/amd/display: Add initialitions for PLL2 clock source
  drm/amd/display: Limit minimum DPPCLK to 100MHz.
  drm/amd/display: Check engine is not NULL before acquiring
  RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready()
  drm/amd/display: Do not set optimized_require to false after plane disable
  ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi
  ceph: do not execute direct write in parallel if O_APPEND is specified
  perf/x86/msr: Add Tremont support
  perf/x86/cstate: Add Tremont support
  perf/x86/intel: Add Elkhart Lake support
  perf/smmuv3: Use platform_get_irq_optional() for wired interrupt
  NFSv4: Fix races between open and dentry revalidation
  qmi_wwan: unconditionally reject 2 ep interfaces
  qmi_wwan: re-add DW5821e pre-production variant
  s390/zcrypt: fix card and queue total counter wrap
  cfg80211: check wiphy driver existence for drvinfo report
  mac80211: consider more elements in parsing CRC
  dax: pass NOWAIT flag to iomap_apply
  sched/fair: Prevent unlimited runtime on throttled group
  timers/nohz: Update NOHZ load in remote tick
  sched/core: Don't skip remote tick for idle CPUs
  drm/msm: Set dma maximum segment size for mdss
  ipmi:ssif: Handle a possible NULL pointer reference
  ipv6: Fix nlmsg_flags when splitting a multipath route
  ipv6: Fix route replacement with dev-only route
  bonding: fix lockdep warning in bond_get_stats()
  net: export netdev_next_lower_dev_rcu()
  bonding: add missing netdev_update_lockdep_key()
  bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs.
  bnxt_en: Improve device shutdown method.
  sctp: move the format error check out of __sctp_sf_do_9_1_abort
  udp: rehash on disconnect
  Revert "net: dev: introduce support for sch BYPASS for lockless qdisc"
  qede: Fix race between rdma destroy workqueue and link change event
  nfc: pn544: Fix occasional HW initialization failure
  net/tls: Fix to avoid gettig invalid tls record
  net: sched: correct flower port blocking
  net: phy: restore mdio regs in the iproc mdio driver
  net: mscc: fix in frame extraction
  net: macb: ensure interface is not suspended on at91rm9200
  net: fib_rules: Correctly set table field when table number exceeds 8 bits
  net: dsa: b53: Ensure the default VID is untagged
  EDAC: skx_common: downgrade message importance on missing PCI device
  io_uring: grab ->fs as part of async offload
  ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct
  ANDROID: gki_defconfig: disable KPROBES, update ABI
  FROMGIT: scsi: ufs: Select INITIAL ADAPT type for HS Gear4
  FROMLIST: scsi: ufs: Use ufshcd_config_pwr_mode() when scale gear
  FROMGIT: scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
  FROMGIT: scsi: ufs: Allow vendor device quirks to be applied early
  BACKPORT: scsi: ufs: Delete struct ufs_dev_desc
  ANDROID: gki_defconfig: enable IOMMU_LIMIT_IOVA_ALIGNMENT
  FROMLIST: iommu/iova: Support limiting IOVA alignment
  FROMLIST: iommu/iova: Add a best-fit algorithm
  FROMLIST: iommu/dma: Allow drivers to reserve an iova range
  ANDROID: Unconditionally create bridge tracepoints
  ANDROID: gki_defconfig: Enable MFD_SYSCON on x86
  ANDROID: update ABI for CONFIG_IIO_* changes
  ANDROID: gki_defconfig: add CONFIG_IIO_BUFFER and CONFIG_IIO_TRIGGER
  ANDROID: gki: set CONFIG_SERIAL_SPRD_CONSOLE for earlycon
  ANDROID: Re-add default y for VIRTIO_PCI_LEGACY
  ANDROID: GKI: build in HVC_DRIVER
  ANDROID: Removed default m for virtual sw crypto device
  ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING
  ANDROID: GKI: Added missing SND configs
  ANDROID: scsi: ufs: allow ufs variants to override sg entry size
  ANDROID: GKI: Remove CONFIG_BRIDGE from arm64 config
  ANDROID: Enable HID_NINTENDO as y
  FROMLIST: HID: nintendo: add nintendo switch controller driver
  UPSTREAM: iommu/arm-smmu: Restore naming of driver parameter prefix
  ANDROID: gki_defconfig: Remove 'BRIDGE_NETFILTER is not set'
  UPSTREAM: net: disable BRIDGE_NETFILTER by default
  Linux 5.4.23
  ASoC: SOF: Intel: hda: Add iDisp4 DAI
  bpf: Selftests build error in sockmap_basic.c
  s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range
  s390/kaslr: Fix casts in get_random
  net/mlx5e: Fix crash in recovery flow without devlink reporter
  net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa
  net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY
  xen: Enable interrupts when calling _cond_resched()
  ata: ahci: Add shutdown to freeze hardware resources of ahci
  io_uring: prevent sq_thread from spinning when it should stop
  rxrpc: Fix call RCU cleanup using non-bh-safe locks
  netfilter: xt_hashlimit: limit the max size of hashtable
  ALSA: seq: Fix concurrent access to queue current tick/time
  ALSA: seq: Avoid concurrent access to queue flags
  ALSA: rawmidi: Avoid bit fields for state flags
  io_uring: fix __io_iopoll_check deadlock in io_sq_thread
  arm64: lse: Fix LSE atomics with LLVM
  bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill
  genirq/proc: Reject invalid affinity masks (again)
  crypto: rename sm3-256 to sm3 in hash_algo_name
  iommu/vt-d: Fix compile warning from intel-svm.h
  ecryptfs: replace BUG_ON with error handling code
  ASoC: fsl_sai: Fix exiting path on probing failure
  ASoC: atmel: fix atmel_ssc_set_audio link failure
  staging: greybus: use after free in gb_audio_manager_remove_all()
  staging: rtl8723bs: fix copy of overlapping memory
  usb: dwc2: Fix in ISOC request length checking
  usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus
  scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
  scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout"
  drm/msm/dpu: fix BGR565 vs RGB565 confusion
  drm/i915/gt: Protect defer_request() from new waiters
  drm/bridge: tc358767: fix poll timeouts
  drm/i915/gvt: more locking for ppgtt mm LRU list
  drm/i915/execlists: Always force a context reload when rewinding RING_TAIL
  drm/i915/gt: Detect if we miss WaIdleLiteRestore
  Revert "dmaengine: imx-sdma: Fix memory leak"
  Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof
  btrfs: don't set path->leave_spinning for truncate
  Btrfs: fix race between shrinking truncate and fiemap
  Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents
  btrfs: do not check delayed items are empty for single transaction cleanup
  btrfs: reset fs_root to NULL on error in open_ctree
  btrfs: fix bytes_may_use underflow in prealloc error condtition
  btrfs: destroy qgroup extent records on transaction abort
  KVM: apic: avoid calculating pending eoi from an uninitialized val
  KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1
  KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled
  KVM: nVMX: Check IO instruction VM-exit conditions
  KVM: nVMX: Refactor IO bitmap checks into helper function
  ext4: fix race between writepages and enabling EXT4_EXTENTS_FL
  ext4: rename s_journal_flag_rwsem to s_writepages_rwsem
  ext4: fix mount failure with quota configured as module
  ext4: fix potential race between s_flex_groups online resizing and access
  ext4: fix potential race between s_group_info online resizing and access
  ext4: fix potential race between online resizing and write operations
  ext4: add cond_resched() to __ext4_find_entry()
  ext4: fix a data race in EXT4_I(inode)->i_disksize
  KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI
  KVM: nVMX: Don't emulate instructions in guest mode
  sched/psi: Fix OOB write when writing 0 bytes to PSI files
  drm/i915: Update drm/i915 bug filing URL
  drm/i915: Wean off drm_pci_alloc/drm_pci_free
  drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets
  drm/amdgpu/gfx10: disable gfxoff when reading rlc clock
  drm/amdgpu/gfx9: disable gfxoff when reading rlc clock
  drm/amdgpu/soc15: fix xclk for raven
  mm: Avoid creating virtual address aliases in brk()/mmap()/mremap()
  lib/stackdepot.c: fix global out-of-bounds in stack_slabs
  mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM
  mm/vmscan.c: don't round up scan size for online memory cgroup
  genirq/irqdomain: Make sure all irq domain flags are distinct
  nvme-multipath: Fix memory leak with ana_log_buf
  mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps()
  Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"
  ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()
  MAINTAINERS: Update drm/i915 bug filing URL
  serdev: ttyport: restore client ops on deregistration
  tty: serial: qcom_geni_serial: Fix RX cancel command failure
  tty: serial: imx: setup the correct sg entry for tx dma
  tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode
  serial: 8250: Check UPF_IRQ_SHARED in advance
  x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF
  x86/mce/amd: Fix kobject lifetime
  x86/mce/amd: Publish the bank pointer only after setup has succeeded
  x86/ima: use correct identifier for SetupMode variable
  jbd2: fix ocfs2 corrupt when clearing block group bits
  arm64: memory: Add missing brackets to untagged_addr() macro
  powerpc/hugetlb: Fix 8M hugepages on 8xx
  powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size
  powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S
  powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery
  powerpc/eeh: Fix deadlock handling dead PHB
  powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss
  drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context
  staging: rtl8723bs: Fix potential overuse of kernel memory
  staging: rtl8723bs: Fix potential security hole
  staging: rtl8188eu: Fix potential overuse of kernel memory
  staging: rtl8188eu: Fix potential security hole
  scsi: Revert "target/core: Inline transport_lun_remove_cmd()"
  usb: dwc3: debug: fix string position formatting mixup with ret and len
  usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields
  usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows
  USB: hub: Fix the broken detection of USB3 device in SMSC hub
  USB: hub: Don't record a connect-change event during reset-resume
  USB: Fix novation SourceControl XL after suspend
  usb: uas: fix a plug & unplug racing
  USB: quirks: blacklist duplicate ep on Sound Devices USBPre2
  USB: core: add endpoint-blacklist quirk
  usb: host: xhci: update event ring dequeue pointer on purpose
  xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2
  xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms
  xhci: fix runtime pm enabling for quirky Intel hosts
  xhci: Force Maximum Packet size for Full-speed bulk devices to valid range.
  staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.
  staging: android: ashmem: Disallow ashmem memory from being remapped
  vt: vt_ioctl: fix race in VT_RESIZEX
  vt: selection, handle pending signals in paste_selection
  vt: fix scrollback flushing on background consoles
  floppy: check FDC index for errors before assigning it
  e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm
  USB: misc: iowarrior: add support for the 100 device
  USB: misc: iowarrior: add support for the 28 and 28L devices
  USB: misc: iowarrior: add support for 2 OEMed devices
  thunderbolt: Prevent crash if non-active NVMem file is read
  btrfs: handle logged extent failure properly
  ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()
  ecryptfs: fix a memory leak bug in parse_tag_1_packet()
  tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST
  ASoC: sun8i-codec: Fix setting DAI data format
  ASoC: codec2codec: avoid invalid/double-free of pcm runtime
  ALSA: hda/realtek - Apply quirk for yet another MSI laptop
  ALSA: hda/realtek - Apply quirk for MSI GP63, too
  ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs
  iommu/qcom: Fix bogus detach logic
  UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files
  ANDROID: build.config.gki.aarch64: enable symbol trimming
  ANDROID: kbuild: avoid excessively long argument lists
  ANDROID: gki_defconfig: Enable CONFIG_RD_LZ4
  ANDROID: net: wireless: Add module_param(mac_prefix) to mac80211_hwsim
  ANDROID: gki: Enable BINFMT_MISC as part of GKI
  ANDROID: gki_defconfig: disable CONFIG_CRYPTO_MD4
  FROMLIST: kbuild: generate autoksyms.h early
  FROMLIST: kbuild: split adjust_autoksyms.sh in two parts
  FROMLIST: kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS
  ANDROID: ABI/Whitelist: update for unisoc
  ANDROID: Disable wq fp check in CFI builds
  ANDROID: gki_defconfig: Disable CONFIG_RT_GROUP_SCHED
  FROMGIT: of: property: Add device link support for power-domains and hwlocks
  ANDROID: drm/msm/a6xx: Make a6xx_gmu_bo.iova a dma_addr_t
  FROMLIST: of: of_reserved_mem: Increase limit on number of reserved regions
  ANDROID: dm: Add wrapped key support in dm-default-key
  ANDROID: dm: add support for passing through derive_raw_secret
  ANDROID: block: Prevent crypto fallback for wrapped keys
  FROMLIST: drm/msm/a6xx: Use the DMA API for GMU memory objects
  FROMLIST: arm64: dts: sdm845: Set the virtual address range for GMU allocations
  UPSTREAM: of: Make of_dma_get_range() work on bus nodes
  UPSTREAM: of/address: Fix of_pci_range_parser_one translation of DMA addresses
  UPSTREAM: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges'
  UPSTREAM: of: Factor out #{addr,size}-cells parsing
  UPSTREAM: of: address: Follow DMA parent for "dma-coherent"
  UPSTREAM: of/address: Introduce of_get_next_dma_parent() helper
  UPSTREAM: of: Make of_dma_get_range() private
  ANDROID: fix merge issue in 5.4.22
  ANDROID: update ABI for 5.4.22
  Linux 5.4.22
  rtc: Kconfig: select REGMAP_I2C when necessary
  bcache: properly initialize 'path' and 'err' in register_bcache()
  drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2)
  s390/pci: Recover handle in clp_set_pci_fn()
  mlxsw: spectrum_dpipe: Add missing error path
  fuse: don't overflow LLONG_MAX with end offset
  virtio_balloon: prevent pfn array overflow
  cifs: log warning message (once) if out of disk space
  i40e: Relax i40e_xsk_wakeup's return value when PF is busy
  help_next should increase position index
  NFS: Fix memory leaks
  drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage
  drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency
  brd: check and limit max_part par
  microblaze: Prevent the overflow of the start
  asm-generic/tlb: add missing CONFIG symbol
  iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta()
  iwlwifi: mvm: Fix thermal zone registration
  nvme-pci: remove nvmeq->tags
  nvmet: Pass lockdep expression to RCU lists
  irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
  bcache: fix incorrect data type usage in btree_flush_write()
  bcache: explicity type cast in bset_bkey_last()
  bcache: fix memory corruption in bch_cache_accounting_clear()
  reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
  lib/scatterlist.c: adjust indentation in __sg_alloc_table
  ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
  ocfs2: make local header paths relative to C files
  btrfs: do not do delalloc reservation under page lock
  powerpc: Do not consider weak unresolved symbol relocations as bad
  radeon: insert 10ms sleep in dce5_crtc_load_lut
  trigger_next should increase position index
  ftrace: fpid_next() should increase position index
  char: hpet: Fix out-of-bounds read bug
  drm/nouveau/disp/nv50-: prevent oops when no channel method map provided
  irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
  drm/amd/display: do not allocate display_mode_lib unnecessarily
  rbd: work around -Wuninitialized warning
  ceph: check availability of mds cluster on mount after wait timeout
  powerpc/mm: Don't log user reads to 0xffffffff
  bpf: map_seq_next should always increase position index
  cifs: fix NULL dereference in match_prepath
  cifs: Fix mount options set in automount
  cifs: fix unitialized variable poential problem with network I/O cache lock patch
  iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
  rtw88: fix potential NULL skb access in TX ISR
  hostap: Adjust indentation in prism2_hostapd_add_sta
  ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82
  ARM: 8951/1: Fix Kexec compilation issue.
  selftests/eeh: Bump EEH wait time to 60s
  powerpc/pseries/lparcfg: Fix display of Maximum Memory
  jbd2: make sure ESHUTDOWN to be recorded in the journal superblock
  jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record
  selftests: bpf: Reset global state between reuseport test runs
  alarmtimer: Make alarmtimer platform device child of RTC device
  iommu/vt-d: Remove unnecessary WARN_ON_ONCE()
  bcache: fix use-after-free in register_bcache()
  bcache: rework error unwinding in register_bcache
  bcache: cached_dev_free needs to put the sb page
  btrfs: Fix split-brain handling when changing FSID to metadata uuid
  btrfs: separate definition of assertion failure handlers
  media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value
  powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
  drm/nouveau/mmu: fix comptag memory leak
  sunrpc: Fix potential leaks in sunrpc_cache_unhash()
  ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
  bpf, btf: Always output invariant hit in pahole DWARF to BTF transform
  driver core: platform: fix u32 greater or equal to zero comparison
  s390/ftrace: generate traced function stack frame
  s390: adjust -mpacked-stack support check for clang 10
  x86/decoder: Add TEST opcode to Group3-2
  objtool: Fix ARCH=x86_64 build error
  kbuild: use -S instead of -E for precise cc-option test in Kconfig
  spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations
  ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
  irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems
  regulator: core: Fix exported symbols to the exported GPL version
  remoteproc: Initialize rproc_class before use
  module: avoid setting info->name early in case we can fall back to info->mod->name
  btrfs: device stats, log when stats are zeroed
  btrfs: safely advance counter when looking up bio csums
  btrfs: fix possible NULL-pointer dereference in integrity checks
  pwm: Remove set but not set variable 'pwm'
  ide: serverworks: potential overflow in svwks_set_pio_mode()
  cmd64x: potential buffer overflow in cmd64x_program_timings()
  pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional
  x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
  f2fs: fix memleak of kobject
  regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage
  ASoC: SOF: Intel: hda: Fix SKL dai count
  debugobjects: Fix various data races
  watchdog/softlockup: Enforce that timestamp is valid on boot
  perf/x86/amd: Constrain Large Increment per Cycle events
  sched/topology: Assert non-NUMA topology masks don't (partially) overlap
  sched/core: Fix size of rq::uclamp initialization
  arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu
  KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt'
  EDAC/sifive: Fix return value check in ecc_register()
  drm/amd/display: fixup DML dependencies
  arm64: fix alternatives with LLVM's integrated assembler
  arm64: lse: fix LSE atomics with LLVM's integrated assembler
  RDMA/mlx5: Don't fake udata for kernel path
  ALSA: usb-audio: add implicit fb quirk for MOTU M Series
  crypto: essiv - fix AEAD capitalization and preposition use in help text
  scsi: iscsi: Don't destroy session if there are outstanding connections
  scsi: ufs-mediatek: add apply_dev_quirks variant operation
  scsi: ufs: pass device information to apply_dev_quirks
  f2fs: free sysfs kobject
  f2fs: set I_LINKABLE early to avoid wrong access by vfs
  ALSA: usb-audio: unlock on error in probe
  iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
  kbuild: remove *.tmp file when filechk fails
  usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue
  perf/imx_ddr: Fix cpu hotplug state cleanup
  drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add
  gpiolib: Set lockdep class for hierarchical irq domains
  dm thin: don't allow changing data device during thin-pool reload
  drm/nouveau/fault/gv100-: fix memory leak on module unload
  drm/nouveau/drm/ttm: Remove set but not used variable 'mem'
  drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
  drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw
  drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new()
  vme: bridges: reduce stack usage
  bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map
  ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare
  driver core: Print device when resources present in really_probe()
  driver core: platform: Prevent resouce overflow from causing infinite loops
  visorbus: fix uninitialized variable access
  misc: xilinx_sdfec: fix xsdfec_poll()'s return type
  tty: synclink_gt: Adjust indentation in several functions
  tty: synclinkmp: Adjust indentation in several functions
  raid6/test: fix a compilation warning
  ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m
  ALSA: usb-audio: Add boot quirk for MOTU M Series
  ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc
  arm64: dts: rockchip: add reg property to brcmf sub-nodes
  arm64: dts: rockchip: fix dwmmc clock name for px30
  clocksource: davinci: only enable clockevents once tim34 is initialized
  wan: ixp4xx_hss: fix compile-testing on 64-bit
  x86/nmi: Remove irq_work from the long duration NMI handler
  bnxt: Detach page from page pool before sending up the stack
  Input: edt-ft5x06 - work around first register access error
  rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls
  efi/x86: Don't panic or BUG() on non-critical error conditions
  soc/tegra: fuse: Correct straps' address for older Tegra124 device trees
  IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats
  IB/hfi1: Add software counter for ctxt0 seq drop
  staging: rtl8188: avoid excessive stack usage
  drm/mediatek: Add gamma property according to hardware capability
  udf: Fix free space reporting for metadata and virtual partitions
  usbip: Fix unsafe unaligned pointer usage
  ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco
  usb: dwc3: use proper initializers for property entries
  drm: remove the newline for CRC source name.
  RDMA/hns: Avoid printing address of mtt page
  mlx5: work around high stack usage with gcc
  drm/amdkfd: Fix permissions of hang_hws
  iommu/vt-d: Avoid sending invalid page response
  iommu/vt-d: Match CPU and IOMMU paging mode
  ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch
  ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one.
  vfio/spapr/nvlink2: Skip unpinning pages on error exit
  tools lib api fs: Fix gcc9 stringop-truncation compilation error
  net: phy: fixed_phy: fix use-after-free when checking link GPIO
  ALSA: sh: Fix compile warning wrt const
  ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too
  clk: uniphier: Add SCSSI clock gate for each channel
  clk: Use parent node pointer during registration if necessary
  ALSA: sh: Fix unused variable warnings
  clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock
  RDMA/rxe: Fix error type of mmap_offset
  fbdev: fix numbering of fbcon options
  ASoC: soc-topology: fix endianness issues
  reset: uniphier: Add SCSSI reset control for each channel
  pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
  drm/fbdev: Fallback to non tiled mode if all tiles not present
  PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency
  PM / devfreq: exynos-ppmu: Fix excessive stack usage
  x86/vdso: Provide missing include file
  crypto: chtls - Fixed memory leak
  net: phy: realtek: add logging for the RGMII TX delay configuration
  bpf: Print error message for bpftool cgroup show
  dmaengine: imx-sdma: Fix memory leak
  dmaengine: Store module owner in dma_device struct
  clk: actually call the clock init before any other callback of the clock
  iommu/iova: Silence warnings under memory pressure
  iommu/amd: Only support x2APIC with IVHD type 11h/40h
  iommu/amd: Check feature support bit before accessing MSI capability registers
  arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk
  scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration
  selinux: ensure we cleanup the internal AVC counters on error in avc_update()
  ARM: dts: r8a7779: Add device node for ARM global timer
  clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks
  drm/mediatek: handle events when enabling/disabling crtc
  crypto: inside-secure - add unspecified HAS_IOMEM dependency
  scsi: aic7xxx: Adjust indentation in ahc_find_syncrate
  scsi: ufs: Complete pending requests in host reset and restore path
  nfsd: Clone should commit src file metadata too
  ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
  clk: qcom: smd: Add missing bimc clock
  drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV
  orinoco: avoid assertion in case of NULL pointer
  rtlwifi: rtl_pci: Fix -Wcast-function-type
  iwlegacy: Fix -Wcast-function-type
  ipw2x00: Fix -Wcast-function-type
  b43legacy: Fix -Wcast-function-type
  PCI: Add DMA alias quirk for PLX PEX NTB
  PCI: Add nr_devfns parameter to pci_add_dma_alias()
  ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status
  netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy
  fore200e: Fix incorrect checks of NULL pointer dereference
  r8169: check that Realtek PHY driver module is loaded
  samples/bpf: Set -fno-stack-protector when building BPF programs
  reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
  media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros
  selftests/net: make so_txtime more robust to timer variance
  gpu/drm: ingenic: Avoid null pointer deference in plane atomic update
  Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace"
  PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers
  PCI: Add generic quirk for increasing D3hot delay
  media: cx23885: Add support for AVerMedia CE310B
  PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in
  bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO
  ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed
  ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3
  ARM: exynos_defconfig: Bring back explicitly wanted options
  clk: imx: Add correct failure handling for clk based helpers
  padata: validate cpumask without removed CPU during offline
  arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core
  selinux: ensure we cleanup the internal AVC counters on error in avc_insert()
  opp: Free static OPPs on errors while adding them
  arm: dts: allwinner: H3: Add PMU node
  arm64: dts: allwinner: H5: Add PMU node
  arm64: dts: allwinner: H6: Add PMU mode
  NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu().
  net/wan/fsl_ucc_hdlc: reject muram offsets above 64K
  regulator: rk808: Lower log level on optional GPIOs being not available
  ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682
  ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's
  modules: lockdep: Suppress suspicious RCU usage warning
  arm64: dts: rockchip: Fix NanoPC-T4 cooling maps
  drm/panel: simple: Add Logic PD Type 28 display support
  drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG
  ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start
  drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table
  bpf, sockhash: Synchronize_rcu before free'ing map
  drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode
  clk: qcom: rcg2: Don't crash if our parent can't be found; return an error
  clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq()
  kconfig: fix broken dependency in randconfig-generated .config
  block, bfq: do not plug I/O for bfq_queues with no proc refs
  drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store
  Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker
  KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups
  nbd: add a flush_workqueue in nbd_start_device
  tracing: Simplify assignment parsing for hist triggers
  drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero
  rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
  selftests: settings: tests can be in subsubdirs
  brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362
  rtw88: fix rate mask for 1SS chip
  ath10k: Correct the DMA direction for management tx buffers
  ext4, jbd2: ensure panic when aborting with zero errno
  ARM: 8952/1: Disable kmemleak on XIP kernels
  tracing: Fix very unlikely race of registering two stat tracers
  tracing: Fix tracing_stat return values in error handling paths
  powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov()
  s390/pci: Fix possible deadlock in recover_store()
  wan/hdlc_x25: fix skb handling
  dmaengine: fsl-qdma: fix duplicated argument to &&
  udf: Allow writing to 'Rewritable' partitions
  pwm: omap-dmtimer: Simplify error handling
  x86/sysfb: Fix check for bad VRAM size
  clk: ti: dra7: fix parent for gmac_clkctrl
  ext4: fix deadlock allocating bio_post_read_ctx from mempool
  jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal
  kselftest: Minimise dependency of get_size on C library interfaces
  drm/amd/display: Clear state after exiting fixed active VRR state
  clocksource/drivers/bcm2835_timer: Fix memory leak of timer
  usb: dwc2: Fix IN FIFO allocation
  usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe()
  drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst
  spi: fsl-lpspi: fix only one cs-gpio working
  drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov
  uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()
  raid6/test: fix a compilation error
  net: ethernet: ixp4xx: Standard module init
  sparc: Add .exit.data section.
  MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
  efi/x86: Map the entire EFI vendor string before copying it
  pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
  IB/core: Let IB core distribute cache update events
  kernel/module: Fix memleak in module_add_modinfo_attrs()
  media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run()
  char/random: silence a lockdep splat with printk()
  x86/fpu: Deactivate FPU state after failure during state load
  iommu/vt-d: Fix off-by-one in PASID allocation
  gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
  clk: meson: meson8b: make the CCF use the glitch-free mali mux
  powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
  clk: at91: sam9x60: fix programmable clock prescaler
  media: sun4i-csi: Fix [HV]sync polarity handling
  media: sun4i-csi: Fix data sampling polarity handling
  media: sun4i-csi: Deal with DRAM offset
  media: i2c: mt9v032: fix enum mbus codes and frame sizes
  media: ov5640: Fix check for PLL1 exceeding max allowed rate
  pxa168fb: Fix the function used to release some memory in an error handling path
  drm/msm/adreno: fix zap vs no-zap handling
  drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank()
  printk: fix exclusive_console replaying
  pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
  gianfar: Fix TX timestamping with a stacked DSA driver
  ALSA: ctl: allow TLV read operation for callback type of element in locked case
  ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT
  leds: pca963x: Fix open-drain initialization
  drm/amd/display: Map ODM memory correctly when doing ODM combine
  PCI: Fix pci_add_dma_alias() bitmask size
  brcmfmac: Fix use after free in brcmf_sdio_readframes()
  brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev()
  cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
  clk: meson: pll: Fix by 0 division in __pll_params_to_rate()
  media: meson: add missing allocation failure check on new_buf
  f2fs: call f2fs_balance_fs outside of locked page
  f2fs: preallocate DIO blocks when forcing buffered_io
  rcu: Fix data-race due to atomic_t copy-by-value
  rcu: Fix missed wakeup of exp_wq waiters
  rcu/nocb: Fix dump_tree hierarchy print always active
  drm/qxl: Complete exception handling in qxl_device_init()
  wil6210: fix break that is never reached because of zero'ing of a retry counter
  ath10k: Fix qmi init error handling
  drm/gma500: Fixup fbdev stolen size usage evaluation
  net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
  net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
  net: dsa: tag_qca: Make sure there is headroom for tag
  net/smc: fix leak of kernel memory to user space
  enic: prevent waking up stopped tx queues over watchdog reset
  core: Don't skip generic XDP program execution for cloned SKBs
  ANDROID: ufs, block: fix crypto power management and move into block layer
  ANDROID: rtc: class: support hctosys from modular RTC drivers
  ANDROID: update the abi after clk changes
  ANDROID: update abi for f2fs/fscrypt merge
  ANDROID: Kconfig.gki: Remove most of the built in qcom clks
  FROMLIST: f2fs: Handle casefolding with Encryption
  FROMLIST: fscrypt: Have filesystems handle their d_ops
  FROMLIST: ext4: Use generic casefolding support
  FROMLIST: f2fs: Use generic casefolding support
  FROMLIST: Add standard casefolding support
  FROMLIST: unicode: Add utf8_casefold_hash
  ANDROID: gki: Set CONFIG_SERIAL_SAMSUNG for early con.
  UPSTREAM: tty: serial: samsung_tty: remove SERIAL_SAMSUNG_DEBUG
  UPSTREAM: tty: serial: samsung_tty: build it for any platform
  UPSTREAM: tty: serial: samsung_tty: do not abuse the struct uart_port unused fields
  UPSTREAM: tty: serial: samsung_tty: fix blank line checkpatch warning
  UPSTREAM: tty: serial: samsung_tty: fix up minor comment formatting
  UPSTREAM: tty: serial: samsung_tty: use 'unsigned int' not 'unsigned'
  UPSTREAM: tty: serial: samsung_tty: use standard debugging macros
  UPSTREAM: tty: serial: samsung_tty: drop unneded dbg() calls
  UPSTREAM: tty: serial: samsung_tty: delete samsung.h
  UPSTREAM: tty: serial: samsung.h: remove reset_port callback from struct s3c24xx_uart_info
  UPSTREAM: tty: serial: samsung.h: fix up minor comment issues
  UPSTREAM: tty: serial: samsung_tty: fix build warning
  UPSTREAM: tty: serial: samsung: allow driver to be built by anyone
  UPSTREAM: tty: serial: samsung: remove variable 'ufstat' set but not used
  UPSTREAM: {tty: serial, nand: onenand}: samsung: rename to fix build warning
  UPSTREAM: random: ignore GRND_RANDOM in getentropy(2)
  UPSTREAM: random: add GRND_INSECURE to return best-effort non-cryptographic bytes
  UPSTREAM: linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
  UPSTREAM: linux/random.h: Use false with bool
  UPSTREAM: linux/random.h: Remove arch_has_random, arch_has_random_seed
  UPSTREAM: random: remove some dead code of poolinfo
  UPSTREAM: random: fix typo in add_timer_randomness()
  UPSTREAM: random: Add and use pr_fmt()
  UPSTREAM: random: convert to ENTROPY_BITS for better code readability
  UPSTREAM: random: remove unnecessary unlikely()
  UPSTREAM: random: remove kernel.random.read_wakeup_threshold
  UPSTREAM: random: delete code to pull data into pools
  UPSTREAM: random: remove the blocking pool
  UPSTREAM: random: make /dev/random be almost like /dev/urandom
  UPSTREAM: random: Add a urandom_read_nowait() for random APIs that don't warn
  UPSTREAM: random: Don't wake crng_init_wait when crng_init == 1
  UPSTREAM: char/random: silence a lockdep splat with printk()
  ANDROID: Incremental fs: Support xattrs
  BACKPORT: sched/fair: Remove wake_cap()
  UPSTREAM: sched/core: Remove for_each_lower_domain()
  UPSTREAM: sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems
  UPSTREAM: sched/fair: Add asymmetric CPU capacity wakeup scan
  ANDROID: ufs: add quirk to fix abnormal ocs fatal error
  FROMLIST: ufs: fix a bug on printing PRDT
  ANDROID: update abi for 5.4.21
  ANDROID: clang: update to 10.0.4
  Linux 5.4.21
  mmc: core: Rework wp-gpio handling
  gpio: add gpiod_toggle_active_low()
  KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging
  ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project()
  jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer
  jbd2: move the clearing of b_modified flag to the journal_unmap_buffer()
  Revert "drm/sun4i: drv: Allow framebuffer modifiers in mode config"
  NFSv4.1 make cachethis=no for writes
  perf stat: Don't report a null stalled cycles per insn metric
  KVM: x86: Mask off reserved bit from #DB exception payload
  arm64: dts: fast models: Fix FVP PCI interrupt-map property
  cifs: fix mount option display for sec=krb5i
  mac80211: fix quiet mode activation in action frames
  hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions.
  perf/x86/intel: Fix inaccurate period in context switch for auto-reload
  spmi: pmic-arb: Set lockdep class for hierarchical irq domains
  sched/uclamp: Reject negative values in cpu_uclamp_write()
  s390/time: Fix clk type in get_tod_clock
  RDMA/core: Fix protection fault in get_pkey_idx_qp_list
  RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq
  RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create
  RDMA/iw_cxgb4: initiate CLOSE when entering TERM
  RDMA/core: Fix invalid memory access in spec_filter_size
  IB/umad: Fix kernel crash while unloading ib_umad
  IB/rdmavt: Reset all QPs when the device is shut down
  IB/hfi1: Close window for pq and request coliding
  IB/hfi1: Acquire lock to release TID entries when user file is closed
  IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported
  drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write
  nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info
  bus: moxtet: fix potential stack buffer overflow
  drm/panfrost: Make sure the shrinker does not reclaim referenced BOs
  drm/vgem: Close use-after-free race in vgem_gem_create
  s390/uv: Fix handling of length extensions
  s390/pkey: fix missing length of protected key on return
  perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map
  KVM: nVMX: Use correct root level for nested EPT shadow page tables
  EDAC/mc: Fix use-after-free and memleaks during device removal
  EDAC/sysfs: Remove csrow objects on errors
  cifs: make sure we do not overflow the max EA buffer size
  xprtrdma: Fix DMA scatter-gather list mapping imbalance
  arm64: ssbs: Fix context-switch when SSBS is present on all CPUs
  gpio: xilinx: Fix bug where the wrong GPIO register is written to
  ARM: npcm: Bring back GPIOLIB support
  btrfs: log message when rw remount is attempted with unclean tree-log
  btrfs: print message when tree-log replay starts
  btrfs: ref-verify: fix memory leaks
  Btrfs: fix race between using extent maps and merging them
  ext4: improve explanation of a mount failure caused by a misconfigured kernel
  ext4: add cond_resched() to ext4_protect_reserved_inode
  ext4: fix checksum errors with indexed dirs
  ext4: fix support for inode sizes > 1024 bytes
  ext4: don't assume that mmp_nodename/bdevname have NUL
  ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000
  ALSA: usb-audio: sound: usb: usb true/false for bool return type
  ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system
  ACPICA: Introduce acpi_any_gpe_status_set()
  ACPI: PM: s2idle: Avoid possible race related to the EC GPE
  ACPI: EC: Fix flushing of pending work
  ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
  ALSA: hda/realtek - Fix silent output on MSI-GL73
  ALSA: hda/realtek - Add more codec supported Headset Button
  ALSA: usb-audio: Fix UAC2/3 effect unit parsing
  Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list
  Input: synaptics - enable SMBus on ThinkPad L470
  Input: synaptics - switch T470s to RMI4 by default
  ANDROID: ABI/Whitelist: initial unisoc whitelist
  ANDROID: Fix ABI representation after enabling CONFIG_NET_NS
  ANDROID: gki_defconfig: Enable CONFIG_NET_NS
  ANDROID: gki_defconfig: Enable XDP_SOCKETS
  ANDROID: gki_defconfig: Enable MAC80211_RC_MINSTREL
  ANDROID: virtio: virtio_input: pass _DIRECT only if the device advertises _DIRECT
  ANDROID: staging: ion: delete unused heap types and IDs
  ANDROID: gki_defconfig: disable system_contig ion heap.
  ANDROID: cf build: Use merge_configs
  ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head
  ANDROID: gki_defconfig: Disable SDCARD_FS
  Linux 5.4.20
  selinux: fall back to ref-walk if audit is required
  libertas: make lbs_ibss_join_existing() return error code on rates overflow
  libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held
  mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv()
  mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()
  dmaengine: axi-dmac: add a check for devm_regmap_init_mmio
  clk: meson: g12a: fix missing uart2 in regmap table
  mfd: max77650: Select REGMAP_IRQ in Kconfig
  regmap: fix writes to non incrementing registers
  pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B
  pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control
  selinux: fix regression introduced by move_mount(2) syscall
  selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link"
  bcache: avoid unnecessary btree nodes flushing in btree_flush_write()
  dt-bindings: iio: adc: ad7606: Fix wrong maxItems value
  media: i2c: adv748x: Fix unsafe macros
  drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe
  crypto: caam/qi2 - fix typo in algorithm's driver name
  crypto: atmel-sha - fix error handling when setting hmac key
  crypto: artpec6 - return correct error code for failed setkey()
  crypto: testmgr - don't try to decrypt uninitialized buffers
  mtd: sharpslpart: Fix unsigned comparison to zero
  mtd: onenand_base: Adjust indentation in onenand_read_ops_nolock
  arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly
  KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer
  KVM: arm64: pmu: Fix chained SW_INCR counters
  KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset
  KVM: arm: Make inject_abt32() inject an external abort instead
  KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests
  KVM: arm/arm64: Fix young bit from mmu notifier
  arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations
  arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly
  arm64: cpufeature: Fix the type of no FP/SIMD capability
  sched/uclamp: Fix a bug in propagating uclamp value in new cgroups
  ARM: 8949/1: mm: mark free_memmap as __init
  KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections
  ARM: at91: pm: use of_device_id array to find the proper shdwc node
  ARM: at91: pm: use SAM9X60 PMC's compatible
  iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA
  powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW
  powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning
  powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths
  powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX
  powerpc/ptdump: Fix W+X verification call in mark_rodata_ro()
  Revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests"
  soc: qcom: rpmhpd: Set 'active_only' for active only power domains
  tools/power/acpi: fix compilation error
  ARM: dts: at91: sama5d3: define clock rate range for tcb1
  ARM: dts: at91: sama5d3: fix maximum peripheral clock rates
  ARM: dts: meson8b: use the actual frequency for the GPU's 364MHz OPP
  ARM: dts: meson8: use the actual frequency for the GPU's 182.1MHz OPP
  arm64: dts: marvell: clearfog-gt-8k: fix switch cpu port node
  arm64: dts: renesas: r8a77990: ebisu: Remove clkout-lr-synchronous from sound
  ARM: dts: am43xx: add support for clkout1 clock
  ARM: dts: at91: Reenable UART TX pull-ups
  arm64: dts: uDPU: fix broken ethernet
  arm64: dts: qcom: msm8998: Fix tcsr syscon size
  platform/x86: intel_mid_powerbtn: Take a copy of ddata
  ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
  watchdog: qcom: Use platform_get_irq_optional() for bark irq
  rtc: cmos: Stop using shared IRQ
  rtc: hym8563: Return -EINVAL if the time is known to be invalid
  x86/boot: Handle malformed SRAT tables during early ACPI parsing
  NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals
  NFSv4: try lease recovery on NFS4ERR_EXPIRED
  NFSv4: pnfs_roc() must use cred_fscmp() to compare creds
  NFS: Fix fix of show_nfs_errors
  NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes()
  NFS: Revalidate the file size on a fatal write error
  nfs: NFS_SWAP should depend on SWAP
  bpf, sockmap: Check update requirements after locking
  bpf: Improve bucket_log calculation logic
  selftests/bpf: Test freeing sockmap/sockhash with a socket in it
  bpf, sockhash: Synchronize_rcu before free'ing map
  bpf, sockmap: Don't sleep while holding RCU lock on tear-down
  bpftool: Don't crash on missing xlated program instructions
  iwlwifi: mvm: avoid use after free for pmsr request
  PCI/AER: Initialize aer_fifo
  PCI: Don't disable bridge BARs when assigning bus resources
  PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30
  PCI/switchtec: Fix vep_vector_number ioread width
  PCI/switchtec: Use dma_set_mask_and_coherent()
  ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe
  PCI/IOV: Fix memory leak in pci_iov_add_virtfn()
  scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails
  RDMA/umem: Fix ib_umem_find_best_pgsz()
  RDMA/cma: Fix unbalanced cm_id reference count during address resolve
  RDMA/uverbs: Verify MR access flags
  RDMA/core: Fix locking in ib_uverbs_event_read
  RDMA/i40iw: fix a potential NULL pointer dereference
  RDMA/netlink: Do not always generate an ACK for some netlink operations
  IB/mlx4: Fix leak in id_map_find_del
  IB/srp: Never use immediate data if it is disabled by a user
  IB/mlx4: Fix memory leak in add_gid error flow
  hv_sock: Remove the accept port restriction
  ASoC: pcm: update FE/BE trigger order based on the command
  ANDROID: gki_defconfig: Add CONFIG_UNICODE
  ANDROID: added memory initialization tests to cuttlefish config
  ANDROID: gki_defconfig: enable CONFIG_RUNTIME_TESTING_MENU
  fs-verity: use u64_to_user_ptr()
  fs-verity: use mempool for hash requests
  fs-verity: implement readahead of Merkle tree pages
  fs-verity: implement readahead for FS_IOC_ENABLE_VERITY
  fscrypt: improve format of no-key names
  ubifs: allow both hash and disk name to be provided in no-key names
  ubifs: don't trigger assertion on invalid no-key filename
  fscrypt: clarify what is meant by a per-file key
  fscrypt: derive dirhash key for casefolded directories
  fscrypt: don't allow v1 policies with casefolding
  fscrypt: add "fscrypt_" prefix to fname_encrypt()
  fscrypt: don't print name of busy file when removing key
  ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()
  fscrypt: document gfp_flags for bounce page allocation
  fscrypt: optimize fscrypt_zeroout_range()
  fscrypt: remove redundant bi_status check
  fscrypt: Allow modular crypto algorithms
  FROMLIST: rename missed uaccess .fixup section
  ANDROID: gki_defconfig: enable heap and stack initialization.
  ANDROID: ABI/Whitelist: update for db845c
  ANDROID: ABI/Whitelist: update for Cuttlefish
  ANDROID: update ABI representation and GKI whitelist
  ANDROID: f2fs: fix missing blk-crypto changes
  fscrypt: include <linux/ioctl.h> in UAPI header
  fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info()
  fscrypt: remove fscrypt_is_direct_key_policy()
  fscrypt: move fscrypt_valid_enc_modes() to policy.c
  fscrypt: check for appropriate use of DIRECT_KEY flag earlier
  fscrypt: split up fscrypt_supported_policy() by policy version
  fscrypt: introduce fscrypt_needs_contents_encryption()
  fscrypt: move fscrypt_d_revalidate() to fname.c
  fscrypt: constify inode parameter to filename encryption functions
  fscrypt: constify struct fscrypt_hkdf parameter to fscrypt_hkdf_expand()
  fscrypt: verify that the crypto_skcipher has the correct ivsize
  fscrypt: use crypto_skcipher_driver_name()
  fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY
  UPSTREAM: dynamic_debug: allow to work if debugfs is disabled
  UPSTREAM: serial: sprd: Add polling IO support
  UPSTREAM: dmaengine: sprd: Add wrap address support for link-list mode
  UPSTREAM: pinctrl: sprd: Add CM4 sleep mode support
  UPSTREAM: pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration support
  UPSTREAM: spi: sprd: adi: Set BIT_WDG_NEW bit when rebooting
  UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support
  UPSTREAM: dt-bindings: nvmem: Add Spreadtrum eFuse controller documentation
  UPSTREAM: scsi: ufs-mediatek: enable low-power mode for hibern8 state
  BACKPORT: scsi: ufs: export some functions for vendor usage
  UPSTREAM: scsi: ufs-mediatek: add dbg_register_dump implementation
  UPSTREAM: scsi: ufs-mediatek: add apply_dev_quirks variant operation
  UPSTREAM: scsi: ufs: pass device information to apply_dev_quirks
  UPSTREAM: scsi: ufs: add device reset history for vendor implementations
  UPSTREAM: scsi: ufs: fix empty check of error history
  UPSTREAM: scsi: ufs-mediatek: configure and enable clk-gating
  UPSTREAM: scsi: ufs-mediatek: configure customized auto-hibern8 timer
  BACKPORT: scsi: ufs: export ufshcd_auto_hibern8_update for vendor usage
  UPSTREAM: scsi: ufs-mediatek: introduce reference clock control
  UPSTREAM: scsi: ufs-mediatek: add device reset implementation
  UPSTREAM: scsi: soc: mediatek: add header for SiP service interface
  BACKPORT: scsi: ufs: use ufshcd_vops_dbg_register_dump for vendor specific dumps
  BACKPORT: scsi: ufs: unify scsi_block_requests usage
  UPSTREAM: scsi: ufs: disable interrupt during clock-gating
  UPSTREAM: scsi: ufs: disable irq before disabling clocks
  UPSTREAM: scsi: ufs-mediatek: enable auto suspend capability
  ANDROID: update ABI for 5.4.19
  ANDROID: fix up dummy-cpufreq.c due to api changes
  Linux 5.4.19
  powerpc/kuap: Fix set direction in allow/prevent_user_access()
  regulator fix for "regulator: core: Add regulator_is_equal() helper"
  rxrpc: Fix service call disconnection
  perf/core: Fix mlock accounting in perf_mmap()
  clocksource: Prevent double add_timer_on() for watchdog_timer
  x86/apic/msi: Plug non-maskable MSI affinity race
  cifs: fail i/o on soft mounts if sessionsetup errors out
  KVM: Play nice with read-only memslots when querying host page size
  KVM: Use vcpu-specific gva->hva translation when querying host page size
  KVM: nVMX: vmread should not set rflags to specify success in case of #PF
  KVM: x86: fix overlap between SPTE_MMIO_MASK and generation
  KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM
  KVM: x86: use CPUID to locate host page table reserved bits
  KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM
  drm/dp_mst: Remove VCPI while disabling topology mgr
  btrfs: free block groups after free'ing fs trees
  btrfs: use bool argument in free_root_pointers()
  x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode
  mfd: bd70528: Fix hour register mask
  mfd: rn5t618: Mark ADC control register volatile
  mfd: da9062: Fix watchdog compatible string
  ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug
  net/mlx5: Deprecate usage of generic TLS HW capability bit
  net/mlx5: Fix deadlock in fs_core
  drop_monitor: Do not cancel uninitialized work item
  qed: Fix timestamping issue for L2 unicast ptp packets.
  ipv6/addrconf: fix potential NULL deref in inet6_set_link_af()
  taprio: Fix dropping packets when using taprio + ETF offloading
  taprio: Use taprio_reset_tc() to reset Traffic Classes configuration
  taprio: Add missing policy validation for flags
  taprio: Fix still allowing changing the flags during runtime
  taprio: Fix enabling offload with wrong number of traffic classes
  net: macb: Limit maximum GEM TX length in TSO
  net: macb: Remove unnecessary alignment check for TSO
  net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx
  net/mlx5: IPsec, Fix esp modify function attribute
  net: systemport: Avoid RBUF stuck in Wake-on-LAN mode
  net: stmmac: fix a possible endless loop
  net_sched: fix a resource leak in tcindex_set_parms()
  net: mvneta: move rx_dropped and rx_errors in per-cpu stats
  net: dsa: microchip: enable module autoprobe
  net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port
  net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan()
  dpaa_eth: support all modes with rate adapting PHYs
  devlink: report 0 after hitting end in region read
  bonding/alb: properly access headers in bond_alb_xmit()
  ASoC: sgtl5000: Fix VDDA and VDDIO comparison
  regulator: core: Add regulator_is_equal() helper
  ubifs: Fix memory leak from c->sup_node
  ubi: Fix an error pointer dereference in error handling code
  ubi: fastmap: Fix inverted logic in seen selfcheck
  virtio_balloon: Fix memory leaks on errors in virtballoon_probe()
  virtio-balloon: Fix memory leak when unloading while hinting is in progress
  nfsd: Return the correct number of bytes written to the file
  nfsd: fix jiffies/time_t mixup in LRU list
  nfsd: fix delay timer on 32-bit architectures
  IB/core: Fix ODP get user pages flow
  IB/mlx5: Fix outstanding_pi index for GSI qps
  net: tulip: Adjust indentation in {dmfe, uli526x}_init_module
  net: smc911x: Adjust indentation in smc911x_phy_configure
  ppp: Adjust indentation into ppp_async_input
  NFC: pn544: Adjust indentation in pn544_hci_check_presence
  drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable
  powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize
  ext2: Adjust indentation in ext2_fill_super
  phy: qualcomm: Adjust indentation in read_poll_timeout
  mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two
  scsi: ufs: Recheck bkops level if bkops is disabled
  scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free
  scsi: csiostor: Adjust indentation in csio_device_reset
  scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type
  ASoC: meson: axg-fifo: fix fifo threshold setup
  percpu: Separate decrypted varaibles anytime encryption can be enabled
  broken ping to ipv6 linklocal addresses on debian buster
  fix up iter on short count in fuse_direct_io()
  virtio-pci: check name when counting MSI-X vectors
  virtio-balloon: initialize all vq callbacks
  drm/amd/dm/mst: Ignore payload update failures
  clk: tegra: Mark fuse clock as critical
  mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush
  arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode
  mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section
  ocfs2: fix oops when writing cloned file
  KVM: s390: do not clobber registers during guest reset/store status
  KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest"
  KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation
  KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu()
  KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails
  KVM: x86: Don't let userspace set host-reserved cr4 bits
  KVM: VMX: Add non-canonical check on writes to RTIT address MSRs
  x86/KVM: Clean up host's steal time structure
  x86/kvm: Cache gfn to pfn translation
  x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed
  x86/kvm: Introduce kvm_(un)map_gfn()
  x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit
  kvm/svm: PKU not currently supported
  KVM: PPC: Book3S PR: Free shared page if mmu initialization fails
  KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails
  KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform
  KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks
  KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks
  KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c
  KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks
  KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks
  KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks
  KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks
  KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks
  KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks
  KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks
  KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks
  KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks
  aio: prevent potential eventfd recursion on poll
  eventfd: track eventfd_signal() recursion depth
  bcache: add readahead cache policy options via sysfs interface
  watchdog: fix UAF in reboot notifier handling in watchdog core code
  xen/balloon: Support xend-based toolstack take two
  tools/kvm_stat: Fix kvm_exit filter name
  media: rc: ensure lirc is initialized before registering input device
  media: iguanair: fix endpoint sanity check
  drm/rect: Avoid division by zero
  drm: atmel-hlcdc: prefer a lower pixel-clock than requested
  drm: atmel-hlcdc: enable clock before configuring timing engine
  drm: atmel-hlcdc: use double rate for pixel clock only if supported
  gfs2: fix O_SYNC write handling
  gfs2: move setting current->backing_dev_info
  gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0
  sunrpc: expiry_time should be seconds not timeval
  mwifiex: fix unbalanced locking in mwifiex_process_country_ie()
  iwlwifi: don't throw error when trying to remove IGTK
  ARM: tegra: Enable PLLP bypass during Tegra124 LP1
  btrfs: Correctly handle empty trees in find_first_clear_extent_bit
  btrfs: flush write bio if we loop in extent_write_cache_pages
  Btrfs: fix race between adding and putting tree mod seq elements and nodes
  btrfs: drop log root for dropped roots
  btrfs: set trans->drity in btrfs_commit_transaction
  Btrfs: fix infinite loop during fsync after rename operations
  Btrfs: make deduplication with range including the last block work
  Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES
  ext4: fix race conditions in ->d_compare() and ->d_hash()
  ext4: fix deadlock allocating crypto bounce page from mempool
  jbd2_seq_info_next should increase position index
  nfsd: fix filecache lookup
  NFS: Directory page cache pages need to be locked when read
  NFS: Fix memory leaks and corruption in readdir
  scsi: qla2xxx: Fix unbound NVME response length
  powerpc/futex: Fix incorrect user access blocking
  crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill
  crypto: api - Fix race condition in crypto_spawn_alg
  crypto: atmel-aes - Fix counter overflow in CTR mode
  crypto: pcrypt - Do not clear MAY_SLEEP flag in original request
  crypto: arm64/ghash-neon - bump priority to 150
  crypto: ccp - set max RSA modulus size for v3 platform devices as well
  crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists
  crypto: api - fix unexpectedly getting generic implementation
  selftests: bpf: Ignore FIN packets for reuseport tests
  selftests: bpf: Use a temporary file in test_sockmap
  selftests/bpf: Skip perf hw events test if the setup disabled it
  selftests/bpf: Fix test_attach_probe
  samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach
  samples/bpf: Don't try to remove user's homedir on clean
  tc-testing: fix eBPF tests failure on linux fresh clones
  libbpf: Fix realloc usage in bpf_core_find_cands
  bpf, devmap: Pass lockdep expression to RCU lists
  selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs
  riscv, bpf: Fix broken BPF tail calls
  btrfs: Handle another split brain scenario with metadata uuid feature
  btrfs: fix improper setting of scanned for range cyclic write cache pages
  crypto: pcrypt - Avoid deadlock by using per-instance padata queues
  ftrace: Protect ftrace_graph_hash with ftrace_sync
  ftrace: Add comment to why rcu_dereference_sched() is open coded
  tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu
  tracing: Annotate ftrace_graph_hash pointer with __rcu
  ASoC: SOF: core: release resources on errors in probe_continue
  ASoC: SOF: Introduce state machine for FW boot
  scsi: qla2xxx: Fix stuck login session using prli_pend_timer
  dm: fix potential for q->make_request_fn NULL pointer
  dm thin metadata: use pool locking at end of dm_pool_metadata_close
  dm crypt: fix benbi IV constructor crash if used in authenticated mode
  dm crypt: fix GFP flags passed to skcipher_request_alloc()
  dm writecache: fix incorrect flush sequence when doing SSD mode commit
  dm space map common: fix to ensure new block isn't already in use
  dm zoned: support zone sizes smaller than 128MiB
  ARM: dma-api: fix max_pfn off-by-one error in __dma_supported()
  of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc
  cpufreq: Avoid creating excessively large stack frames
  PM: core: Fix handling of devices deleted during system-wide resume
  f2fs: fix race conditions in ->d_compare() and ->d_hash()
  f2fs: fix dcache lookup of !casefolded directories
  f2fs: code cleanup for f2fs_statfs_project()
  f2fs: fix miscounted block limit in f2fs_statfs_project()
  f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()
  ovl: fix lseek overflow on 32bit
  ovl: fix wrong WARN_ON() in ovl_cache_update_ino()
  power: supply: ltc2941-battery-gauge: fix use-after-free
  power: supply: axp20x_ac_power: Fix reporting online status
  cpupower: Revert library ABI changes from commit ae2917093f
  scsi: qla2xxx: Fix mtcp dump collection failure
  scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state
  erofs: fix out-of-bound read for shifted uncompressed block
  scripts/find-unused-docs: Fix massive false positives
  fs: allow deduplication of eof block into the end of the destination file
  padata: Remove broken queue flushing
  crypto: ccree - fix PM race condition
  crypto: ccree - fix FDE descriptor sequence
  crypto: ccree - fix pm wrongful error reporting
  crypto: ccree - fix AEAD decrypt auth fail
  crypto: ccree - fix backlog memory leak
  crypto: api - Check spawn->alg under lock in crypto_drop_spawn
  nvmem: core: fix memory abort in cleanup path
  mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile
  hv_balloon: Balloon up according to request page number
  ASoC: SOF: core: free trace on errors
  mmc: sdhci-of-at91: fix memleak on clk_get failure
  ubifs: Fix deadlock in concurrent bulk-read and writepage
  ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag
  ubifs: Fix wrong memory allocation
  ubifs: don't trigger assertion on invalid no-key filename
  fscrypt: don't print name of busy file when removing key
  alarmtimer: Unregister wakeup source when module get fails
  ACPI / battery: Deal better with neither design nor full capacity not being reported
  ACPI / battery: Use design-cap for capacity calculations if full-cap is not available
  ACPI / battery: Deal with design or full capacity being reported as -1
  ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards
  mmc: spi: Toggle SPI polarity, do not hardcode it
  PCI: keystone: Fix error handling when "num-viewport" DT property is not populated
  PCI: keystone: Fix link training retries initiation
  PCI: keystone: Fix outbound region mapping
  PCI: tegra: Fix return value check of pm_runtime_get_sync()
  tracing: Fix now invalid var_ref_vals assumption in trace action
  powerpc/32s: Fix CPU wake-up from sleep mode
  powerpc/32s: Fix bad_kuap_fault()
  powerpc/pseries: Advance pfn if section is not present in lmb_is_removable()
  powerpc/xmon: don't access ASDR in VMs
  powerpc/ptdump: Fix W+X verification
  powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case
  s390/mm: fix dynamic pagetable upgrade for hugetlbfs
  MIPS: boot: fix typo in 'vmlinux.lzma.its' target
  MIPS: fix indentation of the 'RELOCS' message
  MIPS: syscalls: fix indentation of the 'SYSNR' message
  KVM: arm64: Only sign-extend MMIO up to register width
  KVM: arm/arm64: Correct AArch32 SPSR on exception entry
  KVM: arm/arm64: Correct CPSR on exception entry
  KVM: arm64: Correct PSTATE on exception entry
  arm64: acpi: fix DAIF manipulation with pNMI
  ALSA: hda: Add JasperLake PCI ID and codec vid
  ALSA: hda: Add Clevo W65_67SB the power_save blacklist
  ALSA: hda: Apply aligned MMIO access only conditionally
  platform/x86: intel_scu_ipc: Fix interrupt support
  x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR
  irqdomain: Fix a memory leak in irq_domain_push_irq()
  lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
  media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments
  media: v4l2-core: compat: ignore native command codes
  media/v4l2-core: set pages dirty upon releasing DMA buffers
  mm: move_pages: report the number of non-attempted pages
  mm: thp: don't need care deferred split queue in memcg charge move path
  mm/memory_hotplug: fix remove_memory() lockdep splat
  utimes: Clamp the timestamps in notify_change()
  mmc: sdhci-pci: Make function amd_sdhci_reset static
  mm/sparse.c: reset section's mem_map when fully deactivated
  memcg: fix a crash in wb_workfn when a device disappears
  ALSA: dummy: Fix PCM format loop in proc output
  ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk
  ALSA: usb-audio: Fix endianess in descriptor validation
  usb: gadget: f_ecm: Use atomic_t to track in-flight request
  usb: gadget: f_ncm: Use atomic_t to track in-flight request
  usb: gadget: legacy: set max_speed to super-speed
  usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer
  objtool: Silence build output
  usb: typec: tcpci: mask event interrupts when remove driver
  usb: dwc3: gadget: Delay starting transfer
  usb: dwc3: gadget: Check END_TRANSFER completion
  brcmfmac: Fix memory leak in brcmf_usbdev_qinit
  Bluetooth: btusb: Disable runtime suspend on Realtek devices
  Bluetooth: btusb: fix memory leak on fw
  nvmet: Fix controller use after free
  nvmet: Fix error print message at nvmet_install_queue function
  rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special()
  srcu: Apply *_ONCE() to ->srcu_last_gp_end
  rcu: Avoid data-race in rcu_gp_fqs_check_wake()
  rcu: Use *_ONCE() to protect lockless ->expmask accesses
  tracing: Fix sched switch start/stop refcount racy updates
  tracing/kprobes: Have uname use __get_str() in print_fmt
  ipc/msg.c: consolidate all xxxctl_down() functions
  netfilter: ipset: fix suspicious RCU usage in find_set_and_id
  mfd: dln2: More sanity checking for endpoints
  media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors
  bnxt_en: Fix logic that disables Bus Master during firmware reset.
  netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init()
  MAINTAINERS: correct entries for ISDN/mISDN section
  ionic: fix rxq comp packet type mask
  tcp: clear tp->segs_{in|out} in tcp_disconnect()
  tcp: clear tp->data_segs{in|out} in tcp_disconnect()
  tcp: clear tp->delivered in tcp_disconnect()
  tcp: clear tp->total_retrans in tcp_disconnect()
  rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect
  rxrpc: Fix missing active use pinning of rxrpc_local object
  rxrpc: Fix insufficient receive notification generation
  rxrpc: Fix use-after-free in rxrpc_put_local()
  bnxt_en: Fix TC queue mapping.
  net: stmmac: Delete txtimer in suspend()
  net_sched: fix an OOB access in cls_tcindex
  net: hsr: fix possible NULL deref in hsr_handle_frame()
  l2tp: Allow duplicate session creation with UDP
  gtp: use __GFP_NOWARN to avoid memalloc warning
  cls_rsvp: fix rsvp_policy
  bnxt_en: Move devlink_register before registering netdev
  sparc32: fix struct ipc64_perm type definition
  ANDROID: Revert "ANDROID: gki_defconfig: removed CONFIG_PM_WAKELOCKS"
  ANDROID: dm: prevent default-key from being enabled without needed hooks
  UPSTREAM: crypto: x86 - Regularize glue function prototypes
  ANDROID: gki: x86: Enable PCI_MSI, WATCHDOG, HPET
  ANDROID: drm: Add support for DP 1.4 Compliance edid corruption test
  ANDROID: drm: Parse Colorimetry data block from EDID
  ANDROID: drm: fix HDR static metadata type field numbering
  ANDROID: Incremental fs: Make files writeable
  UPSTREAM: mfd: syscon: Add arguments support for syscon reference
  ANDROID: Incremental fs: Fix crash on failed lookup
  UPSTREAM: usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer
  ANDROID: support GKI image that contains an uncompressed Kernel Image.
  ANDROID: update ABI for 5.4.18
  Linux 5.4.18
  tracing/uprobe: Fix to make trace_uprobe_filter alignment safe
  Revert "rsi: fix potential null dereference in rsi_probe()"
  ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order
  mm/migrate.c: also overwrite error when it is bigger than zero
  perf report: Fix no libunwind compiled warning break s390 issue
  dm thin: fix use-after-free in metadata_pre_commit_callback
  flow_dissector: Fix to use new variables for port ranges in bpf hook
  cpuidle: teo: Avoid using "early hits" incorrectly
  btrfs: do not zero f_bavail if we have available space
  net: Fix skb->csum update in inet_proto_csum_replace16().
  netfilter: nf_tables_offload: fix check the chain offload flag
  netfilter: conntrack: sctp: use distinct states for new SCTP connections
  l2t_seq_next should increase position index
  seq_tab_next() should increase position index
  net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G
  net/fsl: treat fsl,erratum-a011043
  powerpc/fsl/dts: add fsl,erratum-a011043
  qlcnic: Fix CPU soft lockup while collecting firmware dump
  ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1
  r8152: disable DelayPhyPwrChg
  r8152: avoid the MCU to clear the lanwake
  r8152: disable test IO for RTL8153B
  r8152: Disable PLA MCU clock speed down
  r8152: disable U2P3 for RTL8153B
  r8152: get default setting of WOL before initializing
  tee: optee: Fix compilation issue with nommu
  led: max77650: add of_match table
  ARM: 8955/1: virt: Relax arch timer version check during early boot
  scsi: fnic: do not queue commands during fwreset
  Input: max77650-onkey - add of_match table
  xfrm: interface: do not confirm neighbor when do pmtu update
  xfrm interface: fix packet tx through bpf_redirect()
  vti[6]: fix packet tx through bpf_redirect()
  ARM: dts: am335x-boneblack-common: fix memory size
  Input: evdev - convert kzalloc()/vzalloc() to kvzalloc()
  iwlwifi: dbg: force stop the debug monitor HW
  iwlwifi: Don't ignore the cap field upon mcc update
  iwlwifi: pcie: allocate smaller dev_cmd for TX headers
  XArray: Fix xas_pause at ULONG_MAX
  riscv: delete temporary files
  perf/x86/intel/uncore: Remove PCIe3 unit for SNR
  perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family
  wireless: wext: avoid gcc -O3 warning
  mac80211: Fix TKIP replay protection immediately after key setup
  cfg80211: Fix radar event during another phy CAC
  wireless: fix enabling channel 12 for custom regulatory domain
  lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP
  parisc: Use proper printk format for resource_size_t
  qmi_wwan: Add support for Quectel RM500Q
  ASoC: sti: fix possible sleep-in-atomic
  ASoC: hdac_hda: Fix error in driver removal after failed probe
  ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers
  platform/x86: intel_pmc_core: update Comet Lake platform driver
  platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits
  iavf: remove current MAC address filter on VF reset
  igb: Fix SGMII SFP module discovery for 100FX/LX.
  ixgbe: Fix calculation of queue with VFs and flow director on interface flap
  ixgbevf: Remove limit of 10 entries for unicast filter list
  i40e: Fix virtchnl_queue_select bitmap validation
  s390/zcrypt: move ap device reset from bus to driver code
  ASoC: rt5640: Fix NULL dereference on module unload
  clk: mmp2: Fix the order of timer mux parents
  mac80211: mesh: restrict airtime metric to peered established plinks
  clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order
  clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock
  rseq: Unregister rseq for clone CLONE_VM
  tools lib traceevent: Fix memory leakage in filter_event
  soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot
  ARM: dts: beagle-x15-common: Model 5V0 regulator
  ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes
  ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity
  arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt
  clk: sunxi-ng: v3s: Fix incorrect number of hw_clks.
  cgroup: Prevent double killing of css when enabling threaded cgroup
  Bluetooth: Fix race condition in hci_release_sock()
  ttyprintk: fix a potential deadlock in interrupt context issue
  tomoyo: Use atomic_t for statistics counter
  media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0
  media: gspca: zero usb_buf
  media: vp7045: do not read uninitialized values if usb transfer fails
  media: af9005: uninitialized variable printked
  media: digitv: don't continue if remote control state can't be read
  reiserfs: Fix memory leak of journal device string
  mm/mempolicy.c: fix out of bounds write in mpol_parse_str()
  arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean'
  tools lib: Fix builds when glibc contains strlcpy()
  PM / devfreq: Add new name attribute for sysfs
  perf c2c: Fix return type for histogram sorting comparision functions
  gfs2: Another gfs2_find_jhead fix
  e1000e: Revert "e1000e: Make watchdog use delayed work"
  e1000e: Drop unnecessary __E1000_DOWN bit twiddling
  x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup
  x86/resctrl: Fix use-after-free when deleting resource groups
  x86/resctrl: Fix a deadlock due to inaccurate reference
  cifs: fix soft mounts hanging in the reconnect code
  vfs: fix do_last() regression
  ANDROID: Incremental fs: Remove C++-style comments
  ANDROID: gki_defconfig: Set CONFIG_ANDROID_BINDERFS=y
  FROMLIST: selinux: Fix typo in filesystem name
  UPSTREAM: drm: Add DisplayPort colorspace property creation function
  UPSTREAM: drm: Rename HDMI colorspace property creation function
  ANDROID: db845c: Update db845c_gki.fragment to add support for bluetooth modules
  UPSTREAM: sched/rt: Make RT capacity-aware
  UPSTREAM: sched/fair: Make EAS wakeup placement consider uclamp restrictions
  UPSTREAM: sched/fair: Make task_fits_capacity() consider uclamp restrictions
  UPSTREAM: sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with()
  UPSTREAM: sched/uclamp: Make uclamp util helpers use and return UL values
  BACKPORT: sched/uclamp: Remove uclamp_util()
  Revert "ANDROID: sched/fair: EAS: Add uclamp support to find_energy_efficient_cpu()"
  Linux 5.4.17
  power/supply: ingenic-battery: Don't change scale if there's only one
  Revert "um: Enable CONFIG_CONSTRUCTORS"
  KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE
  crypto: pcrypt - Fix user-after-free on module unload
  crypto: caam - do not reset pointer size from MCFGR register
  crypto: vmx - reject xts inputs that are too short
  crypto: af_alg - Use bh_lock_sock in sk_destruct
  rsi: fix non-atomic allocation in completion handler
  rsi: fix memory leak on failed URB submission
  rsi: fix use-after-free on probe errors
  rsi: fix use-after-free on failed probe and unbind
  bus: ti-sysc: Fix missing force mstandby quirk handling
  Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk
  Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks
  ALSA: hda/realtek - Move some alc236 pintbls to fallback table
  usb-storage: Disable UAS on JMicron SATA enclosure
  bus: ti-sysc: Add module enable quirk for audio AESS
  mmc: sdhci-pci: Add support for Intel JSL
  mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906
  ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition
  ARM: config: aspeed-g5: Enable 8250_DW quirks
  mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs
  perf/imx_ddr: Add enhanced AXI ID filter support
  iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping
  iommu/amd: Support multiple PCI DMA aliases in device table
  spi: pxa2xx: Add support for Intel Comet Lake-H
  bus: ti-sysc: Use swsup quirks also for am335x musb
  bus: ti-sysc: Handle mstandby quirk and use it for musb
  media: dvbsky: add support for eyeTV Geniatech T2 lite
  PCI: Add DMA alias quirk for Intel VCA NTB
  platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx
  staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'
  libbpf: Fix BTF-defined map's __type macro handling of arrays
  drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2)
  ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0
  extcon-intel-cht-wc: Don't reset USB data connection at probe
  HID: steam: Fix input device disappearing
  atm: eni: fix uninitialized variable warning
  stmmac: debugfs entry name is not be changed when udev rename device name.
  drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded
  iommu/dma: fix variable 'cookie' set but not used
  gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP
  net: wan: sdla: Fix cast from pointer to integer of different size
  drivers/net/b44: Change to non-atomic bit operations on pwol_mask
  net: Google gve: Remove dma_wmb() before ringing doorbell
  spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
  can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access
  usb: musb: jz4740: Silence error if code is -EPROBE_DEFER
  watchdog: orion: fix platform_get_irq() complaints
  watchdog: rn5t618_wdt: fix module aliases
  watchdog: max77620_wdt: fix potential build errors
  HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID
  phy: cpcap-usb: Prevent USB line glitches from waking up modem
  ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime()
  ASoC: fsl_audmix: add missed pm_runtime_disable
  phy: qcom-qmp: Increase PHY ready timeout
  drivers/hid/hid-multitouch.c: fix a possible null pointer access.
  ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free
  ASoC: SOF: fix fault at driver unload after failed probe
  HID: wacom: Recognize new MobileStudio Pro PID
  HID: intel-ish-hid: ipc: add CMP device id
  HID: Add quirk for incorrect input length on Lenovo Y720
  HID: asus: Ignore Asus vendor-page usage-code 0xff events
  HID: ite: Add USB id match for Acer SW5-012 keyboard dock
  HID: Add quirk for Xin-Mo Dual Controller
  arc: eznps: fix allmodconfig kconfig warning
  HID: multitouch: Add LG MELF0410 I2C touchscreen support
  rxrpc: Fix use-after-free in rxrpc_receive_data()
  net: include struct nhmsg size in nh nlmsg size
  mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()'
  udp: segment looped gso packets correctly
  net: socionext: fix xdp_result initialization in netsec_process_rx
  net: socionext: fix possible user-after-free in netsec_process_rx
  net_sched: walk through all child classes in tc_bind_tclass()
  net_sched: fix ops->bind_class() implementations
  net_sched: ematch: reject invalid TCF_EM_SIMPLE
  zd1211rw: fix storage endpoint lookup
  rtl8xxxu: fix interface sanity check
  brcmfmac: fix interface sanity check
  ath9k: fix storage endpoint lookup
  cifs: Fix memory allocation in __smb2_handle_cancelled_cmd()
  cifs: set correct max-buffer-size for smb2_ioctl_init()
  CIFS: Fix task struct use-after-free on reconnect
  crypto: chelsio - fix writing tfm flags to wrong place
  driver core: Fix test_async_driver_probe if NUMA is disabled
  iio: st_gyro: Correct data for LSM9DS0 gyro
  iio: adc: stm32-dfsdm: fix single conversion
  mei: me: add comet point (lake) H device ids
  mei: hdcp: bind only with i915 on the same PCH
  binder: fix log spam for existing debugfs file creation.
  component: do not dereference opaque pointer in debugfs
  debugfs: Return -EPERM when locked down
  serial: imx: fix a race condition in receive path
  serial: 8250_bcm2835aux: Fix line mismatch on driver unbind
  staging: vt6656: Fix false Tx excessive retries reporting.
  staging: vt6656: use NULLFUCTION stack on mac80211
  staging: vt6656: correct packet types for CTS protect, mode.
  staging: wlan-ng: ensure error return is actually returned
  staging: most: net: fix buffer overflow
  usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW
  usb: typec: wcove: fix "op-sink-microwatt" default that was in mW
  usb: dwc3: turn off VBUS when leaving host mode
  USB: serial: ir-usb: fix IrLAP framing
  USB: serial: ir-usb: fix link-speed handling
  USB: serial: ir-usb: add missing endpoint sanity check
  usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186
  usb: dwc3: pci: add ID for the Intel Comet Lake -V variant
  rsi_91x_usb: fix interface sanity check
  orinoco_usb: fix interface sanity check
  Bluetooth: btusb: fix non-atomic allocation in completion handler
  ANDROID: scsi: ufs: fix collision between CRYPTO and RPM_AUTOSUSPEND bits
  ANDROID: gki: Removed cf modules from gki_defconfig
  ANDROID: Remove default y for VIRTIO_PCI_LEGACY
  ANDROID: gki_defconfig: enabled INTERCONNECT
  ANDROID: gki_defconfig: Remove SND_8X0
  ANDROID: gki: Fixed some typos in Kconfig.gki
  ANDROID: gki_defconfig: Enable req modules in GKI
  ANDROID: modularize BLK_MQ_VIRTIO
  ANDROID: kallsyms: strip hashes from static functions with ThinLTO and CFI
  ANDROID: Incremental fs: Remove unneeded compatibility typedef
  ANDROID: Incremental fs: Enable incrementalfs in GKI
  ANDROID: Incremental fs: Fix sparse errors
  ANDROID: Fixing incremental fs style issues
  ANDROID: Make incfs selftests pass
  ANDROID: Initial commit of Incremental FS
  Linux 5.4.16
  net/x25: fix nonblocking connect
  netfilter: nf_tables: autoload modules from the abort path
  netfilter: nf_tables: add __nft_chain_type_get()
  netfilter: ipset: use bitmap infrastructure completely
  media: v4l2-ioctl.c: zero reserved fields for S/TRY_FMT
  libertas: Fix two buffer overflows at parsing bss descriptor
  net/sonic: Prevent tx watchdog timeout
  net/sonic: Fix CAM initialization
  net/sonic: Fix command register usage
  net/sonic: Quiesce SONIC before re-initializing descriptor memory
  net/sonic: Fix receive buffer replenishment
  net/sonic: Improve receive descriptor status flag check
  net/sonic: Avoid needless receive descriptor EOL flag updates
  net/sonic: Fix receive buffer handling
  net/sonic: Fix interface error stats collection
  net/sonic: Use MMIO accessors
  net/sonic: Clear interrupt flags immediately
  net/sonic: Add mutual exclusion for accessing shared state
  readdir: be more conservative with directory entry names
  do_last(): fetch directory ->i_mode and ->i_uid before it's too late
  net, sk_msg: Don't check if sock is locked when tearing down psock
  xfrm: support output_mark for offload ESP packets
  drm/i915/userptr: fix size calculation
  iwlwifi: mvm: fix potential SKB leak on TXQ TX
  iwlwifi: mvm: fix SKB leak on invalid queue
  tracing: xen: Ordered comparison of function pointers
  scsi: RDMA/isert: Fix a recently introduced regression related to logout
  hwmon: (nct7802) Fix non-working alarm on voltages
  hwmon: (nct7802) Fix voltage limits to wrong registers
  hsr: Fix a compilation error
  leds: gpio: Fix uninitialized gpio label for fwnode based probe
  readdir: make user_access_begin() use the real access range
  iommu/amd: Fix IOMMU perf counter clobbering during init
  lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user()
  netfilter: nft_osf: add missing check for DREG attribute
  Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register
  Input: pegasus_notetaker - fix endpoint sanity check
  Input: aiptek - fix endpoint sanity check
  Input: gtco - fix endpoint sanity check
  Input: sur40 - fix interface sanity checks
  Input: pm8xxx-vib - fix handling of separate enable register
  net/tls: fix async operation
  mlxsw: switchx2: Do not modify cloned SKBs during xmit
  mmc: sdhci_am654: Reset Command and Data line after tuning
  mmc: sdhci_am654: Remove Inverted Write Protect flag
  mmc: sdhci: fix minimum clock rate for v3 controller
  mmc: tegra: fix SDR50 tuning override
  ARM: 8950/1: ftrace/recordmcount: filter relocation types
  Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers"
  Input: keyspan-remote - fix control-message timeouts
  iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer
  pinctrl: sunrisepoint: Add missing Interrupt Status register offset
  XArray: Fix xas_find returning too many entries
  XArray: Fix xa_find_after with multi-index entries
  XArray: Fix infinite loop with entry at ULONG_MAX
  iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues
  Revert "iwlwifi: mvm: fix scan config command size"
  powerpc/xive: Discard ESB load value when interrupt is invalid
  powerpc/mm/hash: Fix sharing context ids between kernel & userspace
  tracing: Fix histogram code when expression has same var as value
  tracing: Do not set trace clock if tracefs lockdown is in effect
  tracing/uprobe: Fix double perf_event linking on multiprobe uprobe
  tracing: trigger: Replace unneeded RCU-list traversals
  PM: hibernate: fix crashes with init_on_free=1
  drm/i915: Align engine->uabi_class/instance with i915_drm.h
  drm/panfrost: Add the panfrost_gem_mapping concept
  PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken
  ceph: hold extra reference to r_parent over life of request
  hwmon: (core) Do not use device managed functions for memory allocations
  hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
  afs: Fix characters allowed into cell names
  Revert "io_uring: only allow submit from owning task"
  ipv4: Detect rollover in specific fib table dump
  net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path
  net/mlx5e: kTLS, Remove redundant posts in TX resync flow
  net/mlx5e: kTLS, Fix corner-case checks in TX resync flow
  net/mlx5: DR, use non preemptible call to get the current cpu number
  net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep
  net/mlx5: DR, Enable counter on non-fwd-dest objects
  net/mlx5: Update the list of the PCI supported devices
  net/mlx5: Fix lowest FDB pool size
  net: Fix packet reordering caused by GRO and listified RX cooperation
  fou: Fix IPv6 netlink policy
  mlxsw: spectrum_acl: Fix use-after-free during reload
  airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE
  airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE
  tun: add mutex_unlock() call and napi.skb clearing in tun_get_user()
  tcp: do not leave dangling pointers in tp->highest_sack
  tcp_bbr: improve arithmetic division in bbr_update_bw()
  Revert "udp: do rmem bulk free even if the rx sk queue is empty"
  net: usb: lan78xx: Add .ndo_features_check
  net-sysfs: Fix reference count leak
  net_sched: use validated TCA_KIND attribute in tc_new_tfilter()
  net_sched: fix datalen for ematch
  net: rtnetlink: validate IFLA_MTU attribute in rtnl_create_link()
  net, ip_tunnel: fix namespaces move
  net, ip6_tunnel: fix namespaces move
  net: ip6_gre: fix moving ip6gre between namespaces
  net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
  net: bcmgenet: Use netif_tx_napi_add() for TX NAPI
  ipv6: sr: remove SKB_GSO_IPXIP6 on End.D* actions
  gtp: make sure only SOCK_DGRAM UDP sockets are accepted
  firestream: fix memory leaks
  can, slip: Protect tty->disc_data in write_wakeup and close with RCU
  ANDROID: gki_defconfig: Set IKHEADERS back to =y
  ANDROID: gki_defconfig: Enable CONFIG_BTT
  f2fs: fix race conditions in ->d_compare() and ->d_hash()
  f2fs: fix dcache lookup of !casefolded directories
  f2fs: Add f2fs stats to sysfs
  f2fs: delete duplicate information on sysfs nodes
  f2fs: change to use rwsem for gc_mutex
  f2fs: update f2fs document regarding to fsync_mode
  f2fs: add a way to turn off ipu bio cache
  f2fs: code cleanup for f2fs_statfs_project()
  f2fs: fix miscounted block limit in f2fs_statfs_project()
  f2fs: show the CP_PAUSE reason in checkpoint traces
  f2fs: fix deadlock allocating bio_post_read_ctx from mempool
  f2fs: remove unneeded check for error allocating bio_post_read_ctx
  f2fs: convert inline_dir early before starting rename
  f2fs: fix memleak of kobject
  f2fs: fix to add swap extent correctly
  f2fs: run fsck when getting bad inode during GC
  f2fs: support data compression
  f2fs: free sysfs kobject
  f2fs: declare nested quota_sem and remove unnecessary sems
  f2fs: don't put new_page twice in f2fs_rename
  f2fs: set I_LINKABLE early to avoid wrong access by vfs
  f2fs: don't keep META_MAPPING pages used for moving verity file blocks
  f2fs: introduce private bioset
  f2fs: cleanup duplicate stats for atomic files
  f2fs: Check write pointer consistency of non-open zones
  f2fs: Check write pointer consistency of open zones
  f2fs: set GFP_NOFS when moving inline dentries
  f2fs: should avoid recursive filesystem ops
  f2fs: keep quota data on write_begin failure
  f2fs: call f2fs_balance_fs outside of locked page
  f2fs: preallocate DIO blocks when forcing buffered_io
  FROMGIT: ext4: Add EXT4_IOC_FSGETXATTR/EXT4_IOC_FSSETXATTR to compat_ioctl.
  ANDROID: gki_defconfig: Set IKHEADERS back to =m
  ANDROID: gki_defconfig: enable NVDIMM/PMEM options
  Linux 5.4.15
  optee: Fix multi page dynamic shm pool alloc
  phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz
  gpio: aspeed: avoid return type warning
  net-sysfs: Call dev_hold always in netdev_queue_add_kobject
  s390/qeth: fix dangling IO buffers after halt/clear
  block: fix memleak of bio integrity data
  platform/chrome: wilco_ec: fix use after free issue
  xdp: Fix cleanup on map free for devmap_hash map type
  drm/radeon: fix bad DMA from INTERRUPT_CNTL2
  dmaengine: ti: edma: fix missed failure handling
  afs: Remove set but not used variables 'before', 'after'
  dma-direct: don't check swiotlb=force in dma_direct_map_resource
  mt76: mt76u: rely on usb_interface instead of usb_dev
  sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util()
  SUNRPC: Fix another issue with MIC buffer space
  workqueue: Add RCU annotation for pwq list walk
  tee: optee: fix device enumeration error handling
  tee: optee: Fix dynamic shm pool allocations
  mmc: core: fix wl1251 sdio quirks
  mmc: sdio: fix wl1251 vendor id
  firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT
  kselftests: cgroup: Avoid the reuse of fd after it is deallocated
  i2c: stm32f7: report dma error during probe
  packet: fix data-race in fanout_flow_is_huge()
  rtc: bd70528: fix module alias to autoload module
  selftests: gen_kselftest_tar.sh: Do not clobber kselftest/
  net: axienet: Fix error return code in axienet_probe()
  net: neigh: use long type to store jiffies delta
  rt2800: remove errornous duplicate condition
  hv_netvsc: flag software created hash value
  net: openvswitch: don't unlock mutex when changing the user_features fails
  scsi: ufs: delete redundant function ufshcd_def_desc_sizes()
  dpaa_eth: avoid timestamp read on error paths
  dpaa_eth: perform DMA unmapping before read
  rcu: Fix uninitialized variable in nocb_gp_wait()
  libbpf: Don't use kernel-side u32 type in xsk.c
  firmware: imx: Remove call to devm_of_platform_populate
  power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading
  drm/amdgpu/vi: silence an uninitialized variable warning
  regulator: bd70528: Add MODULE_ALIAS to allow module auto loading
  pwm: sun4i: Fix incorrect calculation of duty_cycle/period
  ACPI: platform: Unregister stale platform devices
  net: netsec: Correct dma sync for XDP_TX frames
  drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later
  PCI: mobiveil: Fix csr_read()/write() build issue
  software node: Get reference to parent swnode in get_parent op
  drm/rockchip: Round up _before_ giving to the clock framework
  dpaa2-eth: Fix minor bug in ethtool stats reporting
  hwrng: omap3-rom - Fix missing clock by probing with device tree
  drm/amdgpu: remove excess function parameter description
  drm: panel-lvds: Potential Oops in probe error handling
  drm/panfrost: Add missing check for pfdev->regulator
  rtw88: fix error handling when setup efuse info
  rtw88: fix beaconing mode rsvd_page memory violation issue
  gpiolib: No need to call gpiochip_remove_pin_ranges() twice
  sched/core: Further clarify sched_class::set_next_task()
  ipmi: Fix memory leak in __ipmi_bmc_register
  watchdog: sprd: Fix the incorrect pointer getting from driver data
  soc: aspeed: Fix snoop_file_poll()'s return type
  soc: renesas: Add missing check for non-zero product register address
  soc: qcom: llcc: Name regmaps to avoid collisions
  soc/tegra: pmc: Fix crashes for hierarchical interrupts
  leds: tlc591xx: update the maximum brightness
  perf map: No need to adjust the long name of modules
  crypto: sun4i-ss - fix big endian issues
  crypto: amcc - restore CRYPTO_AES dependency
  nfsd: depend on CRYPTO_MD5 for legacy client tracking
  s390/pkey: fix memory leak within _copy_apqns_from_user()
  ice: fix stack leakage
  mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
  mt76: mt76u: fix endpoint definition order
  phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid
  net: phy: broadcom: Fix RGMII delays configuration for BCM54210E
  phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on()
  net/mlx5e: Fix free peer_flow when refcount is 0
  tipc: fix wrong timeout input for tipc_wait_for_cond()
  tipc: fix wrong socket reference counter after tipc_sk_timeout() returns
  tipc: fix potential memory leak in __tipc_sendmsg()
  tipc: update mon's self addr when node addr generated
  tipc: reduce sensitive to retransmit failures
  powerpc/archrandom: fix arch_get_random_seed_int()
  powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE
  powerpc/pseries: Enable support for ibm,drc-info property
  powerpc/security: Fix debugfs data leak on 32-bit
  SUNRPC: Fix backchannel latency metrics
  SUNRPC: Fix svcauth_gss_proxy_init()
  mfd: intel-lpss: Add default I2C device properties for Gemini Lake
  i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop
  i2c: stm32f7: rework slave_id allocation
  xfs: Sanity check flags of Q_XQUOTARM call
  ARM: OMAP2+: Add missing put_device() call in omapdss_init_of()
  ARM: dts: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel
  samples/bpf: Fix broken xdp_rxq_info due to map order assumptions
  samples: bpf: update map definition to new syntax BTF-defined map
  bpf: Force .BTF section start to zero when dumping from vmlinux
  libbpf: Make btf__resolve_size logic always check size error condition
  libbpf: Fix another potential overflow issue in bpf_prog_linfo
  libbpf: Fix potential overflow issue
  libbpf: Fix memory leak/double free issue
  libbpf: Fix compatibility for kernels without need_wakeup
  drm/i915: Fix pid leak with banned clients
  ANDROID: update ABI following inline crypto changes
  ANDROID: gki_defconfig: enable dm-default-key
  ANDROID: dm: add dm-default-key target for metadata encryption
  ANDROID: dm: enable may_passthrough_inline_crypto on some targets
  ANDROID: dm: add support for passing through inline crypto support
  ANDROID: block: Introduce passthrough keyslot manager
  ANDROID: ext4, f2fs: enable direct I/O with inline encryption
  FROMLIST: scsi: ufs: add program_key() variant op
  ANDROID: block: export symbols needed for modules to use inline crypto
  ANDROID: block: fix some inline crypto bugs
  UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage
  FROMLIST: security: selinux: allow per-file labelling for binderfs
  Revert "ANDROID: security,perf: Allow further restriction of perf_event_open"
  ANDROID: selinux: modify RTM_GETLINK permission
  BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency
  BACKPORT: debugfs: Fix !DEBUG_FS debugfs_create_automount
  Linux 5.4.14
  scsi: lpfc: use hdwq assigned cpu for allocation
  perf script: Fix --reltime with --time
  hwmon: (pmbus/ibm-cffps) Fix LED blink behavior
  hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call
  regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
  clk: imx7ulp: Correct DDR clock mux options
  clk: imx7ulp: Correct system clock source option #7
  clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle()
  perf script: Allow --time with --reltime
  perf probe: Fix wrong address verification
  rtw88: fix potential read outside array boundary
  scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq()
  scsi: lpfc: Fix hdwq sgl locks and irq handling
  scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq
  scsi: core: scsi_trace: Use get_unaligned_be*()
  scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan
  scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI
  scsi: scsi_transport_sas: Fix memory leak when removing devices
  scsi: hisi_sas: Return directly if init hardware failed
  scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences
  scsi: target: core: Fix a pr_debug() argument
  scsi: bnx2i: fix potential use after free
  scsi: qla4xxx: fix double free bug
  scsi: hisi_sas: Set the BIST init value before enabling BIST
  scsi: hisi_sas: Don't create debugfs dump folder twice
  scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
  reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr
  um: virtio_uml: Disallow modular build
  um: Don't trace irqflags during shutdown
  mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash
  mtd: cfi_cmdset_0002: only check errors when ready in cfi_check_err_status()
  mtd: devices: fix mchp23k256 read and write
  Revert "arm64: dts: juno: add dma-ranges property"
  ARM: dts: Fix sgx sysconfig register for omap4
  arm64: dts: juno: Fix UART frequency
  ARM: dts: dra7: fix cpsw mdio fck clock
  arm64: dts: allwinner: a64: Re-add PMU node
  ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver
  arm64: dts: qcom: sdm845-cheza: delete zap-shader
  arm64: dts: imx8mm-evk: Assigned clocks for audio plls
  arm64: dts: renesas: r8a774a1: Remove audio port node
  arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment
  tick/sched: Annotate lockless access to last_jiffies_update
  cfg80211: check for set_wiphy_params
  arm64: dts: marvell: Add AP806-dual missing CPU clocks
  arm64: dts: renesas: r8a77970: Fix PWM3
  arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node
  arm64: dts: meson: g12: fix audio fifo reg size
  arm64: dts: meson: axg: fix audio fifo reg size
  cw1200: Fix a signedness bug in cw1200_load_firmware()
  arm64: dts: qcom: msm8998: Disable coresight by default
  irqchip: Place CONFIG_SIFIVE_PLIC into the menu
  tcp: refine rule to allow EPOLLOUT generation under mem pressure
  dt-bindings: Add missing 'properties' keyword enclosing 'snps,tso'
  xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
  devlink: Wait longer before warning about unset port type
  net: stmmac: tc: Do not setup flower filtering if RSS is enabled
  net: stmmac: selftests: Update status when disabling RSS
  selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation
  net: stmmac: selftests: Mark as fail when received VLAN ID != expected
  net: stmmac: selftests: Make it work in Synopsys AXS101 boards
  mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters
  mlxsw: spectrum: Wipe xstats.backlog of down ports
  mlxsw: spectrum: Do not modify cloned SKBs during xmit
  sh_eth: check sh_eth_cpu_data::dual_port when dumping registers
  drm/amdgpu: allow direct upload save restore list for raven2
  i40e: prevent memory leak in i40e_setup_macvlans
  net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec
  net: sched: act_ctinfo: fix memory leak
  net: dsa: tag_gswip: fix typo in tagger name
  net: dsa: sja1105: Don't error out on disabled ports with no phy-mode
  net: systemport: Fixed queue mapping in internal ring map
  net: ethernet: ave: Avoid lockdep warning
  bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal.
  bnxt_en: Fix ipv6 RFS filter matching logic.
  bnxt_en: Fix NTUPLE firmware command failures.
  tcp: fix marked lost packets not being retransmitted
  r8152: add missing endpoint sanity check
  ptp: free ptp device pin descriptors properly
  net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info
  net: usb: lan78xx: limit size of local TSO packets
  net/sched: act_ife: initalize ife->metalist earlier
  net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset
  net: hns: fix soft lockup when there is not enough memory
  net: hns3: pad the short frame before sending to the hardware
  net: dsa: tag_qca: fix doubled Tx statistics
  net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key()
  hv_netvsc: Fix memory leak when removing rndis device
  macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()
  batman-adv: Fix DAT candidate selection on little endian systems
  bpftool: Fix printing incorrect pointer in btf_dump_ptr
  net: bpf: Don't leak time wait and request sockets
  NFC: pn533: fix bulk-message timeout
  netfilter: nf_tables: fix flowtable list del corruption
  netfilter: nf_tables: store transaction list locally while requesting module
  netfilter: nf_tables: remove WARN and add NLA_STRING upper limits
  netfilter: nft_tunnel: ERSPAN_VERSION must not be null
  netfilter: nft_tunnel: fix null-attribute check
  netfilter: nat: fix ICMP header corruption on ICMP errors
  netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct
  netfilter: fix a use-after-free in mtype_destroy()
  i2c: iop3xx: Fix memory leak in probe error path
  bpf/sockmap: Read psock ingress_msg before sk_receive_queue
  cfg80211: fix page refcount issue in A-MSDU decap
  cfg80211: fix memory leak in cfg80211_cqm_rssi_update
  cfg80211: fix memory leak in nl80211_probe_mesh_link
  cfg80211: fix deadlocks in autodisconnect work
  i2c: tegra: Properly disable runtime PM on driver's probe error
  i2c: tegra: Fix suspending in active runtime PM state
  bpf: Sockmap/tls, fix pop data with SK_DROP return code
  bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining
  bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf
  bpf: Sockmap/tls, msg_push_data may leave end mark in place
  bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds
  bpf: Sockmap/tls, push write_space updates through ulp updates
  bpf: Sockmap, ensure sock lock held during tear down
  bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop
  bpf: Fix incorrect verifier simulation of ARSH under ALU32
  drm/amd/display: Reorder detect_edp_sink_caps before link settings read.
  block: Fix the type of 'sts' in bsg_queue_rq()
  net: fix kernel-doc warning in <linux/netdevice.h>
  tipc: fix retrans failure due to wrong destination
  tipc: fix potential hanging after b/rcast changing
  reset: Fix {of,devm}_reset_control_array_get kerneldoc return types
  net: stmmac: Enable 16KB buffer size
  net: stmmac: 16KB buffer must be 16 byte aligned
  ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support
  ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL
  ARM: dts: imx6sll-evk: Remove incorrect power supply assignment
  ARM: dts: imx6sl-evk: Remove incorrect power supply assignment
  ARM: dts: imx6sx-sdb: Remove incorrect power supply assignment
  ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment
  mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE
  mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
  mm/memory_hotplug: don't free usage map when removing a re-added early section
  Btrfs: always copy scrub arguments back to user space
  btrfs: check rw_devices, not num_devices for balance
  btrfs: fix memory leak in qgroup accounting
  btrfs: relocation: fix reloc_root lifespan and access
  btrfs: do not delete mismatched root refs
  btrfs: fix invalid removal of root ref
  btrfs: rework arguments of btrfs_unlink_subvol
  mm, debug_pagealloc: don't rely on static keys too early
  mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid
  mm: memcg/slab: fix percpu slab vmstats flushing
  mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment
  mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment
  perf report: Fix incorrectly added dimensions as switch perf data file
  locking/lockdep: Fix buffer overrun problem in stack_trace[]
  perf hists: Fix variable name's inconsistency in hists__for_each() macro
  clk: samsung: exynos5420: Keep top G3D clocks enabled
  s390/setup: Fix secure ipl message
  efi/earlycon: Fix write-combine mapping on x86
  x86/resctrl: Fix potential memory leak
  drm/i915: Add missing include file <linux/math64.h>
  mtd: spi-nor: Fix selection of 4-byte addressing opcodes on Spansion
  scsi: storvsc: Correctly set number of hardware queues for IDE disk
  s390/zcrypt: Fix CCA cipher key gen with clear key value function
  x86/efistub: Disable paging at mixed mode entry
  perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events
  locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN
  x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained
  x86/resctrl: Fix an imbalance in domain_remove_cpu()
  cpu/SMT: Fix x86 link error without CONFIG_SYSFS
  usb: core: hub: Improved device recognition on remote wakeup
  mtd: rawnand: gpmi: Restore nfc timing setup after suspend/resume
  mtd: rawnand: gpmi: Fix suspend/resume problem
  ptrace: reintroduce usage of subjective credentials in ptrace_has_cap()
  scsi: mptfusion: Fix double fetch bug in ioctl
  scsi: fnic: fix invalid stack access
  staging: comedi: ni_routes: allow partial routing information
  staging: comedi: ni_routes: fix null dereference in ni_find_route_source()
  USB: serial: quatech2: handle unbound ports
  USB: serial: keyspan: handle unbound ports
  USB: serial: io_edgeport: add missing active-port sanity check
  USB: serial: io_edgeport: handle unbound ports on URB completion
  USB: serial: ch341: handle unbound port at reset_resume
  USB: serial: suppress driver bind attributes
  USB: serial: option: add support for Quectel RM500Q in QDL mode
  USB: serial: opticon: fix control-message timeouts
  USB: serial: option: Add support for Quectel RM500Q
  USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx
  iio: buffer: align the size of scan bytes to size of the largest element
  iio: chemical: pms7003: fix unmet triggered buffer dependency
  iio: light: vcnl4000: Fix scale for vcnl4040
  iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID
  iio: adc: ad7124: Fix DT channel configuration
  perf: Correctly handle failed perf_get_aux_event()
  ARM: davinci: select CONFIG_RESET_CONTROLLER
  ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number
  cpuidle: teo: Fix intervals[] array indexing bug
  io_uring: only allow submit from owning task
  fuse: fix fuse_send_readpages() in the syncronous read case
  block: fix an integer overflow in logical block size
  clk: sunxi-ng: r40: Allow setting parent rate for external clock outputs
  Fix built-in early-load Intel microcode alignment
  arm64: dts: agilex/stratix10: fix pmu interrupt numbers
  arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator
  arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator
  ALSA: usb-audio: fix sync-ep altsetting sanity check
  ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context
  ALSA: seq: Fix racy access for queue timer in proc read
  ALSA: dice: fix fallback from protocol extension into limited functionality
  ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk
  ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection
  ARM: dts: imx7ulp: fix reg of cpu node
  ARM: OMAP2+: Fix ti_sysc_find_one_clockdomain to check for to_clk_hw_omap
  ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1
  ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1
  ASoC: stm32: dfsdm: fix 16 bits record
  ASoC: stm32: sai: fix possible circular locking
  ASoC: msm8916-wcd-digital: Reset RX interpolation path after use
  arm64: dts: imx8mq-librem5-devkit: use correct interrupt for the magnetometer
  Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP"
  clk: Don't try to enable critical clocks if prepare failed
  bus: ti-sysc: Fix iterating over clocks
  arm64: dts: imx8mm: Change SDMA1 ahb clock for imx8mm
  arm64: dts: ls1028a: fix endian setting for dcfg
  ARM: dts: imx6q-dhcom: fix rtc compatible
  dt-bindings: reset: meson8b: fix duplicate reset IDs
  soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init()
  soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors
  clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs
  ARM: dts: meson8: fix the size of the PMU registers
  ANDROID: gki: Make GKI specific modules builtins
  ANDROID: virtio-net: Skip set_features on non-cvq devices
  ANDROID: fscrypt: add support for hardware-wrapped keys
  ANDROID: block: add KSM op to derive software secret from wrapped key
  ANDROID: block: provide key size as input to inline crypto APIs
  ANDROID: ufshcd-crypto: export cap find API
  ANDROID: build config for cuttlefish ramdisk
  ANDROID: x86: gki_defconfig: enable LTO and CFI
  ANDROID: x86: map CFI jump tables in pti_clone_entry_text
  ANDROID: x86, module: Ignore __typeid__ relocations
  ANDROID: x86, relocs: Ignore __typeid__ relocations
  ANDROID: x86/alternatives: Use C int3 selftest but disable KASAN
  ANDROID: x86/extable: Do not mark exception callback as CFI
  ANDROID: x86, build: allow LTO_CLANG and THINLTO to be selected
  ANDROID: x86: disable UNWINDER_ORC with LTO_CLANG
  ANDROID: x86: disable STACK_VALIDATION with LTO_CLANG
  ANDROID: x86: disable HAVE_ARCH_PREL32_RELOCATIONS with LTO_CLANG
  ANDROID: x86/vdso: disable LTO only for VDSO
  FROMLIST: crypto, x86/sha: Eliminate casts on asm implementations
  UPSTREAM: x86/vmlinux: Actually use _etext for the end of the text segment
  Linux 5.4.13
  ocfs2: call journal flush to mark journal as empty after journal recovery when mount
  hexagon: work around compiler crash
  hexagon: parenthesize registers in asm predicates
  kbuild/deb-pkg: annotate libelf-dev dependency as :native
  media: intel-ipu3: Align struct ipu3_uapi_awb_fr_config_s to 32 bytes
  drm/amdgpu: enable gfxoff for raven1 refresh
  ioat: ioat_alloc_ring() failure handling.
  s390/qeth: lock the card while changing its hsuid
  dmaengine: k3dma: Avoid null pointer traversal
  rxrpc: Fix missing security check on incoming calls
  rxrpc: Don't take call->user_mutex in rxrpc_new_incoming_call()
  rxrpc: Unlock new call in rxrpc_new_incoming_call() rather than the caller
  drm/arm/mali: make malidp_mw_connector_helper_funcs static
  MIPS: Prevent link failure with kcov instrumentation
  tomoyo: Suppress RCU warning at list_for_each_entry_rcu().
  mips: Fix gettimeofday() in the vdso library
  mips: cacheinfo: report shared CPU map
  riscv: export flush_icache_all to modules
  rseq/selftests: Turn off timeout setting
  selftests: firmware: Fix it to do root uid check and skip
  scsi: target/iblock: Fix protection error with blocks greater than 512B
  scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy()
  gpio: mpc8xxx: Add platform device to gpiochip->parent
  rtc: bd70528: Add MODULE ALIAS to autoload module
  rtc: brcmstb-waketimer: add missed clk_disable_unprepare
  rtc: msm6242: Fix reading of 10-hour digit
  NFSD fixing possible null pointer derefering in copy offload
  f2fs: fix potential overflow
  sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO
  iwlwifi: mvm: fix support for single antenna diversity
  rtlwifi: Remove unnecessary NULL check in rtl_regd_init
  iwlwifi: mvm: consider ieee80211 station max amsdu value
  spi: lpspi: fix memory leak in fsl_lpspi_probe
  spi: rspi: Use platform_get_irq_byname_optional() for optional irqs
  spi: atmel: fix handling of cs_change set on non-last xfer
  spi: pxa2xx: Set controller->max_transfer_size in dma mode
  mtd: spi-nor: fix silent truncation in spi_nor_read_raw()
  mtd: spi-nor: fix silent truncation in spi_nor_read()
  spi: sprd: Fix the incorrect SPI register
  ubifs: do_kill_orphans: Fix a memory leak bug
  ubifs: Fixed missed le64_to_cpu() in journal
  Revert "ubifs: Fix memory leak bug in alloc_ubifs_info() error path"
  memory: mtk-smi: Add PM suspend and resume ops
  iommu/mediatek: Add a new tlb_lock for tlb_flush
  iommu/mediatek: Correct the flush_iotlb_all callback
  media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly
  media: aspeed-video: Fix memory leaks in aspeed_video_probe
  media: hantro: Do not reorder H264 scaling list
  media: cedrus: Use correct H264 8x8 scaling list
  media: coda: fix deadlock between decoder picture run and start command
  media: exynos4-is: Fix recursive locking in isp_video_release()
  media: v4l: cadence: Fix how unsued lanes are handled in 'csi2rx_start()'
  media: hantro: h264: Fix the frame_num wraparound case
  media: rcar-vin: Fix incorrect return statement in rvin_try_format()
  media: ov6650: Fix default format not applied on device probe
  media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support
  media: ov6650: Fix some format attributes not under control
  media: ov6650: Fix incorrect use of JPEG colorspace
  ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC
  tty: serial: pch_uart: correct usage of dma_unmap_sg
  tty: serial: imx: use the sg count from dma_map_sg
  MIPS: SGI-IP27: Fix crash, when CPUs are disabled via nr_cpus parameter
  MIPS: Loongson: Fix return value of loongson_hwmon_init
  MIPS: PCI: remember nasid changed by set interrupt affinity
  powerpc/powernv: Disable native PCIe port management
  PCI/PTM: Remove spurious "d" from granularity message
  tools: PCI: Fix fd leakage
  PCI/PM: Clear PCIe PME Status even for legacy power management
  PCI: Fix missing bridge dma_ranges resource list cleanup
  PCI: dwc: Fix find_next_bit() usage
  PCI: aardvark: Fix PCI_EXP_RTCTL register configuration
  PCI: aardvark: Use LTSSM state to build link training flag
  compat_ioctl: handle SIOCOUTQNSD
  af_unix: add compat_ioctl support
  gfs2: add compat_ioctl support
  arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD
  scsi: sd: enable compat ioctls for sed-opal
  drm/amdgpu/discovery: reserve discovery data at the top of VRAM
  drm/amdgpu: cleanup creating BOs at fixed location (v2)
  Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper."
  PCI: pciehp: Do not disable interrupt twice on suspend
  pinctrl: lewisburg: Update pin list according to v1.1v6
  pinctrl: sh-pfc: Do not use platform_get_irq() to count interrupts
  pinctrl: sh-pfc: Fix PINMUX_IPSR_PHYS() to set GPSR
  pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call
  affs: fix a memory leak in affs_remount
  rsi: fix potential null dereference in rsi_probe()
  clk: imx: pll14xx: Fix quick switch of S/K parameter
  dmaengine: dw: platform: Mark 'hclk' clock optional
  clk: Fix memory leak in clk_unregister()
  clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume
  clk: meson: axg-audio: fix regmap last register
  mei: fix modalias documentation
  iio: imu: adis16480: assign bias value only if operation succeeded
  iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1
  NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn
  NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process()
  nfsd: v4 support requires CRYPTO_SHA256
  nfsd: Fix cld_net->cn_tfm initialization
  NFSv2: Fix a typo in encode_sattr()
  crypto: geode-aes - convert to skcipher API and make thread-safe
  crypto: algif_skcipher - Use chunksize instead of blocksize
  crypto: virtio - implement missing support for output IVs
  crypto: arm64/aes-neonbs - add return value of skcipher_walk_done() in __xts_crypt()
  crypto: hisilicon - select NEED_SG_DMA_LENGTH in qm Kconfig
  crypto: cavium/nitrox - fix firmware assignment to AE cores
  scsi: ufs: Give an unique ID to each ufs-bsg
  dm: add dm-clone to the documentation index
  xprtrdma: Fix oops in Receive handler after device removal
  xprtrdma: Fix completion wait during device removal
  xprtrdma: Fix create_qp crash on device unload
  Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces
  Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces
  asm-generic/nds32: don't redefine cacheflush primitives
  platform/x86: GPD pocket fan: Use default values when wrong modparams are given
  platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
  platform/mellanox: fix potential deadlock in the tmfifo driver
  scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI
  scsi: enclosure: Fix stale device oops with hot replug
  keys: Fix request_key() cache
  afs: Fix afs_lookup() to not clobber the version on a new dentry
  afs: Fix use-after-loss-of-ref
  libbpf: Fix Makefile' libbpf symbol mismatch diagnostic
  bpf: Support pre-2.25-binutils objcopy for vmlinux BTF
  bpf: skmsg, fix potential psock NULL pointer dereference
  bpf: Make use of probe_user_write in probe write helper
  uaccess: Add non-pagefault user-space write function
  RDMA/srpt: Report the SCSI residual to the initiator
  RDMA/mlx5: Return proper error value
  rdma: Remove nes ABI header
  RDMA/hns: Bugfix for qpc/cqc timer configuration
  RDMA/hns: Fix to support 64K page for srq
  xprtrdma: Close window between waking RPC senders and posting Receives
  xprtrdma: Fix MR list handling
  xprtrdma: Connection becomes unstable after a reconnect
  xprtrdma: Add unique trace points for posting Local Invalidate WRs
  RDMA/hns: Release qp resources when failed to destroy qp
  RDMA/hns: Fix build error again
  RDMA/siw: Fix port number endianness in a debug message
  RDMA/counter: Prevent QP counter manual binding in auto mode
  RDMA/hns: Modify return value of restrack functions
  RDMA/hns: remove a redundant le16_to_cpu
  RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size()
  ASoC: rsnd: fix DALIGN register for SSIU
  ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n
  ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver
  ASoC: fsl_esai: Add spin lock to protect reset, stop and start
  ASoC: simple_card_utils.h: Add missing include
  ASoC: dt-bindings: mt8183: add missing update
  netfilter: nft_meta: use 64-bit time arithmetic
  netfilter: nf_tables_offload: release flow_rule on error from commit path
  btrfs: simplify inode locking for RWF_NOWAIT
  hsr: fix slab-out-of-bounds Read in hsr_debugfs_rename()
  syscalls/x86: Fix function types in COND_SYSCALL
  syscalls/x86: Use the correct function type for sys_ni_syscall
  syscalls/x86: Use COMPAT_SYSCALL_DEFINE0 for IA32 (rt_)sigreturn
  syscalls/x86: Wire up COMPAT_SYSCALL_DEFINE0
  perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description
  afs: Fix missing cell comparison in afs_test_super()
  reset: brcmstb: Remove resource checks
  dt-bindings: reset: Fix brcmstb-reset example
  can: j1939: fix address claim code example
  ath9k: use iowrite32 over __raw_writel
  MAINTAINERS: Append missed file to the database
  scsi: smartpqi: Update attribute name to `driver_version`
  cifs: Adjust indentation in smb2_open_file
  s390/qeth: fix initialization on old HW
  s390/qeth: vnicc Fix init to default
  s390/qeth: Fix vnicc_is_in_use if rx_bcast not set
  s390/qeth: fix false reporting of VNIC CHAR config failure
  s390/qeth: fix qdio teardown after early init error
  hsr: reset network header when supervision frame is created
  hsr: rename debugfs file when interface name is changed
  hsr: add hsr root debugfs directory
  drm/tegra: Fix ordering of cleanup code
  PCI: amlogic: Fix probed clock names
  PM / devfreq: tegra: Add COMMON_CLK dependency
  gpio: Fix error message on out-of-range GPIO in lookup table
  scsi: mpt3sas: Fix double free in attach error handling
  fs: move guard_bio_eod() after bio_set_op_attrs
  bpf: cgroup: prevent out-of-order release of cgroup bpf
  iommu: Remove device link to group on failure
  iommu/vt-d: Unlink device if failed to add to group
  selftests: loopback.sh: skip this test if the driver does not support
  pinctrl: meson: Fix wrong shift value when get drive-strength
  gpio: zynq: Fix for bug in zynq_gpio_restore_context API
  mtd: onenand: omap2: Pass correct flags for prep_dma_memcpy
  ASoC: SOF: imx8: Fix dsp_box offset
  netfilter: nft_flow_offload: fix underflow in flowtable reference counter
  pinctrl: lochnagar: select GPIOLIB
  ASoC: stm32: spdifrx: fix input pin state management
  ASoC: stm32: spdifrx: fix race condition in irq handler
  ASoC: stm32: spdifrx: fix inconsistent lock state
  ASoC: soc-core: Set dpcm_playback / dpcm_capture
  ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev
  i2c: bcm2835: Store pointer to bus clock
  mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus
  IB/hfi1: Don't cancel unused work item
  RDMA/bnxt_re: Fix Send Work Entry state check while polling completions
  RDMA/bnxt_re: Avoid freeing MR resources if dereg fails
  phy: mapphone-mdm6600: Fix uninitialized status value regression
  rtc: mt6397: fix alarm register overwrite
  HID: hidraw, uhid: Always report EPOLLOUT
  FROMGIT: drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops()
  Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper."
  ANDROID: update kernel ABI for CONFIG_DUMMY
  ANDROID: update ABI whitelist
  UPSTREAM: dmaengine: k3dma: Avoid null pointer traversal
  GKI: enable CONFIG_DUMMY=y
  ANDROID: update kernel ABI for f2fs/fscrypt/other changes
  ANDROID: db845c: Add build config
  ANDROID: db845c: add db845c_gki.fragment
  FROMLIST: usb: dwc3: gadget: Correct the logic for finding last SG entry
  FROMLIST: usb: xhci: provide a debugfs hook for erasing rom
  FROMLIST: usb: renesas-xhci: allow multiple firmware versions
  FROMLIST: usb: renesas-xhci: Add ROM loader for uPD720201
  FROMLIST: usb: renesas-xhci: Add the renesas xhci driver
  FROMLIST: usb: xhci: export few functions
  ANDROID: arm64: dts: db845c: Add clocks entry to display to track real clock inputs
  ANDROID: arm64: dts: db845c: add Low speed expansion i2c and spi nodes
  ANDROID: arm64: dts: qcom: sdm845-db845c: Bring in LT9611
  ANDROID: arm64: dts: qcom: db845c: Enable PCIe controllers
  ANDROID: arm64: dts: qcom: sdm845: Add second PCIe PHY and controller
  ANDROID: arm64: dts: qcom: sdm845: Add first PCIe controller and PHY
  ANDROID: arm64: dts/sdm845: Enable FW implemented safe sequence handler on MTP
  ANDROID: drm/bridge: Introduce LT9611 DSI to HDMI bridge
  FROMLIST: drm: msm: Quiet down plane errors in atomic_check
  FROMLIST: reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate
  FROMLIST: tty: serial: Kconfig: Allow SERIAL_QCOM_GENI_CONSOLE to be enabled if SERIAL_QCOM_GENI is a module
  FROMLIST: lib/list_sort: fix function type mismatches
  UPSTREAM: kcov: fix struct layout for kcov_remote_arg
  docs: fs-verity: mention statx() support
  f2fs: support STATX_ATTR_VERITY
  ext4: support STATX_ATTR_VERITY
  statx: define STATX_ATTR_VERITY
  docs: fs-verity: document first supported kernel version
  f2fs: add support for IV_INO_LBLK_64 encryption policies
  ext4: add support for IV_INO_LBLK_64 encryption policies
  fscrypt: add support for IV_INO_LBLK_64 policies
  fscrypt: avoid data race on fscrypt_mode::logged_impl_name
  fscrypt: zeroize fscrypt_info before freeing
  fscrypt: remove struct fscrypt_ctx
  fscrypt: invoke crypto API for ESSIV handling
  null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED
  block: set the zone size in blk_revalidate_disk_zones atomically
  block: don't handle bio based drivers in blk_revalidate_disk_zones
  null_blk: cleanup null_gendisk_register
  null_blk: fix zone size paramter check
  block: allocate the zone bitmaps lazily
  block: replace seq_zones_bitmap with conv_zones_bitmap
  block: simplify blkdev_nr_zones
  block: remove the empty line at the end of blk-zoned.c
  scsi: sd_zbc: Improve report zones error printout
  scsi: sd_zbc: Remove set but not used variable 'buflen'
  block: rework zone reporting
  scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer()
  null_blk: clean up report zones
  null_blk: clean up the block device operations
  null_blk: return fixed zoned reads > write pointer
  scsi: sd_zbc: add zone open, close, and finish support
  block: Remove partition support for zoned block devices
  block: Simplify report zones execution
  block: cleanup the !zoned case in blk_revalidate_disk_zones
  block: Enhance blk_revalidate_disk_zones()
  block: add zone open, close and finish ioctl support
  block: add zone open, close and finish operations
  block: Simplify REQ_OP_ZONE_RESET_ALL handling
  block: Remove REQ_OP_ZONE_RESET plugging
  f2fs: stop GC when the victim becomes fully valid
  f2fs: expose main_blkaddr in sysfs
  f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()
  f2fs: Fix deadlock in f2fs_gc() context during atomic files handling
  f2fs: show f2fs instance in printk_ratelimited
  f2fs: fix potential overflow
  f2fs: fix to update dir's i_pino during cross_rename
  f2fs: support aligned pinned file
  f2fs: avoid kernel panic on corruption test
  f2fs: fix wrong description in document
  f2fs: cache global IPU bio
  f2fs: fix to avoid memory leakage in f2fs_listxattr
  f2fs: check total_segments from devices in raw_super
  f2fs: update multi-dev metadata in resize_fs
  f2fs: mark recovery flag correctly in read_raw_super_block()
  f2fs: fix to update time in lazytime mode

Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
	Documentation/devicetree/bindings/net/snps,dwmac.yaml
	Documentation/devicetree/bindings/reset/brcm,brcmstb-reset.txt
	Documentation/devicetree/bindings/sound/mt8183-mt6358-ts3a227-max98357.txt
	Makefile
	block/keyslot-manager.c
	drivers/clk/qcom/clk-rcg2.c
	drivers/cpufreq/cpufreq.c
	drivers/gpu/drm/drm_connector.c
	drivers/hid/hid-quirks.c
	drivers/iommu/Makefile
	drivers/iommu/arm-smmu.c
	drivers/iommu/iova.c
	drivers/md/Kconfig
	drivers/md/dm.c
	drivers/scsi/ufs/ufs.h
	drivers/scsi/ufs/ufs_quirks.h
	drivers/scsi/ufs/ufshcd-crypto.c
	drivers/scsi/ufs/unipro.h
	drivers/staging/android/ion/heaps/Kconfig
	drivers/staging/android/ion/heaps/Makefile
	drivers/tty/serial/Kconfig
	drivers/usb/dwc3/gadget.c
	fs/crypto/keyring.c
	fs/crypto/keysetup.c
	include/linux/keyslot-manager.h
	include/linux/perf_event.h
	kernel/sched/fair.c
	kernel/sched/rt.c

Added change 552546366a ("hugetlbfs: hugetlb_fault_mutex_hash()
cleanup") to fix build errors against mm/hugetlb.c

Extra updated files to fit properly imported content
into downstream:

	arch/arm64/configs/vendor/genericarmv8-64_defconfig
	arch/arm64/configs/vendor/lahaina_QGKI.config
	arch/arm64/configs/vendor/lahaina_debug.config
	drivers/android/binderfs.c
	drivers/regulator/core.c
	drivers/scsi/ufs/ufshcd-qti.c
	drivers/staging/android/ion/heaps/ion_carveout_heap.c
	drivers/staging/android/ion/heaps/msm_ion.c
	drivers/usb/dwc3/host.c
	drivers/scsi/ufs/ufshcd-crypto-qti.c
	fs/hugetlbfs/inode.c
	gen_headers_arm.bp
	gen_headers_arm64.bp
	include/linux/cpufreq.h
	include/linux/hugetlb.h
	include/uapi/linux/msm_ion.h
	include/uapi/linux/msm_ion_ids.h
	kernel/sched/cpufreq_schedutil.c
	kernel/sched/fair.c
	mm/hugetlb.c
	mm/userfaultfd.c

Change-Id: I22295df9d7bca3fc7be9587e893cdd59128cc528
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2020-04-14 08:25:29 -07:00
Greg Kroah-Hartman
835bd1de9c This is the 5.4.22 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl5TfSAACgkQONu9yGCS
 aT4I8w//SU+w9Tj8Crpt1BI7Lk2AiTGvyZtX0wGd53vzFKGy+Wi1Oba1ybB+xyYw
 UgMJJpoOgp9gTatRgjDl0vO/7U7vZckigPpog3pSW+xq2JW0kTWGS2z04hUjWKkG
 W4l3sAGwHRv7MTBbpjECDSHv+6x6ZqlWcVodpkHqLNmGxR0mYuiB6Zu8QuCu1bl0
 K0SAlt+yd0laUt2bU3wpEqBwGXHepz+IqsqcYp78sAeytT8ds9ZfPxKv98CvLlXs
 VLVr87UqZy3Hkl6IWKGrmdhWbTZE+3AyjKnxlA8PovA0ET5xO/IFPLHVhVX+or+5
 UFp/1qvacr+EIu8CKvftc2n1CflaRXIn/QNpwdemh94mi/2TqiXiqAUu1EiW56vg
 /PUH8G72Q26AiWSmD3WRr09ohTu4hfz6fIDKV60qmdVe4AUffLw0SnBEE0VFA3/S
 lVKZeXKkePeMlHcTyRDQ6+/y49yjfq2exdrjetypOwRa1emHxj/YsfdnEWYfwT53
 sikMLjP4XA7v5rsDr9LJTwQL/V/7euu1Hr3lSGpRv8vmePprvfmivTLcY5tgvOTC
 GZ51Em+CxJ+W4vCJKHuM7i0nUvf2Knn5lBidq4KsvLRUuZ31mSXSfSn4bW6Gl/Jm
 RZPDC71MqT/FMtfuQLlVNqIw2umC1buNa5SwZ8GhJG6za4gU4FU=
 =L+e0
 -----END PGP SIGNATURE-----

Merge 5.4.22 into android-5.4

Changes in 5.4.22
	core: Don't skip generic XDP program execution for cloned SKBs
	enic: prevent waking up stopped tx queues over watchdog reset
	net/smc: fix leak of kernel memory to user space
	net: dsa: tag_qca: Make sure there is headroom for tag
	net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
	net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
	drm/gma500: Fixup fbdev stolen size usage evaluation
	ath10k: Fix qmi init error handling
	wil6210: fix break that is never reached because of zero'ing of a retry counter
	drm/qxl: Complete exception handling in qxl_device_init()
	rcu/nocb: Fix dump_tree hierarchy print always active
	rcu: Fix missed wakeup of exp_wq waiters
	rcu: Fix data-race due to atomic_t copy-by-value
	f2fs: preallocate DIO blocks when forcing buffered_io
	f2fs: call f2fs_balance_fs outside of locked page
	media: meson: add missing allocation failure check on new_buf
	clk: meson: pll: Fix by 0 division in __pll_params_to_rate()
	cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
	brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev()
	brcmfmac: Fix use after free in brcmf_sdio_readframes()
	PCI: Fix pci_add_dma_alias() bitmask size
	drm/amd/display: Map ODM memory correctly when doing ODM combine
	leds: pca963x: Fix open-drain initialization
	ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT
	ALSA: ctl: allow TLV read operation for callback type of element in locked case
	gianfar: Fix TX timestamping with a stacked DSA driver
	pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
	printk: fix exclusive_console replaying
	drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank()
	drm/msm/adreno: fix zap vs no-zap handling
	pxa168fb: Fix the function used to release some memory in an error handling path
	media: ov5640: Fix check for PLL1 exceeding max allowed rate
	media: i2c: mt9v032: fix enum mbus codes and frame sizes
	media: sun4i-csi: Deal with DRAM offset
	media: sun4i-csi: Fix data sampling polarity handling
	media: sun4i-csi: Fix [HV]sync polarity handling
	clk: at91: sam9x60: fix programmable clock prescaler
	powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
	clk: meson: meson8b: make the CCF use the glitch-free mali mux
	gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
	iommu/vt-d: Fix off-by-one in PASID allocation
	x86/fpu: Deactivate FPU state after failure during state load
	char/random: silence a lockdep splat with printk()
	media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run()
	kernel/module: Fix memleak in module_add_modinfo_attrs()
	IB/core: Let IB core distribute cache update events
	pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
	efi/x86: Map the entire EFI vendor string before copying it
	MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
	sparc: Add .exit.data section.
	net: ethernet: ixp4xx: Standard module init
	raid6/test: fix a compilation error
	uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()
	drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov
	spi: fsl-lpspi: fix only one cs-gpio working
	drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst
	usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe()
	usb: dwc2: Fix IN FIFO allocation
	clocksource/drivers/bcm2835_timer: Fix memory leak of timer
	drm/amd/display: Clear state after exiting fixed active VRR state
	kselftest: Minimise dependency of get_size on C library interfaces
	jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal
	ext4: fix deadlock allocating bio_post_read_ctx from mempool
	clk: ti: dra7: fix parent for gmac_clkctrl
	x86/sysfb: Fix check for bad VRAM size
	pwm: omap-dmtimer: Simplify error handling
	udf: Allow writing to 'Rewritable' partitions
	dmaengine: fsl-qdma: fix duplicated argument to &&
	wan/hdlc_x25: fix skb handling
	s390/pci: Fix possible deadlock in recover_store()
	powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov()
	tracing: Fix tracing_stat return values in error handling paths
	tracing: Fix very unlikely race of registering two stat tracers
	ARM: 8952/1: Disable kmemleak on XIP kernels
	ext4, jbd2: ensure panic when aborting with zero errno
	ath10k: Correct the DMA direction for management tx buffers
	rtw88: fix rate mask for 1SS chip
	brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362
	selftests: settings: tests can be in subsubdirs
	rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
	drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero
	tracing: Simplify assignment parsing for hist triggers
	nbd: add a flush_workqueue in nbd_start_device
	KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups
	Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker
	drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store
	block, bfq: do not plug I/O for bfq_queues with no proc refs
	kconfig: fix broken dependency in randconfig-generated .config
	clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq()
	clk: qcom: rcg2: Don't crash if our parent can't be found; return an error
	drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode
	bpf, sockhash: Synchronize_rcu before free'ing map
	drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table
	ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start
	drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG
	drm/panel: simple: Add Logic PD Type 28 display support
	arm64: dts: rockchip: Fix NanoPC-T4 cooling maps
	modules: lockdep: Suppress suspicious RCU usage warning
	ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's
	ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682
	regulator: rk808: Lower log level on optional GPIOs being not available
	net/wan/fsl_ucc_hdlc: reject muram offsets above 64K
	NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu().
	arm64: dts: allwinner: H6: Add PMU mode
	arm64: dts: allwinner: H5: Add PMU node
	arm: dts: allwinner: H3: Add PMU node
	opp: Free static OPPs on errors while adding them
	selinux: ensure we cleanup the internal AVC counters on error in avc_insert()
	arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core
	padata: validate cpumask without removed CPU during offline
	clk: imx: Add correct failure handling for clk based helpers
	ARM: exynos_defconfig: Bring back explicitly wanted options
	ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3
	ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed
	bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO
	PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in
	media: cx23885: Add support for AVerMedia CE310B
	PCI: Add generic quirk for increasing D3hot delay
	PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers
	Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace"
	gpu/drm: ingenic: Avoid null pointer deference in plane atomic update
	selftests/net: make so_txtime more robust to timer variance
	media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros
	reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
	samples/bpf: Set -fno-stack-protector when building BPF programs
	r8169: check that Realtek PHY driver module is loaded
	fore200e: Fix incorrect checks of NULL pointer dereference
	netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy
	ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status
	PCI: Add nr_devfns parameter to pci_add_dma_alias()
	PCI: Add DMA alias quirk for PLX PEX NTB
	b43legacy: Fix -Wcast-function-type
	ipw2x00: Fix -Wcast-function-type
	iwlegacy: Fix -Wcast-function-type
	rtlwifi: rtl_pci: Fix -Wcast-function-type
	orinoco: avoid assertion in case of NULL pointer
	drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV
	clk: qcom: smd: Add missing bimc clock
	ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
	nfsd: Clone should commit src file metadata too
	scsi: ufs: Complete pending requests in host reset and restore path
	scsi: aic7xxx: Adjust indentation in ahc_find_syncrate
	crypto: inside-secure - add unspecified HAS_IOMEM dependency
	drm/mediatek: handle events when enabling/disabling crtc
	clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks
	ARM: dts: r8a7779: Add device node for ARM global timer
	selinux: ensure we cleanup the internal AVC counters on error in avc_update()
	scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration
	arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk
	iommu/amd: Check feature support bit before accessing MSI capability registers
	iommu/amd: Only support x2APIC with IVHD type 11h/40h
	iommu/iova: Silence warnings under memory pressure
	clk: actually call the clock init before any other callback of the clock
	dmaengine: Store module owner in dma_device struct
	dmaengine: imx-sdma: Fix memory leak
	bpf: Print error message for bpftool cgroup show
	net: phy: realtek: add logging for the RGMII TX delay configuration
	crypto: chtls - Fixed memory leak
	x86/vdso: Provide missing include file
	PM / devfreq: exynos-ppmu: Fix excessive stack usage
	PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency
	drm/fbdev: Fallback to non tiled mode if all tiles not present
	pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
	reset: uniphier: Add SCSSI reset control for each channel
	ASoC: soc-topology: fix endianness issues
	fbdev: fix numbering of fbcon options
	RDMA/rxe: Fix error type of mmap_offset
	clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock
	ALSA: sh: Fix unused variable warnings
	clk: Use parent node pointer during registration if necessary
	clk: uniphier: Add SCSSI clock gate for each channel
	ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too
	ALSA: sh: Fix compile warning wrt const
	net: phy: fixed_phy: fix use-after-free when checking link GPIO
	tools lib api fs: Fix gcc9 stringop-truncation compilation error
	vfio/spapr/nvlink2: Skip unpinning pages on error exit
	ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one.
	ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch
	iommu/vt-d: Match CPU and IOMMU paging mode
	iommu/vt-d: Avoid sending invalid page response
	drm/amdkfd: Fix permissions of hang_hws
	mlx5: work around high stack usage with gcc
	RDMA/hns: Avoid printing address of mtt page
	drm: remove the newline for CRC source name.
	usb: dwc3: use proper initializers for property entries
	ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco
	usbip: Fix unsafe unaligned pointer usage
	udf: Fix free space reporting for metadata and virtual partitions
	drm/mediatek: Add gamma property according to hardware capability
	staging: rtl8188: avoid excessive stack usage
	IB/hfi1: Add software counter for ctxt0 seq drop
	IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats
	soc/tegra: fuse: Correct straps' address for older Tegra124 device trees
	efi/x86: Don't panic or BUG() on non-critical error conditions
	rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls
	Input: edt-ft5x06 - work around first register access error
	bnxt: Detach page from page pool before sending up the stack
	x86/nmi: Remove irq_work from the long duration NMI handler
	wan: ixp4xx_hss: fix compile-testing on 64-bit
	clocksource: davinci: only enable clockevents once tim34 is initialized
	arm64: dts: rockchip: fix dwmmc clock name for px30
	arm64: dts: rockchip: add reg property to brcmf sub-nodes
	ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc
	ALSA: usb-audio: Add boot quirk for MOTU M Series
	ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m
	raid6/test: fix a compilation warning
	tty: synclinkmp: Adjust indentation in several functions
	tty: synclink_gt: Adjust indentation in several functions
	misc: xilinx_sdfec: fix xsdfec_poll()'s return type
	visorbus: fix uninitialized variable access
	driver core: platform: Prevent resouce overflow from causing infinite loops
	driver core: Print device when resources present in really_probe()
	ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare
	bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map
	vme: bridges: reduce stack usage
	drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new()
	drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw
	drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
	drm/nouveau/drm/ttm: Remove set but not used variable 'mem'
	drm/nouveau/fault/gv100-: fix memory leak on module unload
	dm thin: don't allow changing data device during thin-pool reload
	gpiolib: Set lockdep class for hierarchical irq domains
	drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add
	perf/imx_ddr: Fix cpu hotplug state cleanup
	usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue
	kbuild: remove *.tmp file when filechk fails
	iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
	ALSA: usb-audio: unlock on error in probe
	f2fs: set I_LINKABLE early to avoid wrong access by vfs
	f2fs: free sysfs kobject
	scsi: ufs: pass device information to apply_dev_quirks
	scsi: ufs-mediatek: add apply_dev_quirks variant operation
	scsi: iscsi: Don't destroy session if there are outstanding connections
	crypto: essiv - fix AEAD capitalization and preposition use in help text
	ALSA: usb-audio: add implicit fb quirk for MOTU M Series
	RDMA/mlx5: Don't fake udata for kernel path
	arm64: lse: fix LSE atomics with LLVM's integrated assembler
	arm64: fix alternatives with LLVM's integrated assembler
	drm/amd/display: fixup DML dependencies
	EDAC/sifive: Fix return value check in ecc_register()
	KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt'
	arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu
	sched/core: Fix size of rq::uclamp initialization
	sched/topology: Assert non-NUMA topology masks don't (partially) overlap
	perf/x86/amd: Constrain Large Increment per Cycle events
	watchdog/softlockup: Enforce that timestamp is valid on boot
	debugobjects: Fix various data races
	ASoC: SOF: Intel: hda: Fix SKL dai count
	regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage
	f2fs: fix memleak of kobject
	x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
	pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional
	cmd64x: potential buffer overflow in cmd64x_program_timings()
	ide: serverworks: potential overflow in svwks_set_pio_mode()
	pwm: Remove set but not set variable 'pwm'
	btrfs: fix possible NULL-pointer dereference in integrity checks
	btrfs: safely advance counter when looking up bio csums
	btrfs: device stats, log when stats are zeroed
	module: avoid setting info->name early in case we can fall back to info->mod->name
	remoteproc: Initialize rproc_class before use
	regulator: core: Fix exported symbols to the exported GPL version
	irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems
	ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
	spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations
	kbuild: use -S instead of -E for precise cc-option test in Kconfig
	objtool: Fix ARCH=x86_64 build error
	x86/decoder: Add TEST opcode to Group3-2
	s390: adjust -mpacked-stack support check for clang 10
	s390/ftrace: generate traced function stack frame
	driver core: platform: fix u32 greater or equal to zero comparison
	bpf, btf: Always output invariant hit in pahole DWARF to BTF transform
	ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
	sunrpc: Fix potential leaks in sunrpc_cache_unhash()
	drm/nouveau/mmu: fix comptag memory leak
	powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
	media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value
	btrfs: separate definition of assertion failure handlers
	btrfs: Fix split-brain handling when changing FSID to metadata uuid
	bcache: cached_dev_free needs to put the sb page
	bcache: rework error unwinding in register_bcache
	bcache: fix use-after-free in register_bcache()
	iommu/vt-d: Remove unnecessary WARN_ON_ONCE()
	alarmtimer: Make alarmtimer platform device child of RTC device
	selftests: bpf: Reset global state between reuseport test runs
	jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record
	jbd2: make sure ESHUTDOWN to be recorded in the journal superblock
	powerpc/pseries/lparcfg: Fix display of Maximum Memory
	selftests/eeh: Bump EEH wait time to 60s
	ARM: 8951/1: Fix Kexec compilation issue.
	ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82
	hostap: Adjust indentation in prism2_hostapd_add_sta
	rtw88: fix potential NULL skb access in TX ISR
	iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
	cifs: fix unitialized variable poential problem with network I/O cache lock patch
	cifs: Fix mount options set in automount
	cifs: fix NULL dereference in match_prepath
	bpf: map_seq_next should always increase position index
	powerpc/mm: Don't log user reads to 0xffffffff
	ceph: check availability of mds cluster on mount after wait timeout
	rbd: work around -Wuninitialized warning
	drm/amd/display: do not allocate display_mode_lib unnecessarily
	irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
	drm/nouveau/disp/nv50-: prevent oops when no channel method map provided
	char: hpet: Fix out-of-bounds read bug
	ftrace: fpid_next() should increase position index
	trigger_next should increase position index
	radeon: insert 10ms sleep in dce5_crtc_load_lut
	powerpc: Do not consider weak unresolved symbol relocations as bad
	btrfs: do not do delalloc reservation under page lock
	ocfs2: make local header paths relative to C files
	ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
	lib/scatterlist.c: adjust indentation in __sg_alloc_table
	reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
	bcache: fix memory corruption in bch_cache_accounting_clear()
	bcache: explicity type cast in bset_bkey_last()
	bcache: fix incorrect data type usage in btree_flush_write()
	irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
	nvmet: Pass lockdep expression to RCU lists
	nvme-pci: remove nvmeq->tags
	iwlwifi: mvm: Fix thermal zone registration
	iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta()
	asm-generic/tlb: add missing CONFIG symbol
	microblaze: Prevent the overflow of the start
	brd: check and limit max_part par
	drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency
	drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage
	NFS: Fix memory leaks
	help_next should increase position index
	i40e: Relax i40e_xsk_wakeup's return value when PF is busy
	cifs: log warning message (once) if out of disk space
	virtio_balloon: prevent pfn array overflow
	fuse: don't overflow LLONG_MAX with end offset
	mlxsw: spectrum_dpipe: Add missing error path
	s390/pci: Recover handle in clp_set_pci_fn()
	drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2)
	bcache: properly initialize 'path' and 'err' in register_bcache()
	rtc: Kconfig: select REGMAP_I2C when necessary
	Linux 5.4.22

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iaeb3945493ecc81a0ae90ef87b19ceb2caf48164
2020-02-24 09:16:10 +01:00
Valentin Schneider
f2323c374e sched/topology: Assert non-NUMA topology masks don't (partially) overlap
[ Upstream commit ccf74128d66ce937876184ad55db2e0276af08d3 ]

topology.c::get_group() relies on the assumption that non-NUMA domains do
not partially overlap. Zeng Tao pointed out in [1] that such topology
descriptions, while completely bogus, can end up being exposed to the
scheduler.

In his example (8 CPUs, 2-node system), we end up with:
  MC span for CPU3 == 3-7
  MC span for CPU4 == 4-7

The first pass through get_group(3, sdd@MC) will result in the following
sched_group list:

  3 -> 4 -> 5 -> 6 -> 7
  ^                  /
   `----------------'

And a later pass through get_group(4, sdd@MC) will "corrupt" that to:

  3 -> 4 -> 5 -> 6 -> 7
       ^             /
	`-----------'

which will completely break things like 'while (sg != sd->groups)' when
using CPU3's base sched_domain.

There already are some architecture-specific checks in place such as
x86/kernel/smpboot.c::topology.sane(), but this is something we can detect
in the core scheduler, so it seems worthwhile to do so.

Warn and abort the construction of the sched domains if such a broken
topology description is detected. Note that this is somewhat
expensive (O(t.c²), 't' non-NUMA topology levels and 'c' CPUs) and could be
gated under SCHED_DEBUG if deemed necessary.

Testing
=======

Dietmar managed to reproduce this using the following qemu incantation:

  $ qemu-system-aarch64 -kernel ./Image -hda ./qemu-image-aarch64.img \
  -append 'root=/dev/vda console=ttyAMA0 loglevel=8 sched_debug' -smp \
  cores=8 --nographic -m 512 -cpu cortex-a53 -machine virt -numa \
  node,cpus=0-2,nodeid=0 -numa node,cpus=3-7,nodeid=1

alongside the following drivers/base/arch_topology.c hack (AIUI wouldn't be
needed if '-smp cores=X, sockets=Y' would work with qemu):

8<---
@@ -465,6 +465,9 @@ void update_siblings_masks(unsigned int cpuid)
 		if (cpuid_topo->package_id != cpu_topo->package_id)
 			continue;

+		if ((cpu < 4 && cpuid > 3) || (cpu > 3 && cpuid < 4))
+			continue;
+
 		cpumask_set_cpu(cpuid, &cpu_topo->core_sibling);
 		cpumask_set_cpu(cpu, &cpuid_topo->core_sibling);

8<---

[1]: https://lkml.kernel.org/r/1577088979-8545-1-git-send-email-prime.zeng@hisilicon.com

Reported-by: Zeng Tao <prime.zeng@hisilicon.com>
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200115160915.22575-1-valentin.schneider@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-24 08:36:52 +01:00
Morten Rasmussen
8aa7b34bad UPSTREAM: sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems
SD_BALANCE_WAKE was previously added to lower sched_domain levels on
asymmetric CPU capacity systems by commit:

  9ee1cda5ee ("sched/core: Enable SD_BALANCE_WAKE for asymmetric capacity systems")

to enable the use of find_idlest_cpu() and friends to find an appropriate
CPU for tasks.

That responsibility has now been shifted to select_idle_sibling() and
friends, and hence the flag can be removed. Note that this causes
asymmetric CPU capacity systems to no longer enter the slow wakeup path
(find_idlest_cpu()) on wakeups - only on execs and forks (which is aligned
with all other mainline topologies).

Bug: 120440300
Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
[Changelog tweaks]
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Quentin Perret <qperret@google.com>
Link: https://lkml.kernel.org/r/20200206191957.12325-3-valentin.schneider@arm.com
(cherry picked from commit 38c6e4963b509c47c33539534b84195558c0376d)
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Change-Id: I73ec387cdca6df6897a9d1c84a1dd13dad786f76
2020-02-20 11:32:27 +00:00
Satya Durga Srinivasu Prabhala
37cdece0de sched: Support Energy Aware Scheduling irrespective of governor
This reverts commit 1e6b1214f107503 ("FROMLIST: sched/topology:
Make Energy Aware Scheduling depend on schedutil").
Right now, EAS gets disabled when governor set to anything other
than schedutil which affects scheduling decisions. To make sure
we always get better scheduling decions, EAS needs to be supported
irrespective of the governor.

Change-Id: I788faaacd477b3ff93ea9787c18a1235c8c3eb0b
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
[shalagra@codeaurora.org: Fixed merge conflicts in port to 5.x]
Signed-off-by: Shaleen Agrawal <shalagra@codeaurora.org>
2019-12-17 13:00:39 -08:00
Pavankumar Kondeti
408e740773 sched: use the CPU true capacity while sorting the min/mid/max CPUs
The current code uses the rq->cpu_capacity_orig while sorting
the min/mid/max CPUs while rebuilding the scheduler domains. This
rq->cpu_capacity_orig is subjected to changed when the scaling max
frequency is clipped for that CPU's frequency domain. Since we don't
recompute the min/mid/max CPUs when the capacity is changed, the
sorting becomes incorrect later when the frequency limits are lifted.

The task CPU selection algorithm depends heavily on min/mid/max CPUs
and changing them on the fly results in incorrect task placement.
Hence use the true capacity of CPUs while sorting the min/mid/max
CPUs. This means that the sorting gets changed only when CPUs are
hotplugged out, otherwise these reflect the correct topology
all the time.

The max_cpu_capacity struct in root domain also maintains the
max CPU and its capacity. Since we now use true capacity, there
is no need to compute this on the fly. So move this evaluation from
the periodic load balancer to the scheduler domain rebuilding.

The rq->cpu_capacity_orig is still subjected to change upon frequency
or thermal limits. So we still identify the cases where tasks not
fitting on the max/mid CPUs when the capacity is reduced.

Change-Id: I42735accd079b2ece1eb58d1ebcf322d454e33a2
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: trivial changes to arch_scale_cpu_capacity()]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2019-12-10 12:51:11 -08:00
Thara Gopinath
de785069ec ANDROID: sched: Per-Sched-domain over utilization
The current implementation of overutilization, aborts energy aware
scheduling if any cpu in the system is over-utilized. This patch introduces
over utilization flag per sched domain level instead of a single flag
system wide. Load balancing is done at the sched domain where any
of the cpu is over utilized. If energy aware scheduling is
enabled and no cpu in a sched domain is overuttilized,
load balancing is skipped for that sched domain and energy aware
scheduling continues at that level.

The implementation takes advantage of the shared sched_domain structure
that is common across all the sched domains at a level. The new flag
introduced is placed in this structure so that all the sched domains the
same level share the flag. In case of an overutilized cpu, the flag gets
set at level1 sched_domain. The flag at the parent sched_domain level gets
set in either of the two following scenarios.
 1. There is a misfit task in one of the cpu's in this sched_domain.
 2. The total utilization of the domain is greater than the domain capacity

The flag is cleared if no cpu in a sched domain is overutilized.

This implementation still can have corner scenarios with respect to
misfit tasks. For example consider a sched group with n cpus and
n+1 70%utilized tasks. Ideally this is a case for load balance to happen
in a parent sched domain. But neither the total group utilization is
high enough for the load balance to be triggered in the parent domain nor
there is a cpu with a single overutilized task so that aload balance is
triggered in a parent domain. But again this could be a purely academic
sceanrio, as during task wake up these tasks will be placed
more appropriately.

Signed-off-by: Thara Gopinath <thara.gopinath@linaro.org>
Change-Id: I3f327cff4080096a3e58208dd72c9b7f7913cdb2
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Git-commit: addef37808728c719d8c095a75bcf81befdacdaf
Git-repo: https://android.googlesource.com/kernel/common/
[clingutla@codeaurora.org: Resolved trivial merge conflicts]
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
[satyap@codeaurora.org: port to 5.x and resolve trivial merge conflicts]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2019-12-10 12:50:35 -08:00
Satya Durga Srinivasu Prabhala
fb1332306e sched/fair: Add snapshot of placement changes
This snapshot is taken from msm-4.19 as of commit 22d004c08a27
("sched/fair: Improve the scheduler").

Change-Id: I8fc95a4a4650de0dc36bd979d374b9335f6af774
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2019-12-10 12:45:41 -08:00
Satya Durga Srinivasu Prabhala
201ea48219 kernel: Add snapshot of changes to support cpu isolation
This snapshot is taken from msm-4.19 as of commit 5debecbe7195
("trace: filter out spurious preemption and IRQs disable traces").

Change-Id: I222aa448ac68f7365065f62dba9db94925da38a0
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2019-12-10 12:42:32 -08:00
Pavankumar Kondeti
bf868a6f04 sched/topology: Enable EAS on SMP systems also
Currently EAS gets disabled when the system has only symmetric CPUs.
For example, either the system is SMP or all big or little CPUs are
hotplugged out on a b.L system. EAS features are required for better
power and performance on systems with symmetric CPUs. So don't disable
EAS on symmetric systems. This is done by assigning sd_asym_cpucapacity
per-cpu pointer to the only available sched domain.

Change-Id: If08a162f652a6a73884481ebc60e940373dbf9e2
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
2019-12-04 16:27:56 -08:00
Greg Kroah-Hartman
2a71bdee3f Linux 5.4-rc6
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAl2/T6oeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGB7kH/2asrl7RylHPQfsI
 pkjPPq32MHLq6Zmr8y0N0hyJCm1Dxu8qCIktqrEV5vsbKdv5pb8EMdQRlhJUtR8e
 TZdYDGHiL0sFb2HYiEvL0qD9BNeI+Kftw/kUffVXRzyMWex/f5S6mW5QNTuv9SQT
 Zfa+sXreFPCCyd3jhQFRyguogaCXBmTYvO6glmc96Yi4nA1URtIxNXhXumoklElF
 8Ka7UqtoJk2nPns+oV9I5xohghgJHHjA3A96WURku1UdO9dRoHiyS05RjnijBxsk
 ffenk09qbGvnvvgP93Q23CoTO8ndIm12ZL8C9jX49CS21j5SVG0PLPhS08f70vEf
 h5K/OtE=
 =nmDP
 -----END PGP SIGNATURE-----

Merge 5.4-rc6 into android-mainline

Linux 5.4-rc6

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I211f7159a46cf2a3dbb18afe56777cae1c13ac73
2019-11-04 06:51:47 +01:00
Valentin Schneider
e284df705c sched/topology: Allow sched_asym_cpucapacity to be disabled
While the static key is correctly initialized as being disabled, it will
remain forever enabled once turned on. This means that if we start with an
asymmetric system and hotplug out enough CPUs to end up with an SMP system,
the static key will remain set - which is obviously wrong. We should detect
this and turn off things like misfit migration and capacity aware wakeups.

As Quentin pointed out, having separate root domains makes this slightly
trickier. We could have exclusive cpusets that create an SMP island - IOW,
the domains within this root domain will not see any asymmetry. This means
we can't just disable the key on domain destruction, we need to count how
many asymmetric root domains we have.

Consider the following example using Juno r0 which is 2+4 big.LITTLE, where
two identical cpusets are created: they both span both big and LITTLE CPUs:

    asym0    asym1
  [       ][       ]
   L  L  B  L  L  B

  $ cgcreate -g cpuset:asym0
  $ cgset -r cpuset.cpus=0,1,3 asym0
  $ cgset -r cpuset.mems=0 asym0
  $ cgset -r cpuset.cpu_exclusive=1 asym0

  $ cgcreate -g cpuset:asym1
  $ cgset -r cpuset.cpus=2,4,5 asym1
  $ cgset -r cpuset.mems=0 asym1
  $ cgset -r cpuset.cpu_exclusive=1 asym1

  $ cgset -r cpuset.sched_load_balance=0 .

(the CPU numbering may look odd because on the Juno LITTLEs are CPUs 0,3-5
and bigs are CPUs 1-2)

If we make one of those SMP (IOW remove asymmetry) by e.g. hotplugging its
big core, we would end up with an SMP cpuset and an asymmetric cpuset - the
static key must remain set, because we still have one asymmetric root domain.

With the above example, this could be done with:

  $ echo 0 > /sys/devices/system/cpu/cpu2/online

Which would result in:

    asym0   asym1
  [       ][    ]
   L  L  B  L  L

When both SMP and asymmetric cpusets are present, all CPUs will observe
sched_asym_cpucapacity being set (it is system-wide), but not all CPUs
observe asymmetry in their sched domain hierarchy:

  per_cpu(sd_asym_cpucapacity, <any CPU in asym0>) == <some SD at DIE level>
  per_cpu(sd_asym_cpucapacity, <any CPU in asym1>) == NULL

Change the simple key enablement to an increment, and decrement the key
counter when destroying domains that cover asymmetric CPUs.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Cc: Dietmar.Eggemann@arm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: hannes@cmpxchg.org
Cc: lizefan@huawei.com
Cc: morten.rasmussen@arm.com
Cc: qperret@google.com
Cc: tj@kernel.org
Cc: vincent.guittot@linaro.org
Fixes: df054e8445 ("sched/topology: Add static_key for asymmetric CPU capacity optimizations")
Link: https://lkml.kernel.org/r/20191023153745.19515-3-valentin.schneider@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-10-29 09:58:46 +01:00
Valentin Schneider
cd1cb33505 sched/topology: Don't try to build empty sched domains
Turns out hotplugging CPUs that are in exclusive cpusets can lead to the
cpuset code feeding empty cpumasks to the sched domain rebuild machinery.

This leads to the following splat:

    Internal error: Oops: 96000004 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 0 PID: 235 Comm: kworker/5:2 Not tainted 5.4.0-rc1-00005-g8d495477d62e #23
    Hardware name: ARM Juno development board (r0) (DT)
    Workqueue: events cpuset_hotplug_workfn
    pstate: 60000005 (nZCv daif -PAN -UAO)
    pc : build_sched_domains (./include/linux/arch_topology.h:23 kernel/sched/topology.c:1898 kernel/sched/topology.c:1969)
    lr : build_sched_domains (kernel/sched/topology.c:1966)
    Call trace:
    build_sched_domains (./include/linux/arch_topology.h:23 kernel/sched/topology.c:1898 kernel/sched/topology.c:1969)
    partition_sched_domains_locked (kernel/sched/topology.c:2250)
    rebuild_sched_domains_locked (./include/linux/bitmap.h:370 ./include/linux/cpumask.h:538 kernel/cgroup/cpuset.c:955 kernel/cgroup/cpuset.c:978 kernel/cgroup/cpuset.c:1019)
    rebuild_sched_domains (kernel/cgroup/cpuset.c:1032)
    cpuset_hotplug_workfn (kernel/cgroup/cpuset.c:3205 (discriminator 2))
    process_one_work (./arch/arm64/include/asm/jump_label.h:21 ./include/linux/jump_label.h:200 ./include/trace/events/workqueue.h:114 kernel/workqueue.c:2274)
    worker_thread (./include/linux/compiler.h:199 ./include/linux/list.h:268 kernel/workqueue.c:2416)
    kthread (kernel/kthread.c:255)
    ret_from_fork (arch/arm64/kernel/entry.S:1167)
    Code: f860dae2 912802d6 aa1603e1 12800000 (f8616853)

The faulty line in question is:

  cap = arch_scale_cpu_capacity(cpumask_first(cpu_map));

and we're not checking the return value against nr_cpu_ids (we shouldn't
have to!), which leads to the above.

Prevent generate_sched_domains() from returning empty cpumasks, and add
some assertion in build_sched_domains() to scream bloody murder if it
happens again.

The above splat was obtained on my Juno r0 with the following reproducer:

  $ cgcreate -g cpuset:asym
  $ cgset -r cpuset.cpus=0-3 asym
  $ cgset -r cpuset.mems=0 asym
  $ cgset -r cpuset.cpu_exclusive=1 asym

  $ cgcreate -g cpuset:smp
  $ cgset -r cpuset.cpus=4-5 smp
  $ cgset -r cpuset.mems=0 smp
  $ cgset -r cpuset.cpu_exclusive=1 smp

  $ cgset -r cpuset.sched_load_balance=0 .

  $ echo 0 > /sys/devices/system/cpu/cpu4/online
  $ echo 0 > /sys/devices/system/cpu/cpu5/online

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Dietmar.Eggemann@arm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: hannes@cmpxchg.org
Cc: lizefan@huawei.com
Cc: morten.rasmussen@arm.com
Cc: qperret@google.com
Cc: tj@kernel.org
Cc: vincent.guittot@linaro.org
Fixes: 05484e0984 ("sched/topology: Add SD_ASYM_CPUCAPACITY flag detection")
Link: https://lkml.kernel.org/r/20191023153745.19515-2-valentin.schneider@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-10-29 09:58:45 +01:00
Dietmar Eggemann
24c4437797 ANDROID: sched: Update max cpu capacity in case of max frequency constraints
Wakeup balancing uses cpu capacity awareness and needs to know the
system-wide maximum cpu capacity.

Patch "sched: Store system-wide maximum cpu capacity in root domain"
finds the system-wide maximum cpu capacity during scheduler domain
hierarchy setup. This is sufficient as long as maximum frequency
invariance is not enabled.

If it is enabled, the system-wide maximum cpu capacity can change
between scheduler domain hierarchy setups due to frequency capping.

The cpu capacity is changed in update_cpu_capacity() which is called in
load balance on the lowest scheduler domain hierarchy level. To be able
to know if a change in cpu capacity for a certain cpu also has an effect
on the system-wide maximum cpu capacity it is normally necessary to
iterate over all cpus. This would be way too costly. That's why this
patch follows a different approach.

The unsigned long max_cpu_capacity value in struct root_domain is
replaced with a struct max_cpu_capacity, containing value (the
max_cpu_capacity) and cpu (the cpu index of the cpu providing the
maximum cpu_capacity).

Changes to the system-wide maximum cpu capacity and the cpu index are
made if:

 1 System-wide maximum cpu capacity < cpu capacity
 2 System-wide maximum cpu capacity > cpu capacity and cpu index == cpu

There are no changes to the system-wide maximum cpu capacity in all
other cases.

Atomic read and write access to the pair (max_cpu_capacity.val,
max_cpu_capacity.cpu) is enforced by max_cpu_capacity.lock.

The access to max_cpu_capacity.val in task_fits_max() is still performed
without taking the max_cpu_capacity.lock.

The code to set max cpu capacity in build_sched_domains() has been
removed because the whole functionality is now provided by
update_cpu_capacity() instead.

This approach can introduce errors temporarily, e.g. in case the cpu
currently providing the max cpu capacity has its cpu capacity lowered
due to frequency capping and calls update_cpu_capacity() before any cpu
which might provide the max cpu now.

Change-Id: I5063befab088fbf49e5d5e484ce0c6ee6165283a
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>*
Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
(- Fixed cherry-pick issues, and conflict with a0fe2cf086 "sched/fair:
   Tune down misfit NOHZ kicks" which makes use of max_cpu_capacity
 - Squashed "sched/fair: remove printk while schedule is in progress"
   fix from Caesar Wang <wxt@rock-chips.com>)
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
2019-10-01 10:36:33 +01:00
Matt Fleming
a55c7454a8 sched/topology: Improve load balancing on AMD EPYC systems
SD_BALANCE_{FORK,EXEC} and SD_WAKE_AFFINE are stripped in sd_init()
for any sched domains with a NUMA distance greater than 2 hops
(RECLAIM_DISTANCE). The idea being that it's expensive to balance
across domains that far apart.

However, as is rather unfortunately explained in:

  commit 32e45ff43e ("mm: increase RECLAIM_DISTANCE to 30")

the value for RECLAIM_DISTANCE is based on node distance tables from
2011-era hardware.

Current AMD EPYC machines have the following NUMA node distances:

 node distances:
 node   0   1   2   3   4   5   6   7
   0:  10  16  16  16  32  32  32  32
   1:  16  10  16  16  32  32  32  32
   2:  16  16  10  16  32  32  32  32
   3:  16  16  16  10  32  32  32  32
   4:  32  32  32  32  10  16  16  16
   5:  32  32  32  32  16  10  16  16
   6:  32  32  32  32  16  16  10  16
   7:  32  32  32  32  16  16  16  10

where 2 hops is 32.

The result is that the scheduler fails to load balance properly across
NUMA nodes on different sockets -- 2 hops apart.

For example, pinning 16 busy threads to NUMA nodes 0 (CPUs 0-7) and 4
(CPUs 32-39) like so,

  $ numactl -C 0-7,32-39 ./spinner 16

causes all threads to fork and remain on node 0 until the active
balancer kicks in after a few seconds and forcibly moves some threads
to node 4.

Override node_reclaim_distance for AMD Zen.

Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Suravee.Suthikulpanit@amd.com
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Thomas.Lendacky@amd.com
Cc: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/20190808195301.13222-3-matt@codeblueprint.co.uk
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-09-03 09:17:37 +02:00
Mathieu Poirier
f9a25f776d cpusets: Rebuild root domain deadline accounting information
When the topology of root domains is modified by CPUset or CPUhotplug
operations information about the current deadline bandwidth held in the
root domain is lost.

This patch addresses the issue by recalculating the lost deadline
bandwidth information by circling through the deadline tasks held in
CPUsets and adding their current load to the root domain they are
associated with.

Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Juri Lelli <juri.lelli@redhat.com>
[ Various additional modifications. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: bristot@redhat.com
Cc: claudio@evidence.eu.com
Cc: lizefan@huawei.com
Cc: longman@redhat.com
Cc: luca.abeni@santannapisa.it
Cc: rostedt@goodmis.org
Cc: tj@kernel.org
Cc: tommaso.cucinotta@santannapisa.it
Link: https://lkml.kernel.org/r/20190719140000.31694-4-juri.lelli@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-07-25 15:55:01 +02:00
Mathieu Poirier
c22645f4c8 sched/topology: Add partition_sched_domains_locked()
Introduce the partition_sched_domains_locked() function by taking
the mutex locking code out of the original function.  That way
the work done by partition_sched_domains_locked() can be reused
without dropping the mutex lock.

No change of functionality is introduced by this patch.

Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: bristot@redhat.com
Cc: claudio@evidence.eu.com
Cc: lizefan@huawei.com
Cc: longman@redhat.com
Cc: luca.abeni@santannapisa.it
Cc: rostedt@goodmis.org
Cc: tommaso.cucinotta@santannapisa.it
Link: https://lkml.kernel.org/r/20190719140000.31694-2-juri.lelli@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-07-25 15:51:57 +02:00
Wanpeng Li
e0e8d4911e sched/isolation: Prefer housekeeping CPU in local node
In real product setup, there will be houseeking CPUs in each nodes, it
is prefer to do housekeeping from local node, fallback to global online
cpumask if failed to find houseeking CPU from local node.

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/1561711901-4755-2-git-send-email-wanpengli@tencent.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-07-25 15:51:55 +02:00
Vincent Guittot
8ec59c0f5f sched/topology: Remove unused 'sd' parameter from arch_scale_cpu_capacity()
The 'struct sched_domain *sd' parameter to arch_scale_cpu_capacity() is
unused since commit:

  765d0af19f ("sched/topology: Remove the ::smt_gain field from 'struct sched_domain'")

Remove it.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: gregkh@linuxfoundation.org
Cc: linux@armlinux.org.uk
Cc: quentin.perret@arm.com
Cc: rafael@kernel.org
Link: https://lkml.kernel.org/r/1560783617-5827-1-git-send-email-vincent.guittot@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-06-24 19:23:39 +02:00
Dietmar Eggemann
0e1fef63d9 sched/core: Remove sd->*_idx
The sched domain per rq load index files also disappear from the
/proc/sys/kernel/sched_domain/cpuX/domainY directories.

Signed-off-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Rik van Riel <riel@surriel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>
Cc: Patrick Bellasi <patrick.bellasi@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Quentin Perret <quentin.perret@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>
Link: https://lkml.kernel.org/r/20190527062116.11512-6-dietmar.eggemann@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-06-03 11:49:40 +02:00
Juri Lelli
cb0c04143b sched/topology: Update init_sched_domains() comment
Holding hotplug lock is not a requirement anymore for callers of sched_
init_domains after commit:

  6acce3ef84 ("sched: Remove get_online_cpus() usage")

Update the relative comment preceding init_sched_domains().

Signed-off-by: Juri Lelli <juri.lelli@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: cgroups@vger.kernel.org
Cc: lizefan@huawei.com
Link: http://lkml.kernel.org/r/20181219133445.31982-2-juri.lelli@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-19 19:44:15 +02:00
Valentin Schneider
67d4f6ff2f sched/topology: Skip duplicate group rewrites in build_sched_groups()
While staring at build_sched_domains(), I realized that get_group()
does several duplicate (thus useless) writes.

If you take the Arm Juno r0 (LITTLEs = [0, 3, 4, 5], bigs = [1, 2]), the
sched_group build flow would look like this:

('MC[cpu]->sg' means 'per_cpu_ptr(&tl->data->sg, cpu)' with 'tl == MC')

build_sched_groups(MC[CPU0]->sd, CPU0)
  get_group(0) -> MC[CPU0]->sg
  get_group(3) -> MC[CPU3]->sg
  get_group(4) -> MC[CPU4]->sg
  get_group(5) -> MC[CPU5]->sg

build_sched_groups(DIE[CPU0]->sd, CPU0)
  get_group(0) -> DIE[CPU0]->sg
  get_group(1) -> DIE[CPU1]->sg <=================+
						  |
build_sched_groups(MC[CPU1]->sd, CPU1)            |
  get_group(1) -> MC[CPU1]->sg                    |
  get_group(2) -> MC[CPU2]->sg                    |
						  |
build_sched_groups(DIE[CPU1]->sd, CPU1)           ^
  get_group(1) -> DIE[CPU1]->sg  } We've set up these two up here!
  get_group(3) -> DIE[CPU0]->sg  }

From this point on, we will only use sched_groups that have been
previously visited & initialized. The only new operation will
be which group pointer we affect to sd->groups.

On the Juno r0 we get 32 get_group() calls, every single one of them
writing to a sched_group->cpumask. However, all of the data structures
we need are set up after 8 visits (see above).

Return early from get_group() if we've already visited (and thus
initialized) the sched_group we're looking at. Overlapping domains
are not affected as they do not use build_sched_groups().

Tested on a Juno and a 2 * (Xeon E5-2690) system.

( FWIW I initially checked the refs for both sg && sg->sgc, but figured if
  they weren't both 0 or > 1 then something must have gone wrong, so I
  threw in a WARN_ON(). )

No change in functionality intended.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-10 09:41:34 +02:00
Valentin Schneider
d8743230c9 sched/topology: Fix build_sched_groups() comment
The comment was introduced (pre 2.6.12) by:

  8a7a2318dc07 ("[PATCH] sched: consolidate sched domains")

and referred to sched_group->cpu_power. This was folded into
sched_group->sched_group_power in

  commit 9c3f75cbd1 ("sched: Break out cpu_power from the sched_group structure")

The comment was then updated in:

  ced549fa5f ("sched: Remove remaining dubious usage of "power"")

but should have replaced "sg->cpu_capacity" with
"sg->sched_group_capacity". Do that now.

Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Cc: Dietmar.Eggemann@arm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: morten.rasmussen@arm.com
Cc: qais.yousef@arm.com
Link: http://lkml.kernel.org/r/20190409173546.4747-3-valentin.schneider@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-10 09:41:34 +02:00
Joel Fernandes (Google)
994aeb7a93 sched_domain: Annotate RCU pointers properly
The scheduler uses RCU API in various places to access sched_domain
pointers. These cause sparse errors as below.

Many new errors show up because of an annotation check I added to
rcu_assign_pointer(). Let us annotate the pointers correctly which also
will help sparse catch any potential future bugs.

This fixes the following sparse errors:

  rt.c:1681:9: error: incompatible types in comparison expression
  deadline.c:1904:9: error: incompatible types in comparison expression
  core.c:519:9: error: incompatible types in comparison expression
  core.c:1634:17: error: incompatible types in comparison expression
  fair.c:6193:14: error: incompatible types in comparison expression
  fair.c:9883:22: error: incompatible types in comparison expression
  fair.c:9897:9: error: incompatible types in comparison expression
  sched.h:1287:9: error: incompatible types in comparison expression
  topology.c:612:9: error: incompatible types in comparison expression
  topology.c:615:9: error: incompatible types in comparison expression
  sched.h:1300:9: error: incompatible types in comparison expression
  topology.c:618:9: error: incompatible types in comparison expression
  sched.h:1287:9: error: incompatible types in comparison expression
  topology.c:621:9: error: incompatible types in comparison expression
  sched.h:1300:9: error: incompatible types in comparison expression
  topology.c:624:9: error: incompatible types in comparison expression
  topology.c:671:9: error: incompatible types in comparison expression
  stats.c:45:17: error: incompatible types in comparison expression
  fair.c:5998:15: error: incompatible types in comparison expression
  fair.c:5989:15: error: incompatible types in comparison expression
  fair.c:5998:15: error: incompatible types in comparison expression
  fair.c:5989:15: error: incompatible types in comparison expression
  fair.c:6120:19: error: incompatible types in comparison expression
  fair.c:6506:14: error: incompatible types in comparison expression
  fair.c:6515:14: error: incompatible types in comparison expression
  fair.c:6623:9: error: incompatible types in comparison expression
  fair.c:5970:17: error: incompatible types in comparison expression
  fair.c:8642:21: error: incompatible types in comparison expression
  fair.c:9253:9: error: incompatible types in comparison expression
  fair.c:9331:9: error: incompatible types in comparison expression
  fair.c:9519:15: error: incompatible types in comparison expression
  fair.c:9533:14: error: incompatible types in comparison expression
  fair.c:9542:14: error: incompatible types in comparison expression
  fair.c:9567:14: error: incompatible types in comparison expression
  fair.c:9597:14: error: incompatible types in comparison expression
  fair.c:9421:16: error: incompatible types in comparison expression
  fair.c:9421:16: error: incompatible types in comparison expression

Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
[ From an RCU perspective. ]
Reviewed-by: Paul E. McKenney <paulmck@linux.ibm.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Morten Rasmussen <morten.rasmussen@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: keescook@chromium.org
Cc: kernel-hardening@lists.openwall.com
Cc: kernel-team@android.com
Link: https://lkml.kernel.org/r/20190321003426.160260-3-joel@joelfernandes.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-04-03 12:34:31 +02:00
Linus Torvalds
45802da05e Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
 "The main changes in this cycle were:

   - refcount conversions

   - Solve the rq->leaf_cfs_rq_list can of worms for real.

   - improve power-aware scheduling

   - add sysctl knob for Energy Aware Scheduling

   - documentation updates

   - misc other changes"

* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
  kthread: Do not use TIMER_IRQSAFE
  kthread: Convert worker lock to raw spinlock
  sched/fair: Use non-atomic cpumask_{set,clear}_cpu()
  sched/fair: Remove unused 'sd' parameter from select_idle_smt()
  sched/wait: Use freezable_schedule() when possible
  sched/fair: Prune, fix and simplify the nohz_balancer_kick() comment block
  sched/fair: Explain LLC nohz kick condition
  sched/fair: Simplify nohz_balancer_kick()
  sched/topology: Fix percpu data types in struct sd_data & struct s_data
  sched/fair: Simplify post_init_entity_util_avg() by calling it with a task_struct pointer argument
  sched/fair: Fix O(nr_cgroups) in the load balancing path
  sched/fair: Optimize update_blocked_averages()
  sched/fair: Fix insertion in rq->leaf_cfs_rq_list
  sched/fair: Add tmp_alone_branch assertion
  sched/core: Use READ_ONCE()/WRITE_ONCE() in move_queued_task()/task_rq_lock()
  sched/debug: Initialize sd_sysctl_cpus if !CONFIG_CPUMASK_OFFSTACK
  sched/pelt: Skip updating util_est when utilization is higher than CPU's capacity
  sched/fair: Update scale invariance of PELT
  sched/fair: Move the rq_of() helper function
  sched/core: Convert task_struct.stack_refcount to refcount_t
  ...
2019-03-06 08:14:05 -08:00
Luc Van Oostenryck
99687cdbb3 sched/topology: Fix percpu data types in struct sd_data & struct s_data
The percpu members of struct sd_data and s_data are declared as:

	struct ... ** __percpu member;

So their type is:

	__percpu pointer to pointer to struct ...

But looking at how they're used, their type should be:

	pointer to __percpu pointer to struct ...

and they should thus be declared as:

	struct ... * __percpu *member;

So fix the placement of '__percpu' in the definition of these
structures.

This addresses a bunch of Sparse's warnings like:

	warning: incorrect type in initializer (different address spaces)
	  expected void const [noderef] <asn:3> *__vpp_verify
	  got struct sched_domain **

Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20190118144936.79158-1-luc.vanoostenryck@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-02-11 08:02:15 +01:00
Peter Zijlstra
f8a696f25b sched/core: Give DCE a fighting chance
All that fancy new Energy-Aware scheduling foo is hidden behind a
static_key, which is awesome if you have the stuff enabled in your
config.

However, when you lack all the prerequisites it doesn't make any sense
to pretend we'll ever actually run this, so provide a little more clue
to the compiler so it can more agressively delete the code.

   text    data     bss     dec     hex filename
  50297     976      96   51369    c8a9 defconfig-build/kernel/sched/fair.o
  49227     944      96   50267    c45b defconfig-build/kernel/sched/fair.o

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-01-27 12:29:37 +01:00
Quentin Perret
8d5d0cfb63 sched/topology: Introduce a sysctl for Energy Aware Scheduling
In its current state, Energy Aware Scheduling (EAS) starts automatically
on asymmetric platforms having an Energy Model (EM). However, there are
users who want to have an EM (for thermal management for example), but
don't want EAS with it.

In order to let users disable EAS explicitly, introduce a new sysctl
called 'sched_energy_aware'. It is enabled by default so that EAS can
start automatically on platforms where it makes sense. Flipping it to 0
rebuilds the scheduling domains and disables EAS.

Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: morten.rasmussen@arm.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: rjw@rjwysocki.net
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-11-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-01-27 12:29:37 +01:00
Paul E. McKenney
337e9b07db sched: Replace call_rcu_sched() with call_rcu()
Now that call_rcu()'s callback is not invoked until after all
preempt-disable regions of code have completed (in addition to explicitly
marked RCU read-side critical sections), call_rcu() can be used in place
of call_rcu_sched().  This commit therefore makes that change.

While in the area, this commit also updates an outdated header comment
for for_each_domain().

Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
2019-01-25 15:28:22 -08:00
Quentin Perret
1f74de8798 sched/toplogy: Introduce the 'sched_energy_present' static key
In order to make sure Energy Aware Scheduling (EAS) will not impact
systems where no Energy Model is available, introduce a static key
guarding the access to EAS code. Since EAS is enabled on a
per-root-domain basis, the static key is enabled when at least one root
domain meets all conditions for EAS.

Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: morten.rasmussen@arm.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: rjw@rjwysocki.net
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-10-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:17:01 +01:00
Quentin Perret
531b5c9f5c sched/topology: Make Energy Aware Scheduling depend on schedutil
Energy Aware Scheduling (EAS) is designed with the assumption that
frequencies of CPUs follow their utilization value. When using a CPUFreq
governor other than schedutil, the chances of this assumption being true
are small, if any. When schedutil is being used, EAS' predictions are at
least consistent with the frequency requests. Although those requests
have no guarantees to be honored by the hardware, they should at least
guide DVFS in the right direction and provide some hope in regards to the
EAS model being accurate.

To make sure EAS is only used in a sane configuration, create a strong
dependency on schedutil being used. Since having sugov compiled-in does
not provide that guarantee, make CPUFreq call a scheduler function on
governor changes hence letting it rebuild the scheduling domains, check
the governors of the online CPUs, and enable/disable EAS accordingly.

Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: morten.rasmussen@arm.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-9-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:17:00 +01:00
Quentin Perret
b68a4c0dba sched/topology: Disable EAS on inappropriate platforms
Energy Aware Scheduling (EAS) in its current form is most relevant on
platforms with asymmetric CPU topologies (e.g. Arm big.LITTLE) since
this is where there is a lot of potential for saving energy through
scheduling. This is particularly true since the Energy Model only
includes the active power costs of CPUs, hence not providing enough data
to compare packing-vs-spreading strategies.

As such, disable EAS on root domains where the SD_ASYM_CPUCAPACITY flag
is not set. While at it, disable EAS on systems where the complexity of
the Energy Model is too high since that could lead to unacceptable
scheduling overhead.

All in all, EAS can be used on a root domain if and only if:
  1. an Energy Model is available;
  2. the root domain has an asymmetric CPU capacity topology;
  3. the complexity of the root domain's EM is low enough to keep
     scheduling overheads low.

Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: morten.rasmussen@arm.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: rjw@rjwysocki.net
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-8-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:17:00 +01:00
Quentin Perret
011b27bb5d sched/topology: Add lowest CPU asymmetry sched_domain level pointer
Add another member to the family of per-cpu sched_domain shortcut
pointers. This one, sd_asym_cpucapacity, points to the lowest level
at which the SD_ASYM_CPUCAPACITY flag is set. While at it, rename the
sd_asym shortcut to sd_asym_packing to avoid confusions.

Generally speaking, the largest opportunity to save energy via
scheduling comes from a smarter exploitation of heterogeneous platforms
(i.e. big.LITTLE). Consequently, the sd_asym_cpucapacity shortcut will
be used at first as the lowest domain where Energy-Aware Scheduling
(EAS) should be applied. For example, it is possible to apply EAS within
a socket on a multi-socket system, as long as each socket has an
asymmetric topology. Energy-aware cross-sockets wake-up balancing will
only happen when the system is over-utilized, or this_cpu and prev_cpu
are in different sockets.

Suggested-by: Morten Rasmussen <morten.rasmussen@arm.com>
Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: rjw@rjwysocki.net
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-7-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:16:59 +01:00
Quentin Perret
6aa140fa45 sched/topology: Reference the Energy Model of CPUs when available
The existing scheduling domain hierarchy is defined to map to the cache
topology of the system. However, Energy Aware Scheduling (EAS) requires
more knowledge about the platform, and specifically needs to know about
the span of Performance Domains (PD), which do not always align with
caches.

To address this issue, use the Energy Model (EM) of the system to extend
the scheduler topology code with a representation of the PDs, alongside
the scheduling domains. More specifically, a linked list of PDs is
attached to each root domain. When multiple root domains are in use,
each list contains only the PDs covering the CPUs of its root domain. If
a PD spans over CPUs of multiple different root domains, it will be
duplicated in all lists.

The lists are fully maintained by the scheduler from
partition_sched_domains() in order to cope with hotplug and cpuset
changes. As for scheduling domains, the list are protected by RCU to
ensure safe concurrent updates.

Signed-off-by: Quentin Perret <quentin.perret@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: adharmap@codeaurora.org
Cc: chris.redpath@arm.com
Cc: currojerez@riseup.net
Cc: dietmar.eggemann@arm.com
Cc: edubezval@gmail.com
Cc: gregkh@linuxfoundation.org
Cc: javi.merino@kernel.org
Cc: joel@joelfernandes.org
Cc: juri.lelli@redhat.com
Cc: morten.rasmussen@arm.com
Cc: patrick.bellasi@arm.com
Cc: pkondeti@codeaurora.org
Cc: rjw@rjwysocki.net
Cc: skannan@codeaurora.org
Cc: smuckle@google.com
Cc: srinivas.pandruvada@linux.intel.com
Cc: thara.gopinath@linaro.org
Cc: tkjos@google.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Cc: viresh.kumar@linaro.org
Link: https://lkml.kernel.org/r/20181203095628.11858-6-quentin.perret@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:16:59 +01:00
Vincent Guittot
765d0af19f sched/topology: Remove the ::smt_gain field from 'struct sched_domain'
::smt_gain is used to compute the capacity of CPUs of a SMT core with the
constraint 1 < ::smt_gain < 2 in order to be able to compute number of CPUs
per core. The field has_free_capacity of struct numa_stat, which was the
last user of this computation of number of CPUs per core, has been removed
by:

  2d4056fafa ("sched/numa: Remove numa_has_capacity()")

We can now remove this constraint on core capacity and use the defautl value
SCHED_CAPACITY_SCALE for SMT CPUs. With this remove, SCHED_CAPACITY_SCALE
becomes the maximum compute capacity of CPUs on every systems. This should
help to simplify some code and remove fields like rd->max_cpu_capacity

Furthermore, arch_scale_cpu_capacity() is used with a NULL sd in several other
places in the code when it wants the capacity of a CPUs to scale
some metrics like in pelt, deadline or schedutil. In case on SMT, the value
returned is not the capacity of SMT CPUs but default SCHED_CAPACITY_SCALE.

So remove it.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1535548752-4434-4-git-send-email-vincent.guittot@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-12-11 15:16:57 +01:00
Peter Zijlstra
993f0b0510 sched/topology: Fix off by one bug
With the addition of the NUMA identity level, we increased @level by
one and will run off the end of the array in the distance sort loop.

Fixed: 051f3ca02e ("sched/topology: Introduce NUMA identity node sched domain")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-11-04 00:40:03 +01:00
zhong jiang
ace8031099 sched/topology: Make local variables static
Fix the following warnings:

  kernel/sched/topology.c:10:15: warning: symbol 'sched_domains_tmpmask' was not declared. Should it be static?
  kernel/sched/topology.c:11:15: warning: symbol 'sched_domains_tmpmask2' was not declared. Should it be static?

Signed-off-by: zhong jiang <zhongjiang@huawei.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1533299852-26941-1-git-send-email-zhongjiang@huawei.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-09-10 15:10:57 +02:00
Morten Rasmussen
9c63e84db2 sched/core: Disable SD_PREFER_SIBLING on asymmetric CPU capacity domains
The 'prefer sibling' sched_domain flag is intended to encourage
spreading tasks to sibling sched_domain to take advantage of more caches
and core for SMT systems. It has recently been changed to be on all
non-NUMA topology level. However, spreading across domains with CPU
capacity asymmetry isn't desirable, e.g. spreading from high capacity to
low capacity CPUs even if high capacity CPUs aren't overutilized might
give access to more cache but the CPU will be slower and possibly lead
to worse overall throughput.

To prevent this, we need to remove SD_PREFER_SIBLING on the sched_domain
level immediately below SD_ASYM_CPUCAPACITY.

Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: dietmar.eggemann@arm.com
Cc: gaku.inami.xh@renesas.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Link: http://lkml.kernel.org/r/1530699470-29808-13-git-send-email-morten.rasmussen@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-09-10 11:05:54 +02:00
Morten Rasmussen
e3d6d0cb66 sched/fair: Add sched_group per-CPU max capacity
The current sg->min_capacity tracks the lowest per-CPU compute capacity
available in the sched_group when rt/irq pressure is taken into account.
Minimum capacity isn't the ideal metric for tracking if a sched_group
needs offloading to another sched_group for some scenarios, e.g. a
sched_group with multiple CPUs if only one is under heavy pressure.
Tracking maximum capacity isn't perfect either but a better choice for
some situations as it indicates that the sched_group definitely compute
capacity constrained either due to rt/irq pressure on all CPUs or
asymmetric CPU capacities (e.g. big.LITTLE).

Signed-off-by: Morten Rasmussen <morten.rasmussen@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: dietmar.eggemann@arm.com
Cc: gaku.inami.xh@renesas.com
Cc: valentin.schneider@arm.com
Cc: vincent.guittot@linaro.org
Link: http://lkml.kernel.org/r/1530699470-29808-4-git-send-email-morten.rasmussen@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-09-10 11:05:49 +02:00