tree e76f5d59c6c70a95fd2dfe7250ce4c9b5b015f96
parent f10305a34a4818a2419e12cf2ecbf228e229f949
parent 9b3f9a5b12dc96965b2fcc9d7d8342f1b63e29c4
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1721379357 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1721379358 -0700

merge-upstream/v6.1.100 from branch/tag: upstream/v6.1.100 into branch: main-R113-cos-6.1

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

Alan Stern (1):
      USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor

Aleksander Jan Bajkowski (1):
      net: ethernet: lantiq_etop: fix double free in detach

Aleksandr Mishin (1):
      octeontx2-af: Fix incorrect value output on error path in rvu_check_rsrc_availability()

Alexandre Chartre (1):
      x86/bhi: Avoid warning in #DB handler due to BHI mitigation

Armin Wolf (1):
      platform/x86: toshiba_acpi: Fix array out-of-bounds access

Audra Mitchell (1):
      Fix userfaultfd_api to return EINVAL as expected

Baokun Li (4):
      cachefiles: propagate errors from vfs_getxattr() to avoid infinite loop
      cachefiles: stop sending new request when dropping object
      cachefiles: cancel all requests for the object that is being dropped
      cachefiles: cyclic allocation of msg_id to avoid reuse

Bjørn Mork (1):
      USB: serial: option: add Fibocom FM350-GL

Brian Foster (1):
      vfs: don't mod negative dentry count when on shrinker list

Brian Gerst (1):
      x86/entry/64: Remove obsolete comment on tracing vs. SYSRET

Chen Ni (1):
      ARM: davinci: Convert comma to semicolon

Chengen Du (1):
      net/sched: Fix UAF when resolving a clash

Dan Carpenter (1):
      i2c: rcar: fix error code in probe()

Daniel Borkmann (1):
      net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket

Daniele Palmas (2):
      USB: serial: option: add Telit generic core-dump composition
      USB: serial: option: add Telit FN912 rmnet compositions

Dmitry Antipov (1):
      ppp: reject claimed-as-LCP but actually malformed packets

Dmitry Smirnov (1):
      USB: serial: mos7840: fix crash on resume

Edson Juliano Drosdeck (1):
      ALSA: hda/realtek: Limit mic boost on VAIO PRO PX

Eduard Zingerman (1):
      bpf: Allow reads from uninit stack

Ekansh Gupta (3):
      misc: fastrpc: Fix DSP capabilities request
      misc: fastrpc: Avoid updating PD type for capability request
      misc: fastrpc: Copy the complete capability structure to user

Eric Dumazet (2):
      tcp: use signed arithmetic in tcp_rtx_probe0_timed_out()
      tcp: avoid too many retransmit packets

Geliang Tang (1):
      skmsg: Skip zero length skb in sk_msg_recvmsg

Greg Kroah-Hartman (1):
      Linux 6.1.100

He Zhe (1):
      hpet: Support 32-bit userspace

Heiko Carstens (1):
      Compiler Attributes: Add __uninitialized macro

Helge Deller (1):
      wireguard: allowedips: avoid unaligned 64-bit memory accesses

Hobin Woo (1):
      ksmbd: discard write access to the directory open

Hou Tao (1):
      cachefiles: wait for ondemand_object_worker to finish when dropping object

Hugh Dickins (1):
      net: fix rc7's __skb_datagram_iter()

Ilya Dryomov (1):
      libceph: fix race between delayed_work() and ceph_monc_stop()

Jason A. Donenfeld (3):
      wireguard: selftests: use acpi=off instead of -no-acpi for recent QEMU
      wireguard: queueing: annotate intentional data race in cpu round robin
      wireguard: send: annotate intentional data race in checking empty queue

Jeff Layton (1):
      filelock: fix potential use-after-free in posix_lock_inode

Jia Zhu (1):
      cachefiles: narrow the scope of triggering EPOLLIN events in ondemand mode

Jian Hui Lee (1):
      net: ethernet: mtk-star-emac: set mac_managed_pm when probing

Jim Mattson (1):
      x86/retpoline: Move a NOENDBR annotation to the SRSO dummy return thunk

Jingbo Xu (1):
      cachefiles: add missing lock protection when polling

John Stultz (1):
      sched: Move psi_account_irqtime() out of update_rq_clock_task() hotpath

Josh Don (1):
      Revert "sched/fair: Make sure to try to detach at least one movable task"

Joy Chakraborty (2):
      nvmem: rmem: Fix return value of rmem_read()
      nvmem: meson-efuse: Fix return value of nvmem callbacks

Kiran Kumar K (2):
      octeontx2-af: extend RSS supported offload types
      octeontx2-af: fix issue with IPv6 ext match for RSS

Kuan-Wei Chiu (1):
      ACPI: processor_idle: Fix invalid comparison with insertion sort for latency

Kuniyuki Iwashima (1):
      udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port().

Lee Jones (1):
      usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()

Mank Wang (1):
      USB: serial: option: add Netprisma LCUK54 series modules

Martin KaFai Lau (2):
      bpf: Reduce smap->elem_size
      bpf: Remove __bpf_local_storage_map_alloc

Mathias Nyman (1):
      xhci: always resume roothubs if xHC was reset during resume

Michal Kubiak (1):
      i40e: Fix XDP program unloading while removing the driver

Michal Mazur (1):
      octeontx2-af: fix detection of IP layer

Michał Kopeć (1):
      ALSA: hda/realtek: add quirk for Clevo V5[46]0TU

Mohammad Shehar Yaar Tausif (1):
      bpf: fix order of args in call to bpf_map_kvcalloc

Nathan Chancellor (1):
      kbuild: Make ld-version.sh more robust against version string changes

Nazar Bilinskyi (1):
      ALSA: hda/realtek: Enable Mute LED on HP 250 G7

Neal Cardwell (1):
      tcp: fix incorrect undo caused by DSACK of TLP retransmit

Nithin Dabilpuram (1):
      octeontx2-af: replace cpt slot with lf id on reg write

Oleksij Rempel (2):
      net: phy: microchip: lan87xx: reinit PHY after cable test
      ethtool: netlink: do not return SQI value if link is down

Richard Fitzgerald (5):
      firmware: cs_dsp: Fix overflow checking of wmfw header
      firmware: cs_dsp: Return error if block header overflows file
      firmware: cs_dsp: Validate payload length before processing block
      firmware: cs_dsp: Prevent buffer overrun when processing V2 alg headers
      firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files

Ronald Wahl (2):
      net: ks8851: Fix deadlock with the SPI chip variant
      net: ks8851: Fix potential TX stall after interface reopen

Ryusuke Konishi (1):
      nilfs2: fix kernel bug on rename operation of broken directory

Satheesh Paul (1):
      octeontx2-af: fix issue with IPv4 match for RSS

Slark Xiao (1):
      USB: serial: option: add support for Foxconn T99W651

Srujana Challa (2):
      octeontx2-af: update cpt lf alloc mailbox
      octeontx2-af: fix a issue with cpt_lf_alloc mailbox

Steve French (1):
      cifs: fix setting SecurityFlags to true

Sven Schnelle (1):
      s390: Mark psw in __load_psw_mask() as __unitialized

Thomas Weißschuh (1):
      nvmem: core: only change name to fram for current attribute

Vanillan Wang (1):
      USB: serial: option: add Rolling RW350-GL variants

Waiman Long (1):
      mm: prevent derefencing NULL ptr in pfn_section_valid()

WangYuli (1):
      USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k

Wolfram Sang (7):
      i2c: rcar: bring hardware to known state when probing
      i2c: mark HostNotify target address as used
      i2c: rcar: reset controller is mandatory for Gen3+
      i2c: rcar: introduce Gen4 devices
      i2c: rcar: ensure Gen3+ reset does not disturb local targets
      i2c: testunit: avoid re-issued work after read message
      i2c: rcar: clear NO_RXDMA flag after resetting

Yafang Shao (1):
      bpf: use bpf_map_kvcalloc in bpf_local_storage

Yonghong Song (1):
      bpf: Refactor some inode/task/sk storage functions for reuse

linke li (1):
      fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading

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

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