tree 0e6e0fc382b2361be94d7a332a21295ec251469b
parent 29621bab595003e576caa59a69953cb292c9e8bc
author Lucas Wei <lucaswei@google.com> 1630068015 +0800
committer Lucas Wei <lucaswei@google.com> 1630068015 +0800

barbet: update kernel-and-modules prebuilt

Linux version 4.19.202-g219216bba258-ab7679888 (build-user@build-host)
    (Android (7284624, based on r416183b) clang version 12.0.5
    (https://android.googlesource.com/toolchain/llvm-project
    c935d99d7cf2016289302412d708641d52d2f7ee), LLD 12.0.5
    (/buildbot/src/android/llvm-toolchain/out/llvm-project/lld
    c935d99d7cf2016289302412d708641d52d2f7ee)) #1 SMP PREEMPT Thu Aug
    26 14:50:12 UTC 2021

private/msm-google: (500 changes)
  219216bb LTS: Merge android-4.19-stable (4.19.202) into android-msm-barbet-4.19-sc-qpr1
  fbb7feae Merge android-4.19-stable-54e366cc7bd7 into android-msm-barbet-4.19-sc-lts
  929515ae misc: access_ramoops: Use memcpy_fromio()/memcpy_toio()
  8064cc3d Merge android-4.19-stable (4.19.202) into android-msm-barbet-4.19-sc-lts
  54e366cc Revert "bdi: add a ->dev_name field to struct backing_dev_info"
  79cb5d08 Revert "padata: validate cpumask without removed CPU during offline"
  51aa7640 Revert "padata: add separate cpuhp node for CPUHP_PADATA_DEAD"
  8711f6e3 Merge 4.19.202 into android-4.19-stable
  5c66974a Linux 4.19.202
  1706f008 spi: mediatek: Fix fifo transfer
  93175d93 padata: add separate cpuhp node for CPUHP_PADATA_DEAD
  2b120780 padata: validate cpumask without removed CPU during offline
  7cbcb642 Revert "watchdog: iTCO_wdt: Account for rebooting on second timeout"
  193b1b15 firmware: arm_scmi: Ensure drivers provide a probe function
  0dcd7a63 drm/i915: Ensure intel_engine_init_execlist() builds with Clang
  608ba4af Revert "Bluetooth: Shutdown controller after workqueues are flushed or cancelled"
  d6c434ae bdi: add a ->dev_name field to struct backing_dev_info
  19a845e1 bdi: use bdi_dev_name() to get device name
  0129d763 bdi: move bdi_dev_name out of line
  a66fdcda net: Fix zero-copy head len calculation.
  6a6047bf qed: fix possible unpaired spin_{un}lock_bh in _qed_mcp_cmd_and_union()
  9b091d54 r8152: Fix potential PM refcount imbalance
  40071bc7 ASoC: tlv320aic31xx: fix reversed bclk/wclk master bits
  ce35fbad regulator: rt5033: Fix n_voltages settings for BUCK and LDO
  ad929b7b btrfs: mark compressed range uptodate only if all bio succeed
  f758dd08 Merge 4.19.201 into android-4.19-stable
  6ca2f514 Linux 4.19.201
  fbb04f7c i40e: Add additional info to PHY type error
  265c33f7 Revert "perf map: Fix dso->nsinfo refcounting"
  91bbeacf powerpc/pseries: Fix regression while building external modules
  5a6c550c can: hi311x: fix a signedness bug in hi3110_cmd()
  6bee3885 sis900: Fix missing pci_disable_device() in probe and remove
  fdb90238 tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
  d9b6f0a2 sctp: fix return value check in __sctp_rcv_asconf_lookup
  2a7b6a52 net/mlx5: Fix flow table chaining
  9a27cd7f net: llc: fix skb_over_panic
  6f243cef mlx4: Fix missing error code in mlx4_load_one()
  01f178e5 tipc: fix sleeping in tipc accept routine
  498d7ab1 i40e: Fix log TC creation failure when max num of queues is exceeded
  6d51a5fb i40e: Fix logic of disabling queues
  1cb5995a netfilter: nft_nat: allow to specify layer 4 protocol NAT only
  512fd52e netfilter: conntrack: adjust stop timestamp to real expiry value
  672f6ea5 cfg80211: Fix possible memory leak in function cfg80211_bss_update
  0bf3eb2e nfc: nfcsim: fix use after free during module unload
  4cd2534c NIU: fix incorrect error return, missed in previous revert
  9c9e4511 can: esd_usb2: fix memory leak
  71758cd0 can: ems_usb: fix memory leak
  6c9d6198 can: usb_8dev: fix memory leak
  ab9597bc can: mcba_usb_start(): add missing urb->transfer_dma initialization
  96faa82a can: raw: raw_setsockopt(): fix raw_rcv panic for sock UAF
  40b5e3f5 ocfs2: issue zeroout to EOF blocks
  4c97ed43 ocfs2: fix zero out valid data
  ce1fd5a2 x86/kvm: fix vcpu-id indexed array sizes
  d96a56a7 btrfs: fix rw device counting in __btrfs_free_extra_devids
  6c8c88a4 x86/asm: Ensure asm/proto.h can be included stand-alone
  d94d95ae gro: ensure frag0 meets IP header alignment
  16851e34 virtio_net: Do not pull payload in skb->head
  15699848 Merge 4.19.200 into android-4.19-stable
  53bd7669 Linux 4.19.200
  7715443b ARM: dts: versatile: Fix up interrupt controller node names
  c30f239f cifs: fix the out of range assignment to bit fields in parse_server_interfaces
  78d282f2 firmware: arm_scmi: Fix range check for the maximum number of pending messages
  edb6f5a9 firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
  4cb60d03 hfs: add lock nesting notation to hfs_find_init
  f6a2be76 hfs: fix high memory mapping in hfs_bnode_read
  04c6a786 hfs: add missing clean-up in hfs_fill_super
  53012dd6 sctp: move 198 addresses from unusable to private scope
  c1a5cd80 net: annotate data race around sk_ll_usec
  e9541075 net/802/garp: fix memleak in garp_request_join()
  f9dd1e4e net/802/mrp: fix memleak in mrp_request_join()
  b7dc6715 workqueue: fix UAF in pwq_unbound_release_workfn()
  1dabafa9 af_unix: fix garbage collect vs MSG_PEEK
  db44d020 net: split out functions related to registering inflight socket files
  da84e8e9 KVM: x86: determine if an exception has an error code only when injecting it.
  0365fcac iio: dac: ds4422/ds4424 drop of_node check
  74c9985e selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
  212b4d3a ANDROID: staging: ion: move buffer kmap from begin/end_cpu_access()
  79bd4cba Merge 4.19.199 into android-4.19-stable
  a89b48fe Linux 4.19.199
  80050dfe xhci: add xhci_get_virt_ep() helper
  00450ed0 spi: spi-fsl-dspi: Fix a resource leak in an error handling path
  a9411055 PCI: Mark AMD Navi14 GPU ATS as broken
  a91010f5 btrfs: compression: don't try to compress if we don't have enough pages
  e2762950 iio: accel: bma180: Fix BMA25x bandwidth register values
  c1fd285f iio: accel: bma180: Use explicit member assignment
  8810e8e4 net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear
  a114b7c6 net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz
  fbb7f6a0 KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()
  11777746 KVM: do not allow mapping valid but non-reference-counted pages
  918e0039 KVM: do not assume PTE is writable after follow_pfn
  020a44cc drm: Return -ENOTTY for non-drm ioctls
  acb8e830 nds32: fix up stack guard gap
  f96dfc7c selftest: use mmap instead of posix_memalign to allocate memory
  08c2d7c8 ixgbe: Fix packet corruption due to missing DMA sync
  ec731c6e media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
  6a99bfee tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop.
  ba176c1b usb: dwc2: gadget: Fix sending zero length packet in DDMA mode.
  7b9ff81c USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick
  b5084133 USB: serial: cp210x: fix comments for GE CS1000
  fceeb4e8 USB: serial: option: add support for u-blox LARA-R6 family
  f9a8c7de usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop()
  51fc12f4 usb: max-3421: Prevent corruption of freed memory
  0b515af9 USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS
  391bbec1 usb: hub: Fix link power management max exit latency (MEL) calculations
  6deeb1a7 usb: hub: Disable USB 3 device initiated lpm if exit latency is too high
  0493b10c KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow
  e6490342 xhci: Fix lost USB 2 remote wake
  b6963f63 ALSA: sb: Fix potential ABBA deadlock in CSP driver
  135e4da2 ALSA: usb-audio: Add registration quirk for JBL Quantum headsets
  aa2f15f5 s390/ftrace: fix ftrace_update_ftrace_func implementation
  2e207001 Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
  66bcd449 proc: Avoid mixing integer types in mem_rw()
  b8000c17 drm/panel: raspberrypi-touchscreen: Prevent double-free
  d6823906 net: sched: cls_api: Fix the the wrong parameter
  50b57223 sctp: update active_key for asoc when old key is being replaced
  7ae622aa Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem"
  0ac2cafd nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING
  e4fdca36 net/sched: act_skbmod: Skip non-Ethernet packets
  86aef177 net/tcp_fastopen: fix data races around tfo_active_disable_stamp
  5df32cc4 spi: cadence: Correct initialisation of runtime PM again
  032fb65d scsi: target: Fix protect handling in WRITE SAME(32)
  638d29f8 scsi: iscsi: Fix iface sysfs attr detection
  9619cc7d netrom: Decrease sock refcount when sock timers expire
  9bafc34d KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak
  f5dfcd1d net: decnet: Fix sleeping inside in af_decnet
  452c3ed7 net: fix uninit-value in caif_seqpkt_sendmsg
  10b55224 bpftool: Check malloc return value in mount_bpffs_for_pin
  0d0927f5 s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1]
  9e56921e liquidio: Fix unintentional sign extension issue on left shift of u16
  bd0447f7 spi: mediatek: fix fifo rx mode
  63b823ae perf probe-file: Delete namelist in del_events() on the error path
  2ce4170c perf test bpf: Free obj_buf
  2c1d156b perf lzma: Close lzma stream on exit
  6cf3e71c perf dso: Fix memory leak in dso__new_map()
  c7184d73 perf probe: Fix dso->nsinfo refcounting
  d41308df perf map: Fix dso->nsinfo refcounting
  b248990a nvme-pci: do not call nvme_dev_remove_admin from nvme_remove
  bff0854e ipv6: fix 'disable_policy' for fwd packets
  0c46bacf igb: Fix position of assignment to *ring
  4b65576c igb: Check if num of q_vectors is smaller than max before array access
  11030837 iavf: Fix an error handling path in 'iavf_probe()'
  46cc1391 e1000e: Fix an error handling path in 'e1000_probe()'
  d536ea09 fm10k: Fix an error handling path in 'fm10k_probe()'
  23f3831f igb: Fix an error handling path in 'igb_probe()'
  62b744bc ixgbe: Fix an error handling path in 'ixgbe_probe()'
  d3ccb18e igb: Fix use-after-free error during reset
  be680f4b net: ip_tunnel: fix mtu calculation for ETHER tunnel devices
  dd1f607c udp: annotate data races around unix_sk(sk)->gso_size
  4416df72 bpftool: Properly close va_list 'ap' by va_end() on error
  4818f187 ipv6: tcp: drop silly ICMPv6 packet too big messages
  d694db2f tcp: annotate data races around tp->mtu_info
  e0355a0a dma-buf/sync_file: Don't leak fences on merge failure
  8bb1589c net: validate lwtstate->data before returning from skb_tunnel_info()
  d8142fff net: send SYNACK packet with accepted fwmark
  a0a817b2 net: ti: fix UAF in tlan_remove_one
  11e9d163 net: qcom/emac: fix UAF in emac_remove
  9947e876 net: moxa: fix UAF in moxart_mac_probe
  13d520ab net: bcmgenet: Ensure all TX/RX queues DMAs are disabled
  a2281d2f net: bridge: sync fdb to new unicast-filtering ports
  1b72d43e netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo
  2655699f net: ipv6: fix return value of ip6_skb_dst_mtu
  29e28d7f net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz
  797b950e dm writecache: fix writing beyond end of underlying device when shrinking
  fb55695f dm writecache: return the exact table values that were set
  bb7dd800 mm: slab: fix kmem_cache_create failed when sysfs node not destroyed
  aa36bd8f sched/fair: Fix CFS bandwidth hrtimer expiry type
  4921b161 scsi: libfc: Fix array index out of bound exception
  23db13b2 scsi: libsas: Add LUN number check in .slave_alloc callback
  3157c6f8 scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
  d960ac78 rtc: max77686: Do not enforce (incorrect) interrupt trigger type
  d47487c5 kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
  6ddd334f thermal/core: Correct function name thermal_zone_device_unregister()
  6f343d76 arm64: dts: ls208xa: remove bus-num from dspi node
  aa86a2e4 soc/tegra: fuse: Fix Tegra234-only builds
  4a57bb77 ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15
  8fdbb45c ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings
  1b441393 ARM: dts: rockchip: fix supply properties in io-domains nodes
  f37e79b4 arm64: dts: juno: Update SCPI nodes as per the YAML schema
  62fee022 ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings
  18dce464 ARM: dts: stm32: fix RCC node name on stm32f429 MCU
  50002b32 ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards
  6dee36f4 rtc: mxc_v2: add missing MODULE_DEVICE_TABLE
  3c6ac249 ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info
  467e2517 ARM: dts: imx6: phyFLEX: Fix UART hardware flow control
  bc20256d ARM: dts: Hurricane 2: Fix NAND nodes names
  26f4e3fe ARM: dts: BCM63xx: Fix NAND nodes names
  9ce201b5 ARM: NSP: dts: fix NAND nodes names
  5ffb8eaf ARM: Cygnus: dts: fix NAND nodes names
  5f55b883 ARM: brcmstb: dts: fix NAND nodes names
  71718b00 reset: ti-syscon: fix to_ti_syscon_reset_data macro
  7744c6f4 arm64: dts: rockchip: Fix power-controller node names for rk3328
  253a1a53 ARM: dts: rockchip: Fix power-controller node names for rk3288
  e27c7121 ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x
  bd1265cd ARM: dts: rockchip: Fix the timer clocks order
  33e50273 arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi
  7dd0efa5 ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288
  3b3e20d3 ARM: dts: gemini: add device_type on pci
  eff1bed2 ARM: dts: gemini: rename mdio to the right name
  e6f64a04 ANDROID: generate_initcall_order.pl: Use two dash long options for llvm-nm
  f24479d8 Revert "media: subdev: disallow ioctl for saa6588/davinci"
  186c8cf2 ANDROID: GKI: fix up crc change in ip.h
  97fd5077 Merge 4.19.198 into android-4.19-stable
  4938296e Linux 4.19.198
  6de9f0bf seq_file: disallow extremely large seq buffer allocations
  c021be62 scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
  2e70bf39 net: bridge: multicast: fix PIM hello router port marking race
  8553099b MIPS: vdso: Invalid GIC access through VDSO
  d822ebcc mips: disable branch profiling in boot/decompress.o
  7c5bc66b mips: always link byteswap helpers into decompressor
  5b02f589 scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
  83723802 ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
  2b230a96 ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
  63a9a35c ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
  caef06c1 ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
  306e7bdd ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
  ee1aa737 memory: fsl_ifc: fix leak of private memory on probe failure
  94bc2fe4 memory: fsl_ifc: fix leak of IO mapping on probe failure
  4bb145e5 reset: bail if try_module_get() fails
  8cb5a052 ARM: dts: BCM5301X: Fixup SPI binding
  7d307d04 ARM: dts: r8a7779, marzen: Fix DU clock names
  52d479b2 arm64: dts: renesas: v3msk: Fix memory size
  1cae2aec rtc: fix snprintf() checking in is_rtc_hctosys()
  a2d713c0 memory: atmel-ebi: add missing of_node_put for loop iteration
  2408a5e8 ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
  88d7b6ae ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
  2a4b928b ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
  2e98a83f reset: a10sr: add missing of_match_table reference
  86c9c442 hexagon: use common DISCARDS macro
  e3eeeaed NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
  8f7d42d5 ALSA: isa: Fix error return code in snd_cmi8330_probe()
  eede0a76 virtio_net: move tx vq operation under tx queue lock
  fecb9b7b x86/fpu: Limit xstate copy size in xstateregs_set()
  778beee0 PCI: iproc: Support multi-MSI only on uniprocessor kernel
  99f8eae6 PCI: iproc: Fix multi-MSI base vector number allocation
  e6afff12 ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
  0704f617 nfs: fix acl memory leak of posix_acl_create()
  14150b63 watchdog: aspeed: fix hardware timeout calculation
  cc91a454 um: fix error return code in winch_tramp()
  33a26014 um: fix error return code in slip_open()
  743f6b97 NFSv4: Initialise connection to the server in nfs4_alloc_client()
  da7680aa power: supply: rt5033_battery: Fix device tree enumeration
  1b78ad07 PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
  6f8ab706 f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
  b5fba782 virtio_console: Assure used length from device is limited
  845ae852 virtio_net: Fix error handling in virtnet_restore()
  600942d2 virtio-blk: Fix memory leak among suspend/resume procedure
  6b820a37 ACPI: video: Add quirk for the Dell Vostro 3350
  6a8a2519 ACPI: AMBA: Fix resource name in /proc/iomem
  8c55de0f pwm: tegra: Don't modify HW state in .remove callback
  6e4199c1 power: supply: ab8500: add missing MODULE_DEVICE_TABLE
  87d03711 power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
  e409580b NFS: nfs_find_open_context() may only select open files
  291ddd4e ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
  f0ab6d80 orangefs: fix orangefs df output.
  ef50bb9e PCI: tegra: Add missing MODULE_DEVICE_TABLE
  9311a0c9 x86/fpu: Return proper error codes from user access functions
  5bfbacfe watchdog: iTCO_wdt: Account for rebooting on second timeout
  ecd620e0 watchdog: Fix possible use-after-free by calling del_timer_sync()
  522e75ed watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
  dc940309 watchdog: Fix possible use-after-free in wdt_startup()
  fbc5a04b ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
  4c8ea9f3 power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
  92dae3d4 power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
  3c9c6a45 power: supply: ab8500: Avoid NULL pointers
  54913394 pwm: spear: Don't modify HW state in .remove callback
  a12a6a2d lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
  7c0bb53d i2c: core: Disable client irq on reboot/shutdown
  c79fef73 intel_th: Wait until port is in reset before programming it
  838f5459 staging: rtl8723bs: fix macro value for 2.4Ghz only device
  a7970a03 ALSA: hda: Add IRQ check for platform_get_irq()
  22ecd1ef backlight: lm3630a: Fix return code of .update_status() callback
  b15f3cad powerpc/boot: Fixup device-tree on little endian
  acf41bb7 usb: gadget: hid: fix error return code in hid_bind()
  141fff55 usb: gadget: f_hid: fix endianness issue with descriptors
  903e2d45 ALSA: bebob: add support for ToneWeal FW66
  c71a120d Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
  b638d66d ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
  b65f7b43 gpio: pca953x: Add support for the On Semi pca9655
  1b091259 selftests/powerpc: Fix "no_handler" EBB selftest
  477448b3 ALSA: ppc: fix error return code in snd_pmac_probe()
  c7a13cbc gpio: zynq: Check return value of pm_runtime_get_sync
  c58022e9 powerpc/ps3: Add dma_mask to ps3_dma_region
  9ec61849 ALSA: sb: Fix potential double-free of CSP mixer elements
  e4bb007a selftests: timers: rtcpie: skip test if default RTC device does not exist
  b2936c01 s390/sclp_vt220: fix console name to match device
  2296b9c2 mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
  545de233 scsi: qedi: Fix null ref during abort handling
  693e09c3 scsi: iscsi: Fix shost->max_id use
  bf20d85a scsi: iscsi: Fix conn use after free during resets
  8d3f5e3b scsi: iscsi: Add iscsi_cls_conn refcount helpers
  8a63ff46 fs/jfs: Fix missing error code in lmLogInit()
  f4bde1d1 scsi: scsi_dh_alua: Check for negative result value
  cddee5c2 tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
  7c3a1702 ALSA: ac97: fix PM reference leak in ac97_bus_remove()
  029028f4 scsi: core: Cap scsi_host cmd_per_lun at can_queue
  7813fa91 scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
  ec9999dc scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
  36164ba7 w1: ds2438: fixing bug that would always get page0
  1a89fdc4 Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
  481a76d4 misc/libmasm/module: Fix two use after free in ibmasm_init_one
  4d842190 tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
  b00a9aaa PCI: aardvark: Fix kernel panic during PIO transfer
  6571c803 PCI: aardvark: Don't rely on jiffies while holding spinlock
  1834fbbd tracing: Do not reference char * as a string in histograms
  e1bd3fac scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
  3e6d27d6 KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
  af9045cf KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
  cbd87ba6 smackfs: restrict bytes count in smk_set_cipso()
  aff8d95b jfs: fix GPF in diFree
  c592ce0b pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
  324626f5 media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
  6a181ec5 media: gspca/sunplus: fix zero-length control requests
  4ddc5afe media: gspca/sq905: fix control-request direction
  021c294d media: zr364xx: fix memory leak in zr364xx_start_readpipe
  17dc6ca4 media: dtv5100: fix control-request directions
  79666b99 media: subdev: disallow ioctl for saa6588/davinci
  2e0b80a7 PCI: aardvark: Fix checking for PIO Non-posted Request
  7d2c0c05 PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
  8fbae4a1 dm btree remove: assign new_root only when removal succeeds
  04bd77ef coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
  a84f1403 ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
  e1105c64 tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
  44896b31 tracing: Simplify & fix saved_tgids logic
  1f4c6061 seq_buf: Fix overflow in seq_buf_putmem_hex()
  b35bd56f power: supply: ab8500: Fix an old bug
  ba7f8950 ipmi/watchdog: Stop watchdog timer when the current action is 'none'
  19f862a7 qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
  4587b665 ASoC: tegra: Set driver_name=tegra for all machine drivers
  24493605 clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
  7cb77fae cpu/hotplug: Cure the cpusets trainwreck
  999daeb1 ata: ahci_sunxi: Disable DIPM
  f7589b02 mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
  fdfa7b10 mmc: core: clear flags before allowing to retune
  357251e5 mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
  5792b740 drm/msm/mdp4: Fix modifier support enabling
  3b52ba58 pinctrl/amd: Add device HID for new AMD GPIO controller
  39f93bae drm/amd/display: fix incorrrect valid irq check
  bde0f98f drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
  86f8b0e6 usb: gadget: f_fs: Fix setting of device and driver data cross-references
  1525e355 powerpc/barrier: Avoid collision with clang's __lwsync macro
  e7779b74 fuse: reject internal errno
  3941cf9b serial: mvebu-uart: fix calculation of clock divisor
  424f497d serial: mvebu-uart: clarify the baud rate derivation
  b30af520 bdi: Do not use freezable workqueue
  aabde3a0 fscrypt: don't ignore minor_hash when hash is 0
  ebfe50a6 MIPS: set mips32r5 for virt extensions
  dd16e38e sctp: add size validation when walking chunks
  c7a03eba sctp: validate from_addr_param return
  012a3944 Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
  78b03389 Bluetooth: Shutdown controller after workqueues are flushed or cancelled
  06de654d Bluetooth: Fix the HCI to MGMT status conversion table
  4893c938 RDMA/cma: Fix rdma_resolve_route() memory leak
  a847a5e2 net: ip: avoid OOM kills with large UDP sends over loopback
  6cd352fc media, bpf: Do not copy more entries than user space requested
  99594d19 wireless: wext-spy: Fix out-of-bounds warning
  6a722d24 sfc: error code if SRIOV cannot be disabled
  4f734b8d sfc: avoid double pci_remove of VFs
  7b1abc4e iwlwifi: pcie: free IML DMA memory allocation
  6c536e80 iwlwifi: mvm: don't change band on bound PHY contexts
  92aa20a7 RDMA/rxe: Don't overwrite errno from ib_umem_get()
  0ea3919f vsock: notify server to shutdown when client has pending signal
  e34c635c atm: nicstar: register the interrupt handler in the right place
  a618f815 atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
  68046cc5 MIPS: add PMD table accounting into MIPS'pmd_alloc_one
  d1b71f24 rtl8xxxu: Fix device info for RTL8192EU devices
  cba5008c net: fix mistake path for netdev_features_strings
  c1ee7d54 cw1200: add missing MODULE_DEVICE_TABLE
  115103f6 wl1251: Fix possible buffer overflow in wl1251_cmd_scan
  5ad41656 wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
  b559f417 xfrm: Fix error reporting in xfrm_state_construct.
  0881aaa1 selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
  ad9a63eb fjes: check return value after calling platform_get_resource()
  3d4ba260 net: micrel: check return value after calling platform_get_resource()
  662bfdea net: mvpp2: check return value after calling platform_get_resource()
  09846c29 net: bcmgenet: check return value after calling platform_get_resource()
  34218ccb virtio_net: Remove BUG() to avoid machine dead
  c9a064cf ice: set the value of global config lock timeout longer
  2f738b00 pinctrl: mcp23s08: fix race condition in irq handler
  e20d4053 dm space maps: don't reset space map allocation cursor when committing
  54e43374 RDMA/cxgb4: Fix missing error code in create_qp()
  f0be58ec ipv6: use prandom_u32() for ID generation
  d80baef8 clk: tegra: Ensure that PLLU configuration is applied properly
  a5ef472a clk: renesas: r8a77995: Add ZA2 clock
  395c2fd5 e100: handle eeprom as little endian
  3638705e udf: Fix NULL pointer dereference in udf_symlink function
  2fda4ff8 drm/virtio: Fix double free on probe failure
  47b4b8f0 reiserfs: add check for invalid 1st journal block
  e626b6f8 net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
  a7a7b284 atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
  5f281818 mISDN: fix possible use-after-free in HFC_cleanup()
  89ce0b07 atm: iphase: fix possible use-after-free in ia_module_exit()
  909bfdec hugetlb: clear huge pte during flush function on mips platform
  15f4e53d drm/amd/display: fix use_max_lb flag for 420 pixel formats
  06805760 net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
  38fe8473 drm/amd/amdgpu/sriov disable all ip hw status by default
  6c7a586e drm/zte: Don't select DRM_KMS_FB_HELPER
  2c3a3c37 drm/mxsfb: Don't select DRM_KMS_FB_HELPER
  eaa21859 mmc: vub3000: fix control-request direction
  c1f9f514 mmc: block: Disable CMDQ on the ioctl path
  e3bed778 perf llvm: Return -ENOMEM when asprintf() fails
  8ceeafb9 selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
  c4e4a6f1 mm/huge_memory.c: don't discard hugepage if other processes are mapping it
  d067a6b6 vfio/pci: Handle concurrent vma faults
  0dc3e70a arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
  0e3b7b2e serial: mvebu-uart: correctly calculate minimal possible baudrate
  3d1e4f17 powerpc: Offline CPU in stop_this_cpu()
  09f064fc leds: ktd2692: Fix an error handling path
  21da0197 leds: as3645a: Fix error return code in as3645a_parse_node()
  01b00e46 configfs: fix memleak in configfs_release_bin_file
  e462d538 ASoC: atmel-i2s: Fix usage of capture and playback at the same time
  3df59600 extcon: max8997: Add missing modalias string
  06a65c0d extcon: sm5502: Drop invalid register write in sm5502_reg_data
  d731d20c phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
  a2ec9ab0 scsi: mpt3sas: Fix error return value in _scsih_expander_add()
  7a4498d0 mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()
  193dc441 of: Fix truncation of memory sizes on 32-bit platforms
  9a305239 ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
  7cd3fd39 iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  494c06f1 serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates
  3f1d21f2 staging: mt7621-dts: fix pci address for PCI memory range
  58f26f94 staging: gdm724x: check for overflow in gdm_lte_netif_rx()
  3ceb830e staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
  91664385 iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  3e8164cc iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  3ce7cd15 iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  45c923bd eeprom: idt_89hpesx: Restore printing the unsupported fwnode name
  286679fe eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
  3842ed36 s390: appldata depends on PROC_SYSCTL
  52147ba4 visorbus: fix error return code in visorchipset_init()
  d8156238 fsi/sbefifo: Fix reset timeout
  170674a2 fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE
  9dda322a fsi: scom: Reset the FSI2PIB engine for any error
  d2937821 fsi: core: Fix return of error values on failures
  b71c5f0c scsi: FlashPoint: Rename si_flags field
  ffcdf486 tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
  813790e3 char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
  61375cb1 Input: hil_kbd - fix error return code in hil_dev_connect()
  b52a9dec ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
  e784b662 ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
  51ef2193 iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  f3a5bf2b iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  2a11f9d0 iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  8111e629 iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  b27970a4 iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  9f98de0e iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  0fc53996 iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  578a2530 iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  f7db658c iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  df848efb iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  b0d27f41 iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  3ffec10f iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  d3e25a65 iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  aaf8b88d iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  ede04368 iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  64e79e55 iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  86a5292e iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  bf349ef0 iio: adis_buffer: do not return ints in irq handlers
  0d8a385d mwifiex: re-fix for unaligned accesses
  23e431f7 tty: nozomi: Fix a resource leak in an error handling function
  ccc59418 RDMA/mlx5: Don't access NULL-cleared mpi pointer
  cc186006 net: sched: fix warning in tcindex_alloc_perfect_hash
  d76613a9 net: lwtunnel: handle MTU calculation in forwading
  fdf3ef3f writeback: fix obtain a reference to a freeing memcg css
  4a808634 Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event
  40a7196f Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
  6c7a0c30 ipv6: fix out-of-bound access in ip6_parse_tlv()
  4194876c ibmvnic: free tx_pool if tso_pool alloc fails
  83098421 Revert "ibmvnic: remove duplicate napi_schedule call in open function"
  ac2abd4e i40e: Fix autoneg disabling for non-10GBaseT links
  fdb69fdf i40e: Fix error handling in i40e_vsi_open
  7c557d06 bpf: Do not change gso_size during bpf_skb_change_proto()
  d317a20a ipv6: exthdrs: do not blindly use init_net
  8d403269 net: bcmgenet: Fix attaching to PYH failed on RPi 4B
  2f001552 mac80211: remove iwlwifi specific workaround NDPs of null_response
  56700168 ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
  6d8dcd49 ieee802154: hwsim: Fix memory leak in hwsim_add_one
  0cb6b100 net/ipv4: swap flow ports when validating source
  f80201ff vxlan: add missing rcu_read_lock() in neigh_reduce()
  98fd088c pkt_sched: sch_qfq: fix qfq_change_class() error path
  fb9107d4 net: ethernet: ezchip: fix error handling
  e85822aa net: ethernet: ezchip: fix UAF in nps_enet_remove
  c8212ca6 net: ethernet: aeroflex: fix UAF in greth_of_remove
  b86fdd41 samples/bpf: Fix the error return code of xdp_redirect's main()
  1853dabf RDMA/rxe: Fix qp reference counting for atomic ops
  6b97694d netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols
  3225cd78 netfilter: nft_osf: check for TCP packet before further processing
  0cb785dd netfilter: nft_exthdr: check for IPv6 packet before further processing
  6c9629af RDMA/mlx5: Don't add slave port to unaffiliated list
  0b620118 netlabel: Fix memory leak in netlbl_mgmt_add_common
  5fbf4772 ath10k: Fix an error code in ath10k_add_interface()
  50ada217 brcmsmac: mac80211_if: Fix a resource leak in an error handling path
  bb33ddef brcmfmac: correctly report average RSSI in station info
  f5c8dbcb brcmfmac: fix setting of station info chains bitmask
  a05091c9 ssb: Fix error return code in ssb_bus_scan()
  0418cb6b wcn36xx: Move hal_buf allocation to devm_kmalloc in probe
  82edefd4 ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
  c957e324 wireless: carl9170: fix LEDS build errors & warnings
  80680f3b tools/bpftool: Fix error return code in do_batch()
  8dc74a8b drm: qxl: ensure surf.data is ininitialized
  c92357b3 RDMA/rxe: Fix failure during driver load

Bug: 161946584
Bug: 169763055
Bug: 187527909
Bug: 192901679
Bug: 196282886
Pick-Prebuilt: 393224179
Build-Id: 7679888
Processing-Config: kernel_headers
Merged-In: I5e0ea8a37b10bfd376e24dd2719700add113d658
Change-Id: Ibdb1282eb5e42755ac26504f5c39cc51333d84c6
Signed-off-by: Lucas Wei <lucaswei@google.com>
