tree 970f7e9e884c83deaced6efd68daed679a0e0173
parent 8a1b6e244caa72ea4b70284f7370c6aa52a0cba4
parent a8d812240fdd12949c8344379b01d340e36726ba
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1697017205 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1697017205 -0700

merge-upstream/v5.10.198 from branch/tag: upstream/v5.10.198 into branch: main-R93-cos-5.10

Changelog:
-------------------------------------------------------------

Adam Ford (1):
      bus: ti-sysc: Fix missing AM35xx SoC matching

Ahmed S. Darwish (1):
      seqlock: Prefix internal seqcount_t-only macros with a "do_"

Alexandra Diupina (1):
      drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close()

Andrey Ryabinin (1):
      sched/cpuacct: Fix user/system in shown cpuacct.usage*

Andy Shevchenko (1):
      serial: 8250_port: Check IRQ data before use

Arnaldo Carvalho de Melo (1):
      perf build: Define YYNOMEM as YYNOABORT for bison < 3.81

Arnd Bergmann (3):
      seqlock: avoid -Wshadow warnings
      wifi: iwlwifi: dbg_ini: fix structure packing
      ima: rework CONFIG_IMA dependency block

Artem Chernyshev (1):
      net: rds: Fix possible NULL-pointer dereference

Bartosz Golaszewski (1):
      gpio: aspeed: fix the GPIO number passed to pinctrl_gpio_set_config()

Ben Wolsieffer (2):
      proc: nommu: /proc/<pid>/maps: release mmap read lock
      net: stmmac: dwmac-stm32: fix resume on STM32 MCU

Benjamin Coddington (2):
      NFS: Cleanup unused rpc_clnt variable
      NFS: rename nfs_client_kset to nfs_kset

Benjamin Gray (1):
      powerpc/watchpoints: Disable preemption in thread_change_pc()

Bernard Metzler (1):
      RDMA/siw: Fix connection failure handling

Bryan O'Donoghue (3):
      media: venus: core: Add io base variables for each block
      media: venus: hfi,pm,firmware: Convert to block relative addressing
      media: venus: core: Add differentiator IS_V6(core)

Carl Philipp Klemm (1):
      ARM: dts: motorola-mapphone: Add 1.2GHz OPP

Chengfeng Ye (1):
      tipc: fix a potential deadlock on &tx->lock

Chengming Zhou (3):
      sched/cpuacct: Fix charge percpu cpuusage
      sched/cpuacct: Optimize away RCU read lock
      cgroup: Fix suspicious rcu_dereference_check() usage warning

Christoph Hellwig (3):
      MIPS: Alchemy: only build mmc support helpers if au1xmmc is enabled
      nvme-pci: factor the iod mempool creation into a helper
      nvme-pci: factor out a nvme_pci_alloc_dev helper

Christophe JAILLET (2):
      gpio: tb10x: Fix an error handling path in tb10x_gpio_probe()
      IB/mlx4: Fix the size of a buffer in add_port_entries()

Damien Le Moal (3):
      ata: libata-core: Fix ata_port_request_pm() locking
      ata: libata-core: Fix port and device removal
      ata: libata-core: Do not register PM operations for SAS ports

Dan Carpenter (3):
      power: supply: ucs1002: fix error code in ucs1002_get_property()
      net: ethernet: ti: am65-cpsw: Fix error code in am65_cpsw_nuss_init_tx_chns()
      of: dynamic: Fix potential memory leak in of_changeset_action()

Daniel Starke (1):
      Revert "tty: n_gsm: fix UAF in gsm_cleanup_mux"

David Howells (1):
      ipv4, ipv6: Fix handling of transhdrlen in __ip{,6}_append_data()

David Thompson (1):
      platform/mellanox: mlxbf-bootctl: add NET dependency into Kconfig

Dikshita Agarwal (2):
      media: venus: hfi: Define additional 6xx registers
      media: venus: hfi: Add a 6xx boot logic

Dinghao Liu (2):
      spi: spi-zynqmp-gqspi: Fix runtime PM imbalance in zynqmp_qspi_probe
      scsi: zfcp: Fix a double put in zfcp_port_enqueue()

Dmitry Monakhov (1):
      ext4: mark group as trimmed only if it was fully scanned

Duje Mihanović (1):
      gpio: pxa: disable pinctrl calls for MMP_GPIO

Eric Dumazet (3):
      dccp: fix dccp_v4_err()/dccp_v6_err() again
      net: bridge: use DEV_STATS_INC()
      net: fix possible store tearing in neigh_periodic_work()

Fabio Estevam (1):
      net: dsa: mv88e6xxx: Avoid EEPROM timeout when EEPROM is absent

Fedor Pchelkin (1):
      dm zoned: free dmz->ddev array in dmz_put_zoned_devices

Felix Fietkau (1):
      wifi: mt76: mt76x02: fix MT76x0 external LNA gain handling

Florian Westphal (10):
      netfilter: nf_tables: don't skip expired elements during walk
      netfilter: nf_tables: don't fail inserts if duplicate has expired
      netfilter: nf_tables: defer gc run if previous batch is still pending
      netfilter: nf_tables: fix memleak when more than 255 elements expired
      netfilter: nf_tables: add and use nft_sk helper
      netfilter: nf_tables: add and use nft_thoff helper
      netfilter: exthdr: add support for tcp option removal
      netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure
      netfilter: nf_tables: fix kdoc warnings after gc rework
      netfilter: nftables: exthdr: fix 4-byte stack OOB write

Geert Uytterhoeven (1):
      ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value

Gireesh Hiremath (1):
      ARM: dts: am335x: Guardian: Update beeper label

Greg Kroah-Hartman (3):
      Revert "clk: imx: pll14xx: dynamically configure PLL for 393216000/361267200Hz"
      Revert "PCI: qcom: Disable write access to read only registers for IP v2.3.3"
      Linux 5.10.198

Greg Ungerer (1):
      fs: binfmt_elf_efpic: fix personality for ELF-FDPIC

Gustavo A. R. Silva (2):
      qed/red_ll2: Fix undefined behavior bug in struct qed_ll2_info
      wifi: mwifiex: Fix tlv_buf_left calculation

Han Xu (1):
      spi: nxp-fspi: reset the FLSHxCR1 registers

Hannes Reinecke (1):
      ata: ahci: Drop pointless VPRINTK() calls and convert the remaining ones

Hans Verkuil (1):
      media: vb2: frame_vector.c: replace WARN_ONCE with a comment

Heiner Kallweit (1):
      i2c: i801: unregister tco_pdev in i801_probe() error path

Helge Deller (4):
      parisc: sba: Fix compile warning wrt list of SBA devices
      parisc: iosapic.c: Fix sparse warnings
      parisc: drivers: Fix sparse warning
      parisc: irq: Make irq_stack_union static to avoid sparse warning

Huacai Chen (1):
      Input: i8042 - rename i8042-x86ia64io.h to i8042-acpipnpio.h

Ilya Dryomov (4):
      rbd: move rbd_dev_refresh() definition
      rbd: decouple header read-in from updating rbd_dev->header
      rbd: decouple parent info read-in from updating rbd_dev
      rbd: take header_rwsem in rbd_dev_refresh() only when updating

Irvin Cote (1):
      nvme-pci: always return an ERR_PTR from nvme_pci_alloc_dev

Ivan Babrou (1):
      cpupower: add Makefile dependencies for install targets

Ivan Vecera (1):
      i40e: Fix VF VLAN offloading when port VLAN is configured

Jan Engelhardt (1):
      netfilter: use actual socket sk for REJECT action

Jan Kara (2):
      ext4: move setting of trimmed bit into ext4_try_to_trim_range()
      ext4: do not let fstrim block system suspend

Javed Hasan (1):
      scsi: qedf: Add synchronization between I/O completions and abort

Jeremy Cline (1):
      net: nfc: llcp: Add lock when modifying device list

Jerome Brunet (1):
      ASoC: meson: spdifin: start hw on dai probe

Jian Shen (1):
      net: hns3: only enable unicast promisc when mac table full

Jie Wang (1):
      net: hns3: add 5ms delay before clear firmware reset irq source

Jiri Olsa (1):
      bpf: Fix BTF_ID symbol generation collision

Johan Hovold (1):
      spi: zynqmp-gqspi: fix clock imbalance on probe failure

John David Anglin (1):
      parisc: Restore __ldcw_align for PA-RISC 2.0 processors

Johnathan Mantey (1):
      ncsi: Propagate carrier gain/loss events to the NCSI controller

Jordan Rife (2):
      net: replace calls to sock->ops->connect() with kernel_connect()
      net: prevent rewrite of msg_name in sock_sendmsg()

Josef Bacik (1):
      btrfs: properly report 0 avail for very full file systems

Josh Poimboeuf (2):
      x86/srso: Fix srso_show_state() side effect
      x86/srso: Fix SBPB enablement for spec_rstack_overflow=off

Jozsef Kadlecsik (1):
      netfilter: ipset: Fix race between IPSET_CMD_CREATE and IPSET_CMD_SWAP

Juergen Gross (1):
      xen/events: replace evtchn_rwlock with RCU

Julien Panis (1):
      bus: ti-sysc: Use fsleep() instead of usleep_range() in sysc_reset()

Junxiao Bi (1):
      scsi: target: core: Fix deadlock due to recursive locking

Kailang Yang (1):
      ALSA: hda: Disable power save for solving pop issue on Lenovo ThinkCentre M70q

Kajol Jain (1):
      powerpc/perf/hv-24x7: Update domain value check

Kees Cook (1):
      selftests/tls: Add {} to avoid static checker warning

Kemeng Shi (1):
      ext4: replace the traditional ternary conditional operator with with max()/min()

Konrad Dybcio (1):
      media: venus: hfi_venus: Write to VIDC_CTRL_INIT after unmasking interrupts

Konstantin Meskhidze (1):
      RDMA/uverbs: Fix typo of sizeof argument

Krzysztof Kozlowski (1):
      ARM: dts: omap: correct indentation

Kyle Zeng (1):
      ipv4: fix null-deref in ipv4_link_failure

Leon Hwang (1):
      bpf: Fix tr dereferencing

Leon Romanovsky (2):
      RDMA/core: Require admin capabilities to set system parameters
      RDMA/cma: Fix truncation compilation warning in make_cma_ports

Lukas Bulwahn (1):
      ext4: scope ret locally in ext4_try_to_trim_range()

Lukas Czerner (1):
      ext4: change s_last_trim_minblks type to unsigned long

Mario Limonciello (2):
      ata: ahci: Rename board_ahci_mobile
      ACPI: Check StorageD3Enable _DSD property in ACPI code

Mark Zhang (1):
      RDMA/cma: Initialize ib_sa_multicast structure to 0 when join

Matthias Schiffer (1):
      ata: libata-sata: increase PMP SRST timeout to 10s

Mauricio Faria de Oliveira (1):
      modpost: add missing else to the "of" check

Max Filippov (2):
      xtensa: add default definition for XCHAL_HAVE_DIV32
      xtensa: boot/lib: fix function prototypes

Michal Grzedzicki (2):
      scsi: pm80xx: Use phy-specific SAS address when sending PHY_START command
      scsi: pm80xx: Avoid leaking tags when processing OPC_INB_SET_CONTROLLER_CONFIG command

Mika Westerberg (3):
      watchdog: iTCO_wdt: No need to stop the timer in probe
      watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running
      net: thunderbolt: Fix TCPv6 GSO checksum calculation

Ming Lei (1):
      block: fix use-after-free of q->q_usage_counter

Nathan Chancellor (1):
      drm/mediatek: Fix backport issue in mtk_drm_gem_prime_vmap()

Neal Cardwell (2):
      tcp: fix quick-ack counting to count actual ACKs of new data
      tcp: fix delayed ACKs for MSS boundary condition

Nick Desaulniers (1):
      bpf: Fix BTF_ID symbol generation collision in tools/

Niklas Cassel (2):
      ata: libata-eh: do not clear ATA_PFLAG_EH_PENDING in ata_eh_reset()
      ata: libata-scsi: ignore reserved bits for REPORT SUPPORTED OPERATION CODES

Oleksandr Tymoshenko (1):
      ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig

Pablo Neira Ayuso (18):
      netfilter: nf_tables: integrate pipapo into commit protocol
      netfilter: nf_tables: GC transaction API to avoid race with control plane
      netfilter: nf_tables: adapt set backend to use GC transaction API
      netfilter: nft_set_hash: mark set element as dead when deleting from packet path
      netfilter: nf_tables: remove busy mark and gc batch API
      netfilter: nf_tables: fix GC transaction races with netns and netlink event exit path
      netfilter: nf_tables: GC transaction race with netns dismantle
      netfilter: nf_tables: GC transaction race with abort path
      netfilter: nf_tables: use correct lock to protect gc_list
      netfilter: nft_set_rbtree: skip sync GC for new elements in this transaction
      netfilter: nft_set_rbtree: use read spinlock to avoid datapath contention
      netfilter: nft_set_pipapo: stop GC iteration if GC transaction allocation fails
      netfilter: nft_set_hash: try later when GC hits EAGAIN on iteration
      netfilter: nf_tables: disallow element removal on anonymous sets
      netfilter: nf_tables: unregister flowtable hooks on netns exit
      netfilter: nf_tables: double hook unregistration in netns path
      netfilter: nft_exthdr: break evaluation if setting TCP option fails
      netfilter: nf_tables: disallow rule removal from chain binding

Pan Bian (1):
      nilfs2: fix potential use after free in nilfs_gccache_submit_read_data()

Paul Menzel (2):
      ata: libata: Rename link flag ATA_LFLAG_NO_DB_DELAY
      ata: ahci: Add support for AMD A85 FCH (Hudson D4)

Peter Zijlstra (1):
      seqlock: Rename __seqprop() users

Phil Sutter (3):
      netfilter: nft_exthdr: Support SCTP chunks
      netfilter: nft_exthdr: Search chunks in SCTP packets only
      netfilter: nft_exthdr: Fix for unsafe packet data read

Pin-yen Lin (1):
      wifi: mwifiex: Fix oob check condition in mwifiex_process_rx_packet

Pratyush Yadav (1):
      nvme-pci: do not set the NUMA node of device if it has none

Qu Wenruo (1):
      btrfs: reset destination buffer when read_extent_buffer() gets invalid range

Randy Dunlap (2):
      xtensa: iss/network: make functions static
      xtensa: boot: don't add include-dirs

Ricardo B. Marliere (1):
      selftests: fix dependency checker script

Richard Fitzgerald (1):
      regmap: rbtree: Fix wrong register marked as in-cache when creating new node

Rob Herring (1):
      arm64: Add Cortex-A520 CPU part definition

Roberto Sassu (2):
      smack: Record transmuting in smk_transmuted
      smack: Retrieve transmuting information in smack_inode_getsecurity()

Sabrina Dubroca (1):
      selftests: tls: swap the TX and RX sockets in some tests

Sebastian Andrzej Siewior (2):
      locking/seqlock: Do the lockdep annotation before locking in do_write_seqcount_begin_nested()
      bnxt_en: Flush XDP for bnxt_poll_nitroa0()'s NAPI

Sergey Senozhatsky (1):
      dma-debug: don't call __dma_entry_alloc_check_leak() under free_entries_lock

Shay Drory (1):
      RDMA/mlx5: Fix NULL string error

Shengjiu Wang (1):
      ASoC: imx-audmix: Fix return error with devm_clk_get()

Shigeru Yoshida (1):
      net: usb: smsc75xx: Fix uninit-value access in __smsc75xx_read_reg

Stanislav Fomichev (1):
      bpf: Clarify error expectations from bpf_clone_redirect

Stephen Boyd (4):
      platform/x86: intel_scu_ipc: Check status after timeout in busy_loop()
      platform/x86: intel_scu_ipc: Check status upon timeout in ipc_wait_for_interrupt()
      platform/x86: intel_scu_ipc: Don't override scu in intel_scu_ipc_dev_simple_command()
      platform/x86: intel_scu_ipc: Fail IPC send if still busy

Steven Rostedt (Google) (4):
      tracing: Increase trace array ref count on enable and filter files
      tracing: Have event inject files inc the trace array ref count
      ring-buffer: Do not attempt to read past "commit"
      ring-buffer: Update "shortest_full" in polling

Szuying Chen (1):
      ata: libahci: clear pending interrupt status

Thomas Zimmermann (1):
      fbdev/sh7760fb: Depend on FB=y

Timo Alho (1):
      clk: tegra: fix error return case for recalc_rate

Toke Høiland-Jørgensen (1):
      bpf: Avoid deadlock when using queue and stack maps from NMI

Tony Lindgren (5):
      ARM: dts: ti: omap: Fix bandgap thermal cells addressing for omap3/4
      ARM: dts: motorola-mapphone: Configure lower temperature passive cooling
      ARM: dts: Unify pwm-omap-dmtimer node names
      ARM: dts: ti: omap: motorola-mapphone: Fix abe_clkctrl warning on boot
      bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up

Trond Myklebust (6):
      NFS: Use the correct commit info in nfs_join_page_group()
      NFS/pNFS: Report EINVAL errors from connect() to the server
      SUNRPC: Mark the cred for revalidation if the server rejects it
      Revert "SUNRPC dont update timeout value on connection reset"
      NFSv4: Fix a state manager thread deadlock regression
      NFSv4: Fix a nfs4_state_manager() race

Vishal Goel (1):
      Smack:- Use overlay inode label in smack_inode_copy_up()

Vlastimil Babka (1):
      ring-buffer: remove obsolete comment for free_buffer_page()

Wang Jianchao (2):
      ext4: remove the 'group' parameter of ext4_trim_extent
      ext4: add new helper interface ext4_try_to_trim_range()

Wenhua Lin (1):
      gpio: pmic-eic-sprd: Add can_sleep flag for PMIC EIC chip

Werner Fischer (1):
      ata: ahci: Add Elkhart Lake AHCI controller

Werner Sembach (1):
      Input: i8042 - add quirk for TUXEDO Gemini 17 Gen1/Clevo PD70PN

William A. Kennington III (1):
      i2c: npcm7xx: Fix callback completion ordering

Wolfram Sang (5):
      mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup
      mmc: renesas_sdhi: populate SCC pointer at the proper place
      mmc: tmio: support custom irq masks
      mmc: renesas_sdhi: register irqs before registering controller
      mmc: renesas_sdhi: only reset SCC when its pointer is populated

Xiao Liang (1):
      netfilter: nft_exthdr: Fix non-linear header modification

Xiaoke Wang (1):
      i2c: mux: demux-pinctrl: check the return value of devm_kstrdup()

Xin Long (3):
      netfilter: handle the connecting collision properly in nf_conntrack_proto_sctp
      sctp: update transport state when processing a dupcook packet
      sctp: update hb timer immediately after users change hb_interval

Zheng Yejian (3):
      selftests/ftrace: Correctly enable event in instance-event.tc
      ring-buffer: Avoid softlockup in ring_buffer_resize()
      ring-buffer: Fix bytes info in per_cpu buffer stats

Zhihao Cheng (1):
      ubi: Refuse attaching if mtd's erasesize is 0

Ziyang Xuan (1):
      team: fix null-ptr-deref when team device type is changed

BUG=b/304705436
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v5.10.198.

Change-Id: I9c82cbd3e697aebbca7120cabba3d0adc8bf839e
Signed-off-by: COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com>
