tree 17886150892871e8c29208f7be5077a76ee9c214
parent 253341453bf872f126eb6ee8cc91ed71a9c7c0bf
parent bf1e3b1cb1e002ed1590c91f1a24433b59322368
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1712826768 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1712826768 -0700

merge-upstream/v6.1.85 from branch/tag: upstream/v6.1.85 into branch: cos-6.1

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

Aleksandr Loktionov (2):
      i40e: fix i40e_count_filters() to count only active/new filters
      i40e: fix vf may be used uninitialized in this function warning

Aleksandr Mishin (2):
      net: phy: micrel: Fix potential null pointer dereference
      octeontx2-af: Add array index check

Alexander Mikhalitsyn (1):
      KVM: SVM: enhance info printk's in SEV init

Alexandra Winter (1):
      s390/qeth: handle deferred cc1

Andrei Matei (1):
      bpf: Protect against int overflow for stack access size

Antoine Tenart (5):
      selftests: net: gro fwd: update vxlan GRO test expectations
      gro: fix ownership transfer
      udp: do not accept non-tunnel GSO skbs landing in a tunnel
      udp: do not transition UDP GRO fraglist partial checksums to unnecessary
      udp: prevent local UDP tunnel packets from being GROed

Arnd Bergmann (4):
      dm integrity: fix out-of-range warning
      ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit
      scsi: mylex: Fix sysfs buffer lengths
      ata: sata_mv: Fix PCI device ID table declaration compilation warning

Ashish Kalra (1):
      KVM: SVM: Add support for allowing zero SEV ASIDs

Atlas Yu (1):
      r8169: skip DASH fw status checks when DASH is disabled

Bastien Nocera (1):
      Bluetooth: Fix TOCTOU in HCI debugfs implementation

Bjørn Mork (1):
      net: wwan: t7xx: Split 64bit accesses to fix alignment issues

Borislav Petkov (AMD) (4):
      x86/bugs: Fix the SRSO mitigation on Zen3/4
      x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO
      x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk
      x86/mce: Make sure to grab mce_sysfs_mutex in set_bank()

Christian Hewitt (1):
      drm/panfrost: fix power transition timeout warnings

Christoffer Sandberg (1):
      ALSA: hda/realtek - Fix inactive headset mic jack

Christophe JAILLET (1):
      vboxsf: Avoid an spurious warning if load_nls_xxx() fails

Claudiu Beznea (1):
      net: ravb: Let IP-specific receive function to interrogate descriptors

Daniel Sneddon (2):
      x86/bhi: Define SPEC_CTRL_BHI_DIS_S
      KVM: x86: Add BHI_NO

David Hildenbrand (2):
      x86/mm/pat: fix VM_PAT handling in COW mappings
      mm/secretmem: fix GUP-fast succeeding on secretmem folios

David Howells (2):
      cifs: Fix duplicate fscache cookie warnings
      cifs: Fix caching to try to do open O_WRONLY as rdwr on server

David Thompson (3):
      mlxbf_gige: stop PHY during open() error paths
      mlxbf_gige: call request_irq() after NAPI initialized
      mlxbf_gige: stop interface during shutdown

Davide Caratti (1):
      mptcp: don't account accept() of non-MPC client as fallback to TCP

Denis Kirjanov (1):
      drivers: net: convert to boolean for the mac_managed_pm flag

Dominique Martinet (1):
      9p: Fix read/write debug statements to report server reply

Eric Dumazet (5):
      tcp: properly terminate timers for kernel sockets
      netfilter: validate user input for expected length
      net/sched: act_skbmod: prevent kernel-infoleak
      net/sched: fix lockdep splat in qdisc_tree_reduce_backlog()
      erspan: make sure erspan_base_hdr is present in skb->head

Florian Westphal (1):
      inet: inet_defrag: prevent sk release while still in use

Geliang Tang (2):
      selftests: mptcp: join: fix dev in check_endpoint
      selftests: mptcp: display simult in extra_msg

Greg Kroah-Hartman (2):
      x86: set SPECTRE_BHI_ON as default
      Linux 6.1.85

Hangbin Liu (1):
      scripts/bpf_doc: Use silent mode when exec make cmd

Hariprasad Kelam (2):
      Octeontx2-af: fix pause frame configuration in GMP mode
      octeontx2-af: Fix issue with loading coalesced KPU profiles

Heiner Kallweit (4):
      r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d
      r8169: use spinlock to protect mac ocp register access
      r8169: use spinlock to protect access to registers Config2 and Config5
      r8169: prepare rtl_hw_aspm_clkreq_enable for usage in atomic context

Herve Codina (2):
      driver core: Introduce device_link_wait_removal()
      of: dynamic: Synchronize of_changeset_destroy() with the devlink removals

Horatiu Vultur (1):
      net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping

Hui Wang (1):
      Bluetooth: hci_event: set the conn encrypted before conn establishes

I Gede Agastya Darma Laksana (1):
      ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone

Ingo Molnar (1):
      Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped."

Ivan Vecera (3):
      i40e: Fix VF MAC filter removal
      i40e: Remove _t suffix from enum type names
      i40e: Enforce software interrupt during busy-poll exit

Jakub Kicinski (1):
      selftests: reuseaddr_conflict: add missing new line at the end of the output

Jakub Sitnicki (1):
      bpf, sockmap: Prevent lock inversion deadlock in map delete elem

Jann Horn (1):
      fs/pipe: Fix lockdep false-positive in watchqueue pipe_write()

Jason A. Donenfeld (1):
      x86/coco: Require seeding RNG with RDRAND on CoCo systems

Jeff Layton (1):
      nfsd: hold a lighter-weight client reference over CB_RECALL_ANY

Jesper Dangaard Brouer (1):
      xen-netfront: Add missing skb_mark_for_recycle

Jian Shen (1):
      net: hns3: mark unexcuted loopback test result as UNEXECUTED

Jie Wang (1):
      net: hns3: fix index limit to support all queue stats

Joe Damato (1):
      i40e: Store the irq number in i40e_q_vector

Johan Hovold (4):
      Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT"
      arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken
      Bluetooth: qca: fix device-address endianness
      Bluetooth: add quirk for broken address properties

Johannes Berg (1):
      wifi: iwlwifi: mvm: rfi: fix potential response leaks

Jose Ignacio Tornos Martinez (1):
      net: usb: ax88179_178a: avoid the interface always configured as random address

Josh Poimboeuf (1):
      x86/bugs: Change commas to semicolons in 'spectre_v2' sysfs file

Kuniyuki Iwashima (2):
      ipv6: Fix infinite recursion in fib6_dump_done().
      tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses.

Li Nan (1):
      scsi: sd: Unregister device if device_add_disk() failed in sd_probe()

Linus Torvalds (1):
      x86/syscall: Don't force use of indirect calls for system calls

Mahmoud Adam (1):
      net/rds: fix possible cp null dereference

Marco Pinna (1):
      vsock/virtio: fix packet delivery to tap device

Mario Limonciello (3):
      drm/amd: Evict resources during PM ops prepare() callback
      drm/amd: Add concept of running prepare_suspend() sequence for IP blocks
      drm/amd: Flush GFXOFF requests in prepare stage

Namjae Jeon (3):
      ksmbd: don't send oplock break if rename fails
      ksmbd: validate payload size in ipc response
      ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1

Nikita Kiryushin (1):
      ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields()

Oliver Upton (1):
      KVM: arm64: Fix host-programmed guest events in nVHE

Pablo Neira Ayuso (2):
      netfilter: nf_tables: reject new basechain after table flag update
      netfilter: nf_tables: flush pending destroy work before exit_net release

Paul Barker (2):
      net: ravb: Always process TX descriptor ring
      net: ravb: Always update error counters

Paulo Alcantara (8):
      smb: client: fix potential UAF in cifs_debug_files_proc_show()
      smb: client: fix potential UAF in cifs_stats_proc_write()
      smb: client: fix potential UAF in cifs_stats_proc_show()
      smb: client: fix potential UAF in smb2_is_valid_oplock_break()
      smb: client: fix potential UAF in smb2_is_valid_lease_break()
      smb: client: fix potential UAF in is_valid_oplock_break()
      smb: client: fix potential UAF in smb2_is_network_name_deleted()
      smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect()

Pavel Sakharov (1):
      dma-buf: Fix NULL pointer dereference in sanitycheck()

Pawan Gupta (4):
      x86/bhi: Add support for clearing branch history at syscall entry
      x86/bhi: Enumerate Branch History Injection (BHI) bug
      x86/bhi: Add BHI mitigation knob
      x86/bhi: Mitigate KVM by default

Pierre-Louis Bossart (3):
      ASoC: rt5682-sdw: fix locking sequence
      ASoC: rt711-sdca: fix locking sequence
      ASoC: rt711-sdw: fix locking sequence

Piotr Wejman (1):
      net: stmmac: fix rx queue priority assignment

Przemek Kitszel (1):
      ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa()

Pu Lehui (1):
      drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported

Raju Lakkaraju (1):
      net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips

Ritvik Budhiraja (1):
      smb3: retrying on failed server close

Ryosuke Yasuoka (1):
      nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet

Sabrina Dubroca (3):
      tls: recv: process_rx_list shouldn't use an offset with kvec
      tls: adjust recv return with async crypto and failed copy to userspace
      tls: get psock ref after taking rxlock to avoid leak

Samuel Holland (1):
      riscv: Fix spurious errors from __get/put_kernel_nofault

Sandipan Das (2):
      x86/cpufeatures: Add new word for scattered features
      perf/x86/amd/lbr: Use freeze based on availability

Sean Christopherson (3):
      x86/cpufeatures: Add CPUID_LNX_5 to track recently added Linux-defined word
      KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails
      KVM: SVM: Use unsigned integers when dealing with ASIDs

Stefan O'Rear (1):
      riscv: process: Fix kernel gp leakage

Stephen Lee (1):
      ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw

Su Hui (1):
      octeontx2-pf: check negative error code in otx2_open()

Sumanth Korikkar (1):
      s390/entry: align system call table on 8 bytes

Wei Fang (1):
      net: fec: Set mac_managed_pm during probe

Yonglong Liu (1):
      net: hns3: fix kernel crash when devlink reload during pf initialization

Ziyang Xuan (1):
      netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get()

min15.li (1):
      nvme: fix miss command type check

BUG=b/333844195
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v6.1.85.

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