tree 026de5aa33be1efce56e7c5a9b3ca25d7d4021d6
parent b2d0a664ae8e0c3e2eca83b2f0bd44141833bb29
parent 99fd042016c7489192d05ff21a10620c2142301d
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1723715151 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1723715152 -0700

merge-upstream/v6.6.46 from branch/tag: upstream/v6.6.46 into branch: cos-6.6

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

Alex Hung (1):
      drm/amd/display: Add null checker before passing variables

Andi Kleen (1):
      x86/mtrr: Check if fixed MTRRs exist before saving them

Andi Shyti (2):
      drm/i915/gem: Fix Virtual Memory mapping boundaries calculation
      drm/i915/gem: Adjust vma offset for framebuffer mmap offset

Andrey Konovalov (1):
      kcov: properly check for softirq context

Anton Khirnov (1):
      Bluetooth: hci_sync: avoid dup filtering when passive scanning with adv monitor

Arnaldo Carvalho de Melo (1):
      tools headers arm64: Sync arm64's cputype.h with the kernel sources

Arseniy Krasnov (1):
      irqchip/meson-gpio: Convert meson_gpio_irq_controller::lock to 'raw_spinlock_t'

Baochen Qiang (1):
      wifi: ath12k: fix memory leak in ath12k_dp_rx_peer_frag_setup()

Bartosz Golaszewski (1):
      net: stmmac: qcom-ethqos: enable SGMII loopback during DMA reset on sa8775p-ride-r3

Benjamin Coddington (1):
      SUNRPC: Fix a race to wake a sync task

Besar Wicaksono (1):
      arm64: Add Neoverse-V2 part

Bill Wendling (1):
      drm/radeon: Remove __counted_by from StateArray.states[]

Bob Zhou (1):
      drm/amd/pm: Fix the null pointer dereference for vega10_hwmgr

Chen Yu (1):
      x86/paravirt: Fix incorrect virt spinlock setting on bare metal

Chi Zhiling (1):
      media: xc2028: avoid use-after-free in load_firmware_cb()

Chris Wulff (2):
      usb: gadget: core: Check for unset descriptor
      usb: gadget: u_audio: Check return codes from usb_ep_enable and config_ep_by_speed.

Christoph Hellwig (1):
      xfs: fix log recovery buffer allocation for the legacy h_size fixup

Csókás, Bence (1):
      net: fec: Stop PPS on driver remove

Curtis Malainey (1):
      ASoC: SOF: Remove libraries from topology lookups

Damien Le Moal (2):
      scsi: mpt3sas: Avoid IOMMU page faults on REPORT ZONES
      scsi: mpi3mr: Avoid IOMMU page faults on REPORT ZONES

Dan Williams (1):
      driver core: Fix uevent_show() vs driver detach race

Daniele Palmas (1):
      net: usb: qmi_wwan: fix memory leak for not ip packets

Dave Airlie (1):
      nouveau: set placement to original placement on uvmm validate.

Dmitry Antipov (1):
      Bluetooth: l2cap: always unlock channel in l2cap_conless_channel()

Dragan Simic (1):
      drm/lima: Mark simple_ondemand governor as softdep

Dragos Tatulea (1):
      net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink

Dustin L. Howett (1):
      ALSA: hda/realtek: Add Framework Laptop 13 (Intel Core Ultra) to quirks

Eric Dumazet (1):
      net: linkwatch: use system_unbound_wq

FUJITA Tomonori (1):
      PCI: Add Edimax Vendor ID to pci_ids.h

Fangzhi Zuo (1):
      drm/amd/display: Skip Recompute DSC Params if no Stream on Link

Feng Tang (1):
      clocksource: Scale the watchdog read retries automatically

Filipe Manana (3):
      btrfs: fix bitmap leak when loading free space cache on duplicate entry
      btrfs: fix corruption after buffer fault in during direct IO append write
      btrfs: fix double inode unlock for direct IO sync writes

Florian Fainelli (1):
      net: bcmgenet: Properly overlay PHY and MAC Wake-on-LAN capabilities

Florian Westphal (1):
      netfilter: nf_tables: prefer nft_chain_validate

Frederic Weisbecker (1):
      rcu: Fix rcu_barrier() VS post CPUHP_TEARDOWN_CPU invocation

Gaosheng Cui (2):
      i2c: qcom-geni: Add missing clk_disable_unprepare in geni_i2c_runtime_resume
      i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume

Geert Uytterhoeven (1):
      spi: spidev: Add missing spi_device_id for bh2228fv

George Kennedy (1):
      serial: core: check uartclk for zero to avoid divide by zero

Gleb Korobeynikov (1):
      cifs: cifs_inval_name_dfs_link_error: correct the check for fullpath

Greg Kroah-Hartman (1):
      Linux 6.6.46

Grzegorz Nitka (1):
      ice: Fix reset handler

Guenter Roeck (2):
      i2c: smbus: Improve handling of stuck alerts
      i2c: smbus: Send alert notifications to all devices if source not found

Hagar Hemdan (1):
      gpio: prevent potential speculation leaks in gpio_device_get_desc()

Hans de Goede (2):
      power: supply: axp288_charger: Fix constant_charge_voltage writes
      power: supply: axp288_charger: Round constant_charge_voltage writes down

Huacai Chen (1):
      irqchip/loongarch-cpu: Fix return value of lpic_gsi_to_irq()

Ivan Lipski (1):
      Revert "drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update"

James Chapman (1):
      l2tp: fix lockdep splat

Jason Wang (1):
      vhost-vdpa: switch to use vmf_insert_pfn() in the fault handler

Jens Axboe (1):
      block: use the right type for stub rq_integrity_vec()

Jerome Audu (1):
      ASoC: sti: add missing probe entry for player and reader

Jerome Brunet (1):
      ASoC: meson: axg-fifo: fix irq scheduling issue with PREEMPT_RT

Jesse Zhang (1):
      drm/admgpu: fix dereferencing null pointer context

Jithu Joseph (2):
      platform/x86/intel/ifs: Store IFS generation number
      platform/x86/intel/ifs: Gen2 Scan test support

Joe Hattori (1):
      net: dsa: bcm_sf2: Fix a possible memory leak in bcm_sf2_mdio_register()

Johan Hovold (1):
      wifi: ath12k: fix soft lockup on suspend

Johannes Berg (2):
      wifi: nl80211: disallow setting special AP channel widths
      wifi: nl80211: don't give key data to userspace

Joshua Ashton (1):
      drm/amdgpu: Forward soft recovery errors to userspace

Justin Stitt (2):
      ntp: Clamp maxerror and esterror to operating range
      ntp: Safeguard against time_constant overflow

Kang Yang (1):
      wifi: ath12k: add CE and ext IRQ flag to indicate irq_handler

Karthikeyan Periyasamy (1):
      wifi: ath12k: rename the sc naming convention to ab

Kemeng Shi (1):
      jbd2: avoid memleak in jbd2_journal_write_metadata_buffer

Krzysztof Kozlowski (4):
      ASoC: codecs: wcd938x-sdw: Correct Soundwire ports mask
      ASoC: codecs: wsa881x: Correct Soundwire ports mask
      ASoC: codecs: wsa883x: Correct Soundwire ports mask
      ASoC: codecs: wsa884x: Correct Soundwire ports mask

Kuniyuki Iwashima (2):
      sctp: Fix null-ptr-deref in reuseport_add_sock().
      af_unix: Don't retry after unix_state_lock_nested() in unix_stream_connect().

Kuppuswamy Sathyanarayanan (1):
      platform/x86/intel/ifs: Initialize union ifs_status to zero

Li Nan (1):
      md: do not delete safemode_timer in mddev_suspend

Linus Torvalds (2):
      module: warn about excessively long module waits
      module: make waiting for a concurrent module loader interruptible

Lucas Stach (1):
      drm/bridge: analogix_dp: properly handle zero sized AUX transactions

Luke Wang (1):
      Bluetooth: btnxpuart: Shutdown timer and prevent rearming when driver unloading

Ma Jun (4):
      drm/amdgpu/pm: Fix the param type of set_power_profile_mode
      drm/amdgpu/pm: Fix the null pointer dereference for smu7
      drm/amdgpu: Fix the null pointer dereference to ras_manager
      drm/amdgpu/pm: Fix the null pointer dereference in apply_state_adjust_rules

Ma Ke (1):
      drm/client: fix null pointer dereference in drm_client_modeset_probe

Manivannan Sadhasivam (1):
      scsi: ufs: core: Do not set link to OFF state while waking up from hibernation

Marc Kleine-Budde (2):
      can: mcp251xfd: tef: prepare to workaround broken TEF FIFO tail index erratum
      can: mcp251xfd: tef: update workaround for erratum DS80000789E 6 of mcp2518fd

Marek Marczykowski-Górecki (1):
      USB: serial: debug: do not echo input by default

Mark Rutland (12):
      arm64: barrier: Restore spec_bar() macro
      arm64: cputype: Add Cortex-X4 definitions
      arm64: cputype: Add Neoverse-V3 definitions
      arm64: errata: Add workaround for Arm errata 3194386 and 3312417
      arm64: cputype: Add Cortex-X3 definitions
      arm64: cputype: Add Cortex-A720 definitions
      arm64: cputype: Add Cortex-X925 definitions
      arm64: errata: Unify speculative SSBS errata logic
      arm64: errata: Expand speculative SSBS workaround
      arm64: cputype: Add Cortex-X1C definitions
      arm64: cputype: Add Cortex-A725 definitions
      arm64: errata: Expand speculative SSBS workaround (again)

Masami Hiramatsu (Google) (1):
      kprobes: Fix to check symbol prefixes correctly

Mathias Krause (3):
      tracefs: Fix inode allocation
      eventfs: Don't return NULL in eventfs_create_dir()
      eventfs: Use SRCU for freeing eventfs_inodes

Matthieu Baerts (NGI0) (9):
      mptcp: fully established after ADD_ADDR echo on MPJ
      mptcp: pm: fix backup support in signal endpoints
      mptcp: pm: deny endp with signal + subflow + port
      mptcp: pm: reduce indentation blocks
      mptcp: pm: don't try to create sf if alloc failed
      mptcp: pm: do not ignore 'subflow' if 'signal' flag is also set
      selftests: mptcp: join: ability to invert ADD_ADDR check
      selftests: mptcp: join: test both signal & subflow
      Revert "selftests: mptcp: simult flows: mark 'unbalanced' tests as flaky"

Menglong Dong (1):
      bpf: kprobe: remove unused declaring of bpf_kprobe_override

Miao Wang (1):
      LoongArch: Enable general EFI poweroff method

Miaohe Lin (1):
      mm/hugetlb: fix potential race in __update_and_free_hugetlb_folio()

Michael Strauss (1):
      drm/amd/display: Add delay to improve LTTPR UHBR interop

Michal Pecio (1):
      media: uvcvideo: Fix the bandwdith quirk on USB 3.x

Mikulas Patocka (3):
      block: change rq_integrity_vec to respect the iterator
      parisc: fix unaligned accesses in BPF
      parisc: fix a possible DMA corruption

Ming Qian (1):
      media: amphion: Remove lock in s_ctrl callback

Neil Armstrong (1):
      power: supply: qcom_battmgr: return EAGAIN when firmware service is not up

Nico Pache (1):
      selftests: mm: add s390 to ARCH check

Nicolas Dichtel (1):
      ipv6: fix source address selection with route leak

Niklas Söderlund (1):
      clocksource/drivers/sh_cmt: Address race condition for clock events

Nikolay Aleksandrov (1):
      net: bridge: mcast: wait for previous gc cycles when removing port

Oliver Neukum (1):
      usb: vhci-hcd: Do not drop references before new references are gained

Paolo Abeni (1):
      selftests: mptcp: fix error path

Paul E. McKenney (2):
      rcutorture: Fix rcu_torture_fwd_cb_cr() data race
      clocksource: Fix brown-bag boolean thinko in cs_watchdog_read()

Paulo Alcantara (1):
      smb: client: handle lack of FSCTL_GET_REPARSE_POINT support

Peter Oberparleiter (1):
      s390/sclp: Prevent release of buffer in I/O

Peter Zijlstra (3):
      jump_label: Fix the fix, brown paper bags galore
      x86/mm: Fix pti_clone_pgtable() alignment assumption
      x86/mm: Fix pti_clone_entry_text() for i386

Prashanth K (1):
      usb: gadget: u_serial: Set start_delayed during suspend

Qu Wenruo (2):
      btrfs: do not clear page dirty inside extent_write_locked_range()
      btrfs: avoid using fixed char array size for tree names

Radhey Shyam Pandey (1):
      irqchip/xilinx: Fix shift out of bounds

Ricardo Ribalda (1):
      media: uvcvideo: Ignore empty TS packets

Roman Smirnov (1):
      udf: prevent integer overflow in udf_bitmap_free_blocks()

Shakeel Butt (1):
      memcg: protect concurrent access to mem_cgroup_idr

Shay Drory (1):
      genirq/irqdesc: Honor caller provided affinity in alloc_desc()

Srinivas Kandagatla (2):
      ASoC: codecs: wsa883x: parse port-mapping information
      ASoC: codecs: wsa884x: parse port-mapping information

Srinivasan Shanmugam (1):
      drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update

Stefan Wahren (1):
      spi: spi-fsl-lpspi: Fix scldiv calculation

Steve French (1):
      smb3: fix setting SecurityFlags when encryption is required

Steven 'Steve' Kendall (1):
      ALSA: hda: Add HP MP9 G4 Retail System AMS to force connect list

Steven Rostedt (1):
      tracefs: Use generic inode RCU for synchronizing freeing

Takashi Iwai (5):
      ALSA: usb-audio: Re-add ScratchAmp quirk entries
      ALSA: line6: Fix racy access to midibuf
      ALSA: hda/hdmi: Yet more pin fix for HP EliteDesk 800 G4
      usb: gadget: midi2: Fix the response for FB info with block 0xff
      ASoC: amd: yc: Add quirk entry for OMEN by HP Gaming Laptop 16-n0xxx

Tetsuo Handa (1):
      profiling: remove profile=sleep support

Thomas Gleixner (2):
      tick/broadcast: Move per CPU pointer access into the atomic section
      timekeeping: Fix bogus clock_was_set() invocation in do_adjtimex()

Thomas Weißschuh (2):
      ACPI: battery: create alarm sysfs attribute atomically
      ACPI: SBS: manage alarm sysfs attribute through psy core

Thomas Zimmermann (2):
      drm/mgag200: Set DDC timeout in milliseconds
      drm/mgag200: Bind I2C lifetime to DRM device

Tim Huang (1):
      drm/amdgpu: fix potential resource leak warning

Tze-nan Wu (1):
      tracing: Fix overflow in get_free_elt()

Vamshi Gajjela (1):
      scsi: ufs: core: Fix hba->last_dme_cmd_tstamp timestamp updating logic

Victor Skvortsov (1):
      drm/amdgpu: Add lock around VF RLCG interface

Viresh Kumar (1):
      xen: privcmd: Switch from mutex to spinlock for irqfds

Waiman Long (1):
      padata: Fix possible divide-by-0 panic in padata_mt_helper()

Wayne Lin (1):
      drm/dp_mst: Skip CSN if topology probing is not done yet

Wilken Gottwalt (1):
      hwmon: corsair-psu: add USB id of HX1200i Series 2023 psu

Willem de Bruijn (1):
      net: drop bad gso csum_start and offset in virtio_net_hdr

Xiaxi Shen (1):
      ext4: fix uninitialized variable in ext4_inlinedir_to_tree

Yang Shi (2):
      mm: huge_memory: don't force huge page alignment on 32 bit
      mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines

Yang Yingliang (4):
      sched/smt: Introduce sched_smt_present_inc/dec() helper
      sched/smt: Fix unbalance sched_smt_present dec/inc
      sched/core: Introduce sched_set_rq_on/offline() helper
      sched/core: Fix unbalance set_rq_online/offline() in sched_cpu_deactivate()

Yipeng Zou (1):
      irqchip/mbigen: Fix mbigen node address layout

Yonghong Song (1):
      selftests/bpf: Fix send_signal test with nested CONFIG_PARAVIRT

Yu Kuai (1):
      md/raid5: avoid BUG_ON() while continue reshape after reassembling

Zheng Zucheng (1):
      sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime

Zhengchao Shao (1):
      net/smc: add the max value of fallback reason count

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

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