Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

suse-cvrf логотип

openSUSE-SU-2025-20081-1

Опубликовано: 25 нояб. 2025
Источник: suse-cvrf

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise Server 16.0 and SUSE Linux Micro 6.2 kernel was updated to receive various security bugfixes.

The following security bugs were fixed:

  • CVE-2024-53164: net: sched: fix ordering of qlen adjustment (bsc#1234863).
  • CVE-2024-57891: sched_ext: Fix invalid irq restore in scx_ops_bypass() (bsc#1235953).
  • CVE-2024-57951: hrtimers: Handle CPU state correctly on hotplug (bsc#1237108).
  • CVE-2024-57952: Revert "libfs: fix infinite directory reads for offset dir" (bsc#1237131).
  • CVE-2024-58090: sched/core: Prevent rescheduling when interrupts are disabled (bsc#1240324).
  • CVE-2025-22034: mm/rmap: avoid -EBUSY from make_device_exclusive() (bsc#1241435).
  • CVE-2025-22077: Revert "smb: client: fix TCP timers deadlock after rmmod" (bsc#1241403).
  • CVE-2025-23141: KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses (bsc#1242782).
  • CVE-2025-37821: sched/eevdf: Fix se->slice being set to U64_MAX and resulting (bsc#1242864).
  • CVE-2025-37849: KVM: arm64: Tear down vGIC on failed vCPU creation (bsc#1243000).
  • CVE-2025-37856: btrfs: harden block_group::bg_list against list_del() races (bsc#1243068).
  • CVE-2025-37861: scsi: mpi3mr: Synchronous access b/w reset and tm thread for reply queue (bsc#1243055).
  • CVE-2025-37864: net: dsa: clean up FDB, MDB, VLAN entries on unbind (bsc#1242965).
  • CVE-2025-38006: net: mctp: Do not access ifa_index when missing (bsc#1244930).
  • CVE-2025-38008: mm/page_alloc: fix race condition in unaccepted memory handling (bsc#1244939).
  • CVE-2025-38019: mlxsw: spectrum_router: Fix use-after-free when deleting GRE net devices (bsc#1245000).
  • CVE-2025-38034: btrfs: correct the order of prelim_ref arguments in btrfs__prelim_ref (bsc#1244792).
  • CVE-2025-38038: cpufreq: amd-pstate: Remove unnecessary driver_lock in set_boost (bsc#1244812).
  • CVE-2025-38058: __legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock (bsc#1245151).
  • CVE-2025-38062: kABI: restore layout of struct msi_desc (bsc#1245216).
  • CVE-2025-38075: scsi: target: iscsi: Fix timeout on deleted connection (bsc#1244734).
  • CVE-2025-38101: ring-buffer: Fix buffer locking in ring_buffer_subbuf_order_set() (bsc#1245659).
  • CVE-2025-38103: HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse() (bsc#1245663).
  • CVE-2025-38106: io_uring/sqpoll: do not put task_struct on tctx setup failure (bsc#1245664).
  • CVE-2025-38117: hci_dev centralize extra lock (bsc#1245695).
  • CVE-2025-38119: scsi: core: ufs: Fix a hang in the error handler (bsc#1245700).
  • CVE-2025-38125: net: stmmac: make sure that ptp_rate is not 0 before configuring EST (bsc#1245710).
  • CVE-2025-38146: net: openvswitch: Fix the dead loop of MPLS parse (bsc#1245767).
  • CVE-2025-38160: clk: bcm: rpi: Add NULL check in raspberrypi_clk_register() (bsc#1245780).
  • CVE-2025-38168: perf: arm-ni: Unregister PMUs on probe failure (bsc#1245763).
  • CVE-2025-38180: net: atm: fix /proc/net/atm/lec handling (bsc#1245970).
  • CVE-2025-38182: ublk: santizize the arguments from userspace when adding a device (bsc#1245937).
  • CVE-2025-38184: tipc: fix null-ptr-deref when acquiring remote ip of ethernet bearer (bsc#1245956).
  • CVE-2025-38185: atm: atmtcp: Free invalid length skb in atmtcp_c_send() (bsc#1246012).
  • CVE-2025-38190: atm: Revert atm_account_tx() if copy_from_iter_full() fails (bsc#1245973).
  • CVE-2025-38201: netfilter: nft_set_pipapo: clamp maximum map bucket size to INT_MAX (bsc#1245977).
  • CVE-2025-38205: drm/amd/display: Avoid divide by zero by initializing dummy pitch to 1 (bsc#1246005).
  • CVE-2025-38208: smb: client: add NULL check in automount_fullpath (bsc#1245815).
  • CVE-2025-38216: iommu/vt-d: Restore context entry setup order for aliased devices (bsc#1245963).
  • CVE-2025-38220: ext4: only dirty folios when data journaling regular files (bsc#1245966).
  • CVE-2025-38222: ext4: inline: fix len overflow in ext4_prepare_inline_data (bsc#1245976).
  • CVE-2025-38242: mm: userfaultfd: fix race of userfaultfd_move and swap cache (bsc#1246176).
  • CVE-2025-38244: smb: client: fix potential deadlock when reconnecting channels (bsc#1246183).
  • CVE-2025-38245: atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister() (bsc#1246193).
  • CVE-2025-38251: atm: clip: prevent NULL deref in clip_push() (bsc#1246181).
  • CVE-2025-38256: io_uring/rsrc: fix folio unpinning (bsc#1246188).
  • CVE-2025-38258: mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write (bsc#1246185).
  • CVE-2025-38263: bcache: fix NULL pointer in cache_set_flush() (bsc#1246248).
  • CVE-2025-38267: ring-buffer: Do not trigger WARN_ON() due to a commit_overrun (bsc#1246245).
  • CVE-2025-38270: net: drv: netdevsim: do not napi_complete() from netpoll (bsc#1246252).
  • CVE-2025-38272: net: dsa: b53: do not enable EEE on bcm63xx (bsc#1246268).
  • CVE-2025-38301: nvmem: zynqmp_nvmem: unbreak driver after cleanup (bsc#1246351).
  • CVE-2025-38306: fs/fhandle.c: fix a race in call of has_locked_children() (bsc#1246366).
  • CVE-2025-38311: iavf: get rid of the crit lock (bsc#1246376).
  • CVE-2025-38318: perf: arm-ni: Fix missing platform_set_drvdata() (bsc#1246444).
  • CVE-2025-38322: perf/x86/intel: Fix crash in icl_update_topdown_event() (bsc#1246447).
  • CVE-2025-38323: net: atm: add lec_mutex (bsc#1246473).
  • CVE-2025-38337: jbd2: fix data-race and null-ptr-deref in jbd2_journal_dirty_metadata() (bsc#1246253).
  • CVE-2025-38341: eth: fbnic: avoid double free when failing to DMA-map FW msg (bsc#1246260).
  • CVE-2025-38349: eventpoll: do not decrement ep refcount while still holding the ep mutex (bsc#1246777).
  • CVE-2025-38350: net/sched: Always pass notifications when child class becomes empty (bsc#1246781).
  • CVE-2025-38351: KVM: x86/hyper-v: Skip non-canonical addresses during PV TLB flush (bsc#1246782).
  • CVE-2025-38352: posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() (bsc#1246911).
  • CVE-2025-38359: s390/mm: Fix in_atomic() handling in do_secure_storage_access() (bsc#1247076).
  • CVE-2025-38360: drm/amd/display: Add more checks for DSC / HUBP ONO guarantees (bsc#1247078).
  • CVE-2025-38365: btrfs: fix a race between renames and directory logging (bsc#1247023).
  • CVE-2025-38374: optee: ffa: fix sleep in atomic context (bsc#1247024).
  • CVE-2025-38382: btrfs: fix iteration of extrefs during log replay (bsc#1247031).
  • CVE-2025-38383: mm/vmalloc: fix data race in show_numa_info() (bsc#1247250).
  • CVE-2025-38392: idpf: convert control queue mutex to a spinlock (bsc#1247169).
  • CVE-2025-38396: fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass (bsc#1247156).
  • CVE-2025-38399: scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() (bsc#1247097).
  • CVE-2025-38402: idpf: return 0 size for RSS key if not supported (bsc#1247262).
  • CVE-2025-38408: genirq/irq_sim: Initialize work context pointers properly (bsc#1247126).
  • CVE-2025-38418: remoteproc: core: Release rproc->clean_table after rproc_attach() fails (bsc#1247137).
  • CVE-2025-38419: remoteproc: core: Cleanup acquired resources when rproc_handle_resources() fails in rproc_attach() (bsc#1247136).
  • CVE-2025-38426: drm/amdgpu: Add basic validation for RAS header (bsc#1247252).
  • CVE-2025-38439: bnxt_en: Set DMA unmap len correctly for XDP_REDIRECT (bsc#1247155).
  • CVE-2025-38440: net/mlx5e: Fix race between DIM disable and net_dim() (bsc#1247290).
  • CVE-2025-38441: netfilter: flowtable: account for Ethernet header in nf_flow_pppoe_proto() (bsc#1247167).
  • CVE-2025-38444: raid10: cleanup memleak at raid10_make_request (bsc#1247162).
  • CVE-2025-38445: md/raid1: Fix stack memory use after return in raid1_reshape (bsc#1247229).
  • CVE-2025-38451: md/md-bitmap: fix GPF in bitmap_get_stats() (bsc#1247102).
  • CVE-2025-38453: kABI: io_uring: msg_ring ensure io_kiocb freeing is deferred (bsc#1247234).
  • CVE-2025-38456: ipmi:msghandler: Fix potential memory corruption in ipmi_create_user() (bsc#1247099).
  • CVE-2025-38457: net/sched: Abort __tc_modify_qdisc if parent class does not exist (bsc#1247098).
  • CVE-2025-38458: atm: clip: Fix NULL pointer dereference in vcc_sendmsg() (bsc#1247116).
  • CVE-2025-38459: atm: clip: Fix infinite recursive call of clip_push() (bsc#1247119).
  • CVE-2025-38460: atm: clip: Fix potential null-ptr-deref in to_atmarpd() (bsc#1247143).
  • CVE-2025-38463: tcp: Correct signedness in skb remaining space calculation (bsc#1247113).
  • CVE-2025-38464: tipc: Fix use-after-free in tipc_conn_close() (bsc#1247112).
  • CVE-2025-38470: net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime (bsc#1247288).
  • CVE-2025-38472: netfilter: nf_conntrack: fix crash due to removal of uninitialised entry (bsc#1247313).
  • CVE-2025-38475: smc: Fix various oops due to inet_sock type confusion (bsc#1247308).
  • CVE-2025-38488: smb: client: fix use-after-free in crypt_message when using async crypto (bsc#1247239).
  • CVE-2025-38490: net: libwx: remove duplicate page_pool_put_full_page() (bsc#1247243).
  • CVE-2025-38491: mptcp: make fallback action and fallback decision atomic (bsc#1247280).
  • CVE-2025-38493: tracing/osnoise: Fix crash in timerlat_dump_stack() (bsc#1247283).
  • CVE-2025-38497: usb: gadget: configfs: Fix OOB read on empty string write (bsc#1247347).
  • CVE-2025-38499: clone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns (bsc#1247976).
  • CVE-2025-38500: xfrm: interface: fix use-after-free after changing collect_md xfrm interface (bsc#1248088).
  • CVE-2025-38508: x86/sev: Use TSC_FACTOR for Secure TSC frequency calculation (bsc#1248190).
  • CVE-2025-38514: rxrpc: Fix oops due to non-existence of prealloc backlog struct (bsc#1248202).
  • CVE-2025-38524: rxrpc: Fix recv-recv race of completed call (bsc#1248194).
  • CVE-2025-38526: ice: add NULL check in eswitch lag check (bsc#1248192).
  • CVE-2025-38527: smb: client: fix use-after-free in cifs_oplock_break (bsc#1248199).
  • CVE-2025-38533: net: libwx: fix the using of Rx buffer DMA (bsc#1248200).
  • CVE-2025-38539: tracing: Add down_write(trace_event_sem) when adding trace event (bsc#1248211).
  • CVE-2025-38544: rxrpc: Fix bug due to prealloc collision (bsc#1248225).
  • CVE-2025-38545: net: ethernet: ti: am65-cpsw-nuss: Fix skb size by accounting for skb_shared_info (bsc#1248224).
  • CVE-2025-38546: atm: clip: Fix memory leak of struct clip_vcc (bsc#1248223).
  • CVE-2025-38549: efivarfs: Fix memory leak of efivarfs_fs_info in fs_context error paths (bsc#1248235).
  • CVE-2025-38554: mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped (bsc#1248299).
  • CVE-2025-38556: HID: core: Harden s32ton() against conversion to 0 bits (bsc#1248296).
  • CVE-2025-38560: x86/sev: Evict cache lines during SNP memory validation (bsc#1248312).
  • CVE-2025-38566: sunrpc: fix handling of server side tls alerts (bsc#1248374).
  • CVE-2025-38571: sunrpc: fix client side handling of tls alerts (bsc#1248401).
  • CVE-2025-38572: ipv6: reject malicious packets in ipv6_gso_segment() (bsc#1248399).
  • CVE-2025-38574: pptp: ensure minimal skb length in pptp_xmit() (bsc#1248365).
  • CVE-2025-38584: padata: Fix pd UAF once and for all (bsc1248343).
  • CVE-2025-38588: ipv6: prevent infinite loop in rt6_nlmsg_size() (bsc#1248368).
  • CVE-2025-38593: kABI workaround for bluetooth discovery_state change (bsc#1248357).
  • CVE-2025-38597: drm/rockchip: vop2: fail cleanly if missing a primary plane for a video-port (bsc#1248378).
  • CVE-2025-38608: bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls (bsc#1248338).
  • CVE-2025-38614: eventpoll: Fix semi-unbounded recursion (bsc#1248392).
  • CVE-2025-38616: tls: handle data disappearing from under the TLS ULP (bsc#1248512).
  • CVE-2025-38618: vsock: Do not allow binding to VMADDR_PORT_ANY (bsc#1248511).
  • CVE-2025-38622: net: drop UFO packets in udp_rcv_segment() (bsc#1248619).
  • CVE-2025-38623: PCI: pnv_php: Fix surprise plug detection and recovery (bsc#1248610).
  • CVE-2025-38628: vdpa/mlx5: Fix release of uninitialized resources on error path (bsc#1248616).
  • CVE-2025-38639: netfilter: xt_nfacct: do not assume acct name is null-terminated (bsc#1248674).
  • CVE-2025-38640: bpf: Disable migration in nf_hook_run_bpf() (bsc#1248622).
  • CVE-2025-38643: wifi: cfg80211: Add missing lock in cfg80211_check_and_end_cac() (bsc#1248681).
  • CVE-2025-38644: wifi: mac80211: reject TDLS operations when station is not associated (bsc#1248748).
  • CVE-2025-38659: gfs2: No more self recovery (bsc#1248639).
  • CVE-2025-38660: [ceph] parse_longname(): strrchr() expects NUL-terminated string (bsc#1248634).
  • CVE-2025-38664: ice: Fix a null pointer dereference in ice_copy_and_init_pkg() (bsc#1248628).
  • CVE-2025-38676: iommu/amd: Avoid stack buffer overflow from kernel cmdline (bsc#1248775).
  • CVE-2025-38678: netfilter: nf_tables: reject duplicate device on updates (bsc#1249126).
  • CVE-2025-38684: net/sched: ets: use old 'nbands' while purging unused classes (bsc#1249156).
  • CVE-2025-38686: userfaultfd: fix a crash in UFFDIO_MOVE when PMD is a migration entry (bsc#1249160).
  • CVE-2025-38700: scsi: libiscsi: Initialize iscsi_conn->dd_data only if memory is allocated (bsc#1249182).
  • CVE-2025-38701: ext4: do not BUG when INLINE_DATA_FL lacks system.data xattr (bsc#1249258).
  • CVE-2025-38709: loop: Avoid updating block size under exclusive owner (bsc#1249199).
  • CVE-2025-38710: gfs2: Validate i_depth for exhash directories (bsc#1249201).
  • CVE-2025-38730: io_uring/net: commit partial buffers on retry (bsc#1249172).
  • CVE-2025-38734: net/smc: fix UAF on smcsk after smc_listen_out() (bsc#1249324).
  • CVE-2025-39673: ppp: fix race conditions in ppp_fill_forward_path (bsc#1249320).
  • CVE-2025-39677: net/sched: Fix backlog accounting in qdisc_dequeue_internal (bsc#1249300).
  • CVE-2025-39681: x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper (bsc#1249303).
  • CVE-2025-39682: tls: fix handling of zero-length records on the rx_list (bsc#1249284).
  • CVE-2025-39683: tracing: Limit access to parser->buffer when trace_get_user failed (bsc#1249286).
  • CVE-2025-39691: fs/buffer: fix use-after-free when call bh_read() helper (bsc#1249374).
  • CVE-2025-39698: io_uring/futex: ensure io_futex_wait() cleans up properly on failure (bsc#1249322).
  • CVE-2025-39703: net, hsr: reject HSR frame if skb can't hold tag (bsc#1249315).
  • CVE-2025-39723: kABI: netfs: handle new netfs_io_stream flag (bsc#1249314).
  • CVE-2025-39744: rcu: Fix rcu_read_unlock() deadloop due to IRQ work (bsc#1249494).
  • CVE-2025-39749: rcu: Protect ->defer_qs_iw_pending from data race (bsc#1249533).
  • CVE-2025-39754: mm/smaps: fix race between smaps_hugetlb_range and migration (bsc#1249524).
  • CVE-2025-39766: net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit (bsc#1249510).
  • CVE-2025-39770: net: gso: Forbid IPv6 TSO with extensions on devices with only IPV6_CSUM (bsc#1249508).
  • CVE-2025-39773: net: bridge: fix soft lockup in br_multicast_query_expired() (bsc#1249504).
  • CVE-2025-39775: mm/mremap: fix WARN with uffd that has remap events disabled (bsc#1249500).
  • CVE-2025-39782: jbd2: prevent softlockup in jbd2_log_do_checkpoint() (bsc#1249526).
  • CVE-2025-39791: dm: dm-crypt: Do not partially accept write BIOs with zoned targets (bsc#1249550).
  • CVE-2025-39792: dm: Always split write BIOs to zoned device limits (bsc#1249618).
  • CVE-2025-39797: xfrm: xfrm_alloc_spi shouldn't use 0 as SPI (bsc#1249608).
  • CVE-2025-39813: ftrace: Also allocate and copy hash for reading of filter files (bsc#1250032).
  • CVE-2025-39816: io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths (bsc#1249906).
  • CVE-2025-39823: KVM: x86: use array_index_nospec with indices that come from guest (bsc#1250002).
  • CVE-2025-39825: smb: client: fix race with concurrent opens in rename(2) (bsc#1250179).
  • CVE-2025-39828: kABI workaround for struct atmdev_ops extension (bsc#1250205).
  • CVE-2025-39830: net/mlx5: HWS, Fix memory leak in hws_pool_buddy_init error path (bsc#1249974).
  • CVE-2025-39838: cifs: prevent NULL pointer dereference in UTF16 conversion (bsc#1250365).
  • CVE-2025-39842: ocfs2: prevent release journal inode after journal shutdown (bsc#1250267).
  • CVE-2025-39847: ppp: fix memory leak in pad_compress_skb (bsc#1250292).
  • CVE-2025-39850: vxlan: Fix NPD in {arp,neigh}_reduce() when using nexthop objects (bsc#1250276).
  • CVE-2025-39851: vxlan: Fix NPD when refreshing an FDB entry with a nexthop object (bsc#1250296).
  • CVE-2025-39852: net/tcp: Fix socket memory leak in TCP-AO failure handling for IPv6 (bsc#1250258).
  • CVE-2025-39853: i40e: Fix potential invalid access when MAC list is empty (bsc#1250275).
  • CVE-2025-39854: ice: fix NULL access of tx->in_use in ice_ll_ts_intr (bsc#1250297).
  • CVE-2025-39857: net/smc: fix one NULL pointer dereference in smc_ib_is_sg_need_sync() (bsc#1250251).
  • CVE-2025-39865: tee: fix NULL pointer dereference in tee_shm_put (bsc#1250294).
  • CVE-2025-39875: igb: Fix NULL pointer dereference in ethtool loopback test (bsc#1250398).
  • CVE-2025-39885: ocfs2: fix recursive semaphore deadlock in fiemap call (bsc#1250407).
  • CVE-2025-39898: e1000e: fix heap overflow in e1000_set_eeprom (bsc#1250742).
  • CVE-2025-39900: net_sched: gen_estimator: fix est_timer() vs CONFIG_PREEMPT_RT=y (bsc#1250758).
  • CVE-2025-39902: mm/slub: avoid accessing metadata when pointer is invalid in object_err() (bsc#1250702).
  • CVE-2025-39922: ixgbe: fix incorrect map used in eee linkmode (bsc#1250722).
  • CVE-2025-39926: genetlink: fix genl_bind() invoking bind() after -EPERM (bsc#1250737).
  • CVE-2025-39945: cnic: Fix use-after-free bugs in cnic_delete_task (bsc#1251230).
  • CVE-2025-39946: tls: make sure to abort the stream if headers are bogus (bsc#1251114).
  • CVE-2025-40300: x86/vmscape: Warn when STIBP is disabled with SMT (bsc#1247483).
  • CVE-2026-38264: nvme-tcp: sanitize request list handling (bsc#1246387).

The following non-security bugs were fixed:

  • ACPI/IORT: Fix memory leak in iort_rmr_alloc_sids() (git-fixes).
  • ACPI/processor_idle: Add FFH state handling (jsc#PED-13815).
  • ACPI/processor_idle: Export acpi_processor_ffh_play_dead() (jsc#PED-13815).
  • ACPI: APEI: GHES: add TAINT_MACHINE_CHECK on GHES panic path (stable-fixes).
  • ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered (stable-fixes).
  • ACPI: EC: Add device to acpi_ec_no_wakeup[] qurik list (stable-fixes).
  • ACPI: LPSS: Remove AudioDSP related ID (git-fixes).
  • ACPI: NFIT: Fix incorrect ndr_desc being reportedin dev_err message (git-fixes).
  • ACPI: RISC-V: Fix FFH_CPPC_CSR error handling (git-fixes).
  • ACPI: Return -ENODEV from acpi_parse_spcr() when SPCR support is disabled (stable-fixes).
  • ACPI: Suppress misleading SPCR console message when SPCR table is absent (stable-fixes).
  • ACPI: TAD: Add missing sysfs_remove_group() for ACPI_TAD_RT (git-fixes).
  • ACPI: battery: Add synchronization between interface updates (git-fixes).
  • ACPI: debug: fix signedness issues in read/write helpers (git-fixes).
  • ACPI: pfr_update: Fix the driver update version check (git-fixes).
  • ACPI: processor: Rescan "dead" SMT siblings during initialization (jsc#PED-13815).
  • ACPI: processor: fix acpi_object initialization (stable-fixes).
  • ACPI: processor: idle: Fix memory leak when register cpuidle device failed (git-fixes).
  • ACPI: processor: perflib: Fix initial _PPC limit application (git-fixes).
  • ACPI: processor: perflib: Move problematic pr->performance check (git-fixes).
  • ACPI: property: Fix buffer properties extraction for subnodes (git-fixes).
  • ACPICA: Fix largest possible resource descriptor index (git-fixes).
  • ALSA: firewire-motu: drop EPOLLOUT from poll return values as write is not supported (stable-fixes).
  • ALSA: hda/ca0132: Fix buffer overflow in add_tuning_control (stable-fixes).
  • ALSA: hda/ca0132: Fix missing error handling in ca0132_alt_select_out() (git-fixes).
  • ALSA: hda/cs35l56: Workaround bad dev-index on Lenovo Yoga Book 9i GenX (stable-fixes).
  • ALSA: hda/hdmi: Add pin fix for another HP EliteDesk 800 G4 model (stable-fixes).
  • ALSA: hda/realtek - Add mute LED support for HP Pavilion 15-eg0xxx (stable-fixes).
  • ALSA: hda/realtek - Add mute LED support for HP Victus 15-fa0xxx (stable-fixes).
  • ALSA: hda/realtek - Fix mute LED for HP Victus 16-d1xxx (MB 8A26) (stable-fixes).
  • ALSA: hda/realtek - Fix mute LED for HP Victus 16-r0xxx (stable-fixes).
  • ALSA: hda/realtek - Fix mute LED for HP Victus 16-r1xxx (stable-fixes).
  • ALSA: hda/realtek - Fix mute LED for HP Victus 16-s0xxx (stable-fixes).
  • ALSA: hda/realtek: Add ALC295 Dell TAS2781 I2C fixup (git-fixes).
  • ALSA: hda/realtek: Add Framework Laptop 13 (AMD Ryzen AI 300) to quirks (stable-fixes).
  • ALSA: hda/realtek: Add quirk for ASUS ROG Strix G712LWS (stable-fixes).
  • ALSA: hda/realtek: Add support for ASUS NUC using CS35L41 HDA (stable-fixes).
  • ALSA: hda/realtek: Add support for HP EliteBook x360 830 G6 and EliteBook 830 G6 (stable-fixes).
  • ALSA: hda/realtek: Audio disappears on HP 15-fc000 after warm boot again (git-fixes).
  • ALSA: hda/realtek: Fix headset mic for TongFang X6[AF]R5xxY (stable-fixes).
  • ALSA: hda/realtek: Fix headset mic on ASUS Zenbook 14 (git-fixes).
  • ALSA: hda/realtek: Fix headset mic on HONOR BRB-X (stable-fixes).
  • ALSA: hda/realtek: Fix mute LED mask on HP OMEN 16 laptop (git-fixes).
  • ALSA: hda/realtek: Fix mute led for HP Laptop 15-dw4xx (stable-fixes).
  • ALSA: hda/realtek: add LG gram 16Z90R-A to alc269 fixup table (stable-fixes).
  • ALSA: hda: Disable jack polling at shutdown (stable-fixes).
  • ALSA: hda: Handle the jack polling always via a work (stable-fixes).
  • ALSA: hda: intel-dsp-config: Prevent SEGFAULT if ACPI_HANDLE() is NULL (git-fixes).
  • ALSA: intel8x0: Fix incorrect codec index usage in mixer for ICH4 (stable-fixes).
  • ALSA: intel_hdmi: Fix off-by-one error in __hdmi_lpe_audio_probe() (git-fixes).
  • ALSA: lx_core: use int type to store negative error codes (git-fixes).
  • ALSA: pcm: Disable bottom softirqs as part of spin_lock_irq() on PREEMPT_RT (git-fixes).
  • ALSA: pcm: Rewrite recalculate_boundary() to avoid costly loop (stable-fixes).
  • ALSA: scarlett2: Add retry on -EPROTO from scarlett2_usb_tx() (git-fixes).
  • ALSA: timer: fix ida_free call while not allocated (git-fixes).
  • ALSA: usb-audio: Add DSD support for Comtrue USB Audio device (stable-fixes).
  • ALSA: usb-audio: Add mixer quirk for Sony DualSense PS5 (stable-fixes).
  • ALSA: usb-audio: Add mute TLV for playback volumes on more devices (stable-fixes).
  • ALSA: usb-audio: Add mute TLV for playback volumes on some devices (stable-fixes).
  • ALSA: usb-audio: Allow Focusrite devices to use low samplerates (git-fixes).
  • ALSA: usb-audio: Avoid multiple assignments in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Avoid precedence issues in mixer_quirks macros (stable-fixes).
  • ALSA: usb-audio: Convert comma to semicolon (git-fixes).
  • ALSA: usb-audio: Drop unnecessary parentheses in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Fix block comments in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Fix build with CONFIG_INPUT=n (git-fixes).
  • ALSA: usb-audio: Fix code alignment in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Fix size validation in convert_chmap_v3() (git-fixes).
  • ALSA: usb-audio: Remove unneeded wmb() in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Simplify NULL comparison in mixer_quirks (stable-fixes).
  • ALSA: usb-audio: Use correct sub-type for UAC3 feature unit validation (git-fixes).
  • ALSA: usb-audio: Validate UAC3 cluster segment descriptors (git-fixes).
  • ALSA: usb-audio: Validate UAC3 power domain descriptors, too (git-fixes).
  • ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free (git-fixes).
  • ALSA: usb-audio: move mixer_quirks' min_mute into common quirk (stable-fixes).
  • ASoC: Intel: avs: Fix uninitialized pointer error in probe() (stable-fixes).
  • ASoC: Intel: bytcht_es8316: Fix invalid quirk input mapping (git-fixes).
  • ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping (git-fixes).
  • ASoC: Intel: bytcr_rt5651: Fix invalid quirk input mapping (git-fixes).
  • ASoC: Intel: catpt: Expose correct bit depth to userspace (git-fixes).
  • ASoC: Intel: fix SND_SOC_SOF dependencies (stable-fixes).
  • ASoC: Intel: sof_sdw: Prevent jump to NULL add_sidecar callback (git-fixes).
  • ASoC: SOF: Intel: Read the LLP via the associated Link DMA channel (git-fixes).
  • ASoC: SOF: Intel: hda-pcm: Place the constraint on period time instead of buffer time (git-fixes).
  • ASoC: SOF: Intel: hda-stream: Fix incorrect variable used in error message (git-fixes).
  • ASoC: SOF: amd: acp-loader: Use GFP_KERNEL for DMA allocations in resume context (git-fixes).
  • ASoC: SOF: ipc3-topology: Fix multi-core and static pipelines tear down (git-fixes).
  • ASoC: SOF: ipc4-topology: Account for different ChainDMA host buffer size (git-fixes).
  • ASoC: SOF: ipc4-topology: Correct the minimum host DMA buffer size (git-fixes).
  • ASoC: SOF: topology: Parse the dapm_widget_tokens in case of DSPless mode (stable-fixes).
  • ASoC: amd: acp: Adjust pdm gain value (stable-fixes).
  • ASoC: amd: yc: Add DMI entries to support HP 15-fb1xxx (stable-fixes).
  • ASoC: amd: yc: Add DMI quirk for HP Laptop 17 cp-2033dx (stable-fixes).
  • ASoC: amd: yc: add DMI quirk for ASUS M6501RM (stable-fixes).
  • ASoC: codecs: rt5640: Retry DEVICE_ID verification (stable-fixes).
  • ASoC: codecs: tx-macro: correct tx_macro_component_drv name (stable-fixes).
  • ASoC: codecs: wcd9375: Fix double free of regulator supplies (git-fixes).
  • ASoC: codecs: wcd937x: Drop unused buck_supply (git-fixes).
  • ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime() (stable-fixes).
  • ASoC: fsl_sai: replace regmap_write with regmap_update_bits (git-fixes).
  • ASoC: fsl_xcvr: get channel status data when PHY is not exists (git-fixes).
  • ASoC: hdac_hdmi: Rate limit logging on connection and disconnection (stable-fixes).
  • ASoC: imx-hdmi: remove cpu_pdev related code (git-fixes).
  • ASoC: mediatek: mt8365-dai-i2s: pass correct size to mt8365_dai_set_priv (git-fixes).
  • ASoC: mediatek: use reserved memory or enable buffer pre-allocation (git-fixes).
  • ASoC: ops: dynamically allocate struct snd_ctl_elem_value (git-fixes).
  • ASoC: qcom: audioreach: Fix lpaif_type configuration for the I2S interface (git-fixes).
  • ASoC: qcom: audioreach: fix potential null pointer dereference (git-fixes).
  • ASoC: qcom: q6apm-lpass-dais: Fix NULL pointer dereference if source graph failed (git-fixes).
  • ASoC: qcom: q6apm-lpass-dais: Fix missing set_fmt DAI op for I2S (git-fixes).
  • ASoC: qcom: use drvdata instead of component to keep id (stable-fixes).
  • ASoC: rt5682s: Adjust SAR ADC button mode to fix noise issue (stable-fixes).
  • ASoC: soc-dai: tidyup return value of snd_soc_xlate_tdm_slot_mask() (git-fixes).
  • ASoC: soc-dapm: set bias_level if snd_soc_dapm_set_bias_level() was successed (stable-fixes).
  • ASoC: tas2781: Fix the wrong step for TLV on tas2781 (git-fixes).
  • ASoC: wcd934x: fix error handling in wcd934x_codec_parse_data() (git-fixes).
  • ASoC: wm8940: Correct PLL rate rounding (git-fixes).
  • ASoC: wm8940: Correct typo in control name (git-fixes).
  • ASoC: wm8974: Correct PLL rate rounding (git-fixes).
  • Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen() (git-fixes).
  • Bluetooth: ISO: Fix possible UAF on iso_conn_free (git-fixes).
  • Bluetooth: ISO: do not leak skb in ISO_CONT RX (git-fixes).
  • Bluetooth: ISO: free rx_skb if not consumed (git-fixes).
  • Bluetooth: MGMT: Fix not exposing debug UUID on MGMT_OP_READ_EXP_FEATURES_INFO (git-fixes).
  • Bluetooth: MGMT: Fix possible UAFs (git-fixes).
  • Bluetooth: btmtk: Fix wait_on_bit_timeout interruption during shutdown (git-fixes).
  • Bluetooth: btusb: Add USB ID 2001:332a for D-Link AX9U rev. A1 (stable-fixes).
  • Bluetooth: btusb: Add USB ID 3625:010b for TP-LINK Archer TX10UB Nano (stable-fixes).
  • Bluetooth: btusb: Add new VID/PID 0489/e14e for MT7925 (stable-fixes).
  • Bluetooth: hci_conn: do return error from hci_enhanced_setup_sync() (git-fixes).
  • Bluetooth: hci_core: Fix using {cis,bis}_capable for current settings (git-fixes).
  • Bluetooth: hci_event: Detect if HCI_EV_NUM_COMP_PKTS is unbalanced (git-fixes).
  • Bluetooth: hci_event: Fix UAF in hci_acl_create_conn_sync (git-fixes).
  • Bluetooth: hci_event: Mark connection as closed during suspend disconnect (git-fixes).
  • Bluetooth: hci_event: Mask data status from LE ext adv reports (git-fixes).
  • Bluetooth: hci_event: Treat UNKNOWN_CONN_ID on disconnect as success (git-fixes).
  • Bluetooth: hci_event: fix MTU for BN == 0 in CIS Established (git-fixes).
  • Bluetooth: hci_sock: Reset cookie to zero in hci_sock_free_cookie() (stable-fixes).
  • Bluetooth: hci_sync: Avoid adding default advertising on startup (stable-fixes).
  • Bluetooth: hci_sync: Fix hci_resume_advertising_sync (git-fixes).
  • Bluetooth: hci_sync: Fix scan state after PA Sync has been established (git-fixes).
  • Bluetooth: hci_sync: Fix using random address for BIG/PA advertisements (git-fixes).
  • Bluetooth: hci_sync: Prevent unintended PA sync when SID is 0xFF (git-fixes).
  • Bluetooth: hci_sync: fix set_local_name race condition (git-fixes).
  • Bluetooth: vhci: Prevent use-after-free by removing debugfs files early (git-fixes).
  • CONFIG & no reference -> OK temporarily, must be resolved eventually
  • Disable CET before shutdown by tboot (bsc#1247950).
  • Docs/ABI: Fix sysfs-kernel-address_bits path (git-fixes).
  • Documentation/x86: Document new attack vector controls (git-fixes).
  • Documentation: ACPI: Fix parent device references (git-fixes).
  • Documentation: KVM: Fix unexpected unindent warning (git-fixes).
  • Documentation: KVM: Fix unexpected unindent warnings (git-fixes).
  • Documentation: usb: gadget: Wrap remaining usage snippets in literal code block (git-fixes).
  • Drop ath12k patch that was reverted in the upstream (git-fixes)
  • EDAC/{i10nm,skx,skx_common}: Support UV systems (bsc#1234693).
  • Enable CONFIG_CMA_SYSFS This is a generally useful feature for anyone using CMA or investigating CMA issues, with a small and simple code base and no runtime overhead.
  • Enable MT7925 WiFi drivers for openSUSE Leap 16.0 (bsc#1247325)
  • Enable SMC_LO (a.k.a SMC-D) (jsc#PED-13256).
  • Fix bogus i915 patch backport (bsc#1238972) It's been already cherry-picked in 6.12 kernel itself.
  • Fix dma_unmap_sg() nents value (git-fixes)
  • HID: amd_sfh: Add sync across amd sfh work functions (git-fixes).
  • HID: apple: avoid setting up battery timer for devices without battery (git-fixes).
  • HID: apple: validate feature-report field count to prevent NULL pointer dereference (git-fixes).
  • HID: asus: add support for missing PX series fn keys (stable-fixes).
  • HID: asus: fix UAF via HID_CLAIMED_INPUT validation (git-fixes).
  • HID: core: do not bypass hid_hw_raw_request (stable-fixes).
  • HID: core: ensure the allocated report buffer can contain the reserved report ID (stable-fixes).
  • HID: hid-ntrig: fix unable to handle page fault in ntrig_report_version() (stable-fixes).
  • HID: hidraw: tighten ioctl command parsing (git-fixes).
  • HID: input: rename hidinput_set_battery_charge_status() (stable-fixes).
  • HID: input: report battery status changes immediately (git-fixes).
  • HID: intel-ish-ipc: Remove redundant ready check after timeout function (git-fixes).
  • HID: logitech: Add ids for G PRO 2 LIGHTSPEED (stable-fixes).
  • HID: magicmouse: avoid setting up battery timer when not needed (git-fixes).
  • HID: multitouch: fix slab out-of-bounds access in mt_report_fixup() (git-fixes).
  • HID: quirks: add support for Legion Go dual dinput modes (stable-fixes).
  • HID: wacom: Add a new Art Pen 2 (stable-fixes).
  • IB/mlx5: Fix obj_type mismatch for SRQ event subscriptions (git-fixes)
  • IB/sa: Fix sa_local_svc_timeout_ms read race (git-fixes)
  • Input: i8042 - add TUXEDO InfinityBook Pro Gen10 AMD to i8042 quirk table (stable-fixes).
  • Input: iqs7222 - avoid enabling unused interrupts (stable-fixes).
  • Input: psxpad-spi - add a check for the return value of spi_setup() (git-fixes).
  • Input: uinput - zero-initialize uinput_ff_upload_compat to avoid info leak (git-fixes).
  • KEYS: X.509: Fix Basic Constraints CA flag parsing (git-fixes).
  • KEYS: trusted_tpm1: Compare HMAC values in constant time (git-fixes).
  • KVM: Allow CPU to reschedule while setting per-page memory attributes (git-fixes).
  • KVM: Bail from the dirty ring reset flow if a signal is pending (git-fixes).
  • KVM: Bound the number of dirty ring entries in a single reset at INT_MAX (git-fixes).
  • KVM: Conditionally reschedule when resetting the dirty ring (git-fixes).
  • KVM: PPC: Fix misleading interrupts comment in kvmppc_prepare_to_enter() (bsc#1215199).
  • KVM: SVM: Disable interception of SPEC_CTRL iff the MSR exists for the guest (git-fixes).
  • KVM: SVM: Fix SNP AP destroy race with VMRUN (git-fixes).
  • KVM: SVM: Reject SEV{-ES} intra host migration if vCPU creation is in-flight (git-fixes).
  • KVM: TDX: Add new TDVMCALL status code for unsupported subfuncs (jsc#PED-13302).
  • KVM: TDX: Do not report base TDVMCALLs (git-fixes).
  • KVM: TDX: Exit to userspace for GetTdVmCallInfo (jsc#PED-13302).
  • KVM: TDX: Exit to userspace for SetupEventNotifyInterrupt (jsc#PED-13302).
  • KVM: TDX: Handle TDG.VP.VMCALL<GetQuote> (jsc#PED-13302).
  • KVM: TDX: Report supported optional TDVMCALLs in TDX capabilities (jsc#PED-13302).
  • KVM: TDX: Use kvm_arch_vcpu.host_debugctl to restore the host's DEBUGCTL (git-fixes).
  • KVM: VMX: Apply MMIO Stale Data mitigation if KVM maps MMIO into the guest (git-fixes).
  • KVM: VMX: Ensure unused kvm_tdx_capabilities fields are zeroed out (jsc#PED-13302).
  • KVM: arm64: Adjust range correctly during host stage-2 faults (git-fixes).
  • KVM: arm64: Do not free hyp pages with pKVM on GICv2 (git-fixes).
  • KVM: arm64: Fix error path in init_hyp_mode() (git-fixes).
  • KVM: arm64: Mark freed S2 MMUs as invalid (git-fixes).
  • KVM: arm64: vgic: fix incorrect spinlock API usage (git-fixes).
  • KVM: s390: Fix access to unavailable adapter indicator pages during postcopy (git-fixes bsc#1250124).
  • KVM: s390: Fix incorrect usage of mmu_notifier_register() (git-fixes bsc#1250123).
  • KVM: x86/mmu: Locally cache whether a PFN is host MMIO when making a SPTE (git-fixes).
  • KVM: x86/xen: Allow 'out of range' event channel ports in IRQ routing table (git-fixes).
  • KVM: x86: Avoid calling kvm_is_mmio_pfn() when kvm_x86_ops.get_mt_mask is NULL (git-fixes).
  • KVM: x86: Convert vcpu_run()'s immediate exit param into a generic bitmap (git-fixes).
  • KVM: x86: Drop pending_smi vs. INIT_RECEIVED check when setting MP_STATE (git-fixes).
  • KVM: x86: Reject KVM_SET_TSC_KHZ vCPU ioctl for TSC protected guest (git-fixes).
  • KVM: x86: avoid underflow when scaling TSC frequency (git-fixes).
  • Limit patch filenames to 100 characters (bsc#1249604).
  • Move upstreamed SPI patch into sorted section
  • NFS: Fix a race when updating an existing write (git-fixes).
  • NFS: Fix filehandle bounds checking in nfs_fh_to_dentry() (git-fixes).
  • NFS: Fix the setting of capabilities when automounting a new filesystem (git-fixes).
  • NFS: Fix wakeup of __nfs_lookup_revalidate() in unblock_revalidate() (git-fixes).
  • NFS: Fixup allocation flags for nfsiod's __GFP_NORETRY (git-fixes).
  • NFS: nfs_invalidate_folio() must observe the offset and size arguments (git-fixes).
  • NFSD: Define a proc_layoutcommit for the FlexFiles layout type (git-fixes).
  • NFSD: Fix destination buffer size in nfsd4_ssc_setup_dul() (git-fixes).
  • NFSD: detect mismatch of file handle and delegation stateid in OPEN op (git-fixes).
  • NFSv4.1: fix backchannel max_resp_sz verification check (git-fixes).
  • NFSv4.2: another fix for listxattr (git-fixes).
  • NFSv4/flexfiles: Fix layout merge mirror check (git-fixes).
  • NFSv4: Clear NFS_CAP_OPEN_XOR and NFS_CAP_DELEGTIME if not supported (git-fixes).
  • NFSv4: Clear the NFS_CAP_FS_LOCATIONS flag if it is not set (git-fixes).
  • NFSv4: Clear the NFS_CAP_XATTR flag if not supported by the server (git-fixes).
  • NFSv4: Do not clear capabilities that won't be reset (git-fixes).
  • Octeontx2-af: Skip overlap check for SPI field (git-fixes).
  • PCI/ACPI: Fix pci_acpi_preserve_config() memory leak (git-fixes).
  • PCI/ACPI: Fix runtime PM ref imbalance on Hot-Plug Capable ports (git-fixes).
  • PCI/AER: Fix missing uevent on recovery when a reset is requested (git-fixes).
  • PCI/ERR: Fix uevent on failure to recover (git-fixes).
  • PCI/IOV: Add PCI rescan-remove locking when enabling/disabling SR-IOV (git-fixes).
  • PCI/MSI: Export pci_msix_prepare_desc() for dynamic MSI-X allocations (bsc#1245457).
  • PCI/portdrv: Use is_pciehp instead of is_hotplug_bridge (git-fixes).
  • PCI/pwrctrl: Fix device leak at registration (git-fixes).
  • PCI/sysfs: Ensure devices are powered for config reads (git-fixes).
  • PCI: Extend isolated function probing to LoongArch (git-fixes).
  • PCI: Rename PCIE_RESET_CONFIG_DEVICE_WAIT_MS to PCIE_RESET_CONFIG_WAIT_MS (git-fixes).
  • PCI: Support Immediate Readiness on devices without PM capabilities (git-fixes).
  • PCI: dw-rockchip: Replace PERST# sleep time with proper macro (git-fixes).
  • PCI: dw-rockchip: Wait PCIE_RESET_CONFIG_WAIT_MS after link-up IRQ (git-fixes).
  • PCI: dwc: Ensure that dw_pcie_wait_for_link() waits 100 ms after link up (stable-fixes).
  • PCI: endpoint: Fix configfs group list head handling (git-fixes).
  • PCI: endpoint: Fix configfs group removal on driver teardown (git-fixes).
  • PCI: endpoint: pci-epf-vntb: Fix the incorrect usage of __iomem attribute (git-fixes).
  • PCI: endpoint: pci-epf-vntb: Return -ENOENT if pci_epc_get_next_free_bar() fails (git-fixes).
  • PCI: hv: Allow dynamic MSI-X vector allocation (bsc#1245457).
  • PCI: imx6: Add IMX8MM_EP and IMX8MP_EP fixed 256-byte BAR 4 in epc_features (git-fixes).
  • PCI: imx6: Add IMX8MQ_EP third 64-bit BAR in epc_features (git-fixes).
  • PCI: imx6: Add i.MX8Q PCIe Endpoint (EP) support (git-fixes).
  • PCI: imx6: Delay link start until configfs 'start' written (git-fixes).
  • PCI: imx6: Remove apps_reset toggling from imx_pcie_{assert/deassert}_core_reset (git-fixes).
  • PCI: j721e: Fix incorrect error message in probe() (git-fixes).
  • PCI: j721e: Fix programming sequence of "strap" settings (git-fixes).
  • PCI: keystone: Use devm_request_irq() to free "ks-pcie-error-irq" on exit (git-fixes).
  • PCI: pnv_php: Clean up allocated IRQs on unplug (bsc#1215199).
  • PCI: pnv_php: Work around switches with broken presence detection (bsc#1215199).
  • PCI: qcom: Wait PCIE_RESET_CONFIG_WAIT_MS after link-up IRQ (git-fixes).
  • PCI: rcar-gen4: Add missing 1ms delay after PWR reset assertion (git-fixes).
  • PCI: rcar-gen4: Assure reset occurs before DBI access (git-fixes).
  • PCI: rcar-gen4: Fix PHY initialization (git-fixes).
  • PCI: rcar-gen4: Fix inverted break condition in PHY initialization (git-fixes).
  • PCI: rcar-host: Convert struct rcar_msi mask_lock into raw spinlock (git-fixes).
  • PCI: rcar-host: Drop PMSR spinlock (git-fixes).
  • PCI: rockchip-host: Fix "Unexpected Completion" log message (git-fixes).
  • PCI: rockchip: Set Target Link Speed to 5.0 GT/s before retraining (git-fixes).
  • PCI: rockchip: Use standard PCIe definitions (git-fixes).
  • PCI: tegra194: Fix broken tegra_pcie_ep_raise_msi_irq() (git-fixes).
  • PCI: tegra194: Fix duplicate PLL disable in pex_ep_event_pex_rst_assert() (git-fixes).
  • PCI: tegra194: Handle errors in BPMP response (git-fixes).
  • PCI: tegra194: Reset BARs when running in PCIe endpoint mode (git-fixes).
  • PCI: tegra: Convert struct tegra_msi mask_lock into raw spinlock (git-fixes).
  • PCI: tegra: Fix devm_kcalloc() argument order for port->phys allocation (git-fixes).
  • PCI: xilinx-nwl: Fix ECAM programming (git-fixes).
  • PM / devfreq: Check governor before using governor->name (git-fixes).
  • PM / devfreq: Fix a index typo in trans_stat (git-fixes).
  • PM / devfreq: governor: Replace sscanf() with kstrtoul() in set_freq_store() (stable-fixes).
  • PM / devfreq: mtk-cci: Fix potential error pointer dereference in probe() (git-fixes).
  • PM / devfreq: rockchip-dfi: double count on RK3588 (git-fixes).
  • PM: EM: use kfree_rcu() to simplify the code (stable-fixes).
  • PM: cpufreq: powernv/tracing: Move powernv_throttle trace event (git-fixes).
  • PM: hibernate: Add pm_hibernation_mode_is_suspend() (bsc#1243112).
  • PM: hibernate: Add stub for pm_hibernate_is_recovering() (bsc#1243112).
  • PM: hibernate: Fix pm_hibernation_mode_is_suspend() build breakage (bsc#1243112).
  • PM: hibernate: add new api pm_hibernate_is_recovering() (bsc#1243112).
  • PM: runtime: Clear power.needs_force_resume in pm_runtime_reinit() (stable-fixes).
  • PM: runtime: Take active children into account in pm_runtime_get_if_in_use() (git-fixes).
  • PM: sleep: console: Fix the black screen issue (stable-fixes).
  • PM: sleep: core: Clear power.must_resume in noirq suspend error path (git-fixes).
  • RAS/AMD/ATL: Include row bit in row retirement (bsc#1242034).
  • RAS/AMD/FMPM: Get masked address (bsc#1242034).
  • RDMA/bnxt_re: Fix a possible memory leak in the driver (git-fixes)
  • RDMA/bnxt_re: Fix size of uverbs_copy_to() in BNXT_RE_METHOD_GET_TOGGLE_MEM (git-fixes)
  • RDMA/bnxt_re: Fix to do SRQ armena by default (git-fixes)
  • RDMA/bnxt_re: Fix to initialize the PBL array (git-fixes)
  • RDMA/bnxt_re: Fix to remove workload check in SRQ limit path (git-fixes)
  • RDMA/cm: Rate limit destroy CM ID timeout error message (git-fixes)
  • RDMA/core: Rate limit GID cache warning messages (git-fixes)
  • RDMA/core: Resolve MAC of next-hop device without ARP support (git-fixes)
  • RDMA/core: reduce stack using in nldev_stat_get_doit() (git-fixes)
  • RDMA/counter: Check CAP_NET_RAW check in user namespace for RDMA counters (git-fixes)
  • RDMA/erdma: Fix ignored return value of init_kernel_qp (git-fixes)
  • RDMA/hns: Drop GFP_NOWARN (git-fixes)
  • RDMA/hns: Fix -Wframe-larger-than issue (git-fixes)
  • RDMA/hns: Fix HW configurations not cleared in error flow (git-fixes)
  • RDMA/hns: Fix accessing uninitialized resources (git-fixes)
  • RDMA/hns: Fix dip entries leak on devices newer than hip09 (git-fixes)
  • RDMA/hns: Fix double destruction of rsv_qp (git-fixes)
  • RDMA/hns: Fix querying wrong SCC context for DIP algorithm (git-fixes)
  • RDMA/hns: Get message length of ack_req from FW (git-fixes)
  • RDMA/mana_ib: Add device statistics support (bsc#1246651).
  • RDMA/mana_ib: Drain send wrs of GSI QP (bsc#1251135).
  • RDMA/mana_ib: Extend modify QP (bsc#1251135).
  • RDMA/mana_ib: Fix DSCP value in modify QP (git-fixes).
  • RDMA/mana_ib: add additional port counters (git-fixes).
  • RDMA/mana_ib: add support of multiple ports (git-fixes).
  • RDMA/mlx5: Better estimate max_qp_wr to reflect WQE count (git-fixes)
  • RDMA/mlx5: Check CAP_NET_RAW in user namespace for anchor create (git-fixes)
  • RDMA/mlx5: Check CAP_NET_RAW in user namespace for devx create (git-fixes)
  • RDMA/mlx5: Check CAP_NET_RAW in user namespace for flow create (git-fixes)
  • RDMA/mlx5: Fix UMR modifying of mkey page size (git-fixes)
  • RDMA/mlx5: Fix compilation warning when USER_ACCESS isn't set (git-fixes)
  • RDMA/mlx5: Fix vport loopback forcing for MPV device (git-fixes)
  • RDMA/nldev: Check CAP_NET_RAW in user namespace for QP modify (git-fixes)
  • RDMA/rxe: Fix race in do_task() when draining (git-fixes)
  • RDMA/rxe: Flush delayed SKBs while releasing RXE resources (git-fixes)
  • RDMA/siw: Always report immediate post SQ errors (git-fixes)
  • RDMA/siw: Fix the sendmsg byte count in siw_tcp_sendpages (git-fixes)
  • RDMA/uverbs: Add empty rdma_uattrs_has_raw_cap() declaration (git-fixes)
  • RDMA/uverbs: Check CAP_NET_RAW in user namespace for QP create (git-fixes)
  • RDMA/uverbs: Check CAP_NET_RAW in user namespace for RAW QP create (git-fixes)
  • RDMA/uverbs: Check CAP_NET_RAW in user namespace for flow create (git-fixes)
  • RDMA: hfi1: fix possible divide-by-zero in find_hw_thread_mask() (git-fixes)
  • README.BRANCH: mfranc@suse.cz leaving SUSE
  • RISC-V: Add defines for the SBI nested acceleration extension (jsc#PED-348).
  • Reapply "wifi: mac80211: Update skb's control block key in ieee80211_tx_dequeue()" (git-fixes).
  • Reapply "x86/smp: Eliminate mwait_play_dead_cpuid_hint()" (jsc#PED-13815).
  • Revert "SUNRPC: Do not allow waiting for exiting tasks" (git-fixes).
  • Revert "drm/amdgpu: fix incorrect vm flags to map bo" (stable-fixes).
  • Revert "drm/nouveau: check ioctl command codes better" (git-fixes).
  • Revert "gpio: mlxbf3: only get IRQ for device instance 0" (git-fixes).
  • Revert "leds: trigger: netdev: Configure LED blink interval for HW offload" (git-fixes).
  • Revert "mac80211: Dynamically set CoDel parameters per station" (stable-fixes).
  • Revert "usb: xhci: Avoid Stop Endpoint retry loop if the endpoint seems Running" (git-fixes).
  • Revert "vgacon: Add check for vc_origin address range in vgacon_scroll()" (stable-fixes).
  • Revert "wifi: mt76: mt7925: Update mt7925_mcu_uni_[tx,rx]_ba for MLO" (git-fixes).
  • SUNRPC: call xs_sock_process_cmsg for all cmsg (git-fixes).
  • Squashfs: add additional inode sanity checking (git-fixes).
  • Squashfs: fix uninit-value in squashfs_get_parent (git-fixes).
  • Squashfs: reject negative file sizes in squashfs_read_inode() (git-fixes).
  • USB: gadget: dummy-hcd: Fix locking bug in RT-enabled kernels (git-fixes).
  • USB: gadget: f_hid: Fix memory leak in hidg_bind error path (git-fixes).
  • USB: serial: ftdi_sio: add support for NDI EMGUIDE GEMINI (stable-fixes).
  • USB: serial: option: add Foxconn T99W640 (stable-fixes).
  • USB: serial: option: add Foxconn T99W709 (stable-fixes).
  • USB: serial: option: add SIMCom 8230C compositions (stable-fixes).
  • USB: serial: option: add Telit Cinterion FE910C04 (ECM) composition (stable-fixes).
  • USB: serial: option: add Telit Cinterion FN990A w/audio compositions (stable-fixes).
  • USB: serial: option: add Telit Cinterion LE910C4-WWX new compositions (stable-fixes).
  • USB: storage: Add unusual-devs entry for Novatek NTK96550-based camera (stable-fixes).
  • USB: storage: Ignore driver CD mode for Realtek multi-mode Wi-Fi dongles (stable-fixes).
  • Update config files. (bsc#1249186) Enable where we define KABI refs + rely on Kconfig deps.
  • Update config files: revive pwc driver for Leap (bsc#1249060)
  • accel/habanalabs/gaudi2: Use kvfree() for memory allocated with kvcalloc() (git-fixes).
  • accel/ivpu: Correct DCT interrupt handling (git-fixes).
  • accel/ivpu: Fix reset_engine debugfs file logic (stable-fixes).
  • accel/ivpu: Fix warning in ivpu_gem_bo_free() (git-fixes).
  • accel/ivpu: Prevent recovery work from being queued during device removal (git-fixes).
  • amdgpu/amdgpu_discovery: increase timeout limit for IFWI init (stable-fixes).
  • aoe: defer rexmit timer downdev work to workqueue (git-fixes).
  • arch/powerpc: Remove .interp section in vmlinux (bsc#1215199).
  • arm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack() (git-fixes)
  • arm64/mm: Check PUD_TYPE_TABLE in pud_bad() (git-fixes)
  • arm64/mm: Check pmd_table() in pmd_trans_huge() (git-fixes)
  • arm64/mm: Close theoretical race where stale TLB entry remains valid (git-fixes)
  • arm64/mm: Drop wrong writes into TCR2_EL1 (git-fixes)
  • arm64/mm: Ensure adequate HUGE_MAX_HSTATE (git-fixes)
  • arm64/sysreg: Add register fields for HDFGRTR2_EL2 (git-fixes)
  • arm64/sysreg: Add register fields for HDFGWTR2_EL2 (git-fixes)
  • arm64/sysreg: Add register fields for HFGITR2_EL2 (git-fixes)
  • arm64/sysreg: Add register fields for HFGRTR2_EL2 (git-fixes)
  • arm64/sysreg: Add register fields for HFGWTR2_EL2 (git-fixes)
  • arm64/sysreg: Update register fields for ID_AA64MMFR0_EL1 (git-fixes)
  • arm64: Filter out SME hwcaps when FEAT_SME isn't implemented (git-fixes)
  • arm64: Handle KCOV __init vs inline mismatches (git-fixes)
  • arm64: Mark kernel as tainted on SAE and SError panic (git-fixes)
  • arm64: Restrict pagetable teardown to avoid false warning (git-fixes)
  • arm64: config: Make tpm_tis_spi module build-in (bsc#1246896)
  • arm64: cputype: Add QCOM_CPU_PART_KRYO_3XX_GOLD (git-fixes)
  • arm64: dts: add big-endian property back into watchdog node (git-fixes)
  • arm64: dts: apple: Add ethernet0 alias for J375 template (git-fixes)
  • arm64: dts: apple: t8103-j457: Fix PCIe ethernet iommu-map (git-fixes)
  • arm64: dts: apple: t8103: Fix PCIe BCM4377 nodename (git-fixes)
  • arm64: dts: exynos: gs101: Add 'local-timer-stop' to cpuidle nodes (git-fixes)
  • arm64: dts: exynos: gs101: ufs: add dma-coherent property (git-fixes)
  • arm64: dts: freescale: imx8mm-verdin: Keep LDO5 always on (git-fixes)
  • arm64: dts: freescale: imx93-tqma9352: Limit BUCK2 to 600mV (git-fixes)
  • arm64: dts: imx8mm-beacon: Fix HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mm-beacon: Fix RTC capacitive load (git-fixes)
  • arm64: dts: imx8mm-beacon: Set SAI5 MCLK direction to output for HDMI (git-fixes)
  • arm64: dts: imx8mm-venice-gw700x: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mm-venice-gw7901: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mm-venice-gw7902: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mm-venice-gw7903: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mm-venice-gw7904: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mn-beacon: Fix HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mn-beacon: Fix RTC capacitive load (git-fixes)
  • arm64: dts: imx8mn-beacon: Set SAI5 MCLK direction to output for HDMI (git-fixes)
  • arm64: dts: imx8mn-venice-gw7902: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mp-beacon: Fix RTC capacitive load (git-fixes)
  • arm64: dts: imx8mp-tqma8mpql: fix LDO5 power off (git-fixes)
  • arm64: dts: imx8mp-venice-gw702x: Increase HS400 USDHC clock speed (git-fixes)
  • arm64: dts: imx8mp-venice-gw71xx: fix TPM SPI frequency (git-fixes)
  • arm64: dts: imx8mp-venice-gw72xx: fix TPM SPI frequency (git-fixes)
  • arm64: dts: imx8mp-venice-gw73xx: fix TPM SPI frequency (git-fixes)
  • arm64: dts: imx8mp-venice-gw74xx: fix TPM SPI frequency (git-fixes)
  • arm64: dts: imx8mp: Correct thermal sensor index (git-fixes)
  • arm64: dts: imx8mp: Fix missing microSD slot vqmmc on DH electronics (git-fixes)
  • arm64: dts: imx8mp: Fix missing microSD slot vqmmc on Data Modul (git-fixes)
  • arm64: dts: imx93-kontron: Fix GPIO for panel regulator (git-fixes)
  • arm64: dts: imx93-kontron: Fix USB port assignment (git-fixes)
  • arm64: dts: imx95: Correct the DMA interrupter number of pcie0_ep (git-fixes)
  • arm64: dts: imx95: Correct the lpuart7 and lpuart8 srcid (git-fixes)
  • arm64: dts: marvell: cn9132-clearfog: disable eMMC high-speed modes (git-fixes)
  • arm64: dts: marvell: cn9132-clearfog: fix multi-lane pci x2 and x4 (git-fixes)
  • arm64: dts: rockchip: Add cd-gpios for sdcard detect on Cool Pi 4B (git-fixes).
  • arm64: dts: rockchip: Add cd-gpios for sdcard detect on Cool Pi CM5 (git-fixes)
  • arm64: dts: rockchip: Add vcc-supply to SPI flash on (git-fixes)
  • arm64: dts: rockchip: Add vcc-supply to SPI flash on rk3566-rock3c (git-fixes)
  • arm64: dts: rockchip: Fix Bluetooth interrupts flag on Neardi LBA3368 (git-fixes)
  • arm64: dts: rockchip: Fix the headphone detection on the orangepi 5 (git-fixes)
  • arm64: dts: rockchip: Move SHMEM memory to reserved memory on rk3588 (git-fixes)
  • arm64: dts: rockchip: Update eMMC for NanoPi R5 series (git-fixes)
  • arm64: dts: rockchip: disable unrouted USB controllers and PHY on (git-fixes)
  • arm64: dts: rockchip: disable unrouted USB controllers and PHY on RK3399 Puma (git-fixes)
  • arm64: dts: rockchip: fix endpoint dtc warning for PX30 ISP (git-fixes)
  • arm64: dts: rockchip: fix internal USB hub instability on RK3399 Puma (git-fixes)
  • arm64: dts: rockchip: use cs-gpios for spi1 on ringneck (git-fixes)
  • arm64: dts: st: fix timer used for ticks (git-fixes)
  • arm64: ftrace: fix unreachable PLT for ftrace_caller in init_module (git-fixes)
  • arm64: map [_text, _stext) virtual address range (git-fixes)
  • arm64: mte: Do not flag the zero page as PG_mte_tagged (git-fixes)
  • arm64: poe: Handle spurious Overlay faults (git-fixes)
  • arm64: rust: clean Rust 1.85.0 warning using softfloat target (git-fixes)
  • arm64: stacktrace: Check kretprobe_find_ret_addr() return value (git-fixes)
  • arm64: tegra: Add uartd serial alias for Jetson TX1 module (git-fixes)
  • arm64: tegra: Drop remaining serial clock-names and reset-names (git-fixes)
  • arm64: tegra: Resize aperture for the IGX PCIe C5 slot (git-fixes)
  • arm64: tegra: p2597: Fix gpio for vdd-1v8-dis regulator (git-fixes)
  • arm64: zynqmp: add clock-output-names property in clock nodes (git-fixes)
  • ata: ahci: Disable DIPM if host lacks support (stable-fixes).
  • ata: ahci: Disallow LPM policy control if not supported (stable-fixes).
  • ata: libata-sata: Add link_power_management_supported sysfs attribute (git-fixes).
  • ata: libata-sata: Disallow changing LPM state if not supported (stable-fixes).
  • ata: libata-scsi: Fix CDL control (git-fixes).
  • audit,module: restore audit logging in load failure case (git-fixes).
  • ax25: properly unshare skbs in ax25_kiss_rcv() (git-fixes).
  • batman-adv: fix OOB read/write in network-coding decode (git-fixes).
  • benet: fix BUG when creating VFs (git-fixes).
  • block: Introduce bio_needs_zone_write_plugging() (git-fixes).
  • block: Make REQ_OP_ZONE_FINISH a write operation (git-fixes, bsc#1249552).
  • block: ensure discard_granularity is zero when discard is not supported (git-fixes).
  • block: fix kobject leak in blk_unregister_queue (git-fixes).
  • block: mtip32xx: Fix usage of dma_map_sg() (git-fixes).
  • block: sanitize chunk_sectors for atomic write limits (git-fixes).
  • bnxt_en: Add a helper function to configure MRU and RSS (git-fixes).
  • bnxt_en: Adjust TX rings if reservation is less than requested (git-fixes).
  • bnxt_en: Fix DCB ETS validation (git-fixes).
  • bnxt_en: Fix memory corruption when FW resources change during ifdown (git-fixes).
  • bnxt_en: Fix stats context reservation logic (git-fixes).
  • bnxt_en: Flush FW trace before copying to the coredump (git-fixes).
  • bnxt_en: Update MRU and RSS table of RSS contexts on queue reset (git-fixes).
  • bnxt_en: eliminate the compile warning in bnxt_request_irq due to CONFIG_RFS_ACCEL (git-fixes).
  • bpf, arm64: Call bpf_jit_binary_pack_finalize() in bpf_jit_free() (git-fixes)
  • bpf, arm64: Fix fp initialization for exception boundary (git-fixes)
  • bpf, docs: Fix broken link to renamed bpf_iter_task_vmas.c (git-fixes).
  • bpf, sockmap: Fix psock incorrectly pointing to sk (git-fixes).
  • bpf: Adjust free target to avoid global starvation of LRU map (git-fixes).
  • bpf: Allow XDP dev-bound programs to perform XDP_REDIRECT into maps (git-fixes).
  • bpf: Avoid RCU context warning when unpinning htab with internal structs (git-fixes).
  • bpf: Check link_create.flags parameter for multi_kprobe (git-fixes).
  • bpf: Check link_create.flags parameter for multi_uprobe (git-fixes).
  • bpf: Fix metadata_dst leak __bpf_redirect_neigh_v{4,6} (git-fixes).
  • bpf: Fix uninitialized values in BPF_{CORE,PROBE}_READ (git-fixes).
  • bpf: Forget ranges when refining tnum after JSET (git-fixes).
  • bpf: Make reg_not_null() true for CONST_PTR_TO_MAP (git-fixes).
  • bpf: Only fails the busy counter check in bpf_cgrp_storage_get if it creates storage (git-fixes).
  • bpf: Reject %p% format string in bprintf-like helpers (git-fixes).
  • bpf: Reject attaching fexit/fmod_ret to __noreturn functions (git-fixes).
  • bpf: Reject narrower access to pointer ctx fields (git-fixes).
  • bpf: Return prog btf_id without capable check (git-fixes).
  • bpf: Use preempt_count() directly in bpf_send_signal_common() (git-fixes).
  • bpf: Use proper type to calculate bpf_raw_tp_null_args.mask index (git-fixes).
  • bpf: fix possible endless loop in BPF map iteration (git-fixes).
  • btrfs: abort transaction during log replay if walk_log_tree() failed (git-fixes).
  • btrfs: abort transaction on unexpected eb generation at btrfs_copy_root() (git-fixes).
  • btrfs: add assertions and comment about path expectations to btrfs_cross_ref_exist() (git-fixes).
  • btrfs: add debug build only WARN (bsc#1249038).
  • btrfs: add function comment for check_committed_ref() (git-fixes).
  • btrfs: always abort transaction on failure to add block group to free space tree (git-fixes).
  • btrfs: avoid load/store tearing races when checking if an inode was logged (git-fixes).
  • btrfs: avoid redundant call to get inline ref type at check_committed_ref() (git-fixes).
  • btrfs: avoid starting new transaction when cleaning qgroup during subvolume drop (git-fixes).
  • btrfs: clear dirty status from extent buffer on error at insert_new_root() (git-fixes).
  • btrfs: codify pattern for adding block_group to bg_list (git-fixes).
  • btrfs: convert ASSERT(0) with handled errors to DEBUG_WARN() (bsc#1249038).
  • btrfs: convert BUG_ON in btrfs_reloc_cow_block() to proper error handling (git-fixes).
  • btrfs: correctly escape subvol in btrfs_show_options() (git-fixes).
  • btrfs: do not allow relocation of partially dropped subvolumes (bsc#1249540).
  • btrfs: do not ignore inode missing when replaying log tree (git-fixes).
  • btrfs: do not output error message if a qgroup has been already cleaned up (git-fixes).
  • btrfs: do not return VM_FAULT_SIGBUS on failure to set delalloc for mmap write (bsc#1247949).
  • btrfs: do not silently ignore unexpected extent type when replaying log (git-fixes).
  • btrfs: do not skip remaining extrefs if dir not found during log replay (git-fixes).
  • btrfs: enhance ASSERT() to take optional format string (bsc#1249038).
  • btrfs: error on missing block group when unaccounting log tree extent buffers (git-fixes).
  • btrfs: exit after state split error at set_extent_bit() (git-fixes).
  • btrfs: explicitly ref count block_group on new_bgs list (bsc#1243068)
  • btrfs: fix -ENOSPC mmap write failure on NOCOW files/extents (bsc#1247949).
  • btrfs: fix assertion when building free space tree (git-fixes).
  • btrfs: fix corruption reading compressed range when block size is smaller than page size (git-fixes).
  • btrfs: fix data overwriting bug during buffered write when block size < page size (git-fixes).
  • btrfs: fix data race when accessing the inode's disk_i_size at btrfs_drop_extents() (git-fixes).
  • btrfs: fix incorrect log message for nobarrier mount option (git-fixes).
  • btrfs: fix inode lookup error handling during log replay (git-fixes).
  • btrfs: fix invalid extref key setup when replaying dentry (git-fixes).
  • btrfs: fix invalid inode pointer after failure to create reloc inode (git-fixes).
  • btrfs: fix invalid inode pointer dereferences during log replay (git-fixes).
  • btrfs: fix iteration bug in __qgroup_excl_accounting() (git-fixes).
  • btrfs: fix log tree replay failure due to file with 0 links and extents (git-fixes).
  • btrfs: fix missing error handling when searching for inode refs during log replay (git-fixes).
  • btrfs: fix non-empty delayed iputs list on unmount due to async workers (git-fixes).
  • btrfs: fix printing of mount info messages for NODATACOW/NODATASUM (git-fixes).
  • btrfs: fix race between logging inode and checking if it was logged before (git-fixes).
  • btrfs: fix race between setting last_dir_index_offset and inode logging (git-fixes).
  • btrfs: fix squota compressed stats leak (git-fixes).
  • btrfs: fix ssd_spread overallocation (git-fixes).
  • btrfs: fix subvolume deletion lockup caused by inodes xarray race (git-fixes).
  • btrfs: fix the inode leak in btrfs_iget() (git-fixes).
  • btrfs: fix two misuses of folio_shift() (git-fixes).
  • btrfs: fix wrong length parameter for btrfs_cleanup_ordered_extents() (git-fixes).
  • btrfs: handle unaligned EOF truncation correctly for subpage cases (bsc#1249038).
  • btrfs: initialize inode::file_extent_tree after i_mode has been set (git-fixes).
  • btrfs: make btrfs_discard_workfn() block_group ref explicit (bsc#1243068)
  • btrfs: make btrfs_iget() return a btrfs inode instead (git-fixes).
  • btrfs: make btrfs_iget_path() return a btrfs inode instead (git-fixes).
  • btrfs: move transaction aborts to the error site in add_block_group_free_space() (git-fixes).
  • btrfs: pass a btrfs_inode to fixup_inode_link_count() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_defrag_file() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_double_mmap_lock() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_double_mmap_unlock() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_extent_same_range() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_fill_inode() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_iget_locked() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_inode_inherit_props() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_inode_type() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_load_inode_props() (git-fixes).
  • btrfs: pass struct btrfs_inode to btrfs_read_locked_inode() (git-fixes).
  • btrfs: pass struct btrfs_inode to can_nocow_extent() (git-fixes).
  • btrfs: pass struct btrfs_inode to clone_copy_inline_extent() (git-fixes).
  • btrfs: pass struct btrfs_inode to extent_range_clear_dirty_for_io() (git-fixes).
  • btrfs: pass struct btrfs_inode to fill_stack_inode_item() (git-fixes).
  • btrfs: pass struct btrfs_inode to new_simple_dir() (git-fixes).
  • btrfs: pass true to btrfs_delalloc_release_space() at btrfs_page_mkwrite() (bsc#1247949).
  • btrfs: propagate last_unlink_trans earlier when doing a rmdir (git-fixes).
  • btrfs: props: switch prop_handler::apply to struct btrfs_inode (git-fixes).
  • btrfs: props: switch prop_handler::extract to struct btrfs_inode (git-fixes).
  • btrfs: push cleanup into btrfs_read_locked_inode() (git-fixes).
  • btrfs: qgroup: fix qgroup create ioctl returning success after quotas disabled (git-fixes).
  • btrfs: qgroup: fix race between quota disable and quota rescan ioctl (git-fixes).
  • btrfs: qgroup: remove no longer used fs_info->qgroup_ulist (git-fixes).
  • btrfs: qgroup: set quota enabled bit if quota disable fails flushing reservations (git-fixes).
  • btrfs: record new subvolume in parent dir earlier to avoid dir logging races (git-fixes).
  • btrfs: remove conditional path allocation in btrfs_read_locked_inode() (git-fixes).
  • btrfs: remove no longer needed strict argument from can_nocow_extent() (git-fixes).
  • btrfs: remove redundant path release when replaying a log tree (git-fixes).
  • btrfs: remove the snapshot check from check_committed_ref() (git-fixes).
  • btrfs: restore mount option info messages during mount (git-fixes).
  • btrfs: return a btrfs_inode from btrfs_iget_logging() (git-fixes).
  • btrfs: return a btrfs_inode from read_one_inode() (git-fixes).
  • btrfs: return any hit error from extent_writepage_io() (git-fixes).
  • btrfs: send: remove unnecessary inode lookup at send_encoded_inline_extent() (git-fixes).
  • btrfs: simplify arguments for btrfs_cross_ref_exist() (git-fixes).
  • btrfs: simplify early error checking in btrfs_page_mkwrite() (bsc#1247949).
  • btrfs: simplify error detection flow during log replay (git-fixes).
  • btrfs: simplify return logic at check_committed_ref() (git-fixes).
  • btrfs: subpage: fix the bitmap dump of the locked flags (git-fixes).
  • btrfs: tests: fix chunk map leak after failure to add it to the tree (git-fixes).
  • btrfs: tree-checker: fix the incorrect inode ref size check (git-fixes).
  • btrfs: unfold transaction aborts when replaying log trees (git-fixes).
  • btrfs: unify ordering of btrfs_key initializations (git-fixes).
  • btrfs: update superblock's device bytes_used when dropping chunk (git-fixes).
  • btrfs: use a single variable to track return value at btrfs_page_mkwrite() (bsc#1247949).
  • btrfs: use btrfs_record_snapshot_destroy() during rmdir (git-fixes).
  • btrfs: use filemap_get_folio() helper (git-fixes).
  • btrfs: use struct btrfs_inode inside btrfs_get_name() (git-fixes).
  • btrfs: use struct btrfs_inode inside btrfs_get_parent() (git-fixes).
  • btrfs: use struct btrfs_inode inside btrfs_remap_file_range() (git-fixes).
  • btrfs: use struct btrfs_inode inside btrfs_remap_file_range_prep() (git-fixes).
  • btrfs: use struct btrfs_inode inside create_pending_snapshot() (git-fixes).
  • btrfs: use verbose ASSERT() in volumes.c (bsc#1249038).
  • build_bug.h: Add KABI assert (bsc#1249186).
  • bus: firewall: Fix missing static inline annotations for stubs (git-fixes).
  • bus: fsl-mc: Check return value of platform_get_resource() (git-fixes).
  • bus: fsl-mc: Fix potential double device reference in fsl_mc_get_endpoint() (git-fixes).
  • bus: mhi: ep: Fix chained transfer handling in read path (git-fixes).
  • bus: mhi: host: Detect events pointing to unexpected TREs (git-fixes).
  • bus: mhi: host: Do not use uninitialized 'dev' pointer in mhi_init_irq_setup() (git-fixes).
  • bus: mhi: host: pci_generic: Fix the modem name of Foxconn T99W640 (git-fixes).
  • can: etas_es58x: populate ndo_change_mtu() to prevent buffer overflow (git-fixes).
  • can: hi311x: fix null pointer dereference when resuming from sleep before interface was enabled (stable-fixes).
  • can: hi311x: populate ndo_change_mtu() to prevent buffer overflow (git-fixes).
  • can: j1939: implement NETDEV_UNREGISTER notification handler (git-fixes).
  • can: j1939: j1939_local_ecu_get(): undo increment when j1939_local_ecu_get() fails (git-fixes).
  • can: j1939: j1939_sk_bind(): call j1939_priv_put() immediately when j1939_local_ecu_get() failed (git-fixes).
  • can: kvaser_pciefd: Store device channel index (git-fixes).
  • can: kvaser_usb: Assign netdev.dev_port based on device channel index (git-fixes).
  • can: mcba_usb: populate ndo_change_mtu() to prevent buffer overflow (git-fixes).
  • can: netlink: can_changelink(): fix NULL pointer deref of struct can_priv::do_set_mode (git-fixes).
  • can: peak_usb: fix USB FD devices potential malfunction (git-fixes).
  • can: peak_usb: fix shift-out-of-bounds issue (git-fixes).
  • can: rcar_can: rcar_can_resume(): fix s2ram with PSCI (stable-fixes).
  • can: rcar_canfd: Fix controller mode setting (stable-fixes).
  • can: sun4i_can: populate ndo_change_mtu() to prevent buffer overflow (git-fixes).
  • can: xilinx_can: xcan_write_frame(): fix use-after-free of transmitted SKB (git-fixes).
  • cdc-acm: fix race between initial clearing halt and open (git-fixes).
  • cdc_ncm: Flag Intel OEM version of Fibocom L850-GL as WWAN (stable-fixes).
  • cdx: Fix off-by-one error in cdx_rpmsg_probe() (git-fixes).
  • cgroup/cpuset: Fix a partition error with CPU hotplug (bsc#1241166).
  • cgroup/cpuset: Use static_branch_enable_cpuslocked() on cpusets_insane_config_key (bsc#1241166).
  • cgroup: Add compatibility option for content of /proc/cgroups (jsc#PED-12405).
  • cgroup: Print message when /proc/cgroups is read on v2-only system (jsc#PED-12405).
  • cgroup: llist: avoid memory tears for llist_node (bsc#1247963).
  • cgroup: make css_rstat_updated nmi safe (bsc#1247963).
  • cgroup: remove per-cpu per-subsystem locks (bsc#1247963).
  • cgroup: support to enable nmi-safe css_rstat_updated (bsc#1247963).
  • char: misc: Fix improper and inaccurate error code returned by misc_init() (stable-fixes).
  • clk: at91: peripheral: fix return value (git-fixes).
  • clk: at91: sam9x7: update pll clk ranges (git-fixes).
  • clk: clk-axi-clkgen: fix fpfd_max frequency for zynq (git-fixes).
  • clk: davinci: Add NULL check in davinci_lpsc_clk_register() (git-fixes).
  • clk: imx95-blk-ctl: Fix synchronous abort (git-fixes).
  • clk: mediatek: clk-mux: Do not pass flags to clk_mux_determine_rate_flags() (git-fixes).
  • clk: mediatek: mt8195-infra_ao: Fix parent for infra_ao_hdmi_26m (git-fixes).
  • clk: qcom: common: Fix NULL vs IS_ERR() check in qcom_cc_icc_register() (git-fixes).
  • clk: qcom: gcc-ipq8074: fix broken freq table for nss_port6_tx_clk_src (git-fixes).
  • clk: qcom: tcsrcc-x1e80100: Set the bi_tcxo as parent to eDP refclk (git-fixes).
  • clk: renesas: cpg-mssr: Fix memory leak in cpg_mssr_reserved_init() (git-fixes).
  • clk: renesas: rzv2h: Fix missing CLK_SET_RATE_PARENT flag for ddiv clocks (git-fixes).
  • clk: samsung: exynos850: fix a comment (git-fixes).
  • clk: samsung: gs101: fix CLK_DOUT_CMU_G3D_BUSD (git-fixes).
  • clk: samsung: gs101: fix alternate mout_hsi0_usb20_ref parent clock (git-fixes).
  • clk: sunxi-ng: v3s: Fix de clock definition (git-fixes).
  • clk: tegra: do not overallocate memory for bpmp clocks (git-fixes).
  • clk: thead: th1520-ap: Correctly refer the parent of osc_12m (git-fixes).
  • clk: xilinx: vcu: unregister pll_post only if registered correctly (git-fixes).
  • comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl() (git-fixes).
  • comedi: Make insn_rw_emulate_bits() do insn->n samples (git-fixes).
  • comedi: fix race between polling and detaching (git-fixes).
  • comedi: pcl726: Prevent invalid irq number (git-fixes).
  • compiler-clang.h: define SANITIZE*_ macros only when undefined (stable-fixes).
  • compiler: remove __ADDRESSABLE_ASM{_STR,}() again (git-fixes).
  • config.sh: SLFO 1.2 branched in IBS
  • config: arm64: default: enable mtu3 dual-role support for MediaTek platforms (bsc#1245206)
  • coredump: Fixes core_pipe_limit sysctl proc_handler (git-fixes).
  • cpu: Define attack vectors (git-fixes).
  • cpufreq/amd-pstate: Fix a regression leading to EPP 0 after resume (git-fixes).
  • cpufreq/amd-pstate: Fix setting of CPPC.min_perf in active mode for performance governor (git-fixes).
  • cpufreq/sched: Explicitly synchronize limits_changed flag (git-fixes)
  • cpufreq/sched: Fix the usage of CPUFREQ_NEED_UPDATE_LIMITS (git-fixes)
  • cpufreq: Add SM8650 to cpufreq-dt-platdev blocklist (stable-fixes).
  • cpufreq: CPPC: Avoid using CPUFREQ_ETERNAL as transition delay (stable-fixes).
  • cpufreq: CPPC: Mark driver with NEED_UPDATE_LIMITS flag (stable-fixes).
  • cpufreq: Exit governor when failed to start old governor (stable-fixes).
  • cpufreq: Init policy->rwsem before it may be possibly used (git-fixes).
  • cpufreq: Initialize cpufreq-based frequency-invariance later (git-fixes).
  • cpufreq: Initialize cpufreq-based invariance before subsys (git-fixes).
  • cpufreq: Make drivers using CPUFREQ_ETERNAL specify transition latency (stable-fixes git-fixes).
  • cpufreq: Reference count policy in cpufreq_update_limits() (git-fixes).
  • cpufreq: armada-8k: Fix off by one in armada_8k_cpufreq_free_table() (stable-fixes).
  • cpufreq: armada-8k: make both cpu masks static (git-fixes).
  • cpufreq: cppc: Fix invalid return value in .get() callback (git-fixes).
  • cpufreq: governor: Fix negative 'idle_time' handling in dbs_update() (git-fixes).
  • cpufreq: intel_pstate: Add Granite Rapids support in no-HWP mode (stable-fixes).
  • cpufreq: intel_pstate: Always use HWP_DESIRED_PERF in passive mode (git-fixes).
  • cpufreq: intel_pstate: Fix object lifecycle issue in update_qos_request() (git-fixes).
  • cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode (git-fixes).
  • cpufreq: mediatek: fix device leak on probe failure (git-fixes).
  • cpufreq: scmi: Account for malformed DT in scmi_dev_used_by_cpus() (git-fixes).
  • cpufreq: scmi: Skip SCMI devices that are not used by the CPUs (stable-fixes).
  • cpufreq: scpi: compare kHz instead of Hz (git-fixes).
  • cpufreq: sun50i: prevent out-of-bounds access (git-fixes).
  • cpufreq: tegra186: Set target frequency for all cpus in policy (git-fixes).
  • cpufreq: tegra186: Share policy per cluster (stable-fixes).
  • cpupower: Fix a bug where the -t option of the set subcommand was not working (stable-fixes).
  • crypto: af_alg - Set merge to zero early in af_alg_sendmsg (git-fixes).
  • crypto: arm/aes-neonbs - work around gcc-15 warning (git-fixes).
  • crypto: aspeed - Fix dma_unmap_sg() direction (git-fixes).
  • crypto: atmel - Fix dma_unmap_sg() direction (git-fixes).
  • crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP (git-fixes).
  • crypto: ccp - Add missing bootloader info reg for pspv6 (stable-fixes).
  • crypto: ccp - Fix crash when rebind ccp device for ccp.ko (git-fixes).
  • crypto: ccp - Fix locking on alloc failure handling (git-fixes).
  • crypto: essiv - Check ssize for decryption and in-place encryption (git-fixes).
  • crypto: hisilicon - re-enable address prefetch after device resuming (git-fixes).
  • crypto: hisilicon/hpre - fix dma unmap sequence (stable-fixes).
  • crypto: hisilicon/qm - check whether the input function and PF are on the same device (git-fixes).
  • crypto: hisilicon/qm - set NULL to qm->debug.qm_diff_regs (git-fixes).
  • crypto: hisilicon/zip - remove unnecessary validation for high-performance mode configurations (git-fixes).
  • crypto: img-hash - Fix dma_unmap_sg() nents value (git-fixes).
  • crypto: inside-secure - Fix dma_unmap_sg() nents value (git-fixes).
  • crypto: jitter - fix intermediary handling (stable-fixes).
  • crypto: keembay - Add missing check after sg_nents_for_len() (git-fixes).
  • crypto: keembay - Fix dma_unmap_sg() nents value (git-fixes).
  • crypto: marvell/cesa - Fix engine load inaccuracy (git-fixes).
  • crypto: octeontx2 - Call strscpy() with correct size argument (git-fixes).
  • crypto: octeontx2 - Fix address alignment issue on ucode loading (stable-fixes).
  • crypto: octeontx2 - Fix address alignment on CN10K A0/A1 and OcteonTX2 (stable-fixes).
  • crypto: octeontx2 - Fix address alignment on CN10KB and CN10KA-B0 (stable-fixes).
  • crypto: octeontx2 - add timeout for load_fvc completion poll (stable-fixes).
  • crypto: qat - allow enabling VFs in the absence of IOMMU (git-fixes).
  • crypto: qat - disable ZUC-256 capability for QAT GEN5 (git-fixes).
  • crypto: qat - fix DMA direction for compression on GEN2 devices (git-fixes).
  • crypto: qat - fix seq_file position update in adf_ring_next() (git-fixes).
  • crypto: qat - fix state restore for banks with exceptions (git-fixes).
  • crypto: qat - flush misc workqueue during device shutdown (git-fixes).
  • crypto: qat - lower priority for skcipher and aead algorithms (stable-fixes).
  • crypto: qat - use unmanaged allocation for dc_data (git-fixes).
  • crypto: rng - Ensure set_ent is always present (git-fixes).
  • crypto: rockchip - Fix dma_unmap_sg() nents value (git-fixes).
  • crypto: sun8i-ce - fix nents passed to dma_unmap_sg() (git-fixes).
  • devlink: Add support for u64 parameters (jsc#PED-13331).
  • devlink: avoid param type value translations (jsc#PED-13331).
  • devlink: define enum for attr types of dynamic attributes (jsc#PED-13331).
  • devlink: introduce devlink_nl_put_u64() (jsc#PED-13331).
  • devlink: let driver opt out of automatic phys_port_name generation (git-fixes).
  • dm-mpath: do not print the "loaded" message if registering fails (git-fixes).
  • dm-stripe: limit chunk_sectors to the stripe size (git-fixes).
  • dm-table: fix checking for rq stackable devices (git-fixes).
  • dm: Check for forbidden splitting of zone write operations (git-fixes).
  • dm: split write BIOs on zone boundaries when zone append is not emulated (git-fixes).
  • dma/pool: Ensure DMA_DIRECT_REMAP allocations are decrypted (stable-fixes).
  • dmaengine: Fix dma_async_tx_descriptor->tx_submit documentation (git-fixes).
  • dmaengine: dw-edma: Drop unused dchan2dev() and chan2dev() (git-fixes).
  • dmaengine: dw: dmamux: Fix device reference leak in rzn1_dmamux_route_allocate (git-fixes).
  • dmaengine: fsl-dpaa2-qdma: Drop unused mc_enc() (git-fixes).
  • dmaengine: idxd: Fix double free in idxd_setup_wqs() (git-fixes).
  • dmaengine: idxd: Fix refcount underflow on module unload (git-fixes).
  • dmaengine: idxd: Remove improper idxd_free (git-fixes).
  • dmaengine: mediatek: Fix a flag reuse error in mtk_cqdma_tx_status() (git-fixes).
  • dmaengine: mmp: Fix again Wvoid-pointer-to-enum-cast warning (git-fixes).
  • dmaengine: mv_xor: Fix missing check after DMA map and missing unmap (git-fixes).
  • dmaengine: nbpfaxi: Add missing check after DMA map (git-fixes).
  • dmaengine: qcom: bam_dma: Fix DT error handling for num-channels/ees (git-fixes).
  • dmaengine: qcom: gpi: Drop unused gpi_write_reg_field() (git-fixes).
  • dmaengine: stm32-dma: configure next sg only if there are more than 2 sgs (stable-fixes).
  • dmaengine: ti: edma: Fix memory allocation size for queue_priority_map (git-fixes).
  • docs: admin-guide: update to current minimum pipe size default (git-fixes).
  • dpll: Add basic Microchip ZL3073x support (jsc#PED-13331).
  • dpll: Make ZL3073X invisible (jsc#PED-13331).
  • dpll: zl3073x: Add support to get/set frequency on pins (jsc#PED-13331).
  • dpll: zl3073x: Add support to get/set priority on input pins (jsc#PED-13331).
  • dpll: zl3073x: Fetch invariants during probe (jsc#PED-13331).
  • dpll: zl3073x: Fix build failure (jsc#PED-13331).
  • dpll: zl3073x: Implement input pin selection in manual mode (jsc#PED-13331).
  • dpll: zl3073x: Implement input pin state setting in automatic mode (jsc#PED-13331).
  • dpll: zl3073x: Read DPLL types and pin properties from system firmware (jsc#PED-13331).
  • dpll: zl3073x: Register DPLL devices and pins (jsc#PED-13331).
  • dpll: zl3073x: ZL3073X_I2C and ZL3073X_SPI should depend on NET (jsc#PED-13331).
  • driver core/PM: Set power.no_callbacks along with power.no_pm (stable-fixes).
  • drivers/base/node: fix double free in register_one_node() (git-fixes).
  • drivers/base/node: handle error properly in register_one_node() (git-fixes).
  • drivers: base: handle module_kobject creation (git-fixes).
  • drm/amd : Update MES API header file for v11 & v12 (stable-fixes).
  • drm/amd/amdgpu: Declare isp firmware binary file (stable-fixes).
  • drm/amd/amdgpu: Fix missing error return on kzalloc failure (git-fixes).
  • drm/amd/amdgpu: Implement MES suspend/resume gang functionality for v12 (bsc#1243112).
  • drm/amd/amdgpu: disable hwmon power1_cap* for gfx 11.0.3 on vf mode (stable-fixes).
  • drm/amd/display: Add NULL check for stream before dereference in 'dm_vupdate_high_irq' (bsc#1243112).
  • drm/amd/display: Add missing DCE6 SCL_HORZ_FILTER_INIT* SRIs (git-fixes).
  • drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session() (git-fixes).
  • drm/amd/display: Add primary plane to commits for correct VRR handling (stable-fixes).
  • drm/amd/display: Adjust DCE 8-10 clock, do not overclock by 15% (git-fixes).
  • drm/amd/display: Allow DCN301 to clear update flags (git-fixes).
  • drm/amd/display: Allow RX6xxx & RX7700 to invoke amdgpu_irq_get/put (git-fixes).
  • drm/amd/display: Avoid a NULL pointer dereference (stable-fixes).
  • drm/amd/display: Avoid configuring PSR granularity if PSR-SU not supported (stable-fixes).
  • drm/amd/display: Avoid trying AUX transactions on disconnected ports (stable-fixes).
  • drm/amd/display: Clear the CUR_ENABLE register on DCN314 w/out DPP PG (stable-fixes).
  • drm/amd/display: Default IPS to RCG_IN_ACTIVE_IPS2_IN_OFF (git-fixes).
  • drm/amd/display: Disable CRTC degamma LUT for DCN401 (stable-fixes).
  • drm/amd/display: Disable DPCD Probe Quirk (bsc#1248121).
  • drm/amd/display: Disable dsc_power_gate for dcn314 by default (stable-fixes).
  • drm/amd/display: Disable scaling on DCE6 for now (git-fixes).
  • drm/amd/display: Do not check for NULL divisor in fixpt code (git-fixes).
  • drm/amd/display: Do not overclock DCE 6 by 15% (git-fixes).
  • drm/amd/display: Do not overwrite dce60_clk_mgr (git-fixes).
  • drm/amd/display: Do not print errors for nonexistent connectors (git-fixes).
  • drm/amd/display: Do not warn when missing DCE encoder caps (stable-fixes).
  • drm/amd/display: Enable Dynamic DTBCLK Switch (bsc#1243112).
  • drm/amd/display: Fill display clock and vblank time in dce110_fill_display_configs (stable-fixes).
  • drm/amd/display: Find first CRTC and its line time in dce110_fill_display_configs (stable-fixes).
  • drm/amd/display: Fix 'failed to blank crtc!' (stable-fixes).
  • drm/amd/display: Fix DP audio DTO1 clock source on DCE 6 (stable-fixes).
  • drm/amd/display: Fix Xorg desktop unresponsive on Replay panel (stable-fixes).
  • drm/amd/display: Fix fractional fb divider in set_pixel_clock_v3 (git-fixes).
  • drm/amd/display: Fix mismatch type comparison (stable-fixes).
  • drm/amd/display: Fix vupdate_offload_work doc (bsc#1243112).
  • drm/amd/display: Free memory allocation (stable-fixes).
  • drm/amd/display: Init DCN35 clocks from pre-os HW values (git-fixes).
  • drm/amd/display: Initialize mode_select to 0 (stable-fixes).
  • drm/amd/display: Only finalize atomic_obj if it was initialized (stable-fixes).
  • drm/amd/display: Properly clear SCL_*_FILTER_CONTROL on DCE6 (git-fixes).
  • drm/amd/display: Properly disable scaling on DCE6 (git-fixes).
  • drm/amd/display: Remove redundant semicolons (git-fixes).
  • drm/amd/display: Separate set_gsl from set_gsl_source_select (stable-fixes).
  • drm/amd/display: Update DMCUB loading sequence for DCN3.5 (stable-fixes).
  • drm/amd/display: add workaround flag to link to force FFE preset (stable-fixes).
  • drm/amd/display: fix a Null pointer dereference vulnerability (stable-fixes).
  • drm/amd/display: fix dmub access race condition (bsc#1243112).
  • drm/amd/display: fix initial backlight brightness calculation (git-fixes).
  • drm/amd/display: limit clear_update_flags to dcn32 and above (stable-fixes).
  • drm/amd/display: more liberal vmin/vmax update for freesync (bsc#1243112).
  • drm/amd/display: remove output_tf_change flag (git-fixes).
  • drm/amd/display: use udelay rather than fsleep (git-fixes).
  • drm/amd/include : MES v11 and v12 API header update (stable-fixes).
  • drm/amd/include : Update MES v12 API for fence update (stable-fixes).
  • drm/amd/pm/powerplay/hwmgr/smu_helper: fix order of mask and value (git-fixes).
  • drm/amd/pm: Adjust si_upload_smc_data register programming (v3) (git-fixes).
  • drm/amd/pm: Disable MCLK switching with non-DC at 120 Hz+ (v2) (git-fixes).
  • drm/amd/pm: Disable SCLK switching on Oland with high pixel clocks (v3) (git-fixes).
  • drm/amd/pm: Disable ULV even if unsupported (v3) (git-fixes).
  • drm/amd/pm: Fix si_upload_smc_data (v3) (git-fixes).
  • drm/amd/pm: Treat zero vblank time as too short in si_dpm (v3) (git-fixes).
  • drm/amd/pm: fix null pointer access (stable-fixes).
  • drm/amd: Allow printing VanGogh OD SCLK levels without setting dpm to manual (stable-fixes).
  • drm/amd: Avoid evicting resources at S5 (bsc#1243112).
  • drm/amd: Check whether secure display TA loaded successfully (bsc#1243112).
  • drm/amd: Fix hybrid sleep (bsc#1243112).
  • drm/amd: Only restore cached manual clock settings in restore if OD enabled (bsc#1243112).
  • drm/amd: Restore cached manual clock settings during resume (bsc#1243112).
  • drm/amd: Restore cached power limit during resume (stable-fixes).
  • drm/amdgpu/discovery: fix fw based ip discovery (git-fixes).
  • drm/amdgpu/discovery: optionally use fw based ip discovery (stable-fixes).
  • drm/amdgpu/gfx10: fix KGQ reset sequence (git-fixes).
  • drm/amdgpu/gfx10: fix kiq locking in KCQ reset (git-fixes).
  • drm/amdgpu/gfx9.4.3: fix kiq locking in KCQ reset (git-fixes).
  • drm/amdgpu/gfx9: fix kiq locking in KCQ reset (git-fixes).
  • drm/amdgpu/mes11: implement detect and reset callback (bsc#1243112).
  • drm/amdgpu/mes12: implement detect and reset callback (bsc#1243112).
  • drm/amdgpu/mes: add front end for detect and reset hung queue (bsc#1243112).
  • drm/amdgpu/mes: add missing locking in helper functions (stable-fixes).
  • drm/amdgpu/mes: enable compute pipes across all MEC (git-fixes).
  • drm/amdgpu/mes: optimize compute loop handling (stable-fixes).
  • drm/amdgpu/swm14: Update power limit logic (stable-fixes).
  • drm/amdgpu/vcn4: Fix IB parsing with multiple engine info packages (stable-fixes).
  • drm/amdgpu/vcn: Allow limiting ctx to instance 0 for AV1 at any time (stable-fixes).
  • drm/amdgpu/vcn: fix ref counting for ring based profile handling (git-fixes).
  • drm/amdgpu/vpe: cancel delayed work in hw_fini (bsc#1243112).
  • drm/amdgpu: Add additional DCE6 SCL registers (git-fixes).
  • drm/amdgpu: Avoid extra evict-restore process (stable-fixes).
  • drm/amdgpu: Avoid rma causes GPU duplicate reset (bsc#1243112).
  • drm/amdgpu: Enable MES lr_compute_wa by default (stable-fixes).
  • drm/amdgpu: Fix allocating extra dwords for rings (v2) (git-fixes).
  • drm/amdgpu: Fix for GPU reset being blocked by KIQ I/O (bsc#1243112).
  • drm/amdgpu: Increase reset counter only on success (stable-fixes).
  • drm/amdgpu: Initialize data to NULL in imu_v12_0_program_rlc_ram() (git-fixes).
  • drm/amdgpu: Power up UVD 3 for FW validation (v2) (git-fixes).
  • drm/amdgpu: Remove nbiov7.9 replay count reporting (git-fixes).
  • drm/amdgpu: Report individual reset error (bsc#1243112).
  • drm/amdgpu: Reset the clear flag in buddy during resume (git-fixes).
  • drm/amdgpu: Update external revid for GC v9.5.0 (stable-fixes).
  • drm/amdgpu: VCN v5_0_1 to prevent FW checking RB during DPG pause (stable-fixes).
  • drm/amdgpu: add kicker fws loading for gfx11/smu13/psp13 (stable-fixes).
  • drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities (stable-fixes).
  • drm/amdgpu: do not resume device in thaw for normal hibernation (bsc#1243112).
  • drm/amdgpu: drop hw access in non-DC audio fini (stable-fixes).
  • drm/amdgpu: fix a memory leak in fence cleanup when unloading (git-fixes).
  • drm/amdgpu: fix incorrect vm flags to map bo (git-fixes).
  • drm/amdgpu: fix link error for !PM_SLEEP (bsc#1243112).
  • drm/amdgpu: fix task hang from failed job submission during process kill (git-fixes).
  • drm/amdgpu: fix vram reservation issue (git-fixes).
  • drm/amdgpu: remove the redeclaration of variable i (git-fixes).
  • drm/amdgpu: update mmhub 3.0.1 client id mappings (stable-fixes).
  • drm/amdgpu: update mmhub 4.1.0 client id mappings (stable-fixes).
  • drm/amdkfd: Destroy KFD debugfs after destroy KFD wq (stable-fixes).
  • drm/amdkfd: Fix error code sign for EINVAL in svm_ioctl() (git-fixes).
  • drm/amdkfd: Fix mmap write lock not release (bsc#1243112).
  • drm/ast: Use msleep instead of mdelay for edid read (git-fixes).
  • drm/bridge: fix OF node leak (git-fixes).
  • drm/bridge: it6505: select REGMAP_I2C (git-fixes).
  • drm/bridge: ti-sn65dsi86: Remove extra semicolon in ti_sn_bridge_probe() (git-fixes).
  • drm/bridge: ti-sn65dsi86: fix REFCLK setting (git-fixes).
  • drm/cirrus-qemu: Fix pitch programming (git-fixes).
  • drm/connector: hdmi: Evaluate limited range after computing format (git-fixes).
  • drm/dp: Add an EDID quirk for the DPCD register access probe (bsc#1248121).
  • drm/dp: Change AUX DPCD probe address from DPCD_REV to LANE0_1_STATUS (stable-fixes).
  • drm/dp: Change AUX DPCD probe address from LANE0_1_STATUS to TRAINING_PATTERN_SET (bsc#1248121).
  • drm/edid: Add support for quirks visible to DRM core and drivers (bsc#1248121).
  • drm/edid: Define the quirks in an enum list (bsc#1248121).
  • drm/format-helper: Add conversion from XRGB8888 to BGR888 (stable-fixes).
  • drm/gem: Internally test import_attach for imported objects (git-fixes).
  • drm/gem: Test for imported GEM buffers with helper (stable-fixes).
  • drm/gma500: Fix null dereference in hdmi teardown (git-fixes).
  • drm/hisilicon/hibmc: fix the hibmc loaded failed bug (git-fixes).
  • drm/hisilicon/hibmc: fix the i2c device resource leak when vdac init failed (git-fixes).
  • drm/hisilicon/hibmc: refactored struct hibmc_drm_private (stable-fixes).
  • drm/i915/backlight: Return immediately when scale() finds invalid parameters (stable-fixes).
  • drm/i915/ddi: change intel_ddi_init_{dp, hdmi}_connector() return type (stable-fixes).
  • drm/i915/ddi: gracefully handle errors from intel_ddi_init_hdmi_connector() (stable-fixes).
  • drm/i915/ddi: only call shutdown hooks for valid encoders (stable-fixes).
  • drm/i915/display: Fix dma_fence_wait_timeout() return value handling (git-fixes).
  • drm/i915/display: add intel_encoder_is_hdmi() (stable-fixes).
  • drm/i915/dp: Fix 2.7 Gbps DP_LINK_BW value on g4x (git-fixes).
  • drm/i915/dp_mst: Work around Thunderbolt sink disconnect after SINK_COUNT_ESI read (stable-fixes).
  • drm/i915/hdmi: add error handling in g4x_hdmi_init() (stable-fixes).
  • drm/i915/hdmi: propagate errors from intel_hdmi_init_connector() (stable-fixes).
  • drm/i915/icl+/tc: Cache the max lane count value (stable-fixes).
  • drm/i915/icl+/tc: Convert AUX powered WARN to a debug message (stable-fixes).
  • drm/i915/power: fix size for for_each_set_bit() in abox iteration (git-fixes).
  • drm/imagination: Clear runtime PM errors while resetting the GPU (stable-fixes).
  • drm/mediatek: Add error handling for old state CRTC in atomic_disable (git-fixes).
  • drm/mediatek: Fix device/node reference count leaks in mtk_drm_get_all_drm_priv (git-fixes).
  • drm/mediatek: fix potential OF node use-after-free (git-fixes).
  • drm/msm/dp: account for widebus and yuv420 during mode validation (git-fixes).
  • drm/msm/dpu: Fill in min_prefill_lines for SC8180X (git-fixes).
  • drm/msm/dpu: fix incorrect type for ret (git-fixes).
  • drm/msm/kms: move snapshot init earlier in KMS init (git-fixes).
  • drm/msm: Add error handling for krealloc in metadata setup (stable-fixes).
  • drm/msm: Defer fd_install in SUBMIT ioctl (git-fixes).
  • drm/msm: update the high bitfield of certain DSI registers (git-fixes).
  • drm/msm: use trylock for debugfs (stable-fixes).
  • drm/nouveau/disp: Always accept linear modifier (git-fixes).
  • drm/nouveau/gsp: fix potential leak of memory used during acpi init (git-fixes).
  • drm/nouveau/nvif: Fix potential memory leak in nvif_vmm_ctor() (git-fixes).
  • drm/nouveau: fix bad ret code in nouveau_bo_move_prep (git-fixes).
  • drm/nouveau: fix error path in nvkm_gsp_fwsec_v2 (git-fixes).
  • drm/nouveau: fix typos in comments (git-fixes).
  • drm/nouveau: remove unused increment in gm200_flcn_pio_imem_wr (git-fixes).
  • drm/nouveau: remove unused memory target test (git-fixes).
  • drm/panel: novatek-nt35560: Fix invalid return value (git-fixes).
  • drm/panfrost: Fix panfrost device variable name in devfreq (git-fixes).
  • drm/panthor: Add missing explicit padding in drm_panthor_gpu_info (git-fixes).
  • drm/panthor: Defer scheduler entitiy destruction to queue release (git-fixes).
  • drm/panthor: Fix memory leak in panthor_ioctl_group_create() (git-fixes).
  • drm/panthor: validate group queue count (git-fixes).
  • drm/radeon/r600_cs: clean up of dead code in r600_cs (git-fixes).
  • drm/rcar-du: dsi: Fix 1/2/3 lane support (git-fixes).
  • drm/rockchip: cleanup fb when drm_gem_fb_afbc_init failed (git-fixes).
  • drm/sched: Remove optimization that causes hang when killing dependent jobs (git-fixes).
  • drm/simpledrm: Do not upcast in release helpers (git-fixes).
  • drm/tests: Fix endian warning (git-fixes).
  • drm/ttm: Respect the shrinker core free target (stable-fixes).
  • drm/ttm: Should to return the evict error (stable-fixes).
  • drm/vmwgfx: Fix Host-Backed userspace on Guest-Backed kernel (git-fixes).
  • drm/vmwgfx: Fix Use-after-free in validation (git-fixes).
  • drm/vmwgfx: Fix a null-ptr access in the cursor snooper (git-fixes).
  • drm/vmwgfx: Fix copy-paste typo in validation (git-fixes).
  • drm/xe/bmg: Add new PCI IDs (stable-fixes).
  • drm/xe/bmg: Add one additional PCI ID (stable-fixes).
  • drm/xe/bmg: Update Wa_22019338487 (git-fixes).
  • drm/xe/gsc: do not flush the GSC worker from the reset path (git-fixes).
  • drm/xe/hw_engine_group: Fix double write lock release in error path (git-fixes).
  • drm/xe/mocs: Initialize MOCS index early (stable-fixes).
  • drm/xe/pf: Move VFs reprovisioning to worker (stable-fixes).
  • drm/xe/pf: Prepare to stop SR-IOV support prior GT reset (git-fixes).
  • drm/xe/pf: Sanitize VF scratch registers on FLR (stable-fixes).
  • drm/xe/tile: Release kobject for the failure path (git-fixes).
  • drm/xe/uapi: Correct sync type definition in comments (git-fixes).
  • drm/xe/uapi: loosen used tracking restriction (git-fixes).
  • drm/xe/vf: Disable CSC support on VF (git-fixes).
  • drm/xe/vm: Clear the scratch_pt pointer on error (git-fixes).
  • drm/xe/xe_query: Use separate iterator while filling GT list (stable-fixes).
  • drm/xe/xe_sync: avoid race during ufence signaling (git-fixes).
  • drm/xe: Allow dropping kunit dependency as built-in (git-fixes).
  • drm/xe: Attempt to bring bos back to VRAM after eviction (git-fixes).
  • drm/xe: Carve out wopcm portion from the stolen memory (git-fixes).
  • drm/xe: Do not trigger rebind on initial dma-buf validation (git-fixes).
  • drm/xe: Ensure fixed_slice_mode gets set after ccs_mode change (git-fixes).
  • drm/xe: Fix a NULL vs IS_ERR() in xe_vm_add_compute_exec_queue() (git-fixes).
  • drm/xe: Fix build without debugfs (git-fixes).
  • drm/xe: Make dma-fences compliant with the safe access rules (stable-fixes).
  • drm/xe: Move page fault init after topology init (git-fixes).
  • drm: bridge: anx7625: Fix NULL pointer dereference with early IRQ (git-fixes).
  • drm: bridge: cdns-mhdp8546: Fix missing mutex unlock on error path (git-fixes).
  • drm: renesas: rz-du: mipi_dsi: Add min check for VCLK range (stable-fixes).
  • dt-bindings: dpll: Add DPLL device and pin (jsc#PED-13331).
  • dt-bindings: dpll: Add support for Microchip Azurite chip family (jsc#PED-13331).
  • e1000e: disregard NVM checksum on tgp when valid checksum bit is not set (git-fixes).
  • e1000e: ignore uninitialized checksum word on tgp (git-fixes).
  • efi: stmm: Fix incorrect buffer allocation method (git-fixes).
  • erofs: avoid reading more for fragment maps (git-fixes).
  • erofs: fix atomic context detection when !CONFIG_DEBUG_LOCK_ALLOC (git-fixes).
  • execmem: enforce allocation size aligment to PAGE_SIZE (git-fixes).
  • exfat: add cluster chain loop check for dir (git-fixes).
  • exfat: fdatasync flag should be same like generic_write_sync() (git-fixes).
  • ext4: fix checks for orphan inodes (bsc#1250119).
  • ext4: remove writable userspace mappings before truncating page cache (bsc#1247223).
  • fbcon: Fix OOB access in font allocation (git-fixes).
  • fbcon: Fix outdated registered_fb reference in comment (git-fixes).
  • fbcon: fix integer overflow in fbcon_do_set_font (git-fixes).
  • fbdev: Fix logic error in "offb" name match (git-fixes).
  • fbdev: Fix vmalloc out-of-bounds write in fast_imageblit (stable-fixes).
  • fbdev: fix potential buffer overflow in do_register_framebuffer() (stable-fixes).
  • fbdev: imxfb: Check fb_add_videomode to prevent null-ptr-deref (git-fixes).
  • fbdev: simplefb: Fix use after free in simplefb_detach_genpds() (git-fixes).
  • fgraph: Fix set_graph_notrace with setting TRACE_GRAPH_NOTRACE_BIT (git-fixes).
  • firewire: core: fix overlooked update of subsystem ABI version (git-fixes).
  • firewire: ohci: correct code comments about bus_reset tasklet (git-fixes).
  • firmware: arm_ffa: Change initcall level of ffa_init() to rootfs_initcall (stable-fixes).
  • firmware: arm_scmi: Convert to SYSTEM_SLEEP_PM_OPS (git-fixes).
  • firmware: arm_scmi: Fix up turbo frequencies selection (git-fixes).
  • firmware: arm_scmi: Mark VirtIO ready before registering scmi_virtio_driver (git-fixes).
  • firmware: arm_scmi: power_control: Ensure SCMI_SYSPOWER_IDLE is set early during resume (stable-fixes).
  • firmware: firmware: meson-sm: fix compile-test default (git-fixes).
  • firmware: meson_sm: fix device leak at probe (git-fixes).
  • firmware: tegra: Fix IVC dependency problems (stable-fixes).
  • flexfiles/pNFS: fix NULL checks on result of ff_layout_choose_ds_for_read (git-fixes).
  • fs/nfs/io: make nfs_start_io_*() killable (git-fixes).
  • fs/proc/task_mmu: check p->vec_buf for NULL (git-fixes).
  • fs/proc: Use inode_get_dev() for device numbers in procmap_query References: bsc#1246450
  • ftrace: Fix function profiler's filtering functionality (git-fixes).
  • ftrace: fix incorrect hash size in register_ftrace_direct() (git-fixes).
  • gfs2: Call gfs2_queue_verify_delete from gfs2_evict_inode (bsc#1247220).
  • gfs2: Clean up delete work processing (bsc#1247220).
  • gfs2: Faster gfs2_upgrade_iopen_glock wakeups (bsc#1247220).
  • gfs2: Initialize gl_no_formal_ino earlier (bsc#1247220).
  • gfs2: Minor delete_work_func cleanup (bsc#1247220).
  • gfs2: Only defer deletes when we have an iopen glock (bsc#1247220).
  • gfs2: Prevent inode creation race (2) (bsc#1247220).
  • gfs2: Prevent inode creation race (bsc#1247220).
  • gfs2: Randomize GLF_VERIFY_DELETE work delay (bsc#1247220).
  • gfs2: Rename GIF_{DEFERRED -> DEFER}_DELETE (bsc#1247220).
  • gfs2: Rename dinode_demise to evict_behavior (bsc#1247220).
  • gfs2: Replace GIF_DEFER_DELETE with GLF_DEFER_DELETE (bsc#1247220).
  • gfs2: Return enum evict_behavior from gfs2_upgrade_iopen_glock (bsc#1247220).
  • gfs2: Simplify DLM_LKF_QUECVT use (bsc#1247220).
  • gfs2: Update to the evict / remote delete documentation (bsc#1247220).
  • gfs2: Use mod_delayed_work in gfs2_queue_try_to_evict (bsc#1247220).
  • gfs2: gfs2_evict_inode clarification (bsc#1247220).
  • gfs2: minor evict fix (bsc#1247220).
  • gfs2: skip if we cannot defer delete (bsc#1247220).
  • gpio: mlxbf2: use platform_get_irq_optional() (git-fixes).
  • gpio: mlxbf3: use platform_get_irq_optional() (git-fixes).
  • gpio: tps65912: check the return value of regmap_update_bits() (stable-fixes).
  • gpio: virtio: Fix config space reading (git-fixes).
  • gpio: wcd934x: check the return value of regmap_update_bits() (stable-fixes).
  • gpio: wcd934x: mark the GPIO controller as sleeping (git-fixes).
  • gpiolib: Extend software-node support to support secondary software-nodes (git-fixes).
  • gve: Fix stuck TX queue for DQ queue format (git-fixes).
  • gve: prevent ethtool ops after shutdown (git-fixes).
  • habanalabs: fix UAF in export_dmabuf() (git-fixes).
  • hid: fix I2C read buffer overflow in raw_event() for mcp2221 (stable-fixes).
  • hv_netvsc: Fix panic during namespace deletion with VF (bsc#1248111).
  • hv_netvsc: Link queues to NAPIs (git-fixes).
  • hwmon: (emc2305) Set initial PWM minimum value during probe based on thermal state (stable-fixes).
  • hwmon: (gsc-hwmon) fix fan pwm setpoint show functions (git-fixes).
  • hwmon: (mlxreg-fan) Separate methods of fan setting coming from different subsystems (git-fixes).
  • hwmon: mlxreg-fan: Prevent fans from getting stuck at 0 RPM (git-fixes).
  • hwrng: ks-sa - fix division by zero in ks_sa_rng_init (git-fixes).
  • hwrng: mtk - handle devm_pm_runtime_enable errors (git-fixes).
  • hwrng: nomadik - add ARM_AMBA dependency (git-fixes).
  • i2c: Force DLL0945 touchpad i2c freq to 100khz (stable-fixes).
  • i2c: designware: Add disabling clocks when probe fails (git-fixes).
  • i2c: designware: Add quirk for Intel Xe (stable-fixes).
  • i2c: designware: Fix clock issue when PM is disabled (git-fixes).
  • i2c: designware: Use temporary variable for struct device (stable-fixes).
  • i2c: i801: Hide Intel Birch Stream SoC TCO WDT (git-fixes).
  • i2c: mediatek: fix potential incorrect use of I2C_MASTER_WRRD (git-fixes).
  • i2c: muxes: mule: Fix an error handling path in mule_i2c_mux_probe() (git-fixes).
  • i2c: omap: Add support for setting mux (stable-fixes).
  • i2c: omap: Fix an error handling path in omap_i2c_probe() (git-fixes).
  • i2c: omap: Handle omap_i2c_init() errors in omap_i2c_probe() (git-fixes).
  • i2c: omap: fix deprecated of_property_read_bool() use (git-fixes).
  • i2c: qup: jump out of the loop in case of timeout (git-fixes).
  • i2c: riic: Allow setting frequencies lower than 50KHz (git-fixes).
  • i2c: tegra: Fix reset error handling with ACPI (git-fixes).
  • i2c: tegra: Use internal reset when reset property is not available (bsc#1249143)
  • i2c: virtio: Avoid hang by using interruptible completion wait (git-fixes).
  • i3c: Fix default I2C adapter timeout value (git-fixes).
  • i3c: add missing include to internal header (stable-fixes).
  • i3c: do not fail if GETHDRCAP is unsupported (stable-fixes).
  • i3c: fix module_i3c_i2c_driver() with I3C=n (git-fixes).
  • i3c: master: Initialize ret in i3c_i2c_notifier_call() (stable-fixes).
  • i3c: master: svc: Recycle unused IBI slot (git-fixes).
  • i3c: master: svc: Use manual response for IBI events (git-fixes).
  • i40e: When removing VF MAC filters, only check PF-set MAC (git-fixes).
  • i40e: report VF tx_dropped with tx_errors instead of tx_discards (git-fixes).
  • ibmvnic: Fix hardcoded NUM_RX_STATS/NUM_TX_STATS with dynamic sizeof (git-fixes).
  • ice, irdma: fix an off by one in error handling code (bsc#1247712).
  • ice, irdma: move interrupts code to irdma (bsc#1247712).
  • ice/ptp: fix crosstimestamp reporting (git-fixes).
  • ice: Fix signedness bug in ice_init_interrupt_scheme() (bsc#1247712).
  • ice: Replace ice specific DSCP mapping num with a kernel define (jsc#PED-13728 jsc#PED-13762).
  • ice: check correct pointer in fwlog debugfs (git-fixes).
  • ice: count combined queues using Rx/Tx count (bsc#1247712).
  • ice: devlink PF MSI-X max and min parameter (bsc#1247712).
  • ice: do not leave device non-functional if Tx scheduler config fails (git-fixes).
  • ice: enable_rdma devlink param (bsc#1247712).
  • ice: fix NULL pointer dereference in ice_unplug_aux_dev() on reset (jsc#PED-13728).
  • ice: fix incorrect counter for buffer allocation failures (git-fixes).
  • ice: get rid of num_lan_msix field (bsc#1247712).
  • ice: init flow director before RDMA (bsc#1247712).
  • ice: remove splitting MSI-X between features (bsc#1247712).
  • ice: simplify VF MSI-X managing (bsc#1247712).
  • ice: treat dyn_allowed only as suggestion (bsc#1247712).
  • ice: use fixed adapter index for E825C embedded devices (git-fixes).
  • idpf: add PTP clock configuration (jsc#PED-13728 jsc#PED-13762).
  • idpf: add Tx timestamp capabilities negotiation (jsc#PED-13728 jsc#PED-13762).
  • idpf: add Tx timestamp flows (jsc#PED-13728 jsc#PED-13762).
  • idpf: add cross timestamping (jsc#PED-13728).
  • idpf: add flow steering support (jsc#PED-13728).
  • idpf: add initial PTP support (jsc#PED-13728 jsc#PED-13762).
  • idpf: add mailbox access to read PTP clock time (jsc#PED-13728 jsc#PED-13762).
  • idpf: add support for Rx timestamping (jsc#PED-13728 jsc#PED-13762).
  • idpf: add support for Tx refillqs in flow scheduling mode (jsc#PED-13728).
  • idpf: assign extracted ptype to struct libeth_rqe_info field (jsc#PED-13728 jsc#PED-13762).
  • idpf: change the method for mailbox workqueue allocation (jsc#PED-13728 jsc#PED-13762).
  • idpf: fix UAF in RDMA core aux dev deinitialization (jsc#PED-13728).
  • idpf: implement IDC vport aux driver MTU change handler (jsc#PED-13728 jsc#PED-13762).
  • idpf: implement RDMA vport auxiliary dev create, init, and destroy (jsc#PED-13728 jsc#PED-13762).
  • idpf: implement core RDMA auxiliary dev create, init, and destroy (jsc#PED-13728 jsc#PED-13762).
  • idpf: implement get LAN MMIO memory regions (jsc#PED-13728 jsc#PED-13762).
  • idpf: implement remaining IDC RDMA core callbacks and handlers (jsc#PED-13728 jsc#PED-13762).
  • idpf: improve when to set RE bit logic (jsc#PED-13728).
  • idpf: move virtchnl structures to the header file (jsc#PED-13728 jsc#PED-13762).
  • idpf: negotiate PTP capabilities and get PTP clock (jsc#PED-13728 jsc#PED-13762).
  • idpf: preserve coalescing settings across resets (jsc#PED-13728).
  • idpf: remove obsolete stashing code (jsc#PED-13728).
  • idpf: remove unreachable code from setting mailbox (jsc#PED-13728 jsc#PED-13762).
  • idpf: replace flow scheduling buffer ring with buffer pool (jsc#PED-13728).
  • idpf: set mac type when adding and removing MAC filters (jsc#PED-13728).
  • idpf: simplify and fix splitq Tx packet rollback error path (jsc#PED-13728).
  • idpf: stop Tx if there are insufficient buffer resources (jsc#PED-13728).
  • idpf: use reserved RDMA vectors from control plane (jsc#PED-13728 jsc#PED-13762).
  • igb: xsk: solve negative overflow of nb_pkts in zerocopy mode (git-fixes).
  • igc: disable L1.2 PCI-E link substate to avoid performance issue (git-fixes).
  • igc: fix disabling L1.2 PCI-E link substate on I226 on init (git-fixes).
  • iidc/ice/irdma: Break iidc.h into two headers (jsc#PED-13728 jsc#PED-13762).
  • iidc/ice/irdma: Rename IDC header file (jsc#PED-13728 jsc#PED-13762).
  • iidc/ice/irdma: Rename to iidc_* convention (jsc#PED-13728 jsc#PED-13762).
  • iidc/ice/irdma: Update IDC to support multiple consumers (jsc#PED-13728 jsc#PED-13762).
  • iio/adc/pac1934: fix channel disable configuration (git-fixes).
  • iio: accel: adxl355: Make timestamp 64-bit aligned using aligned_s64 (git-fixes).
  • iio: accel: fxls8962af: Fix temperature calculation (git-fixes).
  • iio: adc: ad7173: fix setting ODR in probe (git-fixes).
  • iio: adc: ad7266: Fix potential timestamp alignment issue (git-fixes).
  • iio: adc: ad7768-1: Ensure SYNC_IN pulse minimum timing requirement (stable-fixes).
  • iio: adc: ad7768-1: Fix insufficient alignment of timestamp (git-fixes).
  • iio: adc: ad_sigma_delta: change to buffer predisable (git-fixes).
  • iio: adc: ad_sigma_delta: do not overallocate scan buffer (stable-fixes).
  • iio: adc: dln2: Use aligned_s64 for timestamp (git-fixes).
  • iio: adc: max1363: Fix MAX1363_4X_CHANS/MAX1363_8X_CHANS[] (stable-fixes).
  • iio: adc: max1363: Reorder mode_list[] entries (stable-fixes).
  • iio: chemical: pms7003: use aligned_s64 for timestamp (git-fixes).
  • iio: chemical: sps30: use aligned_s64 for timestamp (git-fixes).
  • iio: common: st_sensors: Fix use of uninitialize device structs (stable-fixes).
  • iio: consumers: Fix handling of negative channel scale in iio_convert_raw_to_processed() (git-fixes).
  • iio: consumers: Fix offset handling in iio_convert_raw_to_processed() (git-fixes).
  • iio: dac: ad5360: use int type to store negative error codes (git-fixes).
  • iio: dac: ad5421: use int type to store negative error codes (git-fixes).
  • iio: frequency: adf4350: Fix ADF4350_REG3_12BIT_CLKDIV_MODE (git-fixes).
  • iio: frequency: adf4350: Fix prescaler usage (git-fixes).
  • iio: hid-sensor-prox: Fix incorrect OFFSET calculation (git-fixes).
  • iio: hid-sensor-prox: Restore lost scale assignments (git-fixes).
  • iio: imu: bno055: fix OOB access of hw_xlate array (git-fixes).
  • iio: imu: inv_icm42600: Convert to uXX and sXX integer types (stable-fixes).
  • iio: imu: inv_icm42600: Drop redundant pm_runtime reinitialization in resume (git-fixes).
  • iio: imu: inv_icm42600: change invalid data error to -EBUSY (git-fixes).
  • iio: imu: inv_icm42600: fix spi burst write not supported (git-fixes).
  • iio: imu: inv_icm42600: switch timestamp type from int64_t __aligned(8) to aligned_s64 (stable-fixes).
  • iio: imu: inv_icm42600: use = { } instead of memset() (stable-fixes).
  • iio: light: Use aligned_s64 instead of open coding alignment (stable-fixes).
  • iio: light: as73211: Ensure buffer holes are zeroed (git-fixes).
  • iio: pressure: bmp280: Use IS_ERR() in bmp280_common_probe() (git-fixes).
  • iio: pressure: mprls0025pa: use aligned_s64 for timestamp (git-fixes).
  • iio: proximity: isl29501: fix buffered read on big-endian systems (git-fixes).
  • iio: temperature: maxim_thermocouple: use DMA-safe buffer for spi_read() (git-fixes).
  • iio: xilinx-ams: Fix AMS_ALARM_THR_DIRECT_MASK (git-fixes).
  • iio: xilinx-ams: Unmask interrupts after updating alarms (git-fixes).
  • integrity/platform_certs: Allow loading of keys in the static key management mode (jsc#PED-13345 jsc#PED-13343).
  • intel_idle: Provide the default enter_dead() handler (jsc#PED-13815).
  • intel_idle: Rescan "dead" SMT siblings during initialization (jsc#PED-13815).
  • intel_idle: Use subsys_initcall_sync() for initialization (jsc#PED-13815).
  • interconnect: qcom: sc8180x: specify num_nodes (git-fixes).
  • interconnect: qcom: sc8280xp: specify num_links for qnm_a1noc_cfg (git-fixes).
  • io_uring/rw: do not mask in f_iocb_flags (jsc#PED-12882 bsc#1237542). Drop blacklisting.
  • io_uring: expose read/write attribute capability (jsc#PED-12882 bsc#1237542).
  • io_uring: fix potential page leak in io_sqe_buffer_register() (git-fixes).
  • iommu/amd: Enable PASID and ATS capabilities in the correct order (git-fixes).
  • iommu/amd: Fix alias device DTE setting (git-fixes).
  • iommu/amd: Fix geometry.aperture_end for V2 tables (git-fixes).
  • iommu/arm-smmu-qcom: Add SM6115 MDSS compatible (git-fixes).
  • iommu/arm-smmu-v3: Fix smmu_domain->nr_ats_masters decrement (git-fixes).
  • iommu/tegra241-cmdqv: Read SMMU IDR1.CMDQS instead of hardcoding (git-fixes).
  • iommu/vt-d: Disallow dirty tracking if incoherent page walk (git-fixes).
  • iommu/vt-d: Fix __domain_mapping()'s usage of switch_to_super_page() (git-fixes).
  • iommu/vt-d: Fix missing PASID in dev TLB flush with cache_tag_flush_all (git-fixes).
  • iommu/vt-d: Fix possible circular locking dependency (git-fixes).
  • iommu/vt-d: Fix system hang on reboot -f (git-fixes).
  • iommu/vt-d: PRS isn't usable if PDS isn't supported (git-fixes).
  • iommu: Handle race with default domain setup (git-fixes).
  • iosys-map: Fix undefined behavior in iosys_map_clear() (git-fixes).
  • ipmi: Fix strcpy source and destination the same (stable-fixes).
  • ipmi: Use dev_warn_ratelimited() for incorrect message warnings (stable-fixes).
  • ipv6: annotate data-races around rt->fib6_nsiblings (git-fixes).
  • ipv6: fix possible infinite loop in fib6_info_uses_dev() (git-fixes).
  • ipv6: prevent infinite loop in rt6_nlmsg_size() (git-fixes).
  • ipv6: reject malicious packets in ipv6_gso_segment() (git-fixes).
  • ipvs: Fix clamp() of ip_vs_conn_tab on small memory systems (git-fixes).
  • irdma: free iwdev->rf after removing MSI-X (bsc#1247712).
  • isolcpus: add missing hunk back (bsc#1236897 bsc#1249206).
  • iwlwifi: Add missing check for alloc_ordered_workqueue (git-fixes).
  • ixgbe: fix ixgbe_orom_civd_info struct layout (bsc#1245410).
  • ixgbe: prevent from unwanted interface name changes (git-fixes).
  • ixgbe: xsk: resolve the negative overflow of budget in ixgbe_xmit_zc (git-fixes).
  • kABI fix after Add TDX support for vSphere (jsc#PED-13302).
  • kABI fix after KVM: SVM: Fix SNP AP destroy race with VMRUN (git-fixes).
  • kABI fix after KVM: VMX: Apply MMIO Stale Data mitigation if KVM maps MMIO into the guest (git-fixes).
  • kABI fix after KVM: x86: Convert vcpu_run()'s immediate exit param into a generic bitmap (git-fixes).
  • kABI fix after vhost: Reintroduce kthread API and add mode selection (git-fixes).
  • kABI workaround for "drm/dp: Add an EDID quirk for the DPCD register access probe" (bsc#1248121).
  • kABI workaround for amd_sfh (git-fixes).
  • kABI workaround for drm_gem.h (git-fixes).
  • kABI workaround for struct mtk_base_afe changes (git-fixes).
  • kABI: Fix the module::name type in audit_context (git-fixes).
  • kABI: PCI/ACPI: Fix runtime PM ref imbalance on Hot-Plug Capable ports (git-fixes).
  • kABI: arm64: ftrace: Restore struct mod_arch_specific layout (git-fixes).
  • kABI: fix for struct devlink_port_attrs: move new member to the end (git-fixes).
  • kABI: netfilter: supress warnings for nft_set_ops (git-fixes).
  • kABI: x86/sev: Use TSC_FACTOR for Secure TSC frequency calculation (git-fixes).
  • kabi/severities: ignore kABI compatibility in iio inv_icm42600 drivers They are used only locally
  • kabi/severities: ignore two unused/dropped symbols from MEI
  • kabi: Hide adding of u64 to devlink_param_type (jsc#PED-12745).
  • kabi: Restore layout of parallel_data (bsc1248343).
  • kabi: restore layout of struct cgroup_rstat_cpu (bsc#1247963).
  • kasan: use vmalloc_dump_obj() for vmalloc error reports (git-fixes).
  • kbuild/modpost: Continue processing all unresolved symbols when KLP_SYM_RELA is found (bsc#1218644, bsc#1250655).
  • kbuild: rust: add rustc-min-version support function (git-fixes)
  • kernel-binary: Another installation ordering fix (bsc#1241353).
  • kernel-subpackage-build: Decompress ghost file when compressed version exists (bsc#1249346)
  • kernel: globalize lookup_or_create_module_kobject() (stable-fixes).
  • kernel: param: rename locate_module_kobject (stable-fixes).
  • leds: flash: leds-qcom-flash: Fix registry access after re-bind (git-fixes).
  • leds: flash: leds-qcom-flash: Update torch current clamp setting (git-fixes).
  • leds: leds-lp50xx: Handle reg to get correct multi_index (stable-fixes).
  • leds: leds-lp55xx: Use correct address for memory programming (git-fixes).
  • lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly() (bsc#1236897).
  • libbpf: Add identical pointer detection to btf_dedup_is_equiv() (git-fixes).
  • libeth: move idpf_rx_csum_decoded and idpf_rx_extracted (jsc#PED-13728 jsc#PED-13762).
  • livepatch: Add stack_order sysfs attribute (poo#187320).
  • loop: use kiocb helpers to fix lockdep warning (git-fixes).
  • lpfc: do not use file->f_path.dentry for comparisons (bsc#1250519).
  • mISDN: Fix memory leak in dsp_hwec_enable() (git-fixes).
  • mISDN: hfcpci: Fix warning when deleting uninitialized timer (git-fixes).
  • mailbox: Not protect module_put with spin_lock_irqsave (stable-fixes).
  • mailbox: mtk-cmdq: Remove pm_runtime APIs from cmdq_mbox_send_data() (git-fixes).
  • mailbox: pcc: Always clear the platform ack interrupt first (stable-fixes).
  • mailbox: pcc: Fix the possible race in updation of chan_in_use flag (stable-fixes).
  • mailbox: pcc: Use acpi_os_ioremap() instead of ioremap() (stable-fixes).
  • mailbox: zynqmp-ipi: Fix SGI cleanup on unbind (git-fixes).
  • mailbox: zynqmp-ipi: Fix out-of-bounds access in mailbox cleanup loop (git-fixes).
  • mailbox: zynqmp-ipi: Remove dev.parent check in zynqmp_ipi_free_mboxes (git-fixes).
  • mailbox: zynqmp-ipi: Remove redundant mbox_controller_unregister() call (git-fixes).
  • maple_tree: fix MAPLE_PARENT_RANGE32 and parent pointer docs (git-fixes).
  • maple_tree: fix status setup on restore to active (git-fixes).
  • maple_tree: fix testing for 32 bit builds (git-fixes).
  • mctp: no longer rely on net->dev_index_head (git-fixes).
  • md/raid1,raid10: strip REQ_NOWAIT from member bios (git-fixes).
  • md: allow removing faulty rdev during resync (git-fixes).
  • md: dm-zoned-target: Initialize return variable r to avoid uninitialized use (git-fixes).
  • md: make rdev_addable usable for rcu mode (git-fixes).
  • media: b2c2: Fix use-after-free causing by irq_check_work in flexcop_pci_remove (git-fixes).
  • media: cec: extron-da-hd-4k-plus: drop external-module make commands (git-fixes).
  • media: cx18: Add missing check after DMA map (git-fixes).
  • media: dvb-frontends: dib7090p: fix null-ptr-deref in dib7090p_rw_on_apb() (stable-fixes).
  • media: dvb-frontends: w7090p: fix null-ptr-deref in w7090p_tuner_write_serpar and w7090p_tuner_read_serpar (stable-fixes).
  • media: gspca: Add bounds checking to firmware parser (git-fixes).
  • media: hi556: Fix reset GPIO timings (stable-fixes).
  • media: hi556: correct the test pattern configuration (git-fixes).
  • media: i2c: mt9v111: fix incorrect type for ret (git-fixes).
  • media: i2c: tc358743: Fix use-after-free bugs caused by orphan timer in probe (git-fixes).
  • media: imx: fix a potential memory leak in imx_media_csc_scaler_device_init() (git-fixes).
  • media: ipu-bridge: Add _HID for OV5670 (stable-fixes).
  • media: ipu6: isys: Use correct pads for xlate_streams() (git-fixes).
  • media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls (git-fixes).
  • media: lirc: Fix error handling in lirc_register() (git-fixes).
  • media: mc: Fix MUST_CONNECT handling for pads with no links (git-fixes).
  • media: mt9m114: Fix deadlock in get_frame_interval/set_frame_interval (git-fixes).
  • media: ov2659: Fix memory leaks in ov2659_probe() (git-fixes).
  • media: pci: ivtv: Add missing check after DMA map (git-fixes).
  • media: pci: mg4b: fix uninitialized iio scan data (git-fixes).
  • media: pisp_be: Fix pm_runtime underrun in probe (git-fixes).
  • media: qcom: camss: cleanup media device allocated resource on error path (git-fixes).
  • media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt() (git-fixes).
  • media: rc: fix races with imon_disconnect() (git-fixes).
  • media: rj54n1cb0c: Fix memleak in rj54n1_probe() (git-fixes).
  • media: s5p-mfc: remove an unused/uninitialized variable (git-fixes).
  • media: st-delta: avoid excessive stack usage (git-fixes).
  • media: tc358743: Check I2C succeeded during probe (stable-fixes).
  • media: tc358743: Increase FIFO trigger level to 374 (stable-fixes).
  • media: tc358743: Return an appropriate colorspace from tc358743_set_fmt (stable-fixes).
  • media: ti: j721e-csi2rx: Fix source subdev link creation (git-fixes).
  • media: ti: j721e-csi2rx: Use devm_of_platform_populate (git-fixes).
  • media: ti: j721e-csi2rx: fix list_del corruption (git-fixes).
  • media: tuner: xc5000: Fix use-after-free in xc5000_release (git-fixes).
  • media: usb: hdpvr: disable zero-length read messages (stable-fixes).
  • media: usbtv: Lock resolution while streaming (git-fixes).
  • media: uvcvideo: Add quirk for HP Webcam HD 2300 (stable-fixes).
  • media: uvcvideo: Do not mark valid metadata as invalid (git-fixes).
  • media: uvcvideo: Fix 1-byte out-of-bounds read in uvc_parse_format() (git-fixes).
  • media: uvcvideo: Fix bandwidth issue for Alcor camera (stable-fixes).
  • media: uvcvideo: Mark invalid entities with id UVC_INVALID_ENTITY_ID (git-fixes).
  • media: uvcvideo: Rollback non processed entities on error (git-fixes).
  • media: v4l2-common: Reduce warnings about missing V4L2_CID_LINK_FREQ control (stable-fixes).
  • media: v4l2-ctrls: Do not reset handler's error in v4l2_ctrl_handler_free() (git-fixes).
  • media: v4l2-ctrls: Fix H264 SEPARATE_COLOUR_PLANE check (git-fixes).
  • media: v4l2-subdev: Fix alloc failure check in v4l2_subdev_call_state_try() (git-fixes).
  • media: v4l2: Add support for NV12M tiled variants to v4l2_format_info() (git-fixes).
  • media: venus: Add a check for packet size after reading from shared memory (git-fixes).
  • media: venus: Fix MSM8998 frequency table (git-fixes).
  • media: venus: Fix OOB read due to missing payload bound check (git-fixes).
  • media: venus: firmware: Use correct reset sequence for IRIS2 (git-fixes).
  • media: venus: hfi: explicitly release IRQ during teardown (git-fixes).
  • media: venus: protect against spurious interrupts during probe (git-fixes).
  • media: venus: vdec: Clamp param smaller than 1fps and bigger than 240 (git-fixes).
  • media: venus: venc: Clamp param smaller than 1fps and bigger than 240 (git-fixes).
  • media: verisilicon: Fix AV1 decoder clock frequency (git-fixes).
  • media: vivid: fix wrong pixel_array control size (git-fixes).
  • media: zoran: Remove zoran_fh structure (git-fixes).
  • mei: bus: Check for still connected devices in mei_cl_bus_dev_release() (stable-fixes).
  • mei: vsc: Destroy mutex after freeing the IRQ (git-fixes).
  • mei: vsc: Do not re-init VSC from mei_vsc_hw_reset() on stop (git-fixes).
  • mei: vsc: Drop unused vsc_tp_request_irq() and vsc_tp_free_irq() (stable-fixes).
  • mei: vsc: Event notifier fixes (git-fixes).
  • mei: vsc: Fix "BUG: Invalid wait context" lockdep error (git-fixes).
  • mei: vsc: Run event callback from a workqueue (git-fixes).
  • mei: vsc: Unset the event callback on remove and probe errors (git-fixes).
  • memory: mtk-smi: Add ostd setting for mt8186 (git-fixes).
  • memory: samsung: exynos-srom: Fix of_iomap leak in exynos_srom_probe (git-fixes).
  • memstick: Fix deadlock by moving removing flag earlier (git-fixes).
  • mfd: axp20x: Set explicit ID for AXP313 regulator (stable-fixes).
  • mfd: cros_ec: Separate charge-control probing from USB-PD (git-fixes).
  • mfd: exynos-lpass: Fix another error handling path in exynos_lpass_probe() (git-fixes).
  • mfd: rz-mtu3: Fix MTU5 NFCR register offset (git-fixes).
  • mfd: vexpress-sysreg: Check the return value of devm_gpiochip_add_data() (git-fixes).
  • microchip: lan865x: Fix LAN8651 autoloading (git-fixes).
  • microchip: lan865x: Fix module autoloading (git-fixes).
  • microchip: lan865x: fix missing Timer Increment config for Rev.B0/B1 (git-fixes).
  • microchip: lan865x: fix missing netif_start_queue() call on device open (git-fixes).
  • misc: fastrpc: Fix fastrpc_map_lookup operation (git-fixes).
  • misc: fastrpc: Save actual DMA size in fastrpc_map structure (git-fixes).
  • misc: fastrpc: Skip reference for DMA handles (git-fixes).
  • misc: fastrpc: fix possible map leak in fastrpc_put_args (git-fixes).
  • misc: genwqe: Fix incorrect cmd field being reported in error (git-fixes).
  • misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type (git-fixes).
  • misc: pci_endpoint_test: Give disabled BARs a distinct error code (stable-fixes).
  • misc: rtsx: usb: Ensure mmc child device is active when card is present (git-fixes).
  • mm/damon/core: avoid destroyed target reference from DAMOS quota (git-fixes).
  • mm/damon/core: prevent unnecessary overflow in damos_set_effective_quota() (git-fixes).
  • mm/damon/core: set quota->charged_from to jiffies at first charge window (git-fixes).
  • mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() (git-fixes).
  • mm/damon/ops-common: ignore migration request to invalid nodes (git-fixes).
  • mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters() (git-fixes).
  • mm/damon/sysfs: fix use-after-free in state_show() (git-fixes).
  • mm/memory-failure: fix redundant updates for already poisoned pages (bsc#1250087).
  • mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd() (git-fixes)
  • mm/userfaultfd: fix kmap_local LIFO ordering for CONFIG_HIGHPTE (git-fixes).
  • mm: close theoretical race where stale TLB entries could linger (git-fixes).
  • mm: fault in complete folios instead of individual pages for tmpfs (git-fixes).
  • mm: fix the inaccurate memory statistics issue for users (bsc#1244723).
  • mm: introduce and use {pgd,p4d}_populate_kernel() (git-fixes).
  • mm: khugepaged: fix call hpage_collapse_scan_file() for anonymous vma (git-fixes).
  • mm: memory-tiering: fix PGPROMOTE_CANDIDATE counting (bsc#1245630).
  • mm: memory-tiering: fix PGPROMOTE_CANDIDATE counting - kabi (bsc#1245630).
  • mm: move page table sync declarations to linux/pgtable.h (git-fixes).
  • mm: swap: fix potential buffer overflow in setup_clusters() (git-fixes).
  • mmc: core: Fix variable shadowing in mmc_route_rpmb_frames() (git-fixes).
  • mmc: mvsdio: Fix dma_unmap_sg() nents value (git-fixes).
  • mmc: rtsx_usb_sdmmc: Fix error-path in sd_set_power_mode() (stable-fixes).
  • mmc: sdhci-cadence: add Mobileye eyeQ support (stable-fixes).
  • mmc: sdhci-msm: Ensure SD card power isn't ON when card removed (stable-fixes).
  • mmc: sdhci-of-arasan: Ensure CD logic stabilization before power-up (stable-fixes).
  • mmc: sdhci-of-arasan: Support for emmc hardware reset (stable-fixes).
  • mmc: sdhci-pci-gli: Add a new function to simplify the code (git-fixes).
  • mmc: sdhci-pci-gli: GL9763e: Mask the replay timer timeout of AER (git-fixes).
  • mmc: sdhci-pci-gli: GL9763e: Rename the gli_set_gl9763e() for consistency (git-fixes).
  • mmc: sdhci_am654: Disable HS400 for AM62P SR1.0 and SR1.1 (git-fixes).
  • module: Fix memory deallocation on error path in move_module() (git-fixes).
  • module: Prevent silent truncation of module name in delete_module(2) (git-fixes).
  • module: Remove unnecessary +1 from last_unloaded_module::name size (git-fixes).
  • module: Restore the moduleparam prefix length check (git-fixes).
  • most: core: Drop device reference after usage in get_channel() (git-fixes).
  • mptcp: fix spurious wake-up on under memory pressure (git-fixes).
  • mtd: fix possible integer overflow in erase_xfer() (git-fixes).
  • mtd: nand: raw: atmel: Respect tAR, tCLR in read setup timing (git-fixes).
  • mtd: rawnand: atmel: Fix dma_mapping_error() address (git-fixes).
  • mtd: rawnand: atmel: Fix error handling path in atmel_nand_controller_add_nands (git-fixes).
  • mtd: rawnand: atmel: set pmecc data setup time (git-fixes).
  • mtd: rawnand: fsmc: Add missing check after DMA map (git-fixes).
  • mtd: rawnand: omap2: fix device leak on probe failure (git-fixes).
  • mtd: rawnand: qcom: Fix last codeword read in qcom_param_page_type_exec() (git-fixes).
  • mtd: rawnand: renesas: Add missing check after DMA map (git-fixes).
  • mtd: rawnand: rockchip: Add missing check after DMA map (git-fixes).
  • mtd: rawnand: stm32_fmc2: avoid overlapping mappings on ECC buffer (git-fixes).
  • mtd: rawnand: stm32_fmc2: fix ECC overwrite (git-fixes).
  • mtd: spi-nor: Fix spi_nor_try_unlock_all() (git-fixes).
  • mtd: spi-nor: spansion: Fixup params->set_4byte_addr_mode for SEMPER (git-fixes).
  • mtd: spinand: propagate spinand_wait() errors from spinand_write_page() (git-fixes).
  • mwl8k: Add missing check after DMA map (git-fixes).
  • neighbour: Fix null-ptr-deref in neigh_flush_dev() (git-fixes).
  • net/mlx5: Base ECVF devlink port attrs from 0 (git-fixes).
  • net/mlx5: CT: Use the correct counter offset (git-fixes).
  • net/mlx5: Check device memory pointer before usage (git-fixes).
  • net/mlx5: Correctly set gso_segs when LRO is used (git-fixes).
  • net/mlx5: Correctly set gso_size when LRO is used (git-fixes).
  • net/mlx5: E-Switch, Fix peer miss rules to use peer eswitch (git-fixes).
  • net/mlx5: Fix lockdep assertion on sync reset unload event (git-fixes).
  • net/mlx5: Fix memory leak in cmd_exec() (git-fixes).
  • net/mlx5: HWS, Fix memory leak in hws_action_get_shared_stc_nic error flow (git-fixes).
  • net/mlx5: HWS, Fix pattern destruction in mlx5hws_pat_get_pattern error path (git-fixes).
  • net/mlx5: HWS, fix bad parameter in CQ creation (git-fixes).
  • net/mlx5: Nack sync reset when SFs are present (git-fixes).
  • net/mlx5: Prevent flow steering mode changes in switchdev mode (git-fixes).
  • net/mlx5: Reload auxiliary drivers on fw_activate (git-fixes).
  • net/mlx5e: Add new prio for promiscuous mode (git-fixes).
  • net/mlx5e: Clear Read-Only port buffer size in PBMC before update (git-fixes).
  • net/mlx5e: Preserve shared buffer capacity during headroom updates (git-fixes).
  • net/mlx5e: Remove skb secpath if xfrm state is not found (git-fixes).
  • net/mlx5e: Set local Xoff after FW update (git-fixes).
  • net/mlx5e: Update and set Xon/Xoff upon MTU set (git-fixes).
  • net/mlx5e: Update and set Xon/Xoff upon port speed set (git-fixes).
  • net/packet: fix a race in packet_set_ring() and packet_notifier() (git-fixes).
  • net/sched: Restrict conditions for adding duplicating netems to qdisc tree (git-fixes).
  • net/sched: mqprio: fix stack out-of-bounds write in tc entry parsing (git-fixes).
  • net/sched: sch_qfq: Avoid triggering might_sleep in atomic context in qfq_delete_class (git-fixes).
  • net/sched: taprio: enforce minimum value for picos_per_byte (git-fixes).
  • net/smc: check sndbuf_space again after NOSPACE flag is set in smc_poll (git-fixes).
  • net: 802: LLC+SNAP OID:PID lookup on start of skb data (git-fixes).
  • net: dsa: restore dsa_software_vlan_untag() ability to operate on VLAN-untagged traffic (git-fixes).
  • net: dsa: tag_ocelot_8021q: fix broken reception (git-fixes).
  • net: hsr: fix fill_frame_info() regression vs VLAN packets (git-fixes).
  • net: hsr: fix hsr_init_sk() vs network/transport headers (git-fixes).
  • net: hv_netvsc: fix loss of early receive events from host during channel open (git-fixes).
  • net: ieee8021q: fix insufficient table-size assertion (stable-fixes).
  • net: llc: reset skb->transport_header (git-fixes).
  • net: mana: Add handler for hardware servicing events (bsc#1245730).
  • net: mana: Add speed support in mana_get_link_ksettings (bsc#1245726).
  • net: mana: Add support for net_shaper_ops (bsc#1245726).
  • net: mana: Allocate MSI-X vectors dynamically (bsc#1245457).
  • net: mana: Allow irq_setup() to skip cpus for affinity (bsc#1245457).
  • net: mana: Expose additional hardware counters for drop and TC via ethtool (bsc#1245729).
  • net: mana: Fix build errors when CONFIG_NET_SHAPER is disabled (gix-fixes).
  • net: mana: Fix potential deadlocks in mana napi ops (bsc#1245726).
  • net: mana: Handle Reset Request from MANA NIC (bsc#1245728).
  • net: mana: Handle unsupported HWC commands (bsc#1245726).
  • net: mana: Set tx_packets to post gso processing packet count (bsc#1245731).
  • net: mana: Use page pool fragments for RX buffers instead of full pages to improve memory efficiency (bsc#1248754).
  • net: mana: explain irq_setup() algorithm (bsc#1245457).
  • net: mana: fix spelling for mana_gd_deregiser_irq() (git-fixes).
  • net: mctp: handle skb cleanup on sock_queue failures (git-fixes).
  • net: mdio: mdio-bcm-unimac: Correct rate fallback logic (git-fixes).
  • net: nfc: nci: Add parameter validation for packet data (git-fixes).
  • net: page_pool: allow enabling recycling late, fix false positive warning (git-fixes).
  • net: phy: bcm54811: PHY initialization (stable-fixes).
  • net: phy: fix phy_uses_state_machine() (git-fixes).
  • net: phy: micrel: Add ksz9131_resume() (stable-fixes).
  • net: phy: micrel: fix KSZ8081/KSZ8091 cable test (git-fixes).
  • net: phy: smsc: add proper reset flags for LAN8710A (stable-fixes).
  • net: rfkill: gpio: Fix crash due to dereferencering uninitialized pointer (git-fixes).
  • net: rose: convert 'use' field to refcount_t (git-fixes).
  • net: rose: fix a typo in rose_clear_routes() (git-fixes).
  • net: rose: include node references in rose_neigh refcount (git-fixes).
  • net: rose: split remove and free operations in rose_remove_neigh() (stable-fixes).
  • net: thunderbolt: Enable end-to-end flow control also in transmit (stable-fixes).
  • net: thunderbolt: Fix the parameter passing of tb_xdomain_enable_paths()/tb_xdomain_disable_paths() (stable-fixes).
  • net: usb: Remove disruptive netif_wake_queue in rtl8150_set_multicast (git-fixes).
  • net: usb: asix: hold PM usage ref to avoid PM/MDIO + RTNL deadlock (git-fixes).
  • net: usb: asix_devices: Fix PHY address mask in MDIO bus initialization (git-fixes).
  • net: usb: asix_devices: add phy_mask for ax88772 mdio bus (git-fixes).
  • net: usb: cdc-ncm: check for filtering capability (git-fixes).
  • net: usb: qmi_wwan: add Telit Cinterion FN990A w/audio composition (stable-fixes).
  • net: usb: qmi_wwan: add Telit Cinterion LE910C4-WWX new compositions (git-fixes).
  • net: usb: qmi_wwan: fix Telit Cinterion FE990A name (stable-fixes).
  • net: usb: qmi_wwan: fix Telit Cinterion FN990A name (stable-fixes).
  • net: usbnet: Avoid potential RCU stall on LINK_CHANGE event (git-fixes).
  • net: usbnet: Fix the wrong netif_carrier_on() call (git-fixes).
  • netfilter: ctnetlink: fix refcount leak on table dump (git-fixes).
  • netfilter: ctnetlink: remove refcounting in expectation dumpers (git-fixes).
  • netfilter: nf_conncount: garbage collection is not skipped when jiffies wrap around (git-fixes).
  • netfilter: nf_nat: also check reverse tuple to obtain clashing entry (git-fixes).
  • netfilter: nf_reject: do not leak dst refcount for loopback packets (git-fixes).
  • netfilter: nf_tables: Drop dead code from fill_*_info routines (git-fixes).
  • netfilter: nf_tables: adjust lockdep assertions handling (git-fixes).
  • netfilter: nf_tables: fix set size with rbtree backend (git-fixes).
  • netfilter: nf_tables: imbalance in flowtable binding (git-fixes).
  • netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template (git-fixes).
  • netfilter: nft_flow_offload: update tcp state flags under lock (git-fixes).
  • netfilter: nft_objref: validate objref and objrefmap expressions (bsc#1250237).
  • netfilter: nft_set_hash: skip duplicated elements pending gc run (git-fixes).
  • netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext (git-fixes).
  • netfilter: nft_set_pipapo: prefer kvmalloc for scratch maps (git-fixes).
  • netfilter: nft_tunnel: fix geneve_opt dump (git-fixes).
  • netfilter: xtables: support arpt_mark and ipv6 optstrip for iptables-nft only builds (git-fixes).
  • netlink: fix policy dump for int with validation callback (jsc#PED-13331).
  • netlink: specs: devlink: replace underscores with dashes in names (jsc#PED-13331).
  • netpoll: prevent hanging NAPI when netcons gets enabled (git-fixes).
  • nfs/localio: add direct IO enablement with sync and async IO support (git-fixes).
  • nfs/localio: remove extra indirect nfs_to call to check {read,write}_iter (git-fixes).
  • nfsd: Fix NFSD_MAY_BYPASS_GSS and NFSD_MAY_BYPASS_GSS_ON_ROOT (git-fixes).
  • nfsd: fix access checking for NLM under XPRTSEC policies (git-fixes).
  • nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm() (git-fixes).
  • nouveau: fix disabling the nonstall irq due to storm code (git-fixes).
  • nvme-auth: update bi_directional flag (git-fixes).
  • nvme-fc: use lock accessing port_state and rport state (bsc#1245193 bsc#1247500).
  • nvme-pci: try function level reset on init failure (git-fixes).
  • nvme-tcp: log TLS handshake failures at error level (git-fixes).
  • nvme-tcp: send only permitted commands for secure concat (git-fixes).
  • nvme: fix PI insert on write (git-fixes).
  • nvme: fix endianness of command word prints in nvme_log_err_passthru() (git-fixes).
  • nvme: fix inconsistent RCU list manipulation in nvme_ns_add_to_ctrl_list() (git-fixes).
  • nvme: fix misaccounting of nvme-mpath inflight I/O (git-fixes).
  • nvmet-fc: avoid scheduling association deletion twice (bsc#1245193 bsc#1247500).
  • nvmet-fc: move lsop put work to nvmet_fc_ls_req_op (bsc#1245193 bsc#1247500).
  • nvmet-fcloop: call done callback even when remote port is gone (bsc#1245193 bsc#1247500).
  • nvmet-tcp: fix callback lock for TLS handshake (git-fixes).
  • nvmet: exit debugfs after discovery subsystem exits (git-fixes).
  • nvmet: initialize discovery subsys after debugfs is initialized (git-fixes).
  • nvmet: pci-epf: Do not complete commands twice if nvmet_req_init() fails (git-fixes).
  • objtool, ASoC: codecs: wcd934x: Remove potential undefined behavior in wcd934x_slim_irq_handler() (stable-fixes).
  • objtool, lkdtm: Obfuscate the do_nothing() pointer (stable-fixes).
  • objtool, regulator: rk808: Remove potential undefined behavior in rk806_set_mode_dcdc() (stable-fixes).
  • of: dynamic: Fix memleak when of_pci_add_properties() failed (git-fixes).
  • of: dynamic: Fix use after free in of_changeset_add_prop_helper() (git-fixes).
  • of: resolver: Fix device node refcount leakage in of_resolve_phandles() (git-fixes).
  • of: resolver: Simplify of_resolve_phandles() using __free() (stable-fixes).
  • of: unittest: Fix device reference count leak in of_unittest_pci_node_verify (git-fixes).
  • of: unittest: Unlock on error in unittest_data_add() (git-fixes).
  • pNFS/flexfiles: do not attempt pnfs on fatal DS errors (git-fixes).
  • pNFS: Fix disk addr range check in block/scsi layout (git-fixes).
  • pNFS: Fix stripe mapping in block/scsi layout (git-fixes).
  • pNFS: Fix uninited ptr deref in block/scsi layout (git-fixes).
  • pNFS: Handle RPC size limit for layoutcommits (git-fixes).
  • percpu: fix race on alloc failed warning limit (git-fixes).
  • perf bpf-event: Fix use-after-free in synthesis (git-fixes).
  • perf bpf-utils: Constify bpil_array_desc (git-fixes).
  • perf bpf-utils: Harden get_bpf_prog_info_linear (git-fixes).
  • perf dso: Add missed dso__put to dso__load_kcore (git-fixes).
  • perf hwmon_pmu: Avoid shortening hwmon PMU name (git-fixes).
  • perf parse-events: Set default GH modifier properly (git-fixes).
  • perf record: Cache build-ID of hit DSOs only (git-fixes).
  • perf sched: Fix memory leaks for evsel->priv in timehist (git-fixes).
  • perf sched: Fix memory leaks in 'perf sched latency' (git-fixes).
  • perf sched: Fix memory leaks in 'perf sched map' (git-fixes).
  • perf sched: Fix thread leaks in 'perf sched timehist' (git-fixes).
  • perf sched: Free thread->priv using priv_destructor (git-fixes).
  • perf sched: Make sure it frees the usage string (git-fixes).
  • perf sched: Use RC_CHK_EQUAL() to compare pointers (git-fixes).
  • perf symbol-minimal: Fix ehdr reading in filename__read_build_id (git-fixes).
  • perf test: Fix a build error in x86 topdown test (git-fixes).
  • perf tests bp_account: Fix leaked file descriptor (git-fixes).
  • perf tools: Remove libtraceevent in .gitignore (git-fixes).
  • perf topdown: Use attribute to see an event is a topdown metic or slots (git-fixes).
  • perf trace: Remove --map-dump documentation (git-fixes).
  • phy: fsl-imx8mq-usb: fix phy_tx_vboost_level_from_property() (git-fixes).
  • phy: mscc: Fix parsing of unicast frames (git-fixes).
  • phy: mscc: Fix timestamping for vsc8584 (git-fixes).
  • phy: qcom: phy-qcom-m31: Update IPQ5332 M31 USB phy initialization sequence (git-fixes).
  • phy: qualcomm: phy-qcom-eusb2-repeater: Do not zero-out registers (git-fixes).
  • phy: qualcomm: phy-qcom-eusb2-repeater: fix override properties (git-fixes).
  • phy: rockchip-pcie: Properly disable TEST_WRITE strobe signal (stable-fixes).
  • phy: rockchip: naneng-combphy: Enable U3 OTG port for RK3568 (git-fixes).
  • phy: rockchip: samsung-hdptx: Do no set rk_hdptx_phy->rate in case of errors (git-fixes).
  • phy: rockchip: samsung-hdptx: Fix clock ratio setup (git-fixes).
  • phy: tegra: xusb: fix device and OF node leak at probe (git-fixes).
  • phy: ti-pipe3: fix device leak at unbind (git-fixes).
  • phy: ti: omap-usb2: fix device leak at unbind (git-fixes).
  • pidfs: Fix memory leak in pidfd_info() (jsc#PED-13113).
  • pidfs: raise SB_I_NODEV and SB_I_NOEXEC (bsc#1249562).
  • pinctrl: STMFX: add missing HAS_IOMEM dependency (git-fixes).
  • pinctrl: berlin: fix memory leak in berlin_pinctrl_build_state() (git-fixes).
  • pinctrl: equilibrium: Remove redundant semicolons (git-fixes).
  • pinctrl: meson-gxl: add missing i2c_d pinmux (git-fixes).
  • pinctrl: renesas: Use int type to store negative error codes (git-fixes).
  • pinctrl: renesas: rzg2l: Fix invalid unsigned return in rzg3s_oen_read() (git-fixes).
  • pinctrl: samsung: Drop unused S3C24xx driver data (git-fixes).
  • pinctrl: stm32: Manage irq affinity settings (stable-fixes).
  • pinctrl: sunxi: Fix memory leak on krealloc failure (git-fixes).
  • pinmux: fix race causing mux_owner NULL with active mux_usecount (git-fixes).
  • platform/chrome: cros_ec: Unregister notifier in cros_ec_unregister() (git-fixes).
  • platform/chrome: cros_ec_sensorhub: Retries when a sensor is not ready (stable-fixes).
  • platform/chrome: cros_ec_typec: Defer probe on missing EC parent (stable-fixes).
  • platform/mellanox: mlxbf-pmc: Remove newline char from event name input (git-fixes).
  • platform/mellanox: mlxbf-pmc: Use kstrtobool() to check 0/1 input (git-fixes).
  • platform/mellanox: mlxbf-pmc: Validate event/enable input (git-fixes).
  • platform/x86/amd/hsmp: Ensure sock->metric_tbl_addr is non-NULL (git-fixes).
  • platform/x86/amd/pmc: Add MECHREVO Yilong15Pro to spurious_8042 list (stable-fixes).
  • platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list (stable-fixes).
  • platform/x86/amd/pmc: Add TUXEDO IB Pro Gen10 AMD to spurious 8042 quirks list (stable-fixes).
  • platform/x86/amd/pmf: Support new ACPI ID AMDI0108 (stable-fixes).
  • platform/x86/amd: pmc: Add Lenovo Yoga 6 13ALC6 to pmc quirk list (stable-fixes).
  • platform/x86/intel-uncore-freq: Check write blocked for ELC (git-fixes).
  • platform/x86/intel: power-domains: Use topology_logical_package_id() for package ID (git-fixes).
  • platform/x86: Fix initialization order for firmware_attributes_class (git-fixes).
  • platform/x86: asus-nb-wmi: add DMI quirk for ASUS Zenbook Duo UX8406CA (stable-fixes).
  • platform/x86: asus-wmi: Fix ROG button mapping, tablet mode on ASUS ROG Z13 (stable-fixes).
  • platform/x86: asus-wmi: Re-add extra keys to ignore_key_wlan quirk (git-fixes).
  • platform/x86: asus-wmi: Remove extra keys from ignore_key_wlan quirk (git-fixes).
  • platform/x86: ideapad-laptop: Fix FnLock not remembered among boots (git-fixes).
  • platform/x86: ideapad-laptop: Fix kbd backlight not remembered among boots (git-fixes).
  • platform/x86: lg-laptop: Fix WMAB call in fan_mode_store() (git-fixes).
  • pm: cpupower: Fix the snapshot-order of tsc,mperf, clock in mperf_stop() (stable-fixes).
  • pm: cpupower: bench: Prevent NULL dereference on malloc failure (stable-fixes).
  • power: supply: bq27xxx: fix error return in case of no bq27000 hdq battery (git-fixes).
  • power: supply: bq27xxx: restrict no-battery detection to bq27000 (git-fixes).
  • power: supply: cpcap-charger: Fix null check for power_supply_get_by_name (git-fixes).
  • power: supply: cw2015: Fix a alignment coding style issue (git-fixes).
  • power: supply: max14577: Handle NULL pdata when CONFIG_OF is not set (git-fixes).
  • power: supply: max77976_charger: fix constant current reporting (git-fixes).
  • power: supply: qcom_battmgr: Add lithium-polymer entry (stable-fixes).
  • powercap: dtpm_cpu: Fix NULL pointer dereference in get_pd_power_uw() (git-fixes).
  • powerpc/eeh: Export eeh_unfreeze_pe() (bsc#1215199).
  • powerpc/eeh: Make EEH driver device hotplug safe (bsc#1215199).
  • powerpc/ftrace: ensure ftrace record ops are always set for NOPs (git-fixes).
  • powerpc/ftrace: ensure ftrace record ops are always set for NOPs (jsc#PED-10909 git-fixes).
  • powerpc/kernel: Fix ppc_save_regs inclusion in build (bsc#1215199).
  • powerpc/kvm: Fix ifdef to remove build warning (bsc#1215199).
  • powerpc/powernv/pci: Fix underflow and leak issue (bsc#1215199).
  • powerpc/pseries/msi: Fix potential underflow and leak issue (bsc#1215199).
  • powerpc/pseries: Correct secvar format representation for static key management (jsc#PED-13345 jsc#PED-13343).
  • powerpc/secvar: Expose secvars relevant to the key management mode (jsc#PED-13345 jsc#PED-13343).
  • powerpc64/modules: correctly iterate over stubs in setup_ftrace_ool_stubs (jsc#PED-10909 git-fixes).
  • powerpc: do not build ppc_save_regs.o always (bsc#1215199).
  • powerpc: floppy: Add missing checks after DMA map (bsc#1215199).
  • pptp: fix pptp_xmit() error path (git-fixes).
  • printk: nbcon: Allow reacquire during panic (bsc#1246688).
  • psample: adjust size if rate_as_probability is set (git-fixes).
  • ptp: fix breakage after ptp_vclock_in_use() rework (git-fixes).
  • pwm: berlin: Fix wrong register in suspend/resume (git-fixes).
  • pwm: imx-tpm: Reset counter if CMOD is 0 (git-fixes).
  • pwm: mediatek: Fix duty and period setting (git-fixes).
  • pwm: mediatek: Handle hardware enable and clock enable separately (stable-fixes).
  • pwm: rockchip: Round period/duty down on apply, up on get (git-fixes).
  • pwm: tiehrpwm: Do not drop runtime PM reference in .free() (git-fixes).
  • pwm: tiehrpwm: Fix corner case in clock divisor calculation (git-fixes).
  • pwm: tiehrpwm: Fix various off-by-one errors in duty-cycle calculation (git-fixes).
  • pwm: tiehrpwm: Make code comment in .free() more useful (git-fixes).
  • r8169: add support for RTL8125D (stable-fixes).
  • r8169: disable RTL8126 ZRX-DC timeout (stable-fixes).
  • r8169: do not scan PHY addresses > 0 (stable-fixes).
  • rcu: Fix racy re-initialization of irq_work causing hangs (git-fixes)
  • regmap: Remove superfluous check for !config in __regmap_init() (git-fixes).
  • regulator: core: fix NULL dereference on unbind due to stale coupling data (stable-fixes).
  • regulator: scmi: Use int type to store negative error codes (git-fixes).
  • regulator: sy7636a: fix lifecycle of power good gpio (git-fixes).
  • reset: brcmstb: Enable reset drivers for ARCH_BCM2835 (stable-fixes).
  • reset: eyeq: fix OF node leak (git-fixes).
  • resource: Add resource set range and size helpers (jsc#PED-13728 jsc#PED-13762).
  • resource: fix false warning in __request_region() (git-fixes).
  • ring-buffer: Do not allow events in NMI with generic atomic64 cmpxchg() (git-fixes).
  • ring-buffer: Make reading page consistent with the code logic (git-fixes).
  • rpm/config.sh: SLFO 1.2 is now synced to OBS as well
  • rtc: ds1307: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: ds1307: handle oscillator stop flag (OSF) for ds1341 (stable-fixes).
  • rtc: ds1307: remove clear of oscillator stop flag (OSF) in probe (stable-fixes).
  • rtc: hym8563: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: nct3018y: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: optee: fix memory leak on driver removal (git-fixes).
  • rtc: pcf85063: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: pcf8563: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: rv3028: fix incorrect maximum clock rate handling (git-fixes).
  • rtc: x1205: Fix Xicor X1205 vendor prefix (git-fixes).
  • s390/ap: Unmask SLCF bit in card and queue ap functions sysfs (git-fixes bsc#1247837).
  • s390/bpf: Fix bpf_arch_text_poke() with new_addr == NULL again (git-fixes bsc#1246868).
  • s390/cpum_cf: Deny all sampling events by counter PMU (git-fixes bsc#1249477).
  • s390/early: Copy last breaking event address to pt_regs (git-fixes bsc#1249061).
  • s390/hypfs: Avoid unnecessary ioctl registration in debugfs (bsc#1248727 git-fixes).
  • s390/hypfs: Enable limited access during lockdown (bsc#1248727 git-fixes).
  • s390/ism: fix concurrency management in ism_cmd() (git-fixes bsc#1247372).
  • s390/mm: Allocate page table with PAGE_SIZE granularity (git-fixes bsc#1247838).
  • s390/mm: Do not map lowcore with identity mapping (git-fixes bsc#1249066).
  • s390/mm: Remove possible false-positive warning in pte_free_defer() (git-fixes bsc#1247366).
  • s390/pai: Deny all events not handled by this PMU (git-fixes bsc#1249478).
  • s390/pci: Allow automatic recovery with minimal driver support (bsc#1248728 git-fixes).
  • s390/sclp: Fix SCCB present check (git-fixes bsc#1249065).
  • s390/stp: Remove udelay from stp_sync_clock() (git-fixes bsc#1249062).
  • s390/time: Use monotonic clock in get_cycles() (git-fixes bsc#1249064).
  • samples/bpf: Fix compilation failure for samples/bpf on LoongArch Fedora (git-fixes).
  • samples: mei: Fix building on musl libc (git-fixes).
  • sched/deadline: Always stop dl-server before changing parameters (bsc#1247936).
  • sched/deadline: Do not count nr_running for dl_server proxy tasks (git-fixes, bsc#1247936).
  • sched/deadline: Fix RT task potential starvation when expiry time passed (git-fixes, bsc#1247936).
  • sched/deadline: Fix dl_server_stopped() (bsc#1247936).
  • sched/deadline: Initialize dl_servers after SMP (git-fixes)
  • sched_ext, sched/core: Do not call scx_group_set_weight() (git-fixes)
  • scsi: Revert "scsi: iscsi: Fix HW conn removal use after free" (git-fixes).
  • scsi: core: Fix kernel doc for scsi_track_queue_full() (git-fixes).
  • scsi: elx: efct: Fix dma_unmap_sg() nents value (git-fixes).
  • scsi: fc: Avoid -Wflex-array-member-not-at-end warnings (bsc#1250519).
  • scsi: ibmvscsi_tgt: Fix dma_unmap_sg() nents value (git-fixes).
  • scsi: isci: Fix dma_unmap_sg() nents value (git-fixes).
  • scsi: lpfc: Abort outstanding ELS WQEs regardless of if rmmod is in progress (bsc#1250519).
  • scsi: lpfc: Check return status of lpfc_reset_flush_io_context during TGT_RESET (bsc#1250519).
  • scsi: lpfc: Clean up allocated queues when queue setup mbox commands fail (bsc#1250519).
  • scsi: lpfc: Clean up extraneous phba dentries (bsc#1250519).
  • scsi: lpfc: Convert debugfs directory counts from atomic to unsigned int (bsc#1250519).
  • scsi: lpfc: Copyright updates for 14.4.0.11 patches (bsc#1250519).
  • scsi: lpfc: Decrement ndlp kref after FDISC retries exhausted (bsc#1250519).
  • scsi: lpfc: Define size of debugfs entry for xri rebalancing (bsc#1250519).
  • scsi: lpfc: Ensure PLOGI_ACC is sent prior to PRLI in Point to Point topology (bsc#1250519).
  • scsi: lpfc: Fix buffer free/clear order in deferred receive path (bsc#1250519).
  • scsi: lpfc: Fix wrong function reference in a comment (bsc#1250519).
  • scsi: lpfc: Remove ndlp kref decrement clause for F_Port_Ctrl in lpfc_cleanup (bsc#1250519).
  • scsi: lpfc: Remove redundant assignment to avoid memory leak (bsc#1250519).
  • scsi: lpfc: Remove unused member variables in struct lpfc_hba and lpfc_vport (bsc#1250519).
  • scsi: lpfc: Update lpfc version to 14.4.0.11 (bsc#1250519).
  • scsi: lpfc: Use int type to store negative error codes (bsc#1250519).
  • scsi: lpfc: Use switch case statements in DIF debugfs handlers (bsc#1250519).
  • scsi: lpfc: use min() to improve code (bsc#1250519).
  • scsi: mpi3mr: Event processing debug improvement (bsc#1251186).
  • scsi: mpi3mr: Fix I/O failures during controller reset (bsc#1251186).
  • scsi: mpi3mr: Fix controller init failure on fault during queue creation (bsc#1251186).
  • scsi: mpi3mr: Fix device loss during enclosure reboot due to zero link speed (bsc#1251186).
  • scsi: mpi3mr: Fix kernel-doc issues in mpi3mr_app.c (git-fixes).
  • scsi: mpi3mr: Fix premature TM timeouts on virtual drives (bsc#1251186).
  • scsi: mpi3mr: Fix race between config read submit and interrupt completion (git-fixes).
  • scsi: mpi3mr: Serialize admin queue BAR writes on 32-bit systems (git-fixes).
  • scsi: mpi3mr: Update MPI headers to revision 37 (bsc#1251186).
  • scsi: mpi3mr: Update driver version to 8.15.0.5.50 (bsc#1251186).
  • scsi: mpt3sas: Fix a fw_event memory leak (git-fixes).
  • scsi: mvsas: Fix dma_unmap_sg() nents value (git-fixes).
  • scsi: qla2xxx: Avoid stack frame size warning in qla_dfs (git-fixes).
  • scsi: qla2xxx: Fix incorrect sign of error code in START_SP_W_RETRIES() (git-fixes).
  • scsi: qla2xxx: Fix incorrect sign of error code in qla_nvme_xmt_ls_rsp() (git-fixes).
  • scsi: qla2xxx: Remove firmware URL (git-fixes).
  • scsi: qla2xxx: Use secs_to_jiffies() instead of msecs_to_jiffies() (git-fixes).
  • scsi: qla2xxx: edif: Fix incorrect sign of error code (git-fixes).
  • scsi: sd: Make sd shutdown issue START STOP UNIT appropriately (git-fixes).
  • scsi: smartpqi: Enhance WWID logging logic (bsc#1246631).
  • scsi: smartpqi: Take drives offline when controller is offline (bsc#1246631).
  • scsi: smartpqi: Update driver version to 2.1.34-035 (bsc#1246631).
  • scsi: ufs: Fix toggling of clk_gating.state when clock gating is not allowed (git-fixes).
  • scsi: ufs: Introduce quirk to extend PA_HIBERN8TIME for UFS devices (git-fixes).
  • scsi: ufs: bsg: Delete bsg_dev when setting up bsg fails (git-fixes).
  • scsi: ufs: core: Add missing post notify for power mode change (git-fixes).
  • scsi: ufs: core: Add ufshcd_send_bsg_uic_cmd() for UFS BSG (git-fixes).
  • scsi: ufs: core: Always initialize the UIC done completion (git-fixes).
  • scsi: ufs: core: Do not perform UFS clkscaling during host async scan (git-fixes).
  • scsi: ufs: core: Fix clk scaling to be conditional in reset and restore (git-fixes).
  • scsi: ufs: core: Fix error return with query response (git-fixes).
  • scsi: ufs: core: Fix spelling of a sysfs attribute name (git-fixes).
  • scsi: ufs: core: Fix ufshcd_is_ufs_dev_busy() and ufshcd_eh_timed_out() (git-fixes).
  • scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers (git-fixes).
  • scsi: ufs: core: Improve ufshcd_mcq_sq_cleanup() (git-fixes).
  • scsi: ufs: core: Introduce ufshcd_has_pending_tasks() (git-fixes).
  • scsi: ufs: core: Prepare to introduce a new clock_gating lock (git-fixes).
  • scsi: ufs: core: Remove redundant query_complete trace (git-fixes).
  • scsi: ufs: core: Set default runtime/system PM levels before ufshcd_hba_init() (git-fixes).
  • scsi: ufs: core: Update compl_time_stamp_local_clock after completing a cqe (git-fixes).
  • scsi: ufs: core: Use link recovery when h8 exit fails during runtime resume (git-fixes).
  • scsi: ufs: exynos: Add check inside exynos_ufs_config_smu() (git-fixes).
  • scsi: ufs: exynos: Add gs101_ufs_drv_init() hook and enable WriteBooster (git-fixes).
  • scsi: ufs: exynos: Enable PRDT pre-fetching with UFSHCD_CAP_CRYPTO (git-fixes).
  • scsi: ufs: exynos: Ensure consistent phy reference counts (git-fixes).
  • scsi: ufs: exynos: Ensure pre_link() executes before exynos_ufs_phy_init() (git-fixes).
  • scsi: ufs: exynos: Fix hibern8 notify callbacks (git-fixes).
  • scsi: ufs: exynos: Fix programming of HCI_UTRL_NEXUS_TYPE (git-fixes).
  • scsi: ufs: exynos: Move UFS shareability value to drvdata (git-fixes).
  • scsi: ufs: exynos: Move phy calls to .exit() callback (git-fixes).
  • scsi: ufs: exynos: Remove empty drv_init method (git-fixes).
  • scsi: ufs: exynos: Remove superfluous function parameter (git-fixes).
  • scsi: ufs: exynos: gs101: Put UFS device in reset on .suspend() (git-fixes).
  • scsi: ufs: mcq: Delete ufshcd_release_scsi_cmd() in ufshcd_mcq_abort() (git-fixes).
  • scsi: ufs: pltfrm: Disable runtime PM during removal of glue drivers (git-fixes).
  • scsi: ufs: pltfrm: Drop PM runtime reference count after ufshcd_remove() (git-fixes).
  • scsi: ufs: qcom: Fix crypto key eviction (git-fixes).
  • scsi: ufs: qcom: fix dev reference leaked through of_qcom_ice_get (git-fixes).
  • scsi: ufs: ufs-pci: Fix default runtime and system PM levels (git-fixes).
  • scsi: ufs: ufs-pci: Fix hibernate state transition for Intel MTL-like host controllers (git-fixes).
  • seccomp: Fix a race with WAIT_KILLABLE_RECV if the tracer replies too fast (git-fixes bsc#1250671).
  • selftest/livepatch: Only run test-kprobe with CONFIG_KPROBES_ON_FTRACE (poo#187320).
  • selftests/cpufreq: Fix cpufreq basic read and update testcases (bsc#1250344).
  • selftests/livepatch: Ignore NO_SUPPORT line in dmesg (poo#187320).
  • selftests/livepatch: Replace hardcoded module name with variable in test-callbacks.sh (poo#187320).
  • selftests/run_kselftest.sh: Fix help string for --per-test-log (poo#187320).
  • selftests/run_kselftest.sh: Use readlink if realpath is not available (poo#187320).
  • selftests/tracing: Fix false failure of subsystem event test (git-fixes).
  • selftests: ALSA: fix memory leak in utimer test (git-fixes).
  • selftests: livepatch: add new ftrace helpers functions (poo#187320).
  • selftests: livepatch: add test cases of stack_order sysfs interface (poo#187320).
  • selftests: livepatch: handle PRINTK_CALLER in check_result() (poo#187320).
  • selftests: livepatch: rename KLP_SYSFS_DIR to SYSFS_KLP_DIR (poo#187320).
  • selftests: livepatch: save and restore kprobe state (poo#187320).
  • selftests: livepatch: test if ftrace can trace a livepatched function (poo#187320).
  • selftests: livepatch: test livepatching a kprobed function (poo#187320).
  • selftests: ncdevmem: Move ncdevmem under drivers/net/hw (poo#187443).
  • selinux: change security_compute_sid to return the ssid or tsid on match (git-fixes).
  • selinux: fix selinux_xfrm_alloc_user() to set correct ctx_len (stable-fixes).
  • serial: 8250: Touch watchdogs in write_atomic() (bsc#1246688).
  • serial: 8250: fix panic due to PSLVERR (git-fixes).
  • serial: max310x: Add error checking in probe() (git-fixes).
  • serial: sc16is7xx: fix bug in flow control levels init (git-fixes).
  • skmsg: Return copied bytes in sk_msg_memcopy_from_iter (bsc#1250650).
  • slab: Decouple slab_debug and no_hash_pointers (bsc#1249022).
  • smb: client: fix crypto buffers in non-linear memory (bsc#1250491, boo#1239206).
  • smb: client: fix netns refcount leak after net_passive changes (git-fixes).
  • soc/tegra: cbb: Clear ERR_FORCE register with ERR_STATUS (git-fixes).
  • soc/tegra: pmc: Ensure power-domains are in a known state (git-fixes).
  • soc: mediatek: mtk-svs: fix device leaks on mt8183 probe failure (git-fixes).
  • soc: mediatek: mtk-svs: fix device leaks on mt8192 probe failure (git-fixes).
  • soc: qcom: QMI encoding/decoding for big endian (git-fixes).
  • soc: qcom: fix endianness for QMI header (git-fixes).
  • soc: qcom: mdt_loader: Actually use the e_phoff (stable-fixes).
  • soc: qcom: mdt_loader: Deal with zero e_shentsize (git-fixes).
  • soc: qcom: mdt_loader: Ensure we do not read past the ELF header (git-fixes).
  • soc: qcom: mdt_loader: Fix error return values in mdt_header_valid() (git-fixes).
  • soc: qcom: pmic_glink: fix OF node leak (git-fixes).
  • soc: qcom: rpmh-rsc: Add RSC version 4 support (stable-fixes).
  • soc: qcom: rpmh-rsc: Unconditionally clear _TRIGGER bit for TCS (git-fixes).
  • soundwire: Move handle_nested_irq outside of sdw_dev_lock (stable-fixes).
  • soundwire: amd: cancel pending slave status handling workqueue during remove sequence (stable-fixes).
  • soundwire: amd: fix for handling slave alerts after link is down (git-fixes).
  • soundwire: amd: serialize amd manager resume sequence during pm_prepare (stable-fixes).
  • soundwire: stream: restore params when prepare ports fail (git-fixes).
  • spi: bcm2835: Remove redundant semicolons (git-fixes).
  • spi: cadence-quadspi: Fix cqspi_setup_flash() (git-fixes).
  • spi: cadence-quadspi: Flush posted register writes before DAC access (git-fixes).
  • spi: cadence-quadspi: Flush posted register writes before INDAC access (git-fixes).
  • spi: cadence-quadspi: fix cleanup of rx_chan on failure paths (stable-fixes).
  • spi: cs42l43: Property entry should be a null-terminated array (bsc#1246979).
  • spi: fix return code when spi device has too many chipselects (git-fixes).
  • spi: mtk-snfi: Remove redundant semicolons (git-fixes).
  • spi: spi-fsl-lpspi: Clamp too high speed_hz (git-fixes).
  • spi: spi-fsl-lpspi: Clear status register after disabling the module (git-fixes).
  • spi: spi-fsl-lpspi: Fix transmissions when using CONT (git-fixes).
  • spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort (git-fixes).
  • spi: spi-fsl-lpspi: Set correct chip-select polarity bit (git-fixes).
  • spi: stm32: Check for cfg availability in stm32_spi_probe (git-fixes).
  • sprintf.h requires stdarg.h (git-fixes).
  • sprintf.h: mask additional include (git-fixes).
  • squashfs: fix memory leak in squashfs_fill_super (git-fixes).
  • staging: axis-fifo: fix TX handling on copy_from_user() failure (git-fixes).
  • staging: axis-fifo: fix maximum TX packet length check (git-fixes).
  • staging: axis-fifo: flush RX FIFO on read errors (git-fixes).
  • staging: axis-fifo: remove sysfs interface (git-fixes).
  • staging: fbtft: fix potential memory leak in fbtft_framebuffer_alloc() (git-fixes).
  • staging: media: atomisp: Fix stack buffer overflow in gmin_get_var_int() (git-fixes).
  • staging: nvec: Fix incorrect null termination of battery manufacturer (git-fixes).
  • staging: vchiq_arm: Make vchiq_shutdown never fail (git-fixes).
  • struct cdc_ncm_ctx: move new member to end (git-fixes).
  • sunrpc: fix client side handling of tls alerts (git-fixes).
  • sunrpc: fix handling of server side tls alerts (git-fixes).
  • sunrpc: fix null pointer dereference on zero-length checksum (git-fixes).
  • sunvdc: Balance device refcount in vdc_port_mpgroup_check (git-fixes).
  • supported.conf: Mark ZL3073X modules supported
  • supported.conf: mark hyperv_drm as external
  • tcp: call tcp_measure_rcv_mss() for ooo packets (git-fixes).
  • tcp_bpf: Fix copied value in tcp_bpf_sendmsg (bsc#1250650).
  • thermal/drivers/mediatek/lvts_thermal: Add lvts commands and their sizes to driver data (stable-fixes).
  • thermal/drivers/mediatek/lvts_thermal: Add mt7988 lvts commands (stable-fixes).
  • thermal/drivers/mediatek/lvts_thermal: Change lvts commands array to static const (stable-fixes).
  • thermal/drivers/qcom-spmi-temp-alarm: Enable stage 2 shutdown when required (stable-fixes).
  • thermal/drivers/qcom/lmh: Add missing IRQ includes (git-fixes).
  • thermal: sysfs: Return ENODATA instead of EAGAIN for reads (stable-fixes).
  • thunderbolt: Compare HMAC values in constant time (git-fixes).
  • thunderbolt: Fix copy+paste error in match_service_id() (git-fixes).
  • tools/power turbostat: Clustered Uncore MHz counters should honor show/hide options (stable-fixes).
  • tools/power turbostat: Fix bogus SysWatt for forked program (git-fixes).
  • tools/power turbostat: Fix build with musl (stable-fixes).
  • tools/power turbostat: Handle cap_get_proc() ENOSYS (stable-fixes).
  • tools/power turbostat: Handle non-root legacy-uncore sysfs permissions (stable-fixes).
  • tools/resolve_btfids: Fix build when cross compiling kernel with clang (git-fixes).
  • tpm_tis: Fix incorrect arguments in tpm_tis_probe_irq_single (git-fixes).
  • trace/fgraph: Fix error handling (git-fixes).
  • trace/ring-buffer: Do not use TP_printk() formatting for boot mapped buffers (git-fixes).
  • tracepoint: Print the function symbol when tracepoint_debug is set (jsc#PED-13631).
  • tracing/kprobe: Make trace_kprobe's module callback called after jump_label update (git-fixes).
  • tracing/kprobes: Fix to free objects when failed to copy a symbol (git-fixes).
  • tracing: Correct the refcount if the hist/hist_debug file fails to open (git-fixes).
  • tracing: Fix filter string testing (git-fixes).
  • tracing: Fix using ret variable in tracing_set_tracer() (git-fixes).
  • tracing: Remove unneeded goto out logic (bsc#1249286).
  • tracing: Switch trace.c code over to use guard() (git-fixes).
  • tracing: Switch trace_events_hist.c code over to use guard() (git-fixes).
  • tracing: fprobe events: Fix possible UAF on modules (git-fixes).
  • tracing: tprobe-events: Fix leakage of module refcount (git-fixes).
  • tty: hvc_console: Call hvc_kick in hvc_write unconditionally (bsc#1230062).
  • tty: n_gsm: Do not block input queue by waiting MSC (git-fixes).
  • tty: serial: fix print format specifiers (stable-fixes).
  • ublk: sanity check add_dev input for underflow (git-fixes).
  • ublk: use vmalloc for ublk_device's __queues (git-fixes).
  • ucount: fix atomic_long_inc_below() argument type (git-fixes).
  • uio: uio_pdrv_genirq: Remove MODULE_DEVICE_TABLE (git-fixes).
  • usb: atm: cxacru: Merge cxacru_upload_firmware() into cxacru_heavy_init() (git-fixes).
  • usb: cdns3: cdnsp-pci: remove redundant pci_disable_device() call (git-fixes).
  • usb: core: Add 0x prefix to quirks debug output (stable-fixes).
  • usb: core: config: Prevent OOB read in SS endpoint companion parsing (stable-fixes).
  • usb: core: hcd: fix accessing unmapped memory in SINGLE_STEP_SET_FEATURE test (git-fixes).
  • usb: core: usb_submit_urb: downgrade type check (stable-fixes).
  • usb: dwc3: Ignore late xferNotReady event to prevent halt timeout (git-fixes).
  • usb: dwc3: Remove WARN_ON for device endpoint command timeouts (stable-fixes).
  • usb: dwc3: imx8mp: fix device leak at unbind (git-fixes).
  • usb: dwc3: meson-g12a: fix device leaks at unbind (git-fixes).
  • usb: dwc3: pci: add support for the Intel Wildcat Lake (stable-fixes).
  • usb: dwc3: qcom: Do not leave BCR asserted (git-fixes).
  • usb: early: xhci-dbc: Fix early_ioremap leak (git-fixes).
  • usb: gadget : fix use-after-free in composite_dev_cleanup() (git-fixes).
  • usb: gadget: configfs: Correctly set use_os_string at bind (git-fixes).
  • usb: gadget: midi2: Fix MIDI2 IN EP max packet size (git-fixes).
  • usb: gadget: midi2: Fix missing UMP group attributes initialization (git-fixes).
  • usb: gadget: udc: renesas_usb3: fix device leak at unbind (git-fixes).
  • usb: host: max3421-hcd: Fix error pointer dereference in probe cleanup (git-fixes).
  • usb: host: xhci-plat: fix incorrect type for of_match variable in xhci_plat_probe() (git-fixes).
  • usb: misc: apple-mfi-fastcharge: Make power supply names unique (git-fixes).
  • usb: misc: qcom_eud: Access EUD_MODE_MANAGER2 through secure calls (git-fixes).
  • usb: musb: omap2430: fix device leak at unbind (git-fixes).
  • usb: phy: twl6030: Fix incorrect type for ret (git-fixes).
  • usb: quirks: Add DELAY_INIT quick for another SanDisk 3.2Gen1 Flash Drive (stable-fixes).
  • usb: renesas-xhci: Fix External ROM access timeouts (git-fixes).
  • usb: storage: realtek_cr: Use correct byte order for bcs->Residue (git-fixes).
  • usb: typec: fusb302: cache PD RX state (git-fixes).
  • usb: typec: intel_pmc_mux: Defer probe if SCU IPC isn't present (stable-fixes).
  • usb: typec: maxim_contaminant: disable low power mode when reading comparator values (git-fixes).
  • usb: typec: maxim_contaminant: re-enable cc toggle if cc is open and port is clean (git-fixes).
  • usb: typec: tcpm/tcpci_maxim: fix irq wake usage (stable-fixes).
  • usb: typec: tcpm: allow switching to mode accessory to mux properly (stable-fixes).
  • usb: typec: tcpm: allow to use sink in accessory mode (stable-fixes).
  • usb: typec: tcpm: apply vbus before data bringup in tcpm_src_attach (git-fixes).
  • usb: typec: tcpm: properly deliver cable vdms to altmode drivers (git-fixes).
  • usb: typec: tipd: Clear interrupts first (git-fixes).
  • usb: typec: ucsi: Update power_supply on power role change (git-fixes).
  • usb: typec: ucsi: psy: Set current max to 100mA for BC 1.2 and Default (stable-fixes).
  • usb: typec: ucsi: yoga-c630: fix error and remove paths (git-fixes).
  • usb: vhci-hcd: Prevent suspending virtually attached devices (git-fixes).
  • usb: xhci: Avoid showing errors during surprise removal (stable-fixes).
  • usb: xhci: Avoid showing warnings for dying controller (stable-fixes).
  • usb: xhci: Fix slot_id resource race conflict (git-fixes).
  • usb: xhci: Set avg_trb_len = 8 for EP0 during Address Device Command (stable-fixes).
  • usb: xhci: print xhci->xhc_state when queue_command failed (stable-fixes).
  • use uniform permission checks for all mount propagation changes (git-fixes).
  • vdpa/mlx5: Fix needs_teardown flag calculation (git-fixes).
  • vdpa: Fix IDR memory leak in VDUSE module exit (git-fixes).
  • vhost-scsi: Fix log flooding with target does not exist errors (git-fixes).
  • vhost/net: Protect ubufs with rcu read lock in vhost_net_ubuf_put() (git-fixes).
  • vhost/vsock: Avoid allocating arbitrarily-sized SKBs (git-fixes).
  • vhost: Fix ioctl # for VHOST_[GS]ET_FORK_FROM_OWNER (git-fixes).
  • vhost: Reintroduce kthread API and add mode selection (git-fixes).
  • vhost: fail early when __vhost_add_used() fails (git-fixes).
  • virtchnl2: add flow steering support (jsc#PED-13728).
  • virtchnl2: rename enum virtchnl2_cap_rss (jsc#PED-13728).
  • virtchnl: add PTP virtchnl definitions (jsc#PED-13728 jsc#PED-13762).
  • virtio_net: Enforce minimum TX ring size for reliability (git-fixes).
  • virtio_ring: Fix error reporting in virtqueue_resize (git-fixes).
  • vmci: Prevent the dispatching of uninitialized payloads (git-fixes).
  • vsock/virtio: Resize receive buffers so that each SKB fits in a 4K page (git-fixes).
  • vsock/virtio: Validate length in packet header before skb_put() (git-fixes).
  • vt: defkeymap: Map keycodes above 127 to K_HOLE (git-fixes).
  • vt: keyboard: Do not process Unicode characters in K_OFF mode (git-fixes).
  • watchdog: dw_wdt: Fix default timeout (stable-fixes).
  • watchdog: iTCO_wdt: Report error if timeout configuration fails (stable-fixes).
  • watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog (git-fixes).
  • watchdog: sbsa: Adjust keepalive timeout to avoid MediaTek WS0 race condition (stable-fixes).
  • watchdog: ziirave_wdt: check record length in ziirave_firm_verify() (git-fixes).
  • wifi: ath10k: avoid unnecessary wait for service ready message (git-fixes).
  • wifi: ath10k: shutdown driver when hardware is unreliable (stable-fixes).
  • wifi: ath11k: HAL SRNG: do not deinitialize and re-initialize again (git-fixes).
  • wifi: ath11k: clear initialized flag for deinit-ed srng lists (git-fixes).
  • wifi: ath11k: fix NULL dereference in ath11k_qmi_m3_load() (git-fixes).
  • wifi: ath11k: fix dest ring-buffer corruption (git-fixes).
  • wifi: ath11k: fix dest ring-buffer corruption when ring is full (git-fixes).
  • wifi: ath11k: fix group data packet drops during rekey (git-fixes).
  • wifi: ath11k: fix sleeping-in-atomic in ath11k_mac_op_set_bitrate_mask() (git-fixes).
  • wifi: ath11k: fix source ring-buffer corruption (git-fixes).
  • wifi: ath11k: fix suspend use-after-free after probe failure (git-fixes).
  • wifi: ath12k: Add MODULE_FIRMWARE() entries (bsc#1250952).
  • wifi: ath12k: Add memset and update default rate value in wmi tx completion (stable-fixes).
  • wifi: ath12k: Correct tid cleanup when tid setup fails (stable-fixes).
  • wifi: ath12k: Decrement TID on RX peer frag setup error handling (stable-fixes).
  • wifi: ath12k: Enable REO queue lookup table feature on QCN9274 hw2.0 (stable-fixes).
  • wifi: ath12k: Fix station association with MBSSID Non-TX BSS (stable-fixes).
  • wifi: ath12k: Pass ab pointer directly to ath12k_dp_tx_get_encap_type() (git-fixes).
  • wifi: ath12k: fix dest ring-buffer corruption (git-fixes).
  • wifi: ath12k: fix dest ring-buffer corruption when ring is full (git-fixes).
  • wifi: ath12k: fix endianness handling while accessing wmi service bit (git-fixes).
  • wifi: ath12k: fix memory leak in ath12k_pci_remove() (stable-fixes).
  • wifi: ath12k: fix memory leak in ath12k_service_ready_ext_event (git-fixes).
  • wifi: ath12k: fix source ring-buffer corruption (git-fixes).
  • wifi: ath12k: fix the fetching of combined rssi (git-fixes).
  • wifi: ath12k: fix wrong handling of CCMP256 and GCMP ciphers (git-fixes).
  • wifi: ath12k: fix wrong logging ID used for CE (git-fixes).
  • wifi: brcmfmac: fix P2P discovery failure in P2P peer due to missing P2P IE (git-fixes).
  • wifi: brcmfmac: fix use-after-free when rescheduling brcmf_btcoex_info work (git-fixes).
  • wifi: brcmsmac: Remove const from tbl_ptr parameter in wlc_lcnphy_common_read_table() (git-fixes).
  • wifi: cfg80211: Fix interface type validation (stable-fixes).
  • wifi: cfg80211: fix use-after-free in cmp_bss() (git-fixes).
  • wifi: cfg80211: reject HTC bit for management frames (stable-fixes).
  • wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result() (git-fixes).
  • wifi: cw1200: cap SSID length in cw1200_do_join() (git-fixes).
  • wifi: iwlegacy: Check rate_idx range after addition (stable-fixes).
  • wifi: iwlwifi: Add missing firmware info for bz-b0-* models (bsc#1252084).
  • wifi: iwlwifi: Fix error code in iwl_op_mode_dvm_start() (git-fixes).
  • wifi: iwlwifi: Fix memory leak in iwl_mvm_init() (git-fixes).
  • wifi: iwlwifi: Remove redundant header files (git-fixes).
  • wifi: iwlwifi: config: unify fw/pnvm MODULE_FIRMWARE (bsc#1252084).
  • wifi: iwlwifi: dvm: fix potential overflow in rs_fill_link_cmd() (stable-fixes).
  • wifi: iwlwifi: fw: Fix possible memory leak in iwl_fw_dbg_collect (stable-fixes).
  • wifi: iwlwifi: mvm: avoid outdated reorder buffer head_sn (stable-fixes).
  • wifi: iwlwifi: mvm: fix scan request validation (stable-fixes).
  • wifi: iwlwifi: mvm: set gtk id also in older FWs (stable-fixes).
  • wifi: iwlwifi: return ERR_PTR from opmode start() (stable-fixes).
  • wifi: iwlwifi: uefi: check DSM item validity (git-fixes).
  • wifi: libertas: cap SSID len in lbs_associate() (git-fixes).
  • wifi: mac80211: Check 802.11 encaps offloading in ieee80211_tx_h_select_key() (git-fixes).
  • wifi: mac80211: Do not call fq_flow_idx() for management frames (git-fixes).
  • wifi: mac80211: Do not schedule stopped TXQs (git-fixes).
  • wifi: mac80211: Write cnt before copying in ieee80211_copy_rnr_beacon() (git-fixes).
  • wifi: mac80211: avoid weird state in error path (stable-fixes).
  • wifi: mac80211: do not complete management TX on SAE commit (stable-fixes).
  • wifi: mac80211: do not unreserve never reserved chanctx (stable-fixes).
  • wifi: mac80211: fix Rx packet handling when pubsta information is not available (git-fixes).
  • wifi: mac80211: fix incorrect type for ret (stable-fixes).
  • wifi: mac80211: fix rx link assignment for non-MLO stations (stable-fixes).
  • wifi: mac80211: increase scan_ies_len for S1G (stable-fixes).
  • wifi: mac80211: reject TDLS operations when station is not associated (git-fixes).
  • wifi: mac80211: update radar_required in channel context after channel switch (stable-fixes).
  • wifi: mt76: fix linked list corruption (git-fixes).
  • wifi: mt76: fix potential memory leak in mt76_wmac_probe() (git-fixes).
  • wifi: mt76: free pending offchannel tx frames on wcid cleanup (git-fixes).
  • wifi: mt76: mt7915: fix mt7981 pre-calibration (git-fixes).
  • wifi: mt76: mt7915: mcu: re-init MCU before loading FW patch (stable-fixes).
  • wifi: mt76: mt7925: adjust rm BSS flow to prevent next connection failure (git-fixes).
  • wifi: mt76: mt7925: fix locking in mt7925_change_vif_links() (git-fixes).
  • wifi: mt76: mt7925: fix the wrong bss cleanup for SAP (git-fixes).
  • wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete (git-fixes).
  • wifi: mt76: mt7996: Convert mt7996_wed_rro_addr to LE (git-fixes).
  • wifi: mt76: mt7996: Fix RX packets configuration for primary WED device (git-fixes).
  • wifi: mt76: mt7996: Initialize hdr before passing to skb_put_data() (git-fixes).
  • wifi: mt76: prevent non-offchannel mgmt tx during scan/roc (git-fixes).
  • wifi: mwifiex: Initialize the chan_stats array to zero (git-fixes).
  • wifi: mwifiex: send world regulatory domain to driver (git-fixes).
  • wifi: nl80211: Set num_sub_specs before looping through sub_specs (git-fixes).
  • wifi: plfxlc: Fix error handling in usb driver probe (git-fixes).
  • wifi: rtl818x: Kill URBs before clearing tx status queue (git-fixes).
  • wifi: rtl8xxxu: Do not claim USB ID 07b8:8188 (stable-fixes).
  • wifi: rtl8xxxu: Fix RX skb size for aggregation disabled (git-fixes).
  • wifi: rtlwifi: fix possible skb memory leak in _rtl_pci_init_one_rxdesc() (stable-fixes).
  • wifi: rtlwifi: fix possible skb memory leak in _rtl_pci_rx_interrupt() (stable-fixes).
  • wifi: rtlwifi: rtl8192cu: Do not claim USB ID 07b8:8188 (stable-fixes).
  • wifi: rtw88: Fix macid assigned to TDLS station (git-fixes).
  • wifi: rtw89: Fix rtw89_mac_power_switch() for USB (stable-fixes).
  • wifi: rtw89: Lower the timeout in rtw89_fw_read_c2h_reg() for USB (stable-fixes).
  • wifi: rtw89: avoid NULL dereference when RX problematic packet on unsupported 6 GHz band (git-fixes).
  • wifi: rtw89: avoid circular locking dependency in ser_state_run() (git-fixes).
  • wifi: rtw89: scan abort when assign/unassign_vif (stable-fixes).
  • wifi: rtw89: wow: Add Basic Rate IE to probe request in scheduled scan mode (stable-fixes).
  • wifi: virt_wifi: Fix page fault on connect (stable-fixes).
  • wifi: wilc1000: avoid buffer overflow in WID string configuration (stable-fixes).
  • writeback: Avoid contention on wb->list_lock when switching inodes (bsc#1237776).
  • writeback: Avoid contention on wb->list_lock when switching inodes (kABI fixup) (bsc#1237776).
  • writeback: Avoid excessively long inode switching times (bsc#1237776).
  • writeback: Avoid softlockup when switching many inodes (bsc#1237776).
  • x86/CPU/AMD: Add CPUID faulting support (jsc#PED-13704).
  • x86/Kconfig: Add arch attack vector support (git-fixes).
  • x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE (git-fixes).
  • x86/boot: Sanitize boot params before parsing command line (git-fixes).
  • x86/bugs: Add SRSO_MITIGATION_NOSMT (git-fixes).
  • x86/bugs: Add attack vector controls for BHI (git-fixes).
  • x86/bugs: Add attack vector controls for GDS (git-fixes).
  • x86/bugs: Add attack vector controls for ITS (git-fixes).
  • x86/bugs: Add attack vector controls for L1TF (git-fixes).
  • x86/bugs: Add attack vector controls for MDS (git-fixes).
  • x86/bugs: Add attack vector controls for MMIO (git-fixes).
  • x86/bugs: Add attack vector controls for RFDS (git-fixes).
  • x86/bugs: Add attack vector controls for SRBDS (git-fixes).
  • x86/bugs: Add attack vector controls for SRSO (git-fixes).
  • x86/bugs: Add attack vector controls for SSB (git-fixes).
  • x86/bugs: Add attack vector controls for TAA (git-fixes).
  • x86/bugs: Add attack vector controls for TSA (git-fixes).
  • x86/bugs: Add attack vector controls for retbleed (git-fixes).
  • x86/bugs: Add attack vector controls for spectre_v1 (git-fixes).
  • x86/bugs: Add attack vector controls for spectre_v2 (git-fixes).
  • x86/bugs: Add attack vector controls for spectre_v2_user (git-fixes).
  • x86/bugs: Allow ITS stuffing in eIBRS+retpoline mode also (git-fixes).
  • x86/bugs: Avoid AUTO after the select step in the retbleed mitigation (git-fixes).
  • x86/bugs: Avoid warning when overriding return thunk (git-fixes).
  • x86/bugs: Clean up SRSO microcode handling (git-fixes).
  • x86/bugs: Define attack vectors relevant for each bug (git-fixes).
  • x86/bugs: Fix GDS mitigation selecting when mitigation is off (git-fixes).
  • x86/bugs: Introduce cdt_possible() (git-fixes).
  • x86/bugs: Print enabled attack vectors (git-fixes).
  • x86/bugs: Remove its=stuff dependency on retbleed (git-fixes).
  • x86/bugs: Select best SRSO mitigation (git-fixes).
  • x86/bugs: Simplify the retbleed=stuff checks (git-fixes).
  • x86/bugs: Use IBPB for retbleed if used by SRSO (git-fixes).
  • x86/bugs: Use switch/case in its_apply_mitigation() (git-fixes).
  • x86/cacheinfo: Properly parse CPUID(0x80000005) L1d/L1i associativity (git-fixes).
  • x86/cacheinfo: Properly parse CPUID(0x80000006) L2/L3 associativity (git-fixes).
  • x86/cpu: Sanitize CPUID(0x80000000) output (git-fixes).
  • x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1 (git-fixes).
  • x86/fpu/xstate: Fix inconsistencies in guest FPU xfeatures (git-fixes).
  • x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct() (git-fixes).
  • x86/fpu: Delay instruction pointer fixup until after warning (git-fixes).
  • x86/fpu: Fix guest FPU state buffer allocation size (git-fixes).
  • x86/fpu: Fully optimize out WARN_ON_FPU() (git-fixes).
  • x86/fpu: Refactor xfeature bitmask update code for sigframe XSAVE (git-fixes).
  • x86/fred/signal: Prevent immediate repeat of single step trap on return from SIGTRAP handler (git-fixes).
  • x86/headers: Replace ASSEMBLY with ASSEMBLER in UAPI headers (git-fixes).
  • x86/locking: Use ALT_OUTPUT_SP() for percpu_{,try_}cmpxchg{64,128}_op() (git-fixes).
  • x86/mce/amd: Add default names for MCA banks and blocks (git-fixes).
  • x86/mce: Do not remove sysfs if thresholding sysfs init fails (git-fixes).
  • x86/mce: Ensure user polling settings are honored when restarting timer (git-fixes).
  • x86/mce: Make sure CMCI banks are cleared during shutdown on Intel (git-fixes).
  • x86/microcode/AMD: Handle the case of no BIOS microcode (git-fixes).
  • x86/microcode: Consolidate the loader enablement checking (git-fixes).
  • x86/microcode: Update the Intel processor flag scan check (git-fixes).
  • x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() (git-fixes).
  • x86/mm/pat: do not collapse pages without PSE set (git-fixes).
  • x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus() (git-fixes).
  • x86/percpu: Disable named address spaces for UBSAN_BOOL with KASAN for GCC < 14.2 (git-fixes).
  • x86/pkeys: Simplify PKRU update in signal frame (git-fixes).
  • x86/platform/olpc: Remove unused variable 'len' in olpc_dt_compatible_match() (git-fixes).
  • x86/pti: Add attack vector controls for PTI (git-fixes).
  • x86/rdrand: Disable RDSEED on AMD Cyan Skillfish (git-fixes).
  • x86/smp: Allow calling mwait_play_dead with an arbitrary hint (jsc#PED-13815).
  • x86/smp: Fix mwait_play_dead() and acpi_processor_ffh_play_dead() noreturn behavior (jsc#PED-13815).
  • x86/smp: PM/hibernate: Split arch_resume_nosmt() (jsc#PED-13815).
  • x86/smpboot: Fix INIT delay assignment for extended Intel Families (git-fixes).
  • x86/topology: Implement topology_is_core_online() to address SMT regression (jsc#PED-13815).
  • x86/traps: Initialize DR6 by writing its architectural reset value (git-fixes).
  • xen/gntdev: remove struct gntdev_copy_batch from stack (git-fixes).
  • xen/netfront: Fix TX response spurious interrupts (git-fixes).
  • xen: fix UAF in dmabuf_exp_from_pages() (git-fixes).
  • xfrm: replay: Fix the update of replay_esn->oseq_hi for GSO (git-fixes).
  • xfs: change xfs_xattr_class from a TRACE_EVENT() to DECLARE_EVENT_CLASS() (git-fixes).
  • xfs: do not propagate ENODATA disk errors into xattr code (git-fixes).
  • xfs: fix scrub trace with null pointer in quotacheck (git-fixes).
  • xfs: only create event xfs_file_compat_ioctl when CONFIG_COMPAT is configure (git-fixes).
  • xfs: remove unused event xfs_alloc_near_error (git-fixes).
  • xfs: remove unused event xfs_alloc_near_nominleft (git-fixes).
  • xfs: remove unused event xfs_attr_node_removename (git-fixes).
  • xfs: remove unused event xfs_ioctl_clone (git-fixes).
  • xfs: remove unused event xfs_pagecache_inval (git-fixes).
  • xfs: remove unused event xlog_iclog_want_sync (git-fixes).
  • xfs: remove unused trace event xfs_attr_remove_iter_return (git-fixes).
  • xfs: remove unused trace event xfs_attr_rmtval_set (git-fixes).
  • xfs: remove unused trace event xfs_discard_rtrelax (git-fixes).
  • xfs: remove unused trace event xfs_log_cil_return (git-fixes).
  • xfs: remove unused trace event xfs_reflink_cow_enospc (git-fixes).
  • xfs: remove unused xfs_attr events (git-fixes).
  • xfs: remove unused xfs_reflink_compare_extents events (git-fixes).
  • xfs: remove usused xfs_end_io_direct events (git-fixes).
  • xhci: dbc: Fix full DbC transfer ring after several reconnects (git-fixes).
  • xhci: dbc: decouple endpoint allocation from initialization (git-fixes).
  • xhci: fix memory leak regression when freeing xhci vdev devices depth first (git-fixes).
  • xirc2ps_cs: fix register access when enabling FullDuplex (git-fixes).
  • zram: permit only one post-processing operation at a time (git-fixes).

Список пакетов

openSUSE Leap 16.0
cluster-md-kmp-64kb-6.12.0-160000.6.1
cluster-md-kmp-default-6.12.0-160000.6.1
cluster-md-kmp-rt-6.12.0-160000.6.1
dlm-kmp-64kb-6.12.0-160000.6.1
dlm-kmp-default-6.12.0-160000.6.1
dlm-kmp-rt-6.12.0-160000.6.1
dtb-allwinner-6.12.0-160000.6.1
dtb-altera-6.12.0-160000.6.1
dtb-amazon-6.12.0-160000.6.1
dtb-amd-6.12.0-160000.6.1
dtb-amlogic-6.12.0-160000.6.1
dtb-apm-6.12.0-160000.6.1
dtb-apple-6.12.0-160000.6.1
dtb-arm-6.12.0-160000.6.1
dtb-broadcom-6.12.0-160000.6.1
dtb-cavium-6.12.0-160000.6.1
dtb-exynos-6.12.0-160000.6.1
dtb-freescale-6.12.0-160000.6.1
dtb-hisilicon-6.12.0-160000.6.1
dtb-lg-6.12.0-160000.6.1
dtb-marvell-6.12.0-160000.6.1
dtb-mediatek-6.12.0-160000.6.1
dtb-nvidia-6.12.0-160000.6.1
dtb-qcom-6.12.0-160000.6.1
dtb-renesas-6.12.0-160000.6.1
dtb-rockchip-6.12.0-160000.6.1
dtb-socionext-6.12.0-160000.6.1
dtb-sprd-6.12.0-160000.6.1
dtb-xilinx-6.12.0-160000.6.1
gfs2-kmp-64kb-6.12.0-160000.6.1
gfs2-kmp-default-6.12.0-160000.6.1
gfs2-kmp-rt-6.12.0-160000.6.1
kernel-64kb-6.12.0-160000.6.1
kernel-64kb-devel-6.12.0-160000.6.1
kernel-64kb-extra-6.12.0-160000.6.1
kernel-64kb-optional-6.12.0-160000.6.1
kernel-default-6.12.0-160000.6.1
kernel-default-base-6.12.0-160000.6.1.160000.2.4
kernel-default-devel-6.12.0-160000.6.1
kernel-default-extra-6.12.0-160000.6.1
kernel-default-optional-6.12.0-160000.6.1
kernel-default-vdso-6.12.0-160000.6.1
kernel-devel-6.12.0-160000.6.1
kernel-docs-6.12.0-160000.6.1
kernel-docs-html-6.12.0-160000.6.1
kernel-kvmsmall-6.12.0-160000.6.1
kernel-kvmsmall-devel-6.12.0-160000.6.1
kernel-kvmsmall-vdso-6.12.0-160000.6.1
kernel-macros-6.12.0-160000.6.1
kernel-obs-build-6.12.0-160000.6.1
kernel-obs-qa-6.12.0-160000.6.1
kernel-rt-6.12.0-160000.6.1
kernel-rt-devel-6.12.0-160000.6.1
kernel-rt-extra-6.12.0-160000.6.1
kernel-rt-optional-6.12.0-160000.6.1
kernel-rt-vdso-6.12.0-160000.6.1
kernel-source-6.12.0-160000.6.1
kernel-source-vanilla-6.12.0-160000.6.1
kernel-syms-6.12.0-160000.6.1
kernel-zfcpdump-6.12.0-160000.6.1
kselftests-kmp-64kb-6.12.0-160000.6.1
kselftests-kmp-default-6.12.0-160000.6.1
kselftests-kmp-rt-6.12.0-160000.6.1
ocfs2-kmp-64kb-6.12.0-160000.6.1
ocfs2-kmp-default-6.12.0-160000.6.1
ocfs2-kmp-rt-6.12.0-160000.6.1

Описание

In the Linux kernel, the following vulnerability has been resolved: net: sched: fix ordering of qlen adjustment Changes to sch->q.qlen around qdisc_tree_reduce_backlog() need to happen _before_ a call to said function because otherwise it may fail to notify parent qdiscs when the child is about to become empty.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix invalid irq restore in scx_ops_bypass() While adding outer irqsave/restore locking, 0e7ffff1b811 ("scx: Fix raciness in scx_ops_bypass()") forgot to convert an inner rq_unlock_irqrestore() to rq_unlock() which could re-enable IRQ prematurely leading to the following warning: raw_local_irq_restore() called with IRQs enabled WARNING: CPU: 1 PID: 96 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x30/0x40 ... Sched_ext: create_dsq (enabling) pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : warn_bogus_irq_restore+0x30/0x40 lr : warn_bogus_irq_restore+0x30/0x40 ... Call trace: warn_bogus_irq_restore+0x30/0x40 (P) warn_bogus_irq_restore+0x30/0x40 (L) scx_ops_bypass+0x224/0x3b8 scx_ops_enable.isra.0+0x2c8/0xaa8 bpf_scx_reg+0x18/0x30 ... irq event stamp: 33739 hardirqs last enabled at (33739): [<ffff8000800b699c>] scx_ops_bypass+0x174/0x3b8 hardirqs last disabled at (33738): [<ffff800080d48ad4>] _raw_spin_lock_irqsave+0xb4/0xd8 Drop the stray _irqrestore().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hrtimers: Handle CPU state correctly on hotplug Consider a scenario where a CPU transitions from CPUHP_ONLINE to halfway through a CPU hotunplug down to CPUHP_HRTIMERS_PREPARE, and then back to CPUHP_ONLINE: Since hrtimers_prepare_cpu() does not run, cpu_base.hres_active remains set to 1 throughout. However, during a CPU unplug operation, the tick and the clockevents are shut down at CPUHP_AP_TICK_DYING. On return to the online state, for instance CFS incorrectly assumes that the hrtick is already active, and the chance of the clockevent device to transition to oneshot mode is also lost forever for the CPU, unless it goes back to a lower state than CPUHP_HRTIMERS_PREPARE once. This round-trip reveals another issue; cpu_base.online is not set to 1 after the transition, which appears as a WARN_ON_ONCE in enqueue_hrtimer(). Aside of that, the bulk of the per CPU state is not reset either, which means there are dangling pointers in the worst case. Address this by adding a corresponding startup() callback, which resets the stale per CPU state and sets the online flag. [ tglx: Make the new callback unconditionally available, remove the online modification in the prepare() callback and clear the remaining state in the starting callback instead of the prepare callback ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Revert "libfs: fix infinite directory reads for offset dir" The current directory offset allocator (based on mtree_alloc_cyclic) stores the next offset value to return in octx->next_offset. This mechanism typically returns values that increase monotonically over time. Eventually, though, the newly allocated offset value wraps back to a low number (say, 2) which is smaller than other already- allocated offset values. Yu Kuai <yukuai3@huawei.com> reports that, after commit 64a7ce76fb90 ("libfs: fix infinite directory reads for offset dir"), if a directory's offset allocator wraps, existing entries are no longer visible via readdir/getdents because offset_readdir() stops listing entries once an entry's offset is larger than octx->next_offset. These entries vanish persistently -- they can be looked up, but will never again appear in readdir(3) output. The reason for this is that the commit treats directory offsets as monotonically increasing integer values rather than opaque cookies, and introduces this comparison: if (dentry2offset(dentry) >= last_index) { On 64-bit platforms, the directory offset value upper bound is 2^63 - 1. Directory offsets will monotonically increase for millions of years without wrapping. On 32-bit platforms, however, LONG_MAX is 2^31 - 1. The allocator can wrap after only a few weeks (at worst). Revert commit 64a7ce76fb90 ("libfs: fix infinite directory reads for offset dir") to prepare for a fix that can work properly on 32-bit systems and might apply to recent LTS kernels where shmem employs the simple_offset mechanism.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched/core: Prevent rescheduling when interrupts are disabled David reported a warning observed while loop testing kexec jump: Interrupts enabled after irqrouter_resume+0x0/0x50 WARNING: CPU: 0 PID: 560 at drivers/base/syscore.c:103 syscore_resume+0x18a/0x220 kernel_kexec+0xf6/0x180 __do_sys_reboot+0x206/0x250 do_syscall_64+0x95/0x180 The corresponding interrupt flag trace: hardirqs last enabled at (15573): [<ffffffffa8281b8e>] __up_console_sem+0x7e/0x90 hardirqs last disabled at (15580): [<ffffffffa8281b73>] __up_console_sem+0x63/0x90 That means __up_console_sem() was invoked with interrupts enabled. Further instrumentation revealed that in the interrupt disabled section of kexec jump one of the syscore_suspend() callbacks woke up a task, which set the NEED_RESCHED flag. A later callback in the resume path invoked cond_resched() which in turn led to the invocation of the scheduler: __cond_resched+0x21/0x60 down_timeout+0x18/0x60 acpi_os_wait_semaphore+0x4c/0x80 acpi_ut_acquire_mutex+0x3d/0x100 acpi_ns_get_node+0x27/0x60 acpi_ns_evaluate+0x1cb/0x2d0 acpi_rs_set_srs_method_data+0x156/0x190 acpi_pci_link_set+0x11c/0x290 irqrouter_resume+0x54/0x60 syscore_resume+0x6a/0x200 kernel_kexec+0x145/0x1c0 __do_sys_reboot+0xeb/0x240 do_syscall_64+0x95/0x180 This is a long standing problem, which probably got more visible with the recent printk changes. Something does a task wakeup and the scheduler sets the NEED_RESCHED flag. cond_resched() sees it set and invokes schedule() from a completely bogus context. The scheduler enables interrupts after context switching, which causes the above warning at the end. Quite some of the code paths in syscore_suspend()/resume() can result in triggering a wakeup with the exactly same consequences. They might not have done so yet, but as they share a lot of code with normal operations it's just a question of time. The problem only affects the PREEMPT_NONE and PREEMPT_VOLUNTARY scheduling models. Full preemption is not affected as cond_resched() is disabled and the preemption check preemptible() takes the interrupt disabled flag into account. Cure the problem by adding a corresponding check into cond_resched().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/gup: reject FOLL_SPLIT_PMD with hugetlb VMAs Patch series "mm: fixes for device-exclusive entries (hmm)", v2. Discussing the PageTail() call in make_device_exclusive_range() with Willy, I recently discovered [1] that device-exclusive handling does not properly work with THP, making the hmm-tests selftests fail if THPs are enabled on the system. Looking into more details, I found that hugetlb is not properly fenced, and I realized that something that was bugging me for longer -- how device-exclusive entries interact with mapcounts -- completely breaks migration/swapout/split/hwpoison handling of these folios while they have device-exclusive PTEs. The program below can be used to allocate 1 GiB worth of pages and making them device-exclusive on a kernel with CONFIG_TEST_HMM. Once they are device-exclusive, these folios cannot get swapped out (proc$pid/smaps_rollup will always indicate 1 GiB RSS no matter how much one forces memory reclaim), and when having a memory block onlined to ZONE_MOVABLE, trying to offline it will loop forever and complain about failed migration of a page that should be movable. # echo offline > /sys/devices/system/memory/memory136/state # echo online_movable > /sys/devices/system/memory/memory136/state # ./hmm-swap & ... wait until everything is device-exclusive # echo offline > /sys/devices/system/memory/memory136/state [ 285.193431][T14882] page: refcount:2 mapcount:0 mapping:0000000000000000 index:0x7f20671f7 pfn:0x442b6a [ 285.196618][T14882] memcg:ffff888179298000 [ 285.198085][T14882] anon flags: 0x5fff0000002091c(referenced|uptodate| dirty|active|owner_2|swapbacked|node=1|zone=3|lastcpupid=0x7ff) [ 285.201734][T14882] raw: ... [ 285.204464][T14882] raw: ... [ 285.207196][T14882] page dumped because: migration failure [ 285.209072][T14882] page_owner tracks the page as allocated [ 285.210915][T14882] page last allocated via order 0, migratetype Movable, gfp_mask 0x140dca(GFP_HIGHUSER_MOVABLE|__GFP_COMP|__GFP_ZERO), id 14926, tgid 14926 (hmm-swap), ts 254506295376, free_ts 227402023774 [ 285.216765][T14882] post_alloc_hook+0x197/0x1b0 [ 285.218874][T14882] get_page_from_freelist+0x76e/0x3280 [ 285.220864][T14882] __alloc_frozen_pages_noprof+0x38e/0x2740 [ 285.223302][T14882] alloc_pages_mpol+0x1fc/0x540 [ 285.225130][T14882] folio_alloc_mpol_noprof+0x36/0x340 [ 285.227222][T14882] vma_alloc_folio_noprof+0xee/0x1a0 [ 285.229074][T14882] __handle_mm_fault+0x2b38/0x56a0 [ 285.230822][T14882] handle_mm_fault+0x368/0x9f0 ... This series fixes all issues I found so far. There is no easy way to fix without a bigger rework/cleanup. I have a bunch of cleanups on top (some previous sent, some the result of the discussion in v1) that I will send out separately once this landed and I get to it. I wish we could just use some special present PROT_NONE PTEs instead of these (non-present, non-none) fake-swap entries; but that just results in the same problem we keep having (lack of spare PTE bits), and staring at other similar fake-swap entries, that ship has sailed. With this series, make_device_exclusive() doesn't actually belong into mm/rmap.c anymore, but I'll leave moving that for another day. I only tested this series with the hmm-tests selftests due to lack of HW, so I'd appreciate some testing, especially if the interaction between two GPUs wanting a device-exclusive entry works as expected. <program> #include <stdio.h> #include <fcntl.h> #include <stdint.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <sys/ioctl.h> #include <linux/types.h> #include <linux/ioctl.h> #define HMM_DMIRROR_EXCLUSIVE _IOWR('H', 0x05, struct hmm_dmirror_cmd) struct hmm_dmirror_cmd { __u64 addr; __u64 ptr; __u64 npages; __u64 cpages; __u64 faults; }; const size_t size = 1 * 1024 * 1024 * 1024ul; const size_t chunk_size = 2 * 1024 * 1024ul; int m ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Revert "smb: client: fix TCP timers deadlock after rmmod" This reverts commit e9f2517a3e18a54a3943c098d2226b245d488801. Commit e9f2517a3e18 ("smb: client: fix TCP timers deadlock after rmmod") is intended to fix a null-ptr-deref in LOCKDEP, which is mentioned as CVE-2024-54680, but is actually did not fix anything; The issue can be reproduced on top of it. [0] Also, it reverted the change by commit ef7134c7fc48 ("smb: client: Fix use-after-free of network namespace.") and introduced a real issue by reviving the kernel TCP socket. When a reconnect happens for a CIFS connection, the socket state transitions to FIN_WAIT_1. Then, inet_csk_clear_xmit_timers_sync() in tcp_close() stops all timers for the socket. If an incoming FIN packet is lost, the socket will stay at FIN_WAIT_1 forever, and such sockets could be leaked up to net.ipv4.tcp_max_orphans. Usually, FIN can be retransmitted by the peer, but if the peer aborts the connection, the issue comes into reality. I warned about this privately by pointing out the exact report [1], but the bogus fix was finally merged. So, we should not stop the timers to finally kill the connection on our side in that case, meaning we must not use a kernel socket for TCP whose sk->sk_net_refcnt is 0. The kernel socket does not have a reference to its netns to make it possible to tear down netns without cleaning up every resource in it. For example, tunnel devices use a UDP socket internally, but we can destroy netns without removing such devices and let it complete during exit. Otherwise, netns would be leaked when the last application died. However, this is problematic for TCP sockets because TCP has timers to close the connection gracefully even after the socket is close()d. The lifetime of the socket and its netns is different from the lifetime of the underlying connection. If the socket user does not maintain the netns lifetime, the timer could be fired after the socket is close()d and its netns is freed up, resulting in use-after-free. Actually, we have seen so many similar issues and converted such sockets to have a reference to netns. That's why I converted the CIFS client socket to have a reference to netns (sk->sk_net_refcnt == 1), which is somehow mentioned as out-of-scope of CIFS and technically wrong in e9f2517a3e18, but **is in-scope and right fix**. Regarding the LOCKDEP issue, we can prevent the module unload by bumping the module refcount when switching the LOCKDDEP key in sock_lock_init_class_and_name(). [2] For a while, let's revert the bogus fix. Note that now we can use sk_net_refcnt_upgrade() for the socket conversion, but I'll do so later separately to make backport easy.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Acquire SRCU in KVM_GET_MP_STATE to protect guest memory accesses Acquire a lock on kvm->srcu when userspace is getting MP state to handle a rather extreme edge case where "accepting" APIC events, i.e. processing pending INIT or SIPI, can trigger accesses to guest memory. If the vCPU is in L2 with INIT *and* a TRIPLE_FAULT request pending, then getting MP state will trigger a nested VM-Exit by way of ->check_nested_events(), and emuating the nested VM-Exit can access guest memory. The splat was originally hit by syzkaller on a Google-internal kernel, and reproduced on an upstream kernel by hacking the triple_fault_event_test selftest to stuff a pending INIT, store an MSR on VM-Exit (to generate a memory access on VMX), and do vcpu_mp_state_get() to trigger the scenario. ============================= WARNING: suspicious RCU usage 6.14.0-rc3-b112d356288b-vmx/pi_lockdep_false_pos-lock #3 Not tainted ----------------------------- include/linux/kvm_host.h:1058 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by triple_fault_ev/1256: #0: ffff88810df5a330 (&vcpu->mutex){+.+.}-{4:4}, at: kvm_vcpu_ioctl+0x8b/0x9a0 [kvm] stack backtrace: CPU: 11 UID: 1000 PID: 1256 Comm: triple_fault_ev Not tainted 6.14.0-rc3-b112d356288b-vmx #3 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 Call Trace: <TASK> dump_stack_lvl+0x7f/0x90 lockdep_rcu_suspicious+0x144/0x190 kvm_vcpu_gfn_to_memslot+0x156/0x180 [kvm] kvm_vcpu_read_guest+0x3e/0x90 [kvm] read_and_check_msr_entry+0x2e/0x180 [kvm_intel] __nested_vmx_vmexit+0x550/0xde0 [kvm_intel] kvm_check_nested_events+0x1b/0x30 [kvm] kvm_apic_accept_events+0x33/0x100 [kvm] kvm_arch_vcpu_ioctl_get_mpstate+0x30/0x1d0 [kvm] kvm_vcpu_ioctl+0x33e/0x9a0 [kvm] __x64_sys_ioctl+0x8b/0xb0 do_syscall_64+0x6c/0x170 entry_SYSCALL_64_after_hwframe+0x4b/0x53 </TASK>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: codel: remove sch->q.qlen check before qdisc_tree_reduce_backlog() After making all ->qlen_notify() callbacks idempotent, now it is safe to remove the check of qlen!=0 from both fq_codel_dequeue() and codel_qdisc_dequeue().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched/eevdf: Fix se->slice being set to U64_MAX and resulting crash There is a code path in dequeue_entities() that can set the slice of a sched_entity to U64_MAX, which sometimes results in a crash. The offending case is when dequeue_entities() is called to dequeue a delayed group entity, and then the entity's parent's dequeue is delayed. In that case: 1. In the if (entity_is_task(se)) else block at the beginning of dequeue_entities(), slice is set to cfs_rq_min_slice(group_cfs_rq(se)). If the entity was delayed, then it has no queued tasks, so cfs_rq_min_slice() returns U64_MAX. 2. The first for_each_sched_entity() loop dequeues the entity. 3. If the entity was its parent's only child, then the next iteration tries to dequeue the parent. 4. If the parent's dequeue needs to be delayed, then it breaks from the first for_each_sched_entity() loop _without updating slice_. 5. The second for_each_sched_entity() loop sets the parent's ->slice to the saved slice, which is still U64_MAX. This throws off subsequent calculations with potentially catastrophic results. A manifestation we saw in production was: 6. In update_entity_lag(), se->slice is used to calculate limit, which ends up as a huge negative number. 7. limit is used in se->vlag = clamp(vlag, -limit, limit). Because limit is negative, vlag > limit, so se->vlag is set to the same huge negative number. 8. In place_entity(), se->vlag is scaled, which overflows and results in another huge (positive or negative) number. 9. The adjusted lag is subtracted from se->vruntime, which increases or decreases se->vruntime by a huge number. 10. pick_eevdf() calls entity_eligible()/vruntime_eligible(), which incorrectly returns false because the vruntime is so far from the other vruntimes on the queue, causing the (vruntime - cfs_rq->min_vruntime) * load calulation to overflow. 11. Nothing appears to be eligible, so pick_eevdf() returns NULL. 12. pick_next_entity() tries to dereference the return value of pick_eevdf() and crashes. Dumping the cfs_rq states from the core dumps with drgn showed tell-tale huge vruntime ranges and bogus vlag values, and I also traced se->slice being set to U64_MAX on live systems (which was usually "benign" since the rest of the runqueue needed to be in a particular state to crash). Fix it in dequeue_entities() by always setting slice from the first non-empty cfs_rq.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Tear down vGIC on failed vCPU creation If kvm_arch_vcpu_create() fails to share the vCPU page with the hypervisor, we propagate the error back to the ioctl but leave the vGIC vCPU data initialised. Note only does this leak the corresponding memory when the vCPU is destroyed but it can also lead to use-after-free if the redistributor device handling tries to walk into the vCPU. Add the missing cleanup to kvm_arch_vcpu_create(), ensuring that the vGIC vCPU structures are destroyed on error.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: harden block_group::bg_list against list_del() races As far as I can tell, these calls of list_del_init() on bg_list cannot run concurrently with btrfs_mark_bg_unused() or btrfs_mark_bg_to_reclaim(), as they are in transaction error paths and situations where the block group is readonly. However, if there is any chance at all of racing with mark_bg_unused(), or a different future user of bg_list, better to be safe than sorry. Otherwise we risk the following interleaving (bg_list refcount in parens) T1 (some random op) T2 (btrfs_mark_bg_unused) !list_empty(&bg->bg_list); (1) list_del_init(&bg->bg_list); (1) list_move_tail (1) btrfs_put_block_group (0) btrfs_delete_unused_bgs bg = list_first_entry list_del_init(&bg->bg_list); btrfs_put_block_group(bg); (-1) Ultimately, this results in a broken ref count that hits zero one deref early and the real final deref underflows the refcount, resulting in a WARNING.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: mpi3mr: Synchronous access b/w reset and tm thread for reply queue When the task management thread processes reply queues while the reset thread resets them, the task management thread accesses an invalid queue ID (0xFFFF), set by the reset thread, which points to unallocated memory, causing a crash. Add flag 'io_admin_reset_sync' to synchronize access between the reset, I/O, and admin threads. Before a reset, the reset handler sets this flag to block I/O and admin processing threads. If any thread bypasses the initial check, the reset thread waits up to 10 seconds for processing to finish. If the wait exceeds 10 seconds, the controller is marked as unrecoverable.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: dsa: clean up FDB, MDB, VLAN entries on unbind As explained in many places such as commit b117e1e8a86d ("net: dsa: delete dsa_legacy_fdb_add and dsa_legacy_fdb_del"), DSA is written given the assumption that higher layers have balanced additions/deletions. As such, it only makes sense to be extremely vocal when those assumptions are violated and the driver unbinds with entries still present. But Ido Schimmel points out a very simple situation where that is wrong: https://lore.kernel.org/netdev/ZDazSM5UsPPjQuKr@shredder/ (also briefly discussed by me in the aforementioned commit). Basically, while the bridge bypass operations are not something that DSA explicitly documents, and for the majority of DSA drivers this API simply causes them to go to promiscuous mode, that isn't the case for all drivers. Some have the necessary requirements for bridge bypass operations to do something useful - see dsa_switch_supports_uc_filtering(). Although in tools/testing/selftests/net/forwarding/local_termination.sh, we made an effort to popularize better mechanisms to manage address filters on DSA interfaces from user space - namely macvlan for unicast, and setsockopt(IP_ADD_MEMBERSHIP) - through mtools - for multicast, the fact is that 'bridge fdb add ... self static local' also exists as kernel UAPI, and might be useful to someone, even if only for a quick hack. It seems counter-productive to block that path by implementing shim .ndo_fdb_add and .ndo_fdb_del operations which just return -EOPNOTSUPP in order to prevent the ndo_dflt_fdb_add() and ndo_dflt_fdb_del() from running, although we could do that. Accepting that cleanup is necessary seems to be the only option. Especially since we appear to be coming back at this from a different angle as well. Russell King is noticing that the WARN_ON() triggers even for VLANs: https://lore.kernel.org/netdev/Z_li8Bj8bD4-BYKQ@shell.armlinux.org.uk/ What happens in the bug report above is that dsa_port_do_vlan_del() fails, then the VLAN entry lingers on, and then we warn on unbind and leak it. This is not a straight revert of the blamed commit, but we now add an informational print to the kernel log (to still have a way to see that bugs exist), and some extra comments gathered from past years' experience, to justify the logic.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mctp: Don't access ifa_index when missing In mctp_dump_addrinfo, ifa_index can be used to filter interfaces, but only when the struct ifaddrmsg is provided. Otherwise it will be comparing to uninitialised memory - reproducible in the syzkaller case from dhcpd, or busybox "ip addr show". The kernel MCTP implementation has always filtered by ifa_index, so existing userspace programs expecting to dump MCTP addresses must already be passing a valid ifa_index value (either 0 or a real index). BUG: KMSAN: uninit-value in mctp_dump_addrinfo+0x208/0xac0 net/mctp/device.c:128 mctp_dump_addrinfo+0x208/0xac0 net/mctp/device.c:128 rtnl_dump_all+0x3ec/0x5b0 net/core/rtnetlink.c:4380 rtnl_dumpit+0xd5/0x2f0 net/core/rtnetlink.c:6824 netlink_dump+0x97b/0x1690 net/netlink/af_netlink.c:2309


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/page_alloc: fix race condition in unaccepted memory handling The page allocator tracks the number of zones that have unaccepted memory using static_branch_enc/dec() and uses that static branch in hot paths to determine if it needs to deal with unaccepted memory. Borislav and Thomas pointed out that the tracking is racy: operations on static_branch are not serialized against adding/removing unaccepted pages to/from the zone. Sanity checks inside static_branch machinery detects it: WARNING: CPU: 0 PID: 10 at kernel/jump_label.c:276 __static_key_slow_dec_cpuslocked+0x8e/0xa0 The comment around the WARN() explains the problem: /* * Warn about the '-1' case though; since that means a * decrement is concurrent with a first (0->1) increment. IOW * people are trying to disable something that wasn't yet fully * enabled. This suggests an ordering problem on the user side. */ The effect of this static_branch optimization is only visible on microbenchmark. Instead of adding more complexity around it, remove it altogether.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mlxsw: spectrum_router: Fix use-after-free when deleting GRE net devices The driver only offloads neighbors that are constructed on top of net devices registered by it or their uppers (which are all Ethernet). The device supports GRE encapsulation and decapsulation of forwarded traffic, but the driver will not offload dummy neighbors constructed on top of GRE net devices as they are not uppers of its net devices: # ip link add name gre1 up type gre tos inherit local 192.0.2.1 remote 198.51.100.1 # ip neigh add 0.0.0.0 lladdr 0.0.0.0 nud noarp dev gre1 $ ip neigh show dev gre1 nud noarp 0.0.0.0 lladdr 0.0.0.0 NOARP (Note that the neighbor is not marked with 'offload') When the driver is reloaded and the existing configuration is replayed, the driver does not perform the same check regarding existing neighbors and offloads the previously added one: # devlink dev reload pci/0000:01:00.0 $ ip neigh show dev gre1 nud noarp 0.0.0.0 lladdr 0.0.0.0 offload NOARP If the neighbor is later deleted, the driver will ignore the notification (given the GRE net device is not its upper) and will therefore keep referencing freed memory, resulting in a use-after-free [1] when the net device is deleted: # ip neigh del 0.0.0.0 lladdr 0.0.0.0 dev gre1 # ip link del dev gre1 Fix by skipping neighbor replay if the net device for which the replay is performed is not our upper. [1] BUG: KASAN: slab-use-after-free in mlxsw_sp_neigh_entry_update+0x1ea/0x200 Read of size 8 at addr ffff888155b0e420 by task ip/2282 [...] Call Trace: <TASK> dump_stack_lvl+0x6f/0xa0 print_address_description.constprop.0+0x6f/0x350 print_report+0x108/0x205 kasan_report+0xdf/0x110 mlxsw_sp_neigh_entry_update+0x1ea/0x200 mlxsw_sp_router_rif_gone_sync+0x2a8/0x440 mlxsw_sp_rif_destroy+0x1e9/0x750 mlxsw_sp_netdevice_ipip_ol_event+0x3c9/0xdc0 mlxsw_sp_router_netdevice_event+0x3ac/0x15e0 notifier_call_chain+0xca/0x150 call_netdevice_notifiers_info+0x7f/0x100 unregister_netdevice_many_notify+0xc8c/0x1d90 rtnl_dellink+0x34e/0xa50 rtnetlink_rcv_msg+0x6fb/0xb70 netlink_rcv_skb+0x131/0x360 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 __sys_sendmsg+0x121/0x1b0 do_syscall_64+0xbb/0x1d0 entry_SYSCALL_64_after_hwframe+0x4b/0x53


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: correct the order of prelim_ref arguments in btrfs__prelim_ref btrfs_prelim_ref() calls the old and new reference variables in the incorrect order. This causes a NULL pointer dereference because oldref is passed as NULL to trace_btrfs_prelim_ref_insert(). Note, trace_btrfs_prelim_ref_insert() is being called with newref as oldref (and oldref as NULL) on purpose in order to print out the values of newref. To reproduce: echo 1 > /sys/kernel/debug/tracing/events/btrfs/btrfs_prelim_ref_insert/enable Perform some writeback operations. Backtrace: BUG: kernel NULL pointer dereference, address: 0000000000000018 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 115949067 P4D 115949067 PUD 11594a067 PMD 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 1 UID: 0 PID: 1188 Comm: fsstress Not tainted 6.15.0-rc2-tester+ #47 PREEMPT(voluntary) 7ca2cef72d5e9c600f0c7718adb6462de8149622 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-2-gc13ff2cd-prebuilt.qemu.org 04/01/2014 RIP: 0010:trace_event_raw_event_btrfs__prelim_ref+0x72/0x130 Code: e8 43 81 9f ff 48 85 c0 74 78 4d 85 e4 0f 84 8f 00 00 00 49 8b 94 24 c0 06 00 00 48 8b 0a 48 89 48 08 48 8b 52 08 48 89 50 10 <49> 8b 55 18 48 89 50 18 49 8b 55 20 48 89 50 20 41 0f b6 55 28 88 RSP: 0018:ffffce44820077a0 EFLAGS: 00010286 RAX: ffff8c6b403f9014 RBX: ffff8c6b55825730 RCX: 304994edf9cf506b RDX: d8b11eb7f0fdb699 RSI: ffff8c6b403f9010 RDI: ffff8c6b403f9010 RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000010 R10: 00000000ffffffff R11: 0000000000000000 R12: ffff8c6b4e8fb000 R13: 0000000000000000 R14: ffffce44820077a8 R15: ffff8c6b4abd1540 FS: 00007f4dc6813740(0000) GS:ffff8c6c1d378000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000018 CR3: 000000010eb42000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> prelim_ref_insert+0x1c1/0x270 find_parent_nodes+0x12a6/0x1ee0 ? __entry_text_end+0x101f06/0x101f09 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 btrfs_is_data_extent_shared+0x167/0x640 ? fiemap_process_hole+0xd0/0x2c0 extent_fiemap+0xa5c/0xbc0 ? __entry_text_end+0x101f05/0x101f09 btrfs_fiemap+0x7e/0xd0 do_vfs_ioctl+0x425/0x9d0 __x64_sys_ioctl+0x75/0xc0


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cpufreq: amd-pstate: Remove unnecessary driver_lock in set_boost set_boost is a per-policy function call, hence a driver wide lock is unnecessary. Also this mutex_acquire can collide with the mutex_acquire from the mode-switch path in status_store(), which can lead to a deadlock. So, remove it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done Syzbot reported a slab-use-after-free with the following call trace: ================================================================== BUG: KASAN: slab-use-after-free in tipc_aead_encrypt_done+0x4bd/0x510 net/tipc/crypto.c:840 Read of size 8 at addr ffff88807a733000 by task kworker/1:0/25 Call Trace: kasan_report+0xd9/0x110 mm/kasan/report.c:601 tipc_aead_encrypt_done+0x4bd/0x510 net/tipc/crypto.c:840 crypto_request_complete include/crypto/algapi.h:266 aead_request_complete include/crypto/internal/aead.h:85 cryptd_aead_crypt+0x3b8/0x750 crypto/cryptd.c:772 crypto_request_complete include/crypto/algapi.h:266 cryptd_queue_worker+0x131/0x200 crypto/cryptd.c:181 process_one_work+0x9fb/0x1b60 kernel/workqueue.c:3231 Allocated by task 8355: kzalloc_noprof include/linux/slab.h:778 tipc_crypto_start+0xcc/0x9e0 net/tipc/crypto.c:1466 tipc_init_net+0x2dd/0x430 net/tipc/core.c:72 ops_init+0xb9/0x650 net/core/net_namespace.c:139 setup_net+0x435/0xb40 net/core/net_namespace.c:343 copy_net_ns+0x2f0/0x670 net/core/net_namespace.c:508 create_new_namespaces+0x3ea/0xb10 kernel/nsproxy.c:110 unshare_nsproxy_namespaces+0xc0/0x1f0 kernel/nsproxy.c:228 ksys_unshare+0x419/0x970 kernel/fork.c:3323 __do_sys_unshare kernel/fork.c:3394 Freed by task 63: kfree+0x12a/0x3b0 mm/slub.c:4557 tipc_crypto_stop+0x23c/0x500 net/tipc/crypto.c:1539 tipc_exit_net+0x8c/0x110 net/tipc/core.c:119 ops_exit_list+0xb0/0x180 net/core/net_namespace.c:173 cleanup_net+0x5b7/0xbf0 net/core/net_namespace.c:640 process_one_work+0x9fb/0x1b60 kernel/workqueue.c:3231 After freed the tipc_crypto tx by delete namespace, tipc_aead_encrypt_done may still visit it in cryptd_queue_worker workqueue. I reproduce this issue by: ip netns add ns1 ip link add veth1 type veth peer name veth2 ip link set veth1 netns ns1 ip netns exec ns1 tipc bearer enable media eth dev veth1 ip netns exec ns1 tipc node set key this_is_a_master_key master ip netns exec ns1 tipc bearer disable media eth dev veth1 ip netns del ns1 The key of reproduction is that, simd_aead_encrypt is interrupted, leading to crypto_simd_usable() return false. Thus, the cryptd_queue_worker is triggered, and the tipc_crypto tx will be visited. tipc_disc_timeout tipc_bearer_xmit_skb tipc_crypto_xmit tipc_aead_encrypt crypto_aead_encrypt // encrypt() simd_aead_encrypt // crypto_simd_usable() is false child = &ctx->cryptd_tfm->base; simd_aead_encrypt crypto_aead_encrypt // encrypt() cryptd_aead_encrypt_enqueue cryptd_aead_enqueue cryptd_enqueue_request // trigger cryptd_queue_worker queue_work_on(smp_processor_id(), cryptd_wq, &cpu_queue->work) Fix this by holding net reference count before encrypt.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: __legitimize_mnt(): check for MNT_SYNC_UMOUNT should be under mount_lock ... or we risk stealing final mntput from sync umount - raising mnt_count after umount(2) has verified that victim is not busy, but before it has set MNT_SYNC_UMOUNT; in that case __legitimize_mnt() doesn't see that it's safe to quietly undo mnt_count increment and leaves dropping the reference to caller, where it'll be a full-blown mntput(). Check under mount_lock is needed; leaving the current one done before taking that makes no sense - it's nowhere near common enough to bother with.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: genirq/msi: Store the IOMMU IOVA directly in msi_desc instead of iommu_cookie The IOMMU translation for MSI message addresses has been a 2-step process, separated in time: 1) iommu_dma_prepare_msi(): A cookie pointer containing the IOVA address is stored in the MSI descriptor when an MSI interrupt is allocated. 2) iommu_dma_compose_msi_msg(): this cookie pointer is used to compute a translated message address. This has an inherent lifetime problem for the pointer stored in the cookie that must remain valid between the two steps. However, there is no locking at the irq layer that helps protect the lifetime. Today, this works under the assumption that the iommu domain is not changed while MSI interrupts being programmed. This is true for normal DMA API users within the kernel, as the iommu domain is attached before the driver is probed and cannot be changed while a driver is attached. Classic VFIO type1 also prevented changing the iommu domain while VFIO was running as it does not support changing the "container" after starting up. However, iommufd has improved this so that the iommu domain can be changed during VFIO operation. This potentially allows userspace to directly race VFIO_DEVICE_ATTACH_IOMMUFD_PT (which calls iommu_attach_group()) and VFIO_DEVICE_SET_IRQS (which calls into iommu_dma_compose_msi_msg()). This potentially causes both the cookie pointer and the unlocked call to iommu_get_domain_for_dev() on the MSI translation path to become UAFs. Fix the MSI cookie UAF by removing the cookie pointer. The translated IOVA address is already known during iommu_dma_prepare_msi() and cannot change. Thus, it can simply be stored as an integer in the MSI descriptor. The other UAF related to iommu_get_domain_for_dev() will be addressed in patch "iommu: Make iommu_dma_prepare_msi() into a generic operation" by using the IOMMU group mutex.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix timeout on deleted connection NOPIN response timer may expire on a deleted connection and crash with such logs: Did not receive response to NOPIN on CID: 0, failing connection for I_T Nexus (null),i,0x00023d000125,iqn.2017-01.com.iscsi.target,t,0x3d BUG: Kernel NULL pointer dereference on read at 0x00000000 NIP strlcpy+0x8/0xb0 LR iscsit_fill_cxn_timeout_err_stats+0x5c/0xc0 [iscsi_target_mod] Call Trace: iscsit_handle_nopin_response_timeout+0xfc/0x120 [iscsi_target_mod] call_timer_fn+0x58/0x1f0 run_timer_softirq+0x740/0x860 __do_softirq+0x16c/0x420 irq_exit+0x188/0x1c0 timer_interrupt+0x184/0x410 That is because nopin response timer may be re-started on nopin timer expiration. Stop nopin timer before stopping the nopin response timer to be sure that no one of them will be re-started.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: fix use-after-free in taprio_dev_notifier Since taprio's taprio_dev_notifier() isn't protected by an RCU read-side critical section, a race with advance_sched() can lead to a use-after-free. Adding rcu_read_lock() inside taprio_dev_notifier() prevents this.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powerpc/powernv/memtrace: Fix out of bounds issue in memtrace mmap memtrace mmap issue has an out of bounds issue. This patch fixes the by checking that the requested mapping region size should stay within the allocated region size.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sunrpc: handle SVC_GARBAGE during svc auth processing as auth error tianshuo han reported a remotely-triggerable crash if the client sends a kernel RPC server a specially crafted packet. If decoding the RPC reply fails in such a way that SVC_GARBAGE is returned without setting the rq_accept_statp pointer, then that pointer can be dereferenced and a value stored there. If it's the first time the thread has processed an RPC, then that pointer will be set to NULL and the kernel will crash. In other cases, it could create a memory scribble. The server sunrpc code treats a SVC_GARBAGE return from svc_authenticate or pg_authenticate as if it should send a GARBAGE_ARGS reply. RFC 5531 says that if authentication fails that the RPC should be rejected instead with a status of AUTH_ERR. Handle a SVC_GARBAGE return as an AUTH_ERROR, with a reason of AUTH_BADCRED instead of returning GARBAGE_ARGS in that case. This sidesteps the whole problem of touching the rpc_accept_statp pointer in this situation and avoids the crash.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drivers/rapidio/rio_cm.c: prevent possible heap overwrite In riocm_cdev_ioctl(RIO_CM_CHAN_SEND) -> cm_chan_msg_send() -> riocm_ch_send() cm_chan_msg_send() checks that userspace didn't send too much data but riocm_ch_send() failed to check that userspace sent sufficient data. The result is that riocm_ch_send() can write to fields in the rio_ch_chan_hdr which were outside the bounds of the space which cm_chan_msg_send() allocated. Address this by teaching riocm_ch_send() to check that the entire rio_ch_chan_hdr was copied in from userspace.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: check stream id dml21 wrapper to get plane_id [Why & How] Fix a false positive warning which occurs due to lack of correct checks when querying plane_id in DML21. This fixes the warning when performing a mode1 reset (cat /sys/kernel/debug/dri/1/amdgpu_gpu_recover): [ 35.751250] WARNING: CPU: 11 PID: 326 at /tmp/amd.PHpyAl7v/amd/amdgpu/../display/dc/dml2/dml2_dc_resource_mgmt.c:91 dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751434] Modules linked in: amdgpu(OE) amddrm_ttm_helper(OE) amdttm(OE) amddrm_buddy(OE) amdxcp(OE) amddrm_exec(OE) amd_sched(OE) amdkcl(OE) drm_suballoc_helper drm_ttm_helper ttm drm_display_helper cec rc_core i2c_algo_bit rfcomm qrtr cmac algif_hash algif_skcipher af_alg bnep amd_atl intel_rapl_msr intel_rapl_common snd_hda_codec_hdmi snd_hda_intel edac_mce_amd snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec kvm_amd snd_hda_core snd_hwdep snd_pcm kvm snd_seq_midi snd_seq_midi_event snd_rawmidi crct10dif_pclmul polyval_clmulni polyval_generic btusb ghash_clmulni_intel sha256_ssse3 btrtl sha1_ssse3 snd_seq btintel aesni_intel btbcm btmtk snd_seq_device crypto_simd sunrpc cryptd bluetooth snd_timer ccp binfmt_misc rapl snd i2c_piix4 wmi_bmof gigabyte_wmi k10temp i2c_smbus soundcore gpio_amdpt mac_hid sch_fq_codel msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 hid_generic usbhid hid crc32_pclmul igc ahci xhci_pci libahci xhci_pci_renesas video wmi [ 35.751501] CPU: 11 UID: 0 PID: 326 Comm: kworker/u64:9 Tainted: G OE 6.11.0-21-generic #21~24.04.1-Ubuntu [ 35.751504] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE [ 35.751505] Hardware name: Gigabyte Technology Co., Ltd. X670E AORUS PRO X/X670E AORUS PRO X, BIOS F30 05/22/2024 [ 35.751506] Workqueue: amdgpu-reset-dev amdgpu_debugfs_reset_work [amdgpu] [ 35.751638] RIP: 0010:dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751794] Code: 6d 0c 00 00 8b 84 24 88 00 00 00 41 3b 44 9c 20 0f 84 fc 07 00 00 48 83 c3 01 48 83 fb 06 75 b3 4c 8b 64 24 68 4c 8b 6c 24 40 <0f> 0b b8 06 00 00 00 49 8b 94 24 a0 49 00 00 89 c3 83 f8 07 0f 87 [ 35.751796] RSP: 0018:ffffbfa3805d7680 EFLAGS: 00010246 [ 35.751798] RAX: 0000000000010000 RBX: 0000000000000006 RCX: 0000000000000000 [ 35.751799] RDX: 0000000000000000 RSI: 0000000000000005 RDI: 0000000000000000 [ 35.751800] RBP: ffffbfa3805d78f0 R08: 0000000000000000 R09: 0000000000000000 [ 35.751801] R10: 0000000000000000 R11: 0000000000000000 R12: ffffbfa383249000 [ 35.751802] R13: ffffa0e68f280000 R14: ffffbfa383249658 R15: 0000000000000000 [ 35.751803] FS: 0000000000000000(0000) GS:ffffa0edbe580000(0000) knlGS:0000000000000000 [ 35.751804] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 35.751805] CR2: 00005d847ef96c58 CR3: 000000041de3e000 CR4: 0000000000f50ef0 [ 35.751806] PKRU: 55555554 [ 35.751807] Call Trace: [ 35.751810] <TASK> [ 35.751816] ? show_regs+0x6c/0x80 [ 35.751820] ? __warn+0x88/0x140 [ 35.751822] ? dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.751964] ? report_bug+0x182/0x1b0 [ 35.751969] ? handle_bug+0x6e/0xb0 [ 35.751972] ? exc_invalid_op+0x18/0x80 [ 35.751974] ? asm_exc_invalid_op+0x1b/0x20 [ 35.751978] ? dml2_map_dc_pipes+0x243d/0x3f40 [amdgpu] [ 35.752117] ? math_pow+0x48/0xa0 [amdgpu] [ 35.752256] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752260] ? math_pow+0x48/0xa0 [amdgpu] [ 35.752400] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752403] ? math_pow+0x11/0xa0 [amdgpu] [ 35.752524] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752526] ? core_dcn4_mode_programming+0xe4d/0x20d0 [amdgpu] [ 35.752663] ? srso_alias_return_thunk+0x5/0xfbef5 [ 35.752669] dml21_validate+0x3d4/0x980 [amdgpu] (cherry picked from commit f8ad62c0a93e5dd94243e10f1b742232e4d6411e)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dma-buf: insert memory barrier before updating num_fences smp_store_mb() inserts memory barrier after storing operation. It is different with what the comment is originally aiming so Null pointer dereference can be happened if memory update is reordered.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: don't warn when if there is a FW error iwl_trans_reclaim is warning if it is called when the FW is not alive. But if it is called when there is a pending restart, i.e. after a FW error, there is no need to warn, instead - return silently.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Don't treat wb connector as physical in create_validate_stream_for_sink Don't try to operate on a drm_wb_connector as an amdgpu_dm_connector. While dereferencing aconnector->base will "work" it's wrong and might lead to unknown bad things. Just... don't.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Disable SCO support if READ_VOICE_SETTING is unsupported/broken A SCO connection without the proper voice_setting can cause the controller to lock up.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Fix buffer locking in ring_buffer_subbuf_order_set() Enlarge the critical section in ring_buffer_subbuf_order_set() to ensure that error handling takes place with per-buffer mutex held, thus preventing list corruption and other concurrency-related issues.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify During our test, it is found that a warning can be trigger in try_grab_folio as follow: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1678 at mm/gup.c:147 try_grab_folio+0x106/0x130 Modules linked in: CPU: 0 UID: 0 PID: 1678 Comm: syz.3.31 Not tainted 6.15.0-rc5 #163 PREEMPT(undef) RIP: 0010:try_grab_folio+0x106/0x130 Call Trace: <TASK> follow_huge_pmd+0x240/0x8e0 follow_pmd_mask.constprop.0.isra.0+0x40b/0x5c0 follow_pud_mask.constprop.0.isra.0+0x14a/0x170 follow_page_mask+0x1c2/0x1f0 __get_user_pages+0x176/0x950 __gup_longterm_locked+0x15b/0x1060 ? gup_fast+0x120/0x1f0 gup_fast_fallback+0x17e/0x230 get_user_pages_fast+0x5f/0x80 vmci_host_unlocked_ioctl+0x21c/0xf80 RIP: 0033:0x54d2cd ---[ end trace 0000000000000000 ]--- Digging into the source, context->notify_page may init by get_user_pages_fast and can be seen in vmci_ctx_unset_notify which will try to put_page. However get_user_pages_fast is not finished here and lead to following try_grab_folio warning. The race condition is shown as follow: cpu0 cpu1 vmci_host_do_set_notify vmci_host_setup_notify get_user_pages_fast(uva, 1, FOLL_WRITE, &context->notify_page); lockless_pages_from_mm gup_pgd_range gup_huge_pmd // update &context->notify_page vmci_host_do_set_notify vmci_ctx_unset_notify notify_page = context->notify_page; if (notify_page) put_page(notify_page); // page is freed __gup_longterm_locked __get_user_pages follow_trans_huge_pmd try_grab_folio // warn here To slove this, use local variable page to make notify_page can be seen after finish get_user_pages_fast.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: usbhid: Eliminate recurrent out-of-bounds bug in usbhid_parse() Update struct hid_descriptor to better reflect the mandatory and optional parts of the HID Descriptor as per USB HID 1.11 specification. Note: the kernel currently does not parse any optional HID class descriptors, only the mandatory report descriptor. Update all references to member element desc[0] to rpt_desc. Add test to verify bLength and bNumDescriptors values are valid. Replace the for loop with direct access to the mandatory HID class descriptor member for the report descriptor. This eliminates the possibility of getting an out-of-bounds fault. Add a warning message if the HID descriptor contains any unsupported optional HID class descriptors.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo() syzbot reports: BUG: KASAN: slab-use-after-free in getrusage+0x1109/0x1a60 Read of size 8 at addr ffff88810de2d2c8 by task a.out/304 CPU: 0 UID: 0 PID: 304 Comm: a.out Not tainted 6.16.0-rc1 #1 PREEMPT(voluntary) Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x53/0x70 print_report+0xd0/0x670 ? __pfx__raw_spin_lock_irqsave+0x10/0x10 ? getrusage+0x1109/0x1a60 kasan_report+0xce/0x100 ? getrusage+0x1109/0x1a60 getrusage+0x1109/0x1a60 ? __pfx_getrusage+0x10/0x10 __io_uring_show_fdinfo+0x9fe/0x1790 ? ksys_read+0xf7/0x1c0 ? do_syscall_64+0xa4/0x260 ? vsnprintf+0x591/0x1100 ? __pfx___io_uring_show_fdinfo+0x10/0x10 ? __pfx_vsnprintf+0x10/0x10 ? mutex_trylock+0xcf/0x130 ? __pfx_mutex_trylock+0x10/0x10 ? __pfx_show_fd_locks+0x10/0x10 ? io_uring_show_fdinfo+0x57/0x80 io_uring_show_fdinfo+0x57/0x80 seq_show+0x38c/0x690 seq_read_iter+0x3f7/0x1180 ? inode_set_ctime_current+0x160/0x4b0 seq_read+0x271/0x3e0 ? __pfx_seq_read+0x10/0x10 ? __pfx__raw_spin_lock+0x10/0x10 ? __mark_inode_dirty+0x402/0x810 ? selinux_file_permission+0x368/0x500 ? file_update_time+0x10f/0x160 vfs_read+0x177/0xa40 ? __pfx___handle_mm_fault+0x10/0x10 ? __pfx_vfs_read+0x10/0x10 ? mutex_lock+0x81/0xe0 ? __pfx_mutex_lock+0x10/0x10 ? fdget_pos+0x24d/0x4b0 ksys_read+0xf7/0x1c0 ? __pfx_ksys_read+0x10/0x10 ? do_user_addr_fault+0x43b/0x9c0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f0f74170fc9 Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 8 RSP: 002b:00007fffece049e8 EFLAGS: 00000206 ORIG_RAX: 0000000000000000 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f0f74170fc9 RDX: 0000000000001000 RSI: 00007fffece049f0 RDI: 0000000000000004 RBP: 00007fffece05ad0 R08: 0000000000000000 R09: 00007fffece04d90 R10: 0000000000000000 R11: 0000000000000206 R12: 00005651720a1100 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 </TASK> Allocated by task 298: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_slab_alloc+0x6e/0x70 kmem_cache_alloc_node_noprof+0xe8/0x330 copy_process+0x376/0x5e00 create_io_thread+0xab/0xf0 io_sq_offload_create+0x9ed/0xf20 io_uring_setup+0x12b0/0x1cc0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 22: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x37/0x50 kmem_cache_free+0xc4/0x360 rcu_core+0x5ff/0x19f0 handle_softirqs+0x18c/0x530 run_ksoftirqd+0x20/0x30 smpboot_thread_fn+0x287/0x6c0 kthread+0x30d/0x630 ret_from_fork+0xef/0x1a0 ret_from_fork_asm+0x1a/0x30 Last potentially related work creation: kasan_save_stack+0x33/0x60 kasan_record_aux_stack+0x8c/0xa0 __call_rcu_common.constprop.0+0x68/0x940 __schedule+0xff2/0x2930 __cond_resched+0x4c/0x80 mutex_lock+0x5c/0xe0 io_uring_del_tctx_node+0xe1/0x2b0 io_uring_clean_tctx+0xb7/0x160 io_uring_cancel_generic+0x34e/0x760 do_exit+0x240/0x2350 do_group_exit+0xab/0x220 __x64_sys_exit_group+0x39/0x40 x64_sys_call+0x1243/0x1840 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f The buggy address belongs to the object at ffff88810de2cb00 which belongs to the cache task_struct of size 3712 The buggy address is located 1992 bytes inside of freed 3712-byte region [ffff88810de2cb00, ffff88810de2d980) which is caused by the task_struct pointed to by sq->thread being released while it is being used in the function __io_uring_show_fdinfo(). Holding ctx->uring_lock does not prevent ehre relase or exit of sq->thread. Fix this by assigning and looking up ->thread under RCU, and grabbing a reference to the task_struct. This e ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: ets: fix a race in ets_qdisc_change() Gerrard Tai reported a race condition in ETS, whenever SFQ perturb timer fires at the wrong time. The race is as follows: CPU 0 CPU 1 [1]: lock root [2]: qdisc_tree_flush_backlog() [3]: unlock root | | [5]: lock root | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() This can be abused to underflow a parent's qlen. Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog() should fix the race, because all packets will be purged from the qdisc before releasing the lock.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: red: fix a race in __red_change() Gerrard Tai reported a race condition in RED, whenever SFQ perturb timer fires at the wrong time. The race is as follows: CPU 0 CPU 1 [1]: lock root [2]: qdisc_tree_flush_backlog() [3]: unlock root | | [5]: lock root | [6]: rehash | [7]: qdisc_tree_reduce_backlog() | [4]: qdisc_put() This can be abused to underflow a parent's qlen. Calling qdisc_purge_queue() instead of qdisc_tree_flush_backlog() should fix the race, because all packets will be purged from the qdisc before releasing the lock.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix ECVF vports unload on shutdown flow Fix shutdown flow UAF when a virtual function is created on the embedded chip (ECVF) of a BlueField device. In such case the vport acl ingress table is not properly destroyed. ECVF functionality is independent of ecpf_vport_exists capability and thus functions mlx5_eswitch_(enable|disable)_pf_vf_vports() should not test it when enabling/disabling ECVF vports. kernel log: [] refcount_t: underflow; use-after-free. [] WARNING: CPU: 3 PID: 1 at lib/refcount.c:28 refcount_warn_saturate+0x124/0x220 ---------------- [] Call trace: [] refcount_warn_saturate+0x124/0x220 [] tree_put_node+0x164/0x1e0 [mlx5_core] [] mlx5_destroy_flow_table+0x98/0x2c0 [mlx5_core] [] esw_acl_ingress_table_destroy+0x28/0x40 [mlx5_core] [] esw_acl_ingress_lgcy_cleanup+0x80/0xf4 [mlx5_core] [] esw_legacy_vport_acl_cleanup+0x44/0x60 [mlx5_core] [] esw_vport_cleanup+0x64/0x90 [mlx5_core] [] mlx5_esw_vport_disable+0xc0/0x1d0 [mlx5_core] [] mlx5_eswitch_unload_ec_vf_vports+0xcc/0x150 [mlx5_core] [] mlx5_eswitch_disable_sriov+0x198/0x2a0 [mlx5_core] [] mlx5_device_disable_sriov+0xb8/0x1e0 [mlx5_core] [] mlx5_sriov_detach+0x40/0x50 [mlx5_core] [] mlx5_unload+0x40/0xc4 [mlx5_core] [] mlx5_unload_one_devl_locked+0x6c/0xe4 [mlx5_core] [] mlx5_unload_one+0x3c/0x60 [mlx5_core] [] shutdown+0x7c/0xa4 [mlx5_core] [] pci_device_shutdown+0x3c/0xa0 [] device_shutdown+0x170/0x340 [] __do_sys_reboot+0x1f4/0x2a0 [] __arm64_sys_reboot+0x2c/0x40 [] invoke_syscall+0x78/0x100 [] el0_svc_common.constprop.0+0x54/0x184 [] do_el0_svc+0x30/0xac [] el0_svc+0x48/0x160 [] el0t_64_sync_handler+0xa4/0x12c [] el0t_64_sync+0x1a4/0x1a8 [] --[ end trace 9c4601d68c70030e ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mdiobus: Fix potential out-of-bounds clause 45 read/write access When using publicly available tools like 'mdio-tools' to read/write data from/to network interface and its PHY via C45 (clause 45) mdiobus, there is no verification of parameters passed to the ioctl and it accepts any mdio address. Currently there is support for 32 addresses in kernel via PHY_MAX_ADDR define, but it is possible to pass higher value than that via ioctl. While read/write operation should generally fail in this case, mdiobus provides stats array, where wrong address may allow out-of-bounds read/write. Fix that by adding address verification before C45 read/write operation. While this excludes this access from any statistics, it improves security of read/write operation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mdiobus: Fix potential out-of-bounds read/write access When using publicly available tools like 'mdio-tools' to read/write data from/to network interface and its PHY via mdiobus, there is no verification of parameters passed to the ioctl and it accepts any mdio address. Currently there is support for 32 addresses in kernel via PHY_MAX_ADDR define, but it is possible to pass higher value than that via ioctl. While read/write operation should generally fail in this case, mdiobus provides stats array, where wrong address may allow out-of-bounds read/write. Fix that by adding address verification before read/write operation. While this excludes this access from any statistics, it improves security of read/write operation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: Fix TOCTOU issue in sk_is_readable() sk->sk_prot->sock_is_readable is a valid function pointer when sk resides in a sockmap. After the last sk_psock_put() (which usually happens when socket is removed from sockmap), sk->sk_prot gets restored and sk->sk_prot->sock_is_readable becomes NULL. This makes sk_is_readable() racy, if the value of sk->sk_prot is reloaded after the initial check. Which in turn may lead to a null pointer dereference. Ensure the function pointer does not turn NULL after the check.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: CPPC: Fix NULL pointer dereference when nosmp is used With nosmp in cmdline, other CPUs are not brought up, leaving their cpc_desc_ptr NULL. CPU0's iteration via for_each_possible_cpu() dereferences these NULL pointers, causing panic. Panic backtrace: [ 0.401123] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000b8 ... [ 0.403255] [<ffffffff809a5818>] cppc_allow_fast_switch+0x6a/0xd4 ... Kernel panic - not syncing: Attempted to kill init! [ rjw: New subject ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: e1000: Move cancel_work_sync to avoid deadlock Previously, e1000_down called cancel_work_sync for the e1000 reset task (via e1000_down_and_stop), which takes RTNL. As reported by users and syzbot, a deadlock is possible in the following scenario: CPU 0: - RTNL is held - e1000_close - e1000_down - cancel_work_sync (cancel / wait for e1000_reset_task()) CPU 1: - process_one_work - e1000_reset_task - take RTNL To remedy this, avoid calling cancel_work_sync from e1000_down (e1000_reset_task does nothing if the device is down anyway). Instead, call cancel_work_sync for e1000_reset_task when the device is being removed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: Protect mgmt_pending list with its own lock This uses a mutex to protect from concurrent access of mgmt_pending list which can cause crashes like: ================================================================== BUG: KASAN: slab-use-after-free in hci_sock_get_channel+0x60/0x68 net/bluetooth/hci_sock.c:91 Read of size 2 at addr ffff0000c48885b2 by task syz.4.334/7318 CPU: 0 UID: 0 PID: 7318 Comm: syz.4.334 Not tainted 6.15.0-rc7-syzkaller-g187899f4124a #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025 Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:466 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_address_description+0xa8/0x254 mm/kasan/report.c:408 print_report+0x68/0x84 mm/kasan/report.c:521 kasan_report+0xb0/0x110 mm/kasan/report.c:634 __asan_report_load2_noabort+0x20/0x2c mm/kasan/report_generic.c:379 hci_sock_get_channel+0x60/0x68 net/bluetooth/hci_sock.c:91 mgmt_pending_find+0x7c/0x140 net/bluetooth/mgmt_util.c:223 pending_find net/bluetooth/mgmt.c:947 [inline] remove_adv_monitor+0x44/0x1a4 net/bluetooth/mgmt.c:5445 hci_mgmt_cmd+0x780/0xc00 net/bluetooth/hci_sock.c:1712 hci_sock_sendmsg+0x544/0xbb0 net/bluetooth/hci_sock.c:1832 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg net/socket.c:727 [inline] sock_write_iter+0x25c/0x378 net/socket.c:1131 new_sync_write fs/read_write.c:591 [inline] vfs_write+0x62c/0x97c fs/read_write.c:684 ksys_write+0x120/0x210 fs/read_write.c:736 __do_sys_write fs/read_write.c:747 [inline] __se_sys_write fs/read_write.c:744 [inline] __arm64_sys_write+0x7c/0x90 fs/read_write.c:744 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 Allocated by task 7037: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_alloc_info+0x44/0x54 mm/kasan/generic.c:562 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x9c/0xb4 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4327 [inline] __kmalloc_noprof+0x2fc/0x4c8 mm/slub.c:4339 kmalloc_noprof include/linux/slab.h:909 [inline] sk_prot_alloc+0xc4/0x1f0 net/core/sock.c:2198 sk_alloc+0x44/0x3ac net/core/sock.c:2254 bt_sock_alloc+0x4c/0x300 net/bluetooth/af_bluetooth.c:148 hci_sock_create+0xa8/0x194 net/bluetooth/hci_sock.c:2202 bt_sock_create+0x14c/0x24c net/bluetooth/af_bluetooth.c:132 __sock_create+0x43c/0x91c net/socket.c:1541 sock_create net/socket.c:1599 [inline] __sys_socket_create net/socket.c:1636 [inline] __sys_socket+0xd4/0x1c0 net/socket.c:1683 __do_sys_socket net/socket.c:1697 [inline] __se_sys_socket net/socket.c:1695 [inline] __arm64_sys_socket+0x7c/0x94 net/socket.c:1695 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 Freed by task 6607: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x40/0x78 mm/kasan/common.c:68 kasan_save_free_info+0x58/0x70 mm/kasan/generic.c:576 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x68/0x88 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: Fix UAF on mgmt_remove_adv_monitor_complete This reworks MGMT_OP_REMOVE_ADV_MONITOR to not use mgmt_pending_add to avoid crashes like bellow: ================================================================== BUG: KASAN: slab-use-after-free in mgmt_remove_adv_monitor_complete+0xe5/0x540 net/bluetooth/mgmt.c:5406 Read of size 8 at addr ffff88801c53f318 by task kworker/u5:5/5341 CPU: 0 UID: 0 PID: 5341 Comm: kworker/u5:5 Not tainted 6.15.0-syzkaller-10402-g4cb6c8af8591 #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: hci0 hci_cmd_sync_work Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xd2/0x2b0 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 mgmt_remove_adv_monitor_complete+0xe5/0x540 net/bluetooth/mgmt.c:5406 hci_cmd_sync_work+0x261/0x3a0 net/bluetooth/hci_sync.c:334 process_one_work kernel/workqueue.c:3238 [inline] process_scheduled_works+0xade/0x17b0 kernel/workqueue.c:3321 worker_thread+0x8a0/0xda0 kernel/workqueue.c:3402 kthread+0x711/0x8a0 kernel/kthread.c:464 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> Allocated by task 5987: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x230/0x3d0 mm/slub.c:4358 kmalloc_noprof include/linux/slab.h:905 [inline] kzalloc_noprof include/linux/slab.h:1039 [inline] mgmt_pending_new+0x65/0x240 net/bluetooth/mgmt_util.c:252 mgmt_pending_add+0x34/0x120 net/bluetooth/mgmt_util.c:279 remove_adv_monitor+0x103/0x1b0 net/bluetooth/mgmt.c:5454 hci_mgmt_cmd+0x9c9/0xef0 net/bluetooth/hci_sock.c:1719 hci_sock_sendmsg+0x6ca/0xef0 net/bluetooth/hci_sock.c:1839 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x219/0x270 net/socket.c:727 sock_write_iter+0x258/0x330 net/socket.c:1131 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x548/0xa90 fs/read_write.c:686 ksys_write+0x145/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 5989: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:576 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x62/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2380 [inline] slab_free mm/slub.c:4642 [inline] kfree+0x18e/0x440 mm/slub.c:4841 mgmt_pending_foreach+0xc9/0x120 net/bluetooth/mgmt_util.c:242 mgmt_index_removed+0x10d/0x2f0 net/bluetooth/mgmt.c:9366 hci_sock_bind+0xbe9/0x1000 net/bluetooth/hci_sock.c:1314 __sys_bind_socket net/socket.c:1810 [inline] __sys_bind+0x2c3/0x3e0 net/socket.c:1841 __do_sys_bind net/socket.c:1846 [inline] __se_sys_bind net/socket.c:1844 [inline] __x64_sys_bind+0x7a/0x90 net/socket.c:1844 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: core: ufs: Fix a hang in the error handler ufshcd_err_handling_prepare() calls ufshcd_rpm_get_sync(). The latter function can only succeed if UFSHCD_EH_IN_PROGRESS is not set because resuming involves submitting a SCSI command and ufshcd_queuecommand() returns SCSI_MLQUEUE_HOST_BUSY if UFSHCD_EH_IN_PROGRESS is set. Fix this hang by setting UFSHCD_EH_IN_PROGRESS after ufshcd_rpm_get_sync() has been called instead of before. Backtrace: __switch_to+0x174/0x338 __schedule+0x600/0x9e4 schedule+0x7c/0xe8 schedule_timeout+0xa4/0x1c8 io_schedule_timeout+0x48/0x70 wait_for_common_io+0xa8/0x160 //waiting on START_STOP wait_for_completion_io_timeout+0x10/0x20 blk_execute_rq+0xe4/0x1e4 scsi_execute_cmd+0x108/0x244 ufshcd_set_dev_pwr_mode+0xe8/0x250 __ufshcd_wl_resume+0x94/0x354 ufshcd_wl_runtime_resume+0x3c/0x174 scsi_runtime_resume+0x64/0xa4 rpm_resume+0x15c/0xa1c __pm_runtime_resume+0x4c/0x90 // Runtime resume ongoing ufshcd_err_handler+0x1a0/0xd08 process_one_work+0x174/0x808 worker_thread+0x15c/0x490 kthread+0xf4/0x1ec ret_from_fork+0x10/0x20 [ bvanassche: rewrote patch description ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_set_pipapo_avx2: fix initial map fill If the first field doesn't cover the entire start map, then we must zero out the remainder, else we leak those bits into the next match round map. The early fix was incomplete and did only fix up the generic C implementation. A followup patch adds a test case to nft_concat_range.sh.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gve: add missing NULL check for gve_alloc_pending_packet() in TX DQO gve_alloc_pending_packet() can return NULL, but gve_tx_add_skb_dqo() did not check for this case before dereferencing the returned pointer. Add a missing NULL check to prevent a potential NULL pointer dereference when allocation fails. This improves robustness in low-memory scenarios.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: Fix napi rx poll issue When driver handles the napi rx polling requests, the netdev might have been released by the dellink logic triggered by the disconnect operation on user plane. However, in the logic of processing skb in polling, an invalid netdev is still being used, which causes a panic. BUG: kernel NULL pointer dereference, address: 00000000000000f1 Oops: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:dev_gro_receive+0x3a/0x620 [...] Call Trace: <IRQ> ? __die_body+0x68/0xb0 ? page_fault_oops+0x379/0x3e0 ? exc_page_fault+0x4f/0xa0 ? asm_exc_page_fault+0x22/0x30 ? __pfx_t7xx_ccmni_recv_skb+0x10/0x10 [mtk_t7xx (HASH:1400 7)] ? dev_gro_receive+0x3a/0x620 napi_gro_receive+0xad/0x170 t7xx_ccmni_recv_skb+0x48/0x70 [mtk_t7xx (HASH:1400 7)] t7xx_dpmaif_napi_rx_poll+0x590/0x800 [mtk_t7xx (HASH:1400 7)] net_rx_action+0x103/0x470 irq_exit_rcu+0x13a/0x310 sysvec_apic_timer_interrupt+0x56/0x90 </IRQ>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: fix udp gso skb_segment after pull from frag_list Commit a1e40ac5b5e9 ("net: gso: fix udp gso fraglist segmentation after pull from frag_list") detected invalid geometry in frag_list skbs and redirects them from skb_segment_list to more robust skb_segment. But some packets with modified geometry can also hit bugs in that code. We don't know how many such cases exist. Addressing each one by one also requires touching the complex skb_segment code, which risks introducing bugs for other types of skbs. Instead, linearize all these packets that fail the basic invariants on gso fraglist skbs. That is more robust. If only part of the fraglist payload is pulled into head_skb, it will always cause exception when splitting skbs by skb_segment. For detailed call stack information, see below. Valid SKB_GSO_FRAGLIST skbs - consist of two or more segments - the head_skb holds the protocol headers plus first gso_size - one or more frag_list skbs hold exactly one segment - all but the last must be gso_size Optional datapath hooks such as NAT and BPF (bpf_skb_pull_data) can modify fraglist skbs, breaking these invariants. In extreme cases they pull one part of data into skb linear. For UDP, this causes three payloads with lengths of (11,11,10) bytes were pulled tail to become (12,10,10) bytes. The skbs no longer meets the above SKB_GSO_FRAGLIST conditions because payload was pulled into head_skb, it needs to be linearized before pass to regular skb_segment. skb_segment+0xcd0/0xd14 __udp_gso_segment+0x334/0x5f4 udp4_ufo_fragment+0x118/0x15c inet_gso_segment+0x164/0x338 skb_mac_gso_segment+0xc4/0x13c __skb_gso_segment+0xc4/0x124 validate_xmit_skb+0x9c/0x2c0 validate_xmit_skb_list+0x4c/0x80 sch_direct_xmit+0x70/0x404 __dev_queue_xmit+0x64c/0xe5c neigh_resolve_output+0x178/0x1c4 ip_finish_output2+0x37c/0x47c __ip_finish_output+0x194/0x240 ip_finish_output+0x20/0xf4 ip_output+0x100/0x1a0 NF_HOOK+0xc4/0x16c ip_forward+0x314/0x32c ip_rcv+0x90/0x118 __netif_receive_skb+0x74/0x124 process_backlog+0xe8/0x1a4 __napi_poll+0x5c/0x1f8 net_rx_action+0x154/0x314 handle_softirqs+0x154/0x4b8 [118.376811] [C201134] rxq0_pus: [name:bug&]kernel BUG at net/core/skbuff.c:4278! [118.376829] [C201134] rxq0_pus: [name:traps&]Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [118.470774] [C201134] rxq0_pus: [name:mrdump&]Kernel Offset: 0x178cc00000 from 0xffffffc008000000 [118.470810] [C201134] rxq0_pus: [name:mrdump&]PHYS_OFFSET: 0x40000000 [118.470827] [C201134] rxq0_pus: [name:mrdump&]pstate: 60400005 (nZCv daif +PAN -UAO) [118.470848] [C201134] rxq0_pus: [name:mrdump&]pc : [0xffffffd79598aefc] skb_segment+0xcd0/0xd14 [118.470900] [C201134] rxq0_pus: [name:mrdump&]lr : [0xffffffd79598a5e8] skb_segment+0x3bc/0xd14 [118.470928] [C201134] rxq0_pus: [name:mrdump&]sp : ffffffc008013770


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: make sure that ptp_rate is not 0 before configuring EST If the ptp_rate recorded earlier in the driver happens to be 0, this bogus value will propagate up to EST configuration, where it will trigger a division by 0. Prevent this division by 0 by adding the corresponding check and error code.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ice: fix Tx scheduler error handling in XDP callback When the XDP program is loaded, the XDP callback adds new Tx queues. This means that the callback must update the Tx scheduler with the new queue number. In the event of a Tx scheduler failure, the XDP callback should also fail and roll back any changes previously made for XDP preparation. The previous implementation had a bug that not all changes made by the XDP callback were rolled back. This caused the crash with the following call trace: [ +9.549584] ice 0000:ca:00.0: Failed VSI LAN queue config for XDP, error: -5 [ +0.382335] Oops: general protection fault, probably for non-canonical address 0x50a2250a90495525: 0000 [#1] SMP NOPTI [ +0.010710] CPU: 103 UID: 0 PID: 0 Comm: swapper/103 Not tainted 6.14.0-net-next-mar-31+ #14 PREEMPT(voluntary) [ +0.010175] Hardware name: Intel Corporation M50CYP2SBSTD/M50CYP2SBSTD, BIOS SE5C620.86B.01.01.0005.2202160810 02/16/2022 [ +0.010946] RIP: 0010:__ice_update_sample+0x39/0xe0 [ice] [...] [ +0.002715] Call Trace: [ +0.002452] <IRQ> [ +0.002021] ? __die_body.cold+0x19/0x29 [ +0.003922] ? die_addr+0x3c/0x60 [ +0.003319] ? exc_general_protection+0x17c/0x400 [ +0.004707] ? asm_exc_general_protection+0x26/0x30 [ +0.004879] ? __ice_update_sample+0x39/0xe0 [ice] [ +0.004835] ice_napi_poll+0x665/0x680 [ice] [ +0.004320] __napi_poll+0x28/0x190 [ +0.003500] net_rx_action+0x198/0x360 [ +0.003752] ? update_rq_clock+0x39/0x220 [ +0.004013] handle_softirqs+0xf1/0x340 [ +0.003840] ? sched_clock_cpu+0xf/0x1f0 [ +0.003925] __irq_exit_rcu+0xc2/0xe0 [ +0.003665] common_interrupt+0x85/0xa0 [ +0.003839] </IRQ> [ +0.002098] <TASK> [ +0.002106] asm_common_interrupt+0x26/0x40 [ +0.004184] RIP: 0010:cpuidle_enter_state+0xd3/0x690 Fix this by performing the missing unmapping of XDP queues from q_vectors and setting the XDP rings pointer back to NULL after all those queues are released. Also, add an immediate exit from the XDP callback in case of ring preparation failure.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: reject malformed HCI_CMD_SYNC commands In 'mgmt_hci_cmd_sync()', check whether the size of parameters passed in 'struct mgmt_cp_hci_cmd_sync' matches the total size of the data (i.e. 'sizeof(struct mgmt_cp_hci_cmd_sync)' plus trailing bytes). Otherwise, large invalid 'params_len' will cause 'hci_cmd_sync_alloc()' to do 'skb_put_data()' from an area beyond the one actually passed to 'mgmt_hci_cmd_sync()'.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: page_pool: Fix use-after-free in page_pool_recycle_in_ring syzbot reported a uaf in page_pool_recycle_in_ring: BUG: KASAN: slab-use-after-free in lock_release+0x151/0xa30 kernel/locking/lockdep.c:5862 Read of size 8 at addr ffff8880286045a0 by task syz.0.284/6943 CPU: 0 UID: 0 PID: 6943 Comm: syz.0.284 Not tainted 6.13.0-rc3-syzkaller-gdfa94ce54f41 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 lock_release+0x151/0xa30 kernel/locking/lockdep.c:5862 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:165 [inline] _raw_spin_unlock_bh+0x1b/0x40 kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] ptr_ring_produce_bh include/linux/ptr_ring.h:164 [inline] page_pool_recycle_in_ring net/core/page_pool.c:707 [inline] page_pool_put_unrefed_netmem+0x748/0xb00 net/core/page_pool.c:826 page_pool_put_netmem include/net/page_pool/helpers.h:323 [inline] page_pool_put_full_netmem include/net/page_pool/helpers.h:353 [inline] napi_pp_put_page+0x149/0x2b0 net/core/skbuff.c:1036 skb_pp_recycle net/core/skbuff.c:1047 [inline] skb_free_head net/core/skbuff.c:1094 [inline] skb_release_data+0x6c4/0x8a0 net/core/skbuff.c:1125 skb_release_all net/core/skbuff.c:1190 [inline] __kfree_skb net/core/skbuff.c:1204 [inline] sk_skb_reason_drop+0x1c9/0x380 net/core/skbuff.c:1242 kfree_skb_reason include/linux/skbuff.h:1263 [inline] __skb_queue_purge_reason include/linux/skbuff.h:3343 [inline] root cause is: page_pool_recycle_in_ring ptr_ring_produce spin_lock(&r->producer_lock); WRITE_ONCE(r->queue[r->producer++], ptr) //recycle last page to pool page_pool_release page_pool_scrub page_pool_empty_ring ptr_ring_consume page_pool_return_page //release all page __page_pool_destroy free_percpu(pool->recycle_stats); free(pool) //free spin_unlock(&r->producer_lock); //pool->ring uaf read recycle_stat_inc(pool, ring); page_pool can be free while page pool recycle the last page in ring. Add producer-lock barrier to page_pool_release to prevent the page pool from being free before all pages have been recycled. recycle_stat_inc() is empty when CONFIG_PAGE_POOL_STATS is not enabled, which will trigger Wempty-body build warning. Add definition for pool stat macro to fix warning.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: acpi: Prevent null pointer dereference in usb_acpi_add_usb4_devlink() As demonstrated by the fix for update_port_device_state, commit 12783c0b9e2c ("usb: core: Prevent null pointer dereference in update_port_device_state"), usb_hub_to_struct_hub() can return NULL in certain scenarios, such as during hub driver unbind or teardown race conditions, even if the underlying usb_device structure exists. Plus, all other places that call usb_hub_to_struct_hub() in the same file do check for NULL return values. If usb_hub_to_struct_hub() returns NULL, the subsequent access to hub->ports[udev->portnum - 1] will cause a null pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: Fix potential null-ptr-deref in mlb_usio_probe() devm_ioremap() can return NULL on error. Currently, mlb_usio_probe() does not check for this case, which could result in a NULL pointer dereference. Add NULL check after devm_ioremap() to prevent this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: renesas_usbhs: Reorder clock handling and power management in probe Reorder the initialization sequence in `usbhs_probe()` to enable runtime PM before accessing registers, preventing potential crashes due to uninitialized clocks. Currently, in the probe path, registers are accessed before enabling the clocks, leading to a synchronous external abort on the RZ/V2H SoC. The problematic call flow is as follows: usbhs_probe() usbhs_sys_clock_ctrl() usbhs_bset() usbhs_write() iowrite16() <-- Register access before enabling clocks Since `iowrite16()` is performed without ensuring the required clocks are enabled, this can lead to access errors. To fix this, enable PM runtime early in the probe function and ensure clocks are acquired before register access, preventing crashes like the following on RZ/V2H: [13.272640] Internal error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP [13.280814] Modules linked in: cec renesas_usbhs(+) drm_kms_helper fuse drm backlight ipv6 [13.289088] CPU: 1 UID: 0 PID: 195 Comm: (udev-worker) Not tainted 6.14.0-rc7+ #98 [13.296640] Hardware name: Renesas RZ/V2H EVK Board based on r9a09g057h44 (DT) [13.303834] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [13.310770] pc : usbhs_bset+0x14/0x4c [renesas_usbhs] [13.315831] lr : usbhs_probe+0x2e4/0x5ac [renesas_usbhs] [13.321138] sp : ffff8000827e3850 [13.324438] x29: ffff8000827e3860 x28: 0000000000000000 x27: ffff8000827e3ca0 [13.331554] x26: ffff8000827e3ba0 x25: ffff800081729668 x24: 0000000000000025 [13.338670] x23: ffff0000c0f08000 x22: 0000000000000000 x21: ffff0000c0f08010 [13.345783] x20: 0000000000000000 x19: ffff0000c3b52080 x18: 00000000ffffffff [13.352895] x17: 0000000000000000 x16: 0000000000000000 x15: ffff8000827e36ce [13.360009] x14: 00000000000003d7 x13: 00000000000003d7 x12: 0000000000000000 [13.367122] x11: 0000000000000000 x10: 0000000000000aa0 x9 : ffff8000827e3750 [13.374235] x8 : ffff0000c1850b00 x7 : 0000000003826060 x6 : 000000000000001c [13.381347] x5 : 000000030d5fcc00 x4 : ffff8000825c0000 x3 : 0000000000000000 [13.388459] x2 : 0000000000000400 x1 : 0000000000000000 x0 : ffff0000c3b52080 [13.395574] Call trace: [13.398013] usbhs_bset+0x14/0x4c [renesas_usbhs] (P) [13.403076] platform_probe+0x68/0xdc [13.406738] really_probe+0xbc/0x2c0 [13.410306] __driver_probe_device+0x78/0x120 [13.414653] driver_probe_device+0x3c/0x154 [13.418825] __driver_attach+0x90/0x1a0 [13.422647] bus_for_each_dev+0x7c/0xe0 [13.426470] driver_attach+0x24/0x30 [13.430032] bus_add_driver+0xe4/0x208 [13.433766] driver_register+0x68/0x130 [13.437587] __platform_driver_register+0x24/0x30 [13.442273] renesas_usbhs_driver_init+0x20/0x1000 [renesas_usbhs] [13.448450] do_one_initcall+0x60/0x1d4 [13.452276] do_init_module+0x54/0x1f8 [13.456014] load_module+0x1754/0x1c98 [13.459750] init_module_from_file+0x88/0xcc [13.464004] __arm64_sys_finit_module+0x1c4/0x328 [13.468689] invoke_syscall+0x48/0x104 [13.472426] el0_svc_common.constprop.0+0xc0/0xe0 [13.477113] do_el0_svc+0x1c/0x28 [13.480415] el0_svc+0x30/0xcc [13.483460] el0t_64_sync_handler+0x10c/0x138 [13.487800] el0t_64_sync+0x198/0x19c [13.491453] Code: 2a0103e1 12003c42 12003c63 8b010084 (79400084) [13.497522] ---[ end trace 0000000000000000 ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI/pwrctrl: Cancel outstanding rescan work when unregistering It's possible to trigger use-after-free here by: (a) forcing rescan_work_func() to take a long time and (b) utilizing a pwrctrl driver that may be unloaded for some reason Cancel outstanding work to ensure it is finished before we allow our data structures to be cleaned up. [bhelgaas: tidy commit log]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: Add NULL check in udma_probe() devm_kasprintf() returns NULL when memory allocation fails. Currently, udma_probe() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm: limit swapping tables for devices with zone write plugs dm_revalidate_zones() only allowed new or previously unzoned devices to call blk_revalidate_disk_zones(). If the device was already zoned, disk->nr_zones would always equal md->nr_zones, so dm_revalidate_zones() returned without doing any work. This would make the zoned settings for the device not match the new table. If the device had zone write plug resources, it could run into errors like bdev_zone_is_seq() reading invalid memory because disk->conv_zones_bitmap was the wrong size. If the device doesn't have any zone write plug resources, calling blk_revalidate_disk_zones() will always correctly update device. If blk_revalidate_disk_zones() fails, it can still overwrite or clear the current disk->nr_zones value. In this case, DM must restore the previous value of disk->nr_zones, so that the zoned settings will continue to match the previous value that it fell back to. If the device already has zone write plug resources, blk_revalidate_disk_zones() will not correctly update them, if it is called for arbitrary zoned device changes. Since there is not much need for this ability, the easiest solution is to disallow any table reloads that change the zoned settings, for devices that already have zone plug resources. Specifically, if a device already has zone plug resources allocated, it can only switch to another zoned table that also emulates zone append. Also, it cannot change the device size or the zone size. A device can switch to an error target.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm: fix dm_blk_report_zones If dm_get_live_table() returned NULL, dm_put_live_table() was never called. Also, it is possible that md->zone_revalidate_map will change while calling this function. Only read it once, so that we are always using the same value. Otherwise we might miss a call to dm_put_live_table(). Finally, while md->zone_revalidate_map is set and a process is calling blk_revalidate_disk_zones() to set up the zone append emulation resources, it is possible that another process, perhaps triggered by blkdev_report_zones_ioctl(), will call dm_blk_report_zones(). If blk_revalidate_disk_zones() fails, these resources can be freed while the other process is still using them, causing a use-after-free error. blk_revalidate_disk_zones() will only ever be called when initially setting up the zone append emulation resources, such as when setting up a zoned dm-crypt table for the first time. Further table swaps will not set md->zone_revalidate_map or call blk_revalidate_disk_zones(). However it must be called using the new table (referenced by md->zone_revalidate_map) and the new queue limits while the DM device is suspended. dm_blk_report_zones() needs some way to distinguish between a call from blk_revalidate_disk_zones(), which must be allowed to use md->zone_revalidate_map to access this not yet activated table, and all other calls to dm_blk_report_zones(), which should not be allowed while the device is suspended and cannot use md->zone_revalidate_map, since the zone resources might be freed by the process currently calling blk_revalidate_disk_zones(). Solve this by tracking the process that sets md->zone_revalidate_map in dm_revalidate_zones() and only allowing that process to make use of it in dm_blk_report_zones().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (asus-ec-sensors) check sensor index in read_string() Prevent a potential invalid memory access when the requested sensor is not found. find_ec_sensor_index() may return a negative value (e.g. -ENOENT), but its result was used without checking, which could lead to undefined behavior when passed to get_sensor_info(). Add a proper check to return -EINVAL if sensor_index is negative. Found by Linux Verification Center (linuxtesting.org) with SVACE. [groeck: Return error code returned from find_ec_sensor_index]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: backlight: pm8941: Add NULL check in wled_configure() devm_kasprintf() returns NULL when memory allocation fails. Currently, wled_configure() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop() devm_kasprintf() returns NULL when memory allocation fails. Currently, aspeed_lpc_enable_snoop() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue. [arj: Fix Fixes: tag to use subject from 3772e5da4454]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: openvswitch: Fix the dead loop of MPLS parse The unexpected MPLS packet may not end with the bottom label stack. When there are many stacks, The label count value has wrapped around. A dead loop occurs, soft lockup/CPU stuck finally. stack backtrace: UBSAN: array-index-out-of-bounds in /build/linux-0Pa0xK/linux-5.15.0/net/openvswitch/flow.c:662:26 index -1 is out of range for type '__be32 [3]' CPU: 34 PID: 0 Comm: swapper/34 Kdump: loaded Tainted: G OE 5.15.0-121-generic #131-Ubuntu Hardware name: Dell Inc. PowerEdge C6420/0JP9TF, BIOS 2.12.2 07/14/2021 Call Trace: <IRQ> show_stack+0x52/0x5c dump_stack_lvl+0x4a/0x63 dump_stack+0x10/0x16 ubsan_epilogue+0x9/0x36 __ubsan_handle_out_of_bounds.cold+0x44/0x49 key_extract_l3l4+0x82a/0x840 [openvswitch] ? kfree_skbmem+0x52/0xa0 key_extract+0x9c/0x2b0 [openvswitch] ovs_flow_key_extract+0x124/0x350 [openvswitch] ovs_vport_receive+0x61/0xd0 [openvswitch] ? kernel_init_free_pages.part.0+0x4a/0x70 ? get_page_from_freelist+0x353/0x540 netdev_port_receive+0xc4/0x180 [openvswitch] ? netdev_port_receive+0x180/0x180 [openvswitch] netdev_frame_hook+0x1f/0x40 [openvswitch] __netif_receive_skb_core.constprop.0+0x23a/0xf00 __netif_receive_skb_list_core+0xfa/0x240 netif_receive_skb_list_internal+0x18e/0x2a0 napi_complete_done+0x7a/0x1c0 bnxt_poll+0x155/0x1c0 [bnxt_en] __napi_poll+0x30/0x180 net_rx_action+0x126/0x280 ? bnxt_msix+0x67/0x80 [bnxt_en] handle_softirqs+0xda/0x2d0 irq_exit_rcu+0x96/0xc0 common_interrupt+0x8e/0xa0 </IRQ>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: phy: mscc: Fix memory leak when using one step timestamping Fix memory leak when running one-step timestamping. When running one-step sync timestamping, the HW is configured to insert the TX time into the frame, so there is no reason to keep the skb anymore. As in this case the HW will never generate an interrupt to say that the frame was timestamped, then the frame will never released. Fix this by freeing the frame in case of one-step timestamping.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: phy: clear phydev->devlink when the link is deleted There is a potential crash issue when disabling and re-enabling the network port. When disabling the network port, phy_detach() calls device_link_del() to remove the device link, but it does not clear phydev->devlink, so phydev->devlink is not a NULL pointer. Then the network port is re-enabled, but if phy_attach_direct() fails before calling device_link_add(), the code jumps to the "error" label and calls phy_detach(). Since phydev->devlink retains the old value from the previous attach/detach cycle, device_link_del() uses the old value, which accesses a NULL pointer and causes a crash. The simplified crash log is as follows. [ 24.702421] Call trace: [ 24.704856] device_link_put_kref+0x20/0x120 [ 24.709124] device_link_del+0x30/0x48 [ 24.712864] phy_detach+0x24/0x168 [ 24.716261] phy_attach_direct+0x168/0x3a4 [ 24.720352] phylink_fwnode_phy_connect+0xc8/0x14c [ 24.725140] phylink_of_phy_connect+0x1c/0x34 Therefore, phydev->devlink needs to be cleared when the device link is deleted.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/cma: Fix hang when cma_netevent_callback fails to queue_work The cited commit fixed a crash when cma_netevent_callback was called for a cma_id while work on that id from a previous call had not yet started. The work item was re-initialized in the second call, which corrupted the work item currently in the work queue. However, it left a problem when queue_work fails (because the item is still pending in the work queue from a previous call). In this case, cma_id_put (which is called in the work handler) is therefore not called. This results in a userspace process hang (zombie process). Fix this by calling cma_id_put() if queue_work fails.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: aqc111: fix error handling of usbnet read calls Syzkaller, courtesy of syzbot, identified an error (see report [1]) in aqc111 driver, caused by incomplete sanitation of usb read calls' results. This problem is quite similar to the one fixed in commit 920a9fa27e78 ("net: asix: add proper error handling of usb read errors"). For instance, usbnet_read_cmd() may read fewer than 'size' bytes, even if the caller expected the full amount, and aqc111_read_cmd() will not check its result properly. As [1] shows, this may lead to MAC address in aqc111_bind() being only partly initialized, triggering KMSAN warnings. Fix the issue by verifying that the number of bytes read is as expected and not less. [1] Partial syzbot report: BUG: KMSAN: uninit-value in is_valid_ether_addr include/linux/etherdevice.h:208 [inline] BUG: KMSAN: uninit-value in usbnet_probe+0x2e57/0x4390 drivers/net/usb/usbnet.c:1830 is_valid_ether_addr include/linux/etherdevice.h:208 [inline] usbnet_probe+0x2e57/0x4390 drivers/net/usb/usbnet.c:1830 usb_probe_interface+0xd01/0x1310 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] really_probe+0x4d1/0xd90 drivers/base/dd.c:658 __driver_probe_device+0x268/0x380 drivers/base/dd.c:800 ... Uninit was stored to memory at: dev_addr_mod+0xb0/0x550 net/core/dev_addr_lists.c:582 __dev_addr_set include/linux/netdevice.h:4874 [inline] eth_hw_addr_set include/linux/etherdevice.h:325 [inline] aqc111_bind+0x35f/0x1150 drivers/net/usb/aqc111.c:717 usbnet_probe+0xbe6/0x4390 drivers/net/usb/usbnet.c:1772 usb_probe_interface+0xd01/0x1310 drivers/usb/core/driver.c:396 ... Uninit was stored to memory at: ether_addr_copy include/linux/etherdevice.h:305 [inline] aqc111_read_perm_mac drivers/net/usb/aqc111.c:663 [inline] aqc111_bind+0x794/0x1150 drivers/net/usb/aqc111.c:713 usbnet_probe+0xbe6/0x4390 drivers/net/usb/usbnet.c:1772 usb_probe_interface+0xd01/0x1310 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:-1 [inline] ... Local variable buf.i created at: aqc111_read_perm_mac drivers/net/usb/aqc111.c:656 [inline] aqc111_bind+0x221/0x1150 drivers/net/usb/aqc111.c:713 usbnet_probe+0xbe6/0x4390 drivers/net/usb/usbnet.c:1772


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Avoid using sk_socket after free when sending The sk->sk_socket is not locked or referenced in backlog thread, and during the call to skb_send_sock(), there is a race condition with the release of sk_socket. All types of sockets(tcp/udp/unix/vsock) will be affected. Race conditions: ''' CPU0 CPU1 backlog::skb_send_sock sendmsg_unlocked sock_sendmsg sock_sendmsg_nosec close(fd): ... ops->release() -> sock_map_close() sk_socket->ops = NULL free(socket) sock->ops->sendmsg ^ panic here ''' The ref of psock become 0 after sock_map_close() executed. ''' void sock_map_close() { ... if (likely(psock)) { ... // !! here we remove psock and the ref of psock become 0 sock_map_remove_links(sk, psock) psock = sk_psock_get(sk); if (unlikely(!psock)) goto no_psock; <=== Control jumps here via goto ... cancel_delayed_work_sync(&psock->work); <=== not executed sk_psock_put(sk, psock); ... } ''' Based on the fact that we already wait for the workqueue to finish in sock_map_close() if psock is held, we simply increase the psock reference count to avoid race conditions. With this patch, if the backlog thread is running, sock_map_close() will wait for the backlog thread to complete and cancel all pending work. If no backlog running, any pending work that hasn't started by then will fail when invoked by sk_psock_get(), as the psock reference count have been zeroed, and sk_psock_drop() will cancel all jobs via cancel_delayed_work_sync(). In summary, we require synchronization to coordinate the backlog thread and close() thread. The panic I catched: ''' Workqueue: events sk_psock_backlog RIP: 0010:sock_sendmsg+0x21d/0x440 RAX: 0000000000000000 RBX: ffffc9000521fad8 RCX: 0000000000000001 ... Call Trace: <TASK> ? die_addr+0x40/0xa0 ? exc_general_protection+0x14c/0x230 ? asm_exc_general_protection+0x26/0x30 ? sock_sendmsg+0x21d/0x440 ? sock_sendmsg+0x3e0/0x440 ? __pfx_sock_sendmsg+0x10/0x10 __skb_send_sock+0x543/0xb70 sk_psock_backlog+0x247/0xb80 ... '''


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init() devm_ioremap() returns NULL on error. Currently, mt7915_mmio_wed_init() does not check for this case, which results in a NULL pointer dereference. Prevent null pointer dereference in mt7915_mmio_wed_init().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: Fix null-ptr-deref in mt7996_mmio_wed_init() devm_ioremap() returns NULL on error. Currently, mt7996_mmio_wed_init() does not check for this case, which results in a NULL pointer dereference. Prevent null pointer dereference in mt7996_mmio_wed_init()


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k_htc: Abort software beacon handling if disabled A malicious USB device can send a WMI_SWBA_EVENTID event from an ath9k_htc-managed device before beaconing has been enabled. This causes a device-by-zero error in the driver, leading to either a crash or an out of bounds read. Prevent this by aborting the handling in ath9k_htc_swba() if beacons are not enabled.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: fix the 'para' buffer size to avoid reading out of bounds Set the size to 6 instead of 2, since 'para' array is passed to 'rtw_fw_bt_wifi_control(rtwdev, para[0], &para[1])', which reads 5 bytes: void rtw_fw_bt_wifi_control(struct rtw_dev *rtwdev, u8 op_code, u8 *data) { ... SET_BT_WIFI_CONTROL_DATA1(h2c_pkt, *data); SET_BT_WIFI_CONTROL_DATA2(h2c_pkt, *(data + 1)); ... SET_BT_WIFI_CONTROL_DATA5(h2c_pkt, *(data + 4)); Detected using the static analysis tool - Svace.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clk: bcm: rpi: Add NULL check in raspberrypi_clk_register() devm_kasprintf() returns NULL when memory allocation fails. Currently, raspberrypi_clk_register() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix error flow upon firmware failure for RQ destruction Upon RQ destruction if the firmware command fails which is the last resource to be destroyed some SW resources were already cleaned regardless of the failure. Now properly rollback the object to its original state upon such failure. In order to avoid a use-after free in case someone tries to destroy the object again, which results in the following kernel trace: refcount_t: underflow; use-after-free. WARNING: CPU: 0 PID: 37589 at lib/refcount.c:28 refcount_warn_saturate+0xf4/0x148 Modules linked in: rdma_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) ib_umad(OE) mlx5_ib(OE) rfkill mlx5_core(OE) mlxdevm(OE) ib_uverbs(OE) ib_core(OE) psample mlxfw(OE) mlx_compat(OE) macsec tls pci_hyperv_intf sunrpc vfat fat virtio_net net_failover failover fuse loop nfnetlink vsock_loopback vmw_vsock_virtio_transport_common vmw_vsock_vmci_transport vmw_vmci vsock xfs crct10dif_ce ghash_ce sha2_ce sha256_arm64 sha1_ce virtio_console virtio_gpu virtio_blk virtio_dma_buf virtio_mmio dm_mirror dm_region_hash dm_log dm_mod xpmem(OE) CPU: 0 UID: 0 PID: 37589 Comm: python3 Kdump: loaded Tainted: G OE ------- --- 6.12.0-54.el10.aarch64 #1 Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : refcount_warn_saturate+0xf4/0x148 lr : refcount_warn_saturate+0xf4/0x148 sp : ffff80008b81b7e0 x29: ffff80008b81b7e0 x28: ffff000133d51600 x27: 0000000000000001 x26: 0000000000000000 x25: 00000000ffffffea x24: ffff00010ae80f00 x23: ffff00010ae80f80 x22: ffff0000c66e5d08 x21: 0000000000000000 x20: ffff0000c66e0000 x19: ffff00010ae80340 x18: 0000000000000006 x17: 0000000000000000 x16: 0000000000000020 x15: ffff80008b81b37f x14: 0000000000000000 x13: 2e656572662d7265 x12: ffff80008283ef78 x11: ffff80008257efd0 x10: ffff80008283efd0 x9 : ffff80008021ed90 x8 : 0000000000000001 x7 : 00000000000bffe8 x6 : c0000000ffff7fff x5 : ffff0001fb8e3408 x4 : 0000000000000000 x3 : ffff800179993000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000133d51600 Call trace: refcount_warn_saturate+0xf4/0x148 mlx5_core_put_rsc+0x88/0xa0 [mlx5_ib] mlx5_core_destroy_rq_tracked+0x64/0x98 [mlx5_ib] mlx5_ib_destroy_wq+0x34/0x80 [mlx5_ib] ib_destroy_wq_user+0x30/0xc0 [ib_core] uverbs_free_wq+0x28/0x58 [ib_uverbs] destroy_hw_idr_uobject+0x34/0x78 [ib_uverbs] uverbs_destroy_uobject+0x48/0x240 [ib_uverbs] __uverbs_cleanup_ufile+0xd4/0x1a8 [ib_uverbs] uverbs_destroy_ufile_hw+0x48/0x120 [ib_uverbs] ib_uverbs_close+0x2c/0x100 [ib_uverbs] __fput+0xd8/0x2f0 __fput_sync+0x50/0x70 __arm64_sys_close+0x40/0x90 invoke_syscall.constprop.0+0x74/0xd0 do_el0_svc+0x48/0xe8 el0_svc+0x44/0x1d0 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x1a4/0x1a8


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix panic when calling skb_linearize The panic can be reproduced by executing the command: ./bench sockmap -c 2 -p 1 -a --rx-verdict-ingress --rx-strp 100000 Then a kernel panic was captured: ''' [ 657.460555] kernel BUG at net/core/skbuff.c:2178! [ 657.462680] Tainted: [W]=WARN [ 657.463287] Workqueue: events sk_psock_backlog ... [ 657.469610] <TASK> [ 657.469738] ? die+0x36/0x90 [ 657.469916] ? do_trap+0x1d0/0x270 [ 657.470118] ? pskb_expand_head+0x612/0xf40 [ 657.470376] ? pskb_expand_head+0x612/0xf40 [ 657.470620] ? do_error_trap+0xa3/0x170 [ 657.470846] ? pskb_expand_head+0x612/0xf40 [ 657.471092] ? handle_invalid_op+0x2c/0x40 [ 657.471335] ? pskb_expand_head+0x612/0xf40 [ 657.471579] ? exc_invalid_op+0x2d/0x40 [ 657.471805] ? asm_exc_invalid_op+0x1a/0x20 [ 657.472052] ? pskb_expand_head+0xd1/0xf40 [ 657.472292] ? pskb_expand_head+0x612/0xf40 [ 657.472540] ? lock_acquire+0x18f/0x4e0 [ 657.472766] ? find_held_lock+0x2d/0x110 [ 657.472999] ? __pfx_pskb_expand_head+0x10/0x10 [ 657.473263] ? __kmalloc_cache_noprof+0x5b/0x470 [ 657.473537] ? __pfx___lock_release.isra.0+0x10/0x10 [ 657.473826] __pskb_pull_tail+0xfd/0x1d20 [ 657.474062] ? __kasan_slab_alloc+0x4e/0x90 [ 657.474707] sk_psock_skb_ingress_enqueue+0x3bf/0x510 [ 657.475392] ? __kasan_kmalloc+0xaa/0xb0 [ 657.476010] sk_psock_backlog+0x5cf/0xd70 [ 657.476637] process_one_work+0x858/0x1a20 ''' The panic originates from the assertion BUG_ON(skb_shared(skb)) in skb_linearize(). A previous commit(see Fixes tag) introduced skb_get() to avoid race conditions between skb operations in the backlog and skb release in the recvmsg path. However, this caused the panic to always occur when skb_linearize is executed. The "--rx-strp 100000" parameter forces the RX path to use the strparser module which aggregates data until it reaches 100KB before calling sockmap logic. The 100KB payload exceeds MAX_MSG_FRAGS, triggering skb_linearize. To fix this issue, just move skb_get into sk_psock_skb_ingress_enqueue. ''' sk_psock_backlog: sk_psock_handle_skb skb_get(skb) <== we move it into 'sk_psock_skb_ingress_enqueue' sk_psock_skb_ingress____________ v | | -> sk_psock_skb_ingress_self | sk_psock_skb_ingress_enqueue sk_psock_verdict_apply_________________^ skb_linearize ''' Note that for verdict_apply path, the skb_get operation is unnecessary so we add 'take_ref' param to control it's behavior.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: arm-ni: Unregister PMUs on probe failure When a resource allocation fails in one clock domain of an NI device, we need to properly roll back all previously registered perf PMUs in other clock domains of the same device. Otherwise, it can lead to kernel panics. Calling arm_ni_init+0x0/0xff8 [arm_ni] @ 2374 arm-ni ARMHCB70:00: Failed to request PMU region 0x1f3c13000 arm-ni ARMHCB70:00: probe with driver arm-ni failed with error -16 list_add corruption: next->prev should be prev (fffffd01e9698a18), but was 0000000000000000. (next=ffff10001a0decc8). pstate: 6340009 (nZCv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--) pc : list_add_valid_or_report+0x7c/0xb8 lr : list_add_valid_or_report+0x7c/0xb8 Call trace: __list_add_valid_or_report+0x7c/0xb8 perf_pmu_register+0x22c/0x3a0 arm_ni_probe+0x554/0x70c [arm_ni] platform_probe+0x70/0xe8 really_probe+0xc6/0x4d8 driver_probe_device+0x48/0x170 __driver_attach+0x8e/0x1c0 bus_for_each_dev+0x64/0xf0 driver_add+0x138/0x260 bus_add_driver+0x68/0x138 __platform_driver_register+0x2c/0x40 arm_ni_init+0x14/0x2a [arm_ni] do_init_module+0x36/0x298 ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Oops - BUG: Fatal exception SMP: stopping secondary CPUs


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP On system with SME, a thread's kernel FPSIMD state may be erroneously clobbered during a context switch immediately after that state is restored. Systems without SME are unaffected. If the CPU happens to be in streaming SVE mode before a context switch to a thread with kernel FPSIMD state, fpsimd_thread_switch() will restore the kernel FPSIMD state using fpsimd_load_kernel_state() while the CPU is still in streaming SVE mode. When fpsimd_thread_switch() subsequently calls fpsimd_flush_cpu_state(), this will execute an SMSTOP, causing an exit from streaming SVE mode. The exit from streaming SVE mode will cause the hardware to reset a number of FPSIMD/SVE/SME registers, clobbering the FPSIMD state. Fix this by calling fpsimd_flush_cpu_state() before restoring the kernel FPSIMD state.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: arm64/fpsimd: Discard stale CPU state when handling SME traps The logic for handling SME traps manipulates saved FPSIMD/SVE/SME state incorrectly, and a race with preemption can result in a task having TIF_SME set and TIF_FOREIGN_FPSTATE clear even though the live CPU state is stale (e.g. with SME traps enabled). This can result in warnings from do_sme_acc() where SME traps are not expected while TIF_SME is set: | /* With TIF_SME userspace shouldn't generate any traps */ | if (test_and_set_thread_flag(TIF_SME)) | WARN_ON(1); This is very similar to the SVE issue we fixed in commit: 751ecf6afd6568ad ("arm64/sve: Discard stale CPU state when handling SVE traps") The race can occur when the SME trap handler is preempted before and after manipulating the saved FPSIMD/SVE/SME state, starting and ending on the same CPU, e.g. | void do_sme_acc(unsigned long esr, struct pt_regs *regs) | { | // Trap on CPU 0 with TIF_SME clear, SME traps enabled | // task->fpsimd_cpu is 0. | // per_cpu_ptr(&fpsimd_last_state, 0) is task. | | ... | | // Preempted; migrated from CPU 0 to CPU 1. | // TIF_FOREIGN_FPSTATE is set. | | get_cpu_fpsimd_context(); | | /* With TIF_SME userspace shouldn't generate any traps */ | if (test_and_set_thread_flag(TIF_SME)) | WARN_ON(1); | | if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) { | unsigned long vq_minus_one = | sve_vq_from_vl(task_get_sme_vl(current)) - 1; | sme_set_vq(vq_minus_one); | | fpsimd_bind_task_to_cpu(); | } | | put_cpu_fpsimd_context(); | | // Preempted; migrated from CPU 1 to CPU 0. | // task->fpsimd_cpu is still 0 | // If per_cpu_ptr(&fpsimd_last_state, 0) is still task then: | // - Stale HW state is reused (with SME traps enabled) | // - TIF_FOREIGN_FPSTATE is cleared | // - A return to userspace skips HW state restore | } Fix the case where the state is not live and TIF_FOREIGN_FPSTATE is set by calling fpsimd_flush_task_state() to detach from the saved CPU state. This ensures that a subsequent context switch will not reuse the stale CPU state, and will instead set TIF_FOREIGN_FPSTATE, forcing the new state to be reloaded from memory prior to a return to userspace. Note: this was originallly posted as [1]. [ Rutland: rewrite commit message ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: erofs: avoid using multiple devices with different type For multiple devices, both primary and extra devices should be the same type. `erofs_init_device` has already guaranteed that if the primary is a file-backed device, extra devices should also be regular files. However, if the primary is a block device while the extra device is a file-backed device, `erofs_init_device` will get an ENOTBLK, which is not treated as an error in `erofs_fc_get_tree`, and that leads to an UAF: erofs_fc_get_tree get_tree_bdev_flags(erofs_fc_fill_super) erofs_read_superblock erofs_init_device // sbi->dif0 is not inited yet, // return -ENOTBLK deactivate_locked_super free(sbi) if (err is -ENOTBLK) sbi->dif0.file = filp_open() // sbi UAF So if -ENOTBLK is hitted in `erofs_init_device`, it means the primary device must be a block device, and the extra device is not a block device. The error can be converted to -EINVAL.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: marvell/cesa - Handle zero-length skcipher requests Do not access random memory for zero-length skcipher requests. Just return 0.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Do not double dequeue a configuration request Some of our devices crash in tb_cfg_request_dequeue(): general protection fault, probably for non-canonical address 0xdead000000000122 CPU: 6 PID: 91007 Comm: kworker/6:2 Tainted: G U W 6.6.65 RIP: 0010:tb_cfg_request_dequeue+0x2d/0xa0 Call Trace: <TASK> ? tb_cfg_request_dequeue+0x2d/0xa0 tb_cfg_request_work+0x33/0x80 worker_thread+0x386/0x8f0 kthread+0xed/0x110 ret_from_fork+0x38/0x50 ret_from_fork_asm+0x1b/0x30 The circumstances are unclear, however, the theory is that tb_cfg_request_work() can be scheduled twice for a request: first time via frame.callback from ring_work() and second time from tb_cfg_request(). Both times kworkers will execute tb_cfg_request_dequeue(), which results in double list_del() from the ctl->request_queue (the list poison deference hints at it: 0xdead000000000122). Do not dequeue requests that don't have TB_CFG_REQUEST_ACTIVE bit set.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sch_hfsc: make hfsc_qlen_notify() idempotent hfsc_qlen_notify() is not idempotent either and not friendly to its callers, like fq_codel_dequeue(). Let's make it idempotent to ease qdisc_tree_reduce_backlog() callers' life: 1. update_vf() decreases cl->cl_nactive, so we can check whether it is non-zero before calling it. 2. eltree_remove() always removes RB node cl->el_node, but we can use RB_EMPTY_NODE() + RB_CLEAR_NODE() to make it safe.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: atm: fix /proc/net/atm/lec handling /proc/net/atm/lec must ensure safety against dev_lec[] changes. It appears it had dev_put() calls without prior dev_hold(), leading to imbalance and UAF.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: calipso: Fix null-ptr-deref in calipso_req_{set,del}attr(). syzkaller reported a null-ptr-deref in sock_omalloc() while allocating a CALIPSO option. [0] The NULL is of struct sock, which was fetched by sk_to_full_sk() in calipso_req_setattr(). Since commit a1a5344ddbe8 ("tcp: avoid two atomic ops for syncookies"), reqsk->rsk_listener could be NULL when SYN Cookie is returned to its client, as hinted by the leading SYN Cookie log. Here are 3 options to fix the bug: 1) Return 0 in calipso_req_setattr() 2) Return an error in calipso_req_setattr() 3) Alaways set rsk_listener 1) is no go as it bypasses LSM, but 2) effectively disables SYN Cookie for CALIPSO. 3) is also no go as there have been many efforts to reduce atomic ops and make TCP robust against DDoS. See also commit 3b24d854cb35 ("tcp/dccp: do not touch listener sk_refcnt under synflood"). As of the blamed commit, SYN Cookie already did not need refcounting, and no one has stumbled on the bug for 9 years, so no CALIPSO user will care about SYN Cookie. Let's return an error in calipso_req_setattr() and calipso_req_delattr() in the SYN Cookie case. This can be reproduced by [1] on Fedora and now connect() of nc times out. [0]: TCP: request_sock_TCPv6: Possible SYN flooding on port [::]:20002. Sending cookies. Oops: general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] CPU: 3 UID: 0 PID: 12262 Comm: syz.1.2611 Not tainted 6.14.0 #2 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 RIP: 0010:read_pnet include/net/net_namespace.h:406 [inline] RIP: 0010:sock_net include/net/sock.h:655 [inline] RIP: 0010:sock_kmalloc+0x35/0x170 net/core/sock.c:2806 Code: 89 d5 41 54 55 89 f5 53 48 89 fb e8 25 e3 c6 fd e8 f0 91 e3 00 48 8d 7b 30 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 26 01 00 00 48 b8 00 00 00 00 00 fc ff df 4c 8b RSP: 0018:ffff88811af89038 EFLAGS: 00010216 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffff888105266400 RDX: 0000000000000006 RSI: ffff88800c890000 RDI: 0000000000000030 RBP: 0000000000000050 R08: 0000000000000000 R09: ffff88810526640e R10: ffffed1020a4cc81 R11: ffff88810526640f R12: 0000000000000000 R13: 0000000000000820 R14: ffff888105266400 R15: 0000000000000050 FS: 00007f0653a07640(0000) GS:ffff88811af80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f863ba096f4 CR3: 00000000163c0005 CR4: 0000000000770ef0 PKRU: 80000000 Call Trace: <IRQ> ipv6_renew_options+0x279/0x950 net/ipv6/exthdrs.c:1288 calipso_req_setattr+0x181/0x340 net/ipv6/calipso.c:1204 calipso_req_setattr+0x56/0x80 net/netlabel/netlabel_calipso.c:597 netlbl_req_setattr+0x18a/0x440 net/netlabel/netlabel_kapi.c:1249 selinux_netlbl_inet_conn_request+0x1fb/0x320 security/selinux/netlabel.c:342 selinux_inet_conn_request+0x1eb/0x2c0 security/selinux/hooks.c:5551 security_inet_conn_request+0x50/0xa0 security/security.c:4945 tcp_v6_route_req+0x22c/0x550 net/ipv6/tcp_ipv6.c:825 tcp_conn_request+0xec8/0x2b70 net/ipv4/tcp_input.c:7275 tcp_v6_conn_request+0x1e3/0x440 net/ipv6/tcp_ipv6.c:1328 tcp_rcv_state_process+0xafa/0x52b0 net/ipv4/tcp_input.c:6781 tcp_v6_do_rcv+0x8a6/0x1a40 net/ipv6/tcp_ipv6.c:1667 tcp_v6_rcv+0x505e/0x5b50 net/ipv6/tcp_ipv6.c:1904 ip6_protocol_deliver_rcu+0x17c/0x1da0 net/ipv6/ip6_input.c:436 ip6_input_finish+0x103/0x180 net/ipv6/ip6_input.c:480 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netfilter.h:308 [inline] ip6_input+0x13c/0x6b0 net/ipv6/ip6_input.c:491 dst_input include/net/dst.h:469 [inline] ip6_rcv_finish net/ipv6/ip6_input.c:79 [inline] ip6_rcv_finish+0xb6/0x490 net/ipv6/ip6_input.c:69 NF_HOOK include/linux/netfilter.h:314 [inline] NF_HOOK include/linux/netf ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ublk: santizize the arguments from userspace when adding a device Sanity check the values for queue depth and number of queues we get from userspace when adding a device.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tipc: fix null-ptr-deref when acquiring remote ip of ethernet bearer The reproduction steps: 1. create a tun interface 2. enable l2 bearer 3. TIPC_NL_UDP_GET_REMOTEIP with media name set to tun tipc: Started in network mode tipc: Node identity 8af312d38a21, cluster identity 4711 tipc: Enabled bearer <eth:syz_tun>, priority 1 Oops: general protection fault KASAN: null-ptr-deref in range CPU: 1 UID: 1000 PID: 559 Comm: poc Not tainted 6.16.0-rc1+ #117 PREEMPT Hardware name: QEMU Ubuntu 24.04 PC RIP: 0010:tipc_udp_nl_dump_remoteip+0x4a4/0x8f0 the ub was in fact a struct dev. when bid != 0 && skip_cnt != 0, bearer_list[bid] may be NULL or other media when other thread changes it. fix this by checking media_id.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: atmtcp: Free invalid length skb in atmtcp_c_send(). syzbot reported the splat below. [0] vcc_sendmsg() copies data passed from userspace to skb and passes it to vcc->dev->ops->send(). atmtcp_c_send() accesses skb->data as struct atmtcp_hdr after checking if skb->len is 0, but it's not enough. Also, when skb->len == 0, skb and sk (vcc) were leaked because dev_kfree_skb() is not called and sk_wmem_alloc adjustment is missing to revert atm_account_tx() in vcc_sendmsg(), which is expected to be done in atm_pop_raw(). Let's properly free skb with an invalid length in atmtcp_c_send(). [0]: BUG: KMSAN: uninit-value in atmtcp_c_send+0x255/0xed0 drivers/atm/atmtcp.c:294 atmtcp_c_send+0x255/0xed0 drivers/atm/atmtcp.c:294 vcc_sendmsg+0xd7c/0xff0 net/atm/common.c:644 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x330/0x3d0 net/socket.c:727 ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2566 ___sys_sendmsg+0x271/0x3b0 net/socket.c:2620 __sys_sendmsg net/socket.c:2652 [inline] __do_sys_sendmsg net/socket.c:2657 [inline] __se_sys_sendmsg net/socket.c:2655 [inline] __x64_sys_sendmsg+0x211/0x3e0 net/socket.c:2655 x64_sys_call+0x32fb/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Uninit was created at: slab_post_alloc_hook mm/slub.c:4154 [inline] slab_alloc_node mm/slub.c:4197 [inline] kmem_cache_alloc_node_noprof+0x818/0xf00 mm/slub.c:4249 kmalloc_reserve+0x13c/0x4b0 net/core/skbuff.c:579 __alloc_skb+0x347/0x7d0 net/core/skbuff.c:670 alloc_skb include/linux/skbuff.h:1336 [inline] vcc_sendmsg+0xb40/0xff0 net/atm/common.c:628 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x330/0x3d0 net/socket.c:727 ____sys_sendmsg+0x7e0/0xd80 net/socket.c:2566 ___sys_sendmsg+0x271/0x3b0 net/socket.c:2620 __sys_sendmsg net/socket.c:2652 [inline] __do_sys_sendmsg net/socket.c:2657 [inline] __se_sys_sendmsg net/socket.c:2655 [inline] __x64_sys_sendmsg+0x211/0x3e0 net/socket.c:2655 x64_sys_call+0x32fb/0x3db0 arch/x86/include/generated/asm/syscalls_64.h:47 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xd9/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f CPU: 1 UID: 0 PID: 5798 Comm: syz-executor192 Not tainted 6.16.0-rc1-syzkaller-00010-g2c4a1f3fe03e #0 PREEMPT(undef) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix double invocation of bnxt_ulp_stop()/bnxt_ulp_start() Before the commit under the Fixes tag below, bnxt_ulp_stop() and bnxt_ulp_start() were always invoked in pairs. After that commit, the new bnxt_ulp_restart() can be invoked after bnxt_ulp_stop() has been called. This may result in the RoCE driver's aux driver .suspend() method being invoked twice. The 2nd bnxt_re_suspend() call will crash when it dereferences a NULL pointer: (NULL ib_device): Handle device suspend call BUG: kernel NULL pointer dereference, address: 0000000000000b78 PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 20 UID: 0 PID: 181 Comm: kworker/u96:5 Tainted: G S 6.15.0-rc1 #4 PREEMPT(voluntary) Tainted: [S]=CPU_OUT_OF_SPEC Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.4.3 01/17/2017 Workqueue: bnxt_pf_wq bnxt_sp_task [bnxt_en] RIP: 0010:bnxt_re_suspend+0x45/0x1f0 [bnxt_re] Code: 8b 05 a7 3c 5b f5 48 89 44 24 18 31 c0 49 8b 5c 24 08 4d 8b 2c 24 e8 ea 06 0a f4 48 c7 c6 04 60 52 c0 48 89 df e8 1b ce f9 ff <48> 8b 83 78 0b 00 00 48 8b 80 38 03 00 00 a8 40 0f 85 b5 00 00 00 RSP: 0018:ffffa2e84084fd88 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000001 RDX: 0000000000000000 RSI: ffffffffb4b6b934 RDI: 00000000ffffffff RBP: ffffa1760954c9c0 R08: 0000000000000000 R09: c0000000ffffdfff R10: 0000000000000001 R11: ffffa2e84084fb50 R12: ffffa176031ef070 R13: ffffa17609775000 R14: ffffa17603adc180 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffffa17daa397000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000b78 CR3: 00000004aaa30003 CR4: 00000000003706f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> bnxt_ulp_stop+0x69/0x90 [bnxt_en] bnxt_sp_task+0x678/0x920 [bnxt_en] ? __schedule+0x514/0xf50 process_scheduled_works+0x9d/0x400 worker_thread+0x11c/0x260 ? __pfx_worker_thread+0x10/0x10 kthread+0xfe/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x2b/0x40 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 Check the BNXT_EN_FLAG_ULP_STOPPED flag and do not proceed if the flag is already set. This will preserve the original symmetrical bnxt_ulp_stop() and bnxt_ulp_start(). Also, inside bnxt_ulp_start(), clear the BNXT_EN_FLAG_ULP_STOPPED flag after taking the mutex to avoid any race condition. And for symmetry, only proceed in bnxt_ulp_start() if the BNXT_EN_FLAG_ULP_STOPPED is set.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm/a7xx: Call CP_RESET_CONTEXT_STATE Calling this packet is necessary when we switch contexts because there are various pieces of state used by userspace to synchronize between BR and BV that are persistent across submits and we need to make sure that they are in a "safe" state when switching contexts. Otherwise a userspace submission in one context could cause another context to function incorrectly and hang, effectively a denial of service (although without leaking data). This was missed during initial a7xx bringup. Patchwork: https://patchwork.freedesktop.org/patch/654924/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Avoid NULL pointer dereference in `v3d_job_update_stats()` The following kernel Oops was recently reported by Mesa CI: [ 800.139824] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000588 [ 800.148619] Mem abort info: [ 800.151402] ESR = 0x0000000096000005 [ 800.155141] EC = 0x25: DABT (current EL), IL = 32 bits [ 800.160444] SET = 0, FnV = 0 [ 800.163488] EA = 0, S1PTW = 0 [ 800.166619] FSC = 0x05: level 1 translation fault [ 800.171487] Data abort info: [ 800.174357] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [ 800.179832] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 800.184873] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 800.190176] user pgtable: 4k pages, 39-bit VAs, pgdp=00000001014c2000 [ 800.196607] [0000000000000588] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [ 800.205305] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 800.211564] Modules linked in: vc4 snd_soc_hdmi_codec drm_display_helper v3d cec gpu_sched drm_dma_helper drm_shmem_helper drm_kms_helper drm drm_panel_orientation_quirks snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm i2c_brcmstb snd_timer snd backlight [ 800.234448] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.25+rpt-rpi-v8 #1 Debian 1:6.12.25-1+rpt1 [ 800.244182] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT) [ 800.250005] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 800.256959] pc : v3d_job_update_stats+0x60/0x130 [v3d] [ 800.262112] lr : v3d_job_update_stats+0x48/0x130 [v3d] [ 800.267251] sp : ffffffc080003e60 [ 800.270555] x29: ffffffc080003e60 x28: ffffffd842784980 x27: 0224012000000000 [ 800.277687] x26: ffffffd84277f630 x25: ffffff81012fd800 x24: 0000000000000020 [ 800.284818] x23: ffffff8040238b08 x22: 0000000000000570 x21: 0000000000000158 [ 800.291948] x20: 0000000000000000 x19: ffffff8040238000 x18: 0000000000000000 [ 800.299078] x17: ffffffa8c1bd2000 x16: ffffffc080000000 x15: 0000000000000000 [ 800.306208] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 [ 800.313338] x11: 0000000000000040 x10: 0000000000001a40 x9 : ffffffd83b39757c [ 800.320468] x8 : ffffffd842786420 x7 : 7fffffffffffffff x6 : 0000000000ef32b0 [ 800.327598] x5 : 00ffffffffffffff x4 : 0000000000000015 x3 : ffffffd842784980 [ 800.334728] x2 : 0000000000000004 x1 : 0000000000010002 x0 : 000000ba4c0ca382 [ 800.341859] Call trace: [ 800.344294] v3d_job_update_stats+0x60/0x130 [v3d] [ 800.349086] v3d_irq+0x124/0x2e0 [v3d] [ 800.352835] __handle_irq_event_percpu+0x58/0x218 [ 800.357539] handle_irq_event+0x54/0xb8 [ 800.361369] handle_fasteoi_irq+0xac/0x240 [ 800.365458] handle_irq_desc+0x48/0x68 [ 800.369200] generic_handle_domain_irq+0x24/0x38 [ 800.373810] gic_handle_irq+0x48/0xd8 [ 800.377464] call_on_irq_stack+0x24/0x58 [ 800.381379] do_interrupt_handler+0x88/0x98 [ 800.385554] el1_interrupt+0x34/0x68 [ 800.389123] el1h_64_irq_handler+0x18/0x28 [ 800.393211] el1h_64_irq+0x64/0x68 [ 800.396603] default_idle_call+0x3c/0x168 [ 800.400606] do_idle+0x1fc/0x230 [ 800.403827] cpu_startup_entry+0x40/0x50 [ 800.407742] rest_init+0xe4/0xf0 [ 800.410962] start_kernel+0x5e8/0x790 [ 800.414616] __primary_switched+0x80/0x90 [ 800.418622] Code: 8b170277 8b160296 11000421 b9000861 (b9401ac1) [ 800.424707] ---[ end trace 0000000000000000 ]--- [ 800.457313] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]--- This issue happens when the file descriptor is closed before the jobs submitted by it are completed. When the job completes, we update the global GPU stats and the per-fd GPU stats, which are exposed through fdinfo. If the file descriptor was closed, then the struct `v3d_file_priv` and its stats were already freed and we can't update the per-fd stats. Therefore, if the file descriptor was already closed, don't u ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: Revert atm_account_tx() if copy_from_iter_full() fails. In vcc_sendmsg(), we account skb->truesize to sk->sk_wmem_alloc by atm_account_tx(). It is expected to be reverted by atm_pop_raw() later called by vcc->dev->ops->send(vcc, skb). However, vcc_sendmsg() misses the same revert when copy_from_iter_full() fails, and then we will leak a socket. Let's factorise the revert part as atm_return_tx() and call it in the failure path. Note that the corresponding sk_wmem_alloc operation can be found in alloc_tx() as of the blamed commit. $ git blame -L:alloc_tx net/atm/common.c c55fa3cccbc2c~


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: sch_sfq: reject invalid perturb period Gerrard Tai reported that SFQ perturb_period has no range check yet, and this can be used to trigger a race condition fixed in a separate patch. We want to make sure ctl->perturb_period * HZ will not overflow and is positive. tc qd add dev lo root sfq perturb -10 # negative value : error Error: sch_sfq: invalid perturb period. tc qd add dev lo root sfq perturb 1000000000 # too big : error Error: sch_sfq: invalid perturb period. tc qd add dev lo root sfq perturb 2000000 # acceptable value tc -s -d qd sh dev lo qdisc sfq 8005: root refcnt 2 limit 127p quantum 64Kb depth 127 flows 128 divisor 1024 perturb 2000000sec Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell_rbu: Fix list usage Pass the correct list head to list_for_each_entry*() when looping through the packet list. Without this patch, reading the packet data via sysfs will show the data incorrectly (because it starts at the wrong packet), and clearing the packet list will result in a NULL pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbcon: Make sure modelist not set on unregistered console It looks like attempting to write to the "store_modes" sysfs node will run afoul of unregistered consoles: UBSAN: array-index-out-of-bounds in drivers/video/fbdev/core/fbcon.c:122:28 index -1 is out of range for type 'fb_info *[32]' ... fbcon_info_from_console+0x192/0x1a0 drivers/video/fbdev/core/fbcon.c:122 fbcon_new_modelist+0xbf/0x2d0 drivers/video/fbdev/core/fbcon.c:3048 fb_new_modelist+0x328/0x440 drivers/video/fbdev/core/fbmem.c:673 store_modes+0x1c9/0x3e0 drivers/video/fbdev/core/fbsysfs.c:113 dev_attr_store+0x55/0x80 drivers/base/core.c:2439 static struct fb_info *fbcon_registered_fb[FB_MAX]; ... static signed char con2fb_map[MAX_NR_CONSOLES]; ... static struct fb_info *fbcon_info_from_console(int console) ... return fbcon_registered_fb[con2fb_map[console]]; If con2fb_map contains a -1 things go wrong here. Instead, return NULL, as callers of fbcon_info_from_console() are trying to compare against existing "info" pointers, so error handling should kick in correctly.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo: clamp maximum map bucket size to INT_MAX Otherwise, it is possible to hit WARN_ON_ONCE in __kvmalloc_node_noprof() when resizing hashtable because __GFP_NOWARN is unset. Similar to: b541ba7d1f5a ("netfilter: conntrack: clamp maximum hashtable size to INT_MAX")


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Avoid divide by zero by initializing dummy pitch to 1 [Why] If the dummy values in `populate_dummy_dml_surface_cfg()` aren't updated then they can lead to a divide by zero in downstream callers like CalculateVMAndRowBytes() [How] Initialize dummy value to a value to avoid divide by zero.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: add NULL check in automount_fullpath page is checked for null in __build_path_from_dentry_optional_prefix when tcon->origin_fullpath is not set. However, the check is missing when it is set. Add a check to prevent a potential NULL pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvme-tcp: remove tag set when second admin queue config fails Commit 104d0e2f6222 ("nvme-fabrics: reset admin connection for secure concatenation") modified nvme_tcp_setup_ctrl() to call nvme_tcp_configure_admin_queue() twice. The first call prepares for DH-CHAP negotitation, and the second call is required for secure concatenation. However, this change triggered BUG KASAN slab-use-after- free in blk_mq_queue_tag_busy_iter(). This BUG can be recreated by repeating the blktests test case nvme/063 a few times [1]. When the BUG happens, nvme_tcp_create_ctrl() fails in the call chain below: nvme_tcp_create_ctrl() nvme_tcp_alloc_ctrl() new=true ... Alloc nvme_tcp_ctrl and admin_tag_set nvme_tcp_setup_ctrl() new=true nvme_tcp_configure_admin_queue() new=true ... Succeed nvme_alloc_admin_tag_set() ... Alloc the tag set for admin_tag_set nvme_stop_keep_alive() nvme_tcp_teardown_admin_queue() remove=false nvme_tcp_configure_admin_queue() new=false nvme_tcp_alloc_admin_queue() ... Fail, but do not call nvme_remove_admin_tag_set() nvme_uninit_ctrl() nvme_put_ctrl() ... Free up the nvme_tcp_ctrl and admin_tag_set The first call of nvme_tcp_configure_admin_queue() succeeds with new=true argument. The second call fails with new=false argument. This second call does not call nvme_remove_admin_tag_set() on failure, due to the new=false argument. Then the admin tag set is not removed. However, nvme_tcp_create_ctrl() assumes that nvme_tcp_setup_ctrl() would call nvme_remove_admin_tag_set(). Then it frees up struct nvme_tcp_ctrl which has admin_tag_set field. Later on, the timeout handler accesses the admin_tag_set field and causes the BUG KASAN slab-use-after-free. To not leave the admin tag set, call nvme_remove_admin_tag_set() when the second nvme_tcp_configure_admin_queue() call fails. Do not return from nvme_tcp_setup_ctrl() on failure. Instead, jump to "destroy_admin" go-to label to call nvme_tcp_teardown_admin_queue() which calls nvme_remove_admin_tag_set().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/iwcm: Fix use-after-free of work objects after cm_id destruction The commit 59c68ac31e15 ("iw_cm: free cm_id resources on the last deref") simplified cm_id resource management by freeing cm_id once all references to the cm_id were removed. The references are removed either upon completion of iw_cm event handlers or when the application destroys the cm_id. This commit introduced the use-after-free condition where cm_id_private object could still be in use by event handler works during the destruction of cm_id. The commit aee2424246f9 ("RDMA/iwcm: Fix a use-after-free related to destroying CM IDs") addressed this use-after- free by flushing all pending works at the cm_id destruction. However, still another use-after-free possibility remained. It happens with the work objects allocated for each cm_id_priv within alloc_work_entries() during cm_id creation, and subsequently freed in dealloc_work_entries() once all references to the cm_id are removed. If the cm_id's last reference is decremented in the event handler work, the work object for the work itself gets removed, and causes the use- after-free BUG below: BUG: KASAN: slab-use-after-free in __pwq_activate_work+0x1ff/0x250 Read of size 8 at addr ffff88811f9cf800 by task kworker/u16:1/147091 CPU: 2 UID: 0 PID: 147091 Comm: kworker/u16:1 Not tainted 6.15.0-rc2+ #27 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-3.fc41 04/01/2014 Workqueue: 0x0 (iw_cm_wq) Call Trace: <TASK> dump_stack_lvl+0x6a/0x90 print_report+0x174/0x554 ? __virt_addr_valid+0x208/0x430 ? __pwq_activate_work+0x1ff/0x250 kasan_report+0xae/0x170 ? __pwq_activate_work+0x1ff/0x250 __pwq_activate_work+0x1ff/0x250 pwq_dec_nr_in_flight+0x8c5/0xfb0 process_one_work+0xc11/0x1460 ? __pfx_process_one_work+0x10/0x10 ? assign_work+0x16c/0x240 worker_thread+0x5ef/0xfd0 ? __pfx_worker_thread+0x10/0x10 kthread+0x3b0/0x770 ? __pfx_kthread+0x10/0x10 ? rcu_is_watching+0x11/0xb0 ? _raw_spin_unlock_irq+0x24/0x50 ? rcu_is_watching+0x11/0xb0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x30/0x70 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> Allocated by task 147416: kasan_save_stack+0x2c/0x50 kasan_save_track+0x10/0x30 __kasan_kmalloc+0xa6/0xb0 alloc_work_entries+0xa9/0x260 [iw_cm] iw_cm_connect+0x23/0x4a0 [iw_cm] rdma_connect_locked+0xbfd/0x1920 [rdma_cm] nvme_rdma_cm_handler+0x8e5/0x1b60 [nvme_rdma] cma_cm_event_handler+0xae/0x320 [rdma_cm] cma_work_handler+0x106/0x1b0 [rdma_cm] process_one_work+0x84f/0x1460 worker_thread+0x5ef/0xfd0 kthread+0x3b0/0x770 ret_from_fork+0x30/0x70 ret_from_fork_asm+0x1a/0x30 Freed by task 147091: kasan_save_stack+0x2c/0x50 kasan_save_track+0x10/0x30 kasan_save_free_info+0x37/0x60 __kasan_slab_free+0x4b/0x70 kfree+0x13a/0x4b0 dealloc_work_entries+0x125/0x1f0 [iw_cm] iwcm_deref_id+0x6f/0xa0 [iw_cm] cm_work_handler+0x136/0x1ba0 [iw_cm] process_one_work+0x84f/0x1460 worker_thread+0x5ef/0xfd0 kthread+0x3b0/0x770 ret_from_fork+0x30/0x70 ret_from_fork_asm+0x1a/0x30 Last potentially related work creation: kasan_save_stack+0x2c/0x50 kasan_record_aux_stack+0xa3/0xb0 __queue_work+0x2ff/0x1390 queue_work_on+0x67/0xc0 cm_event_handler+0x46a/0x820 [iw_cm] siw_cm_upcall+0x330/0x650 [siw] siw_cm_work_handler+0x6b9/0x2b20 [siw] process_one_work+0x84f/0x1460 worker_thread+0x5ef/0xfd0 kthread+0x3b0/0x770 ret_from_fork+0x30/0x70 ret_from_fork_asm+0x1a/0x30 This BUG is reproducible by repeating the blktests test case nvme/061 for the rdma transport and the siw driver. To avoid the use-after-free of cm_id_private work objects, ensure that the last reference to the cm_id is decremented not in the event handler works, but in the cm_id destruction context. For that purpose, mo ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: Fix fb_set_var to prevent null-ptr-deref in fb_videomode_to_var If fb_add_videomode() in fb_set_var() fails to allocate memory for fb_videomode, later it may lead to a null-ptr dereference in fb_videomode_to_var(), as the fb_info is registered while not having the mode in modelist that is expected to be there, i.e. the one that is described in fb_info->var. ================================================================ general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 1 PID: 30371 Comm: syz-executor.1 Not tainted 5.10.226-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:fb_videomode_to_var+0x24/0x610 drivers/video/fbdev/core/modedb.c:901 Call Trace: display_to_var+0x3a/0x7c0 drivers/video/fbdev/core/fbcon.c:929 fbcon_resize+0x3e2/0x8f0 drivers/video/fbdev/core/fbcon.c:2071 resize_screen drivers/tty/vt/vt.c:1176 [inline] vc_do_resize+0x53a/0x1170 drivers/tty/vt/vt.c:1263 fbcon_modechanged+0x3ac/0x6e0 drivers/video/fbdev/core/fbcon.c:2720 fbcon_update_vcs+0x43/0x60 drivers/video/fbdev/core/fbcon.c:2776 do_fb_ioctl+0x6d2/0x740 drivers/video/fbdev/core/fbmem.c:1128 fb_ioctl+0xe7/0x150 drivers/video/fbdev/core/fbmem.c:1203 vfs_ioctl fs/ioctl.c:48 [inline] __do_sys_ioctl fs/ioctl.c:753 [inline] __se_sys_ioctl fs/ioctl.c:739 [inline] __x64_sys_ioctl+0x19a/0x210 fs/ioctl.c:739 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x67/0xd1 ================================================================ The reason is that fb_info->var is being modified in fb_set_var(), and then fb_videomode_to_var() is called. If it fails to add the mode to fb_info->modelist, fb_set_var() returns error, but does not restore the old value of fb_info->var. Restore fb_info->var on failure the same way it is done earlier in the function. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: Fix do_register_framebuffer to prevent null-ptr-deref in fb_videomode_to_var If fb_add_videomode() in do_register_framebuffer() fails to allocate memory for fb_videomode, it will later lead to a null-ptr dereference in fb_videomode_to_var(), as the fb_info is registered while not having the mode in modelist that is expected to be there, i.e. the one that is described in fb_info->var. ================================================================ general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 1 PID: 30371 Comm: syz-executor.1 Not tainted 5.10.226-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:fb_videomode_to_var+0x24/0x610 drivers/video/fbdev/core/modedb.c:901 Call Trace: display_to_var+0x3a/0x7c0 drivers/video/fbdev/core/fbcon.c:929 fbcon_resize+0x3e2/0x8f0 drivers/video/fbdev/core/fbcon.c:2071 resize_screen drivers/tty/vt/vt.c:1176 [inline] vc_do_resize+0x53a/0x1170 drivers/tty/vt/vt.c:1263 fbcon_modechanged+0x3ac/0x6e0 drivers/video/fbdev/core/fbcon.c:2720 fbcon_update_vcs+0x43/0x60 drivers/video/fbdev/core/fbcon.c:2776 do_fb_ioctl+0x6d2/0x740 drivers/video/fbdev/core/fbmem.c:1128 fb_ioctl+0xe7/0x150 drivers/video/fbdev/core/fbmem.c:1203 vfs_ioctl fs/ioctl.c:48 [inline] __do_sys_ioctl fs/ioctl.c:753 [inline] __se_sys_ioctl fs/ioctl.c:739 [inline] __x64_sys_ioctl+0x19a/0x210 fs/ioctl.c:739 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x67/0xd1 ================================================================ Even though fbcon_init() checks beforehand if fb_match_mode() in var_to_display() fails, it can not prevent the panic because fbcon_init() does not return error code. Considering this and the comment in the code about fb_match_mode() returning NULL - "This should not happen" - it is better to prevent registering the fb_info if its mode was not set successfully. Also move fb_add_videomode() closer to the beginning of do_register_framebuffer() to avoid having to do the cleanup on fail. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Restore context entry setup order for aliased devices Commit 2031c469f816 ("iommu/vt-d: Add support for static identity domain") changed the context entry setup during domain attachment from a set-and-check policy to a clear-and-reset approach. This inadvertently introduced a regression affecting PCI aliased devices behind PCIe-to-PCI bridges. Specifically, keyboard and touchpad stopped working on several Apple Macbooks with below messages: kernel: platform pxa2xx-spi.3: Adding to iommu group 20 kernel: input: Apple SPI Keyboard as /devices/pci0000:00/0000:00:1e.3/pxa2xx-spi.3/spi_master/spi2/spi-APP000D:00/input/input0 kernel: DMAR: DRHD: handling fault status reg 3 kernel: DMAR: [DMA Read NO_PASID] Request device [00:1e.3] fault addr 0xffffa000 [fault reason 0x06] PTE Read access is not set kernel: DMAR: DRHD: handling fault status reg 3 kernel: DMAR: [DMA Read NO_PASID] Request device [00:1e.3] fault addr 0xffffa000 [fault reason 0x06] PTE Read access is not set kernel: applespi spi-APP000D:00: Error writing to device: 01 0e 00 00 kernel: DMAR: DRHD: handling fault status reg 3 kernel: DMAR: [DMA Read NO_PASID] Request device [00:1e.3] fault addr 0xffffa000 [fault reason 0x06] PTE Read access is not set kernel: DMAR: DRHD: handling fault status reg 3 kernel: applespi spi-APP000D:00: Error writing to device: 01 0e 00 00 Fix this by restoring the previous context setup order.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (ftsteutates) Fix TOCTOU race in fts_read() In the fts_read() function, when handling hwmon_pwm_auto_channels_temp, the code accesses the shared variable data->fan_source[channel] twice without holding any locks. It is first checked against FTS_FAN_SOURCE_INVALID, and if the check passes, it is read again when used as an argument to the BIT() macro. This creates a Time-of-Check to Time-of-Use (TOCTOU) race condition. Another thread executing fts_update_device() can modify the value of data->fan_source[channel] between the check and its use. If the value is changed to FTS_FAN_SOURCE_INVALID (0xff) during this window, the BIT() macro will be called with a large shift value (BIT(255)). A bit shift by a value greater than or equal to the type width is undefined behavior and can lead to a crash or incorrect values being returned to userspace. Fix this by reading data->fan_source[channel] into a local variable once, eliminating the race condition. Additionally, add a bounds check to ensure the value is less than BITS_PER_LONG before passing it to the BIT() macro, making the code more robust against undefined behavior. This possible bug was found by an experimental static analysis tool developed by our team.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: only dirty folios when data journaling regular files fstest generic/388 occasionally reproduces a crash that looks as follows: BUG: kernel NULL pointer dereference, address: 0000000000000000 ... Call Trace: <TASK> ext4_block_zero_page_range+0x30c/0x380 [ext4] ext4_truncate+0x436/0x440 [ext4] ext4_process_orphan+0x5d/0x110 [ext4] ext4_orphan_cleanup+0x124/0x4f0 [ext4] ext4_fill_super+0x262d/0x3110 [ext4] get_tree_bdev_flags+0x132/0x1d0 vfs_get_tree+0x26/0xd0 vfs_cmd_create+0x59/0xe0 __do_sys_fsconfig+0x4ed/0x6b0 do_syscall_64+0x82/0x170 ... This occurs when processing a symlink inode from the orphan list. The partial block zeroing code in the truncate path calls ext4_dirty_journalled_data() -> folio_mark_dirty(). The latter calls mapping->a_ops->dirty_folio(), but symlink inodes are not assigned an a_ops vector in ext4, hence the crash. To avoid this problem, update the ext4_dirty_journalled_data() helper to only mark the folio dirty on regular files (for which a_ops is assigned). This also matches the journaling logic in the ext4_symlink() creation path, where ext4_handle_dirty_metadata() is called directly.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: inline: fix len overflow in ext4_prepare_inline_data When running the following code on an ext4 filesystem with inline_data feature enabled, it will lead to the bug below. fd = open("file1", O_RDWR | O_CREAT | O_TRUNC, 0666); ftruncate(fd, 30); pwrite(fd, "a", 1, (1UL << 40) + 5UL); That happens because write_begin will succeed as when ext4_generic_write_inline_data calls ext4_prepare_inline_data, pos + len will be truncated, leading to ext4_prepare_inline_data parameter to be 6 instead of 0x10000000006. Then, later when write_end is called, we hit: BUG_ON(pos + len > EXT4_I(inode)->i_inline_size); at ext4_write_inline_data. Fix it by using a loff_t type for the len parameter in ext4_prepare_inline_data instead of an unsigned int. [ 44.545164] ------------[ cut here ]------------ [ 44.545530] kernel BUG at fs/ext4/inline.c:240! [ 44.545834] Oops: invalid opcode: 0000 [#1] SMP NOPTI [ 44.546172] CPU: 3 UID: 0 PID: 343 Comm: test Not tainted 6.15.0-rc2-00003-g9080916f4863 #45 PREEMPT(full) 112853fcebfdb93254270a7959841d2c6aa2c8bb [ 44.546523] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 44.546523] RIP: 0010:ext4_write_inline_data+0xfe/0x100 [ 44.546523] Code: 3c 0e 48 83 c7 48 48 89 de 5b 41 5c 41 5d 41 5e 41 5f 5d e9 e4 fa 43 01 5b 41 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc 0f 0b <0f> 0b 0f 1f 44 00 00 55 41 57 41 56 41 55 41 54 53 48 83 ec 20 49 [ 44.546523] RSP: 0018:ffffb342008b79a8 EFLAGS: 00010216 [ 44.546523] RAX: 0000000000000001 RBX: ffff9329c579c000 RCX: 0000010000000006 [ 44.546523] RDX: 000000000000003c RSI: ffffb342008b79f0 RDI: ffff9329c158e738 [ 44.546523] RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000000 [ 44.546523] R10: 00007ffffffff000 R11: ffffffff9bd0d910 R12: 0000006210000000 [ 44.546523] R13: fffffc7e4015e700 R14: 0000010000000005 R15: ffff9329c158e738 [ 44.546523] FS: 00007f4299934740(0000) GS:ffff932a60179000(0000) knlGS:0000000000000000 [ 44.546523] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 44.546523] CR2: 00007f4299a1ec90 CR3: 0000000002886002 CR4: 0000000000770eb0 [ 44.546523] PKRU: 55555554 [ 44.546523] Call Trace: [ 44.546523] <TASK> [ 44.546523] ext4_write_inline_data_end+0x126/0x2d0 [ 44.546523] generic_perform_write+0x17e/0x270 [ 44.546523] ext4_buffered_write_iter+0xc8/0x170 [ 44.546523] vfs_write+0x2be/0x3e0 [ 44.546523] __x64_sys_pwrite64+0x6d/0xc0 [ 44.546523] do_syscall_64+0x6a/0xf0 [ 44.546523] ? __wake_up+0x89/0xb0 [ 44.546523] ? xas_find+0x72/0x1c0 [ 44.546523] ? next_uptodate_folio+0x317/0x330 [ 44.546523] ? set_pte_range+0x1a6/0x270 [ 44.546523] ? filemap_map_pages+0x6ee/0x840 [ 44.546523] ? ext4_setattr+0x2fa/0x750 [ 44.546523] ? do_pte_missing+0x128/0xf70 [ 44.546523] ? security_inode_post_setattr+0x3e/0xd0 [ 44.546523] ? ___pte_offset_map+0x19/0x100 [ 44.546523] ? handle_mm_fault+0x721/0xa10 [ 44.546523] ? do_user_addr_fault+0x197/0x730 [ 44.546523] ? do_syscall_64+0x76/0xf0 [ 44.546523] ? arch_exit_to_user_mode_prepare+0x1e/0x60 [ 44.546523] ? irqentry_exit_to_user_mode+0x79/0x90 [ 44.546523] entry_SYSCALL_64_after_hwframe+0x55/0x5d [ 44.546523] RIP: 0033:0x7f42999c6687 [ 44.546523] Code: 48 89 fa 4c 89 df e8 58 b3 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff [ 44.546523] RSP: 002b:00007ffeae4a7930 EFLAGS: 00000202 ORIG_RAX: 0000000000000012 [ 44.546523] RAX: ffffffffffffffda RBX: 00007f4299934740 RCX: 00007f42999c6687 [ 44.546523] RDX: 0000000000000001 RSI: 000055ea6149200f RDI: 0000000000000003 [ 44.546523] RBP: 00007ffeae4a79a0 R08: 0000000000000000 R09: 0000000000000000 [ 44.546523] R10: 0000010000000005 R11: 0000000000000202 R12: 0000 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: kvaser_pciefd: refine error prone echo_skb_max handling logic echo_skb_max should define the supported upper limit of echo_skb[] allocated inside the netdevice's priv. The corresponding size value provided by this driver to alloc_candev() is KVASER_PCIEFD_CAN_TX_MAX_COUNT which is 17. But later echo_skb_max is rounded up to the nearest power of two (for the max case, that would be 32) and the tx/ack indices calculated further during tx/rx may exceed the upper array boundary. Kasan reported this for the ack case inside kvaser_pciefd_handle_ack_packet(), though the xmit function has actually caught the same thing earlier. BUG: KASAN: slab-out-of-bounds in kvaser_pciefd_handle_ack_packet+0x2d7/0x92a drivers/net/can/kvaser_pciefd.c:1528 Read of size 8 at addr ffff888105e4f078 by task swapper/4/0 CPU: 4 UID: 0 PID: 0 Comm: swapper/4 Not tainted 6.15.0 #12 PREEMPT(voluntary) Call Trace: <IRQ> dump_stack_lvl lib/dump_stack.c:122 print_report mm/kasan/report.c:521 kasan_report mm/kasan/report.c:634 kvaser_pciefd_handle_ack_packet drivers/net/can/kvaser_pciefd.c:1528 kvaser_pciefd_read_packet drivers/net/can/kvaser_pciefd.c:1605 kvaser_pciefd_read_buffer drivers/net/can/kvaser_pciefd.c:1656 kvaser_pciefd_receive_irq drivers/net/can/kvaser_pciefd.c:1684 kvaser_pciefd_irq_handler drivers/net/can/kvaser_pciefd.c:1733 __handle_irq_event_percpu kernel/irq/handle.c:158 handle_irq_event kernel/irq/handle.c:210 handle_edge_irq kernel/irq/chip.c:833 __common_interrupt arch/x86/kernel/irq.c:296 common_interrupt arch/x86/kernel/irq.c:286 </IRQ> Tx max count definitely matters for kvaser_pciefd_tx_avail(), but for seq numbers' generation that's not the case - we're free to calculate them as would be more convenient, not taking tx max count into account. The only downside is that the size of echo_skb[] should correspond to the max seq number (not tx max count), so in some situations a bit more memory would be consumed than could be. Thus make the size of the underlying echo_skb[] sufficient for the rounded max tx value. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: imx-jpeg: Cleanup after an allocation error When allocation failures are not cleaned up by the driver, further allocation errors will be false-positives, which will cause buffers to remain uninitialized and cause NULL pointer dereferences. Ensure proper cleanup of failed allocations to prevent these issues.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: vivid: Change the siize of the composing syzkaller found a bug: BUG: KASAN: vmalloc-out-of-bounds in tpg_fill_plane_pattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline] BUG: KASAN: vmalloc-out-of-bounds in tpg_fill_plane_buffer+0x1a9c/0x5af0 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2705 Write of size 1440 at addr ffffc9000d0ffda0 by task vivid-000-vid-c/5304 CPU: 0 UID: 0 PID: 5304 Comm: vivid-000-vid-c Not tainted 6.14.0-rc2-syzkaller-00039-g09fbf3d50205 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 kasan_check_range+0x282/0x290 mm/kasan/generic.c:189 __asan_memcpy+0x40/0x70 mm/kasan/shadow.c:106 tpg_fill_plane_pattern drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2608 [inline] tpg_fill_plane_buffer+0x1a9c/0x5af0 drivers/media/common/v4l2-tpg/v4l2-tpg-core.c:2705 vivid_fillbuff drivers/media/test-drivers/vivid/vivid-kthread-cap.c:470 [inline] vivid_thread_vid_cap_tick+0xf8e/0x60d0 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:629 vivid_thread_vid_cap+0x8aa/0xf30 drivers/media/test-drivers/vivid/vivid-kthread-cap.c:767 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> The composition size cannot be larger than the size of fmt_cap_rect. So execute v4l2_rect_map_inside() even if has_compose_cap == 0.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: vidtv: Terminating the subsequent process of initialization failure syzbot reported a slab-use-after-free Read in vidtv_mux_init. [1] After PSI initialization fails, the si member is accessed again, resulting in this uaf. After si initialization fails, the subsequent process needs to be exited. [1] BUG: KASAN: slab-use-after-free in vidtv_mux_pid_ctx_init drivers/media/test-drivers/vidtv/vidtv_mux.c:78 [inline] BUG: KASAN: slab-use-after-free in vidtv_mux_init+0xac2/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:524 Read of size 8 at addr ffff88802fa42acc by task syz.2.37/6059 CPU: 0 UID: 0 PID: 6059 Comm: syz.2.37 Not tainted 6.14.0-rc5-syzkaller #0 Hardware name: Google Compute Engine, BIOS Google 02/12/2025 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xc3/0x670 mm/kasan/report.c:521 kasan_report+0xd9/0x110 mm/kasan/report.c:634 vidtv_mux_pid_ctx_init drivers/media/test-drivers/vidtv/vidtv_mux.c:78 vidtv_mux_init+0xac2/0xbe0 drivers/media/test-drivers/vidtv/vidtv_mux.c:524 vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194 vidtv_start_feed drivers/media/test-drivers/vidtv/vidtv_bridge.c:239 dmx_section_feed_start_filtering drivers/media/dvb-core/dvb_demux.c:973 dvb_dmxdev_feed_start drivers/media/dvb-core/dmxdev.c:508 [inline] dvb_dmxdev_feed_restart.isra.0 drivers/media/dvb-core/dmxdev.c:537 dvb_dmxdev_filter_stop+0x2b4/0x3a0 drivers/media/dvb-core/dmxdev.c:564 dvb_dmxdev_filter_free drivers/media/dvb-core/dmxdev.c:840 [inline] dvb_demux_release+0x92/0x550 drivers/media/dvb-core/dmxdev.c:1246 __fput+0x3ff/0xb70 fs/file_table.c:464 task_work_run+0x14e/0x250 kernel/task_work.c:227 exit_task_work include/linux/task_work.h:40 [inline] do_exit+0xad8/0x2d70 kernel/exit.c:938 do_group_exit+0xd3/0x2a0 kernel/exit.c:1087 __do_sys_exit_group kernel/exit.c:1098 [inline] __se_sys_exit_group kernel/exit.c:1096 [inline] __x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1096 x64_sys_call+0x151f/0x1720 arch/x86/include/generated/asm/syscalls_64.h:232 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f871d58d169 Code: Unable to access opcode bytes at 0x7f871d58d13f. RSP: 002b:00007fff4b19a788 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f871d58d169 RDX: 0000000000000064 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 00007fff4b19a7ec R08: 0000000b4b19a87f R09: 00000000000927c0 R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000003 R13: 00000000000927c0 R14: 000000000001d553 R15: 00007fff4b19a840 </TASK> Allocated by task 6059: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:394 kmalloc_noprof include/linux/slab.h:901 [inline] kzalloc_noprof include/linux/slab.h:1037 [inline] vidtv_psi_pat_table_init drivers/media/test-drivers/vidtv/vidtv_psi.c:970 vidtv_channel_si_init drivers/media/test-drivers/vidtv/vidtv_channel.c:423 vidtv_mux_init drivers/media/test-drivers/vidtv/vidtv_mux.c:519 vidtv_start_streaming drivers/media/test-drivers/vidtv/vidtv_bridge.c:194 vidtv_start_feed drivers/media/test-drivers/vidtv/vidtv_bridge.c:239 dmx_section_feed_start_filtering drivers/media/dvb-core/dvb_demux.c:973 dvb_dmxdev_feed_start drivers/media/dvb-core/dmxdev.c:508 [inline] dvb_dmxdev_feed_restart.isra.0 drivers/media/dvb-core/dmxdev.c:537 dvb_dmxdev_filter_stop+0x2b4/0x3a0 drivers/media/dvb-core/dmxdev.c:564 dvb_dmxdev_filter_free drivers/media/dvb-core/dmxdev.c:840 [inline] dvb_demux_release+0x92/0x550 drivers/media/dvb-core/dmxdev.c:1246 __fput+0x3ff/0xb70 fs/file_tabl ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: imagination: fix a potential memory leak in e5010_probe() Add video_device_release() to release the memory allocated by video_device_alloc() if something goes wrong.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cxusb: no longer judge rbuf when the write fails syzbot reported a uninit-value in cxusb_i2c_xfer. [1] Only when the write operation of usb_bulk_msg() in dvb_usb_generic_rw() succeeds and rlen is greater than 0, the read operation of usb_bulk_msg() will be executed to read rlen bytes of data from the dvb device into the rbuf. In this case, although rlen is 1, the write operation failed which resulted in the dvb read operation not being executed, and ultimately variable i was not initialized. [1] BUG: KMSAN: uninit-value in cxusb_gpio_tuner drivers/media/usb/dvb-usb/cxusb.c:124 [inline] BUG: KMSAN: uninit-value in cxusb_i2c_xfer+0x153a/0x1a60 drivers/media/usb/dvb-usb/cxusb.c:196 cxusb_gpio_tuner drivers/media/usb/dvb-usb/cxusb.c:124 [inline] cxusb_i2c_xfer+0x153a/0x1a60 drivers/media/usb/dvb-usb/cxusb.c:196 __i2c_transfer+0xe25/0x3150 drivers/i2c/i2c-core-base.c:-1 i2c_transfer+0x317/0x4a0 drivers/i2c/i2c-core-base.c:2315 i2c_transfer_buffer_flags+0x125/0x1e0 drivers/i2c/i2c-core-base.c:2343 i2c_master_send include/linux/i2c.h:109 [inline] i2cdev_write+0x210/0x280 drivers/i2c/i2c-dev.c:183 do_loop_readv_writev fs/read_write.c:848 [inline] vfs_writev+0x963/0x14e0 fs/read_write.c:1057 do_writev+0x247/0x5c0 fs/read_write.c:1101 __do_sys_writev fs/read_write.c:1169 [inline] __se_sys_writev fs/read_write.c:1166 [inline] __x64_sys_writev+0x98/0xe0 fs/read_write.c:1166 x64_sys_call+0x2229/0x3c80 arch/x86/include/generated/asm/syscalls_64.h:21 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x1e0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: Initialize ssc before laundromat_work to prevent NULL dereference In nfs4_state_start_net(), laundromat_work may access nfsd_ssc through nfs4_laundromat -> nfsd4_ssc_expire_umount. If nfsd_ssc isn't initialized, this can cause NULL pointer dereference. Normally the delayed start of laundromat_work allows sufficient time for nfsd_ssc initialization to complete. However, when the kernel waits too long for userspace responses (e.g. in nfs4_state_start_net -> nfsd4_end_grace -> nfsd4_record_grace_done -> nfsd4_cld_grace_done -> cld_pipe_upcall -> __cld_pipe_upcall -> wait_for_completion path), the delayed work may start before nfsd_ssc initialization finishes. Fix this by moving nfsd_ssc initialization before starting laundromat_work.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSD: fix race between nfsd registration and exports_proc As of now nfsd calls create_proc_exports_entry() at start of init_nfsd and cleanup by remove_proc_entry() at last of exit_nfsd. Which causes kernel OOPs if there is race between below 2 operations: (i) exportfs -r (ii) mount -t nfsd none /proc/fs/nfsd for 5.4 kernel ARM64: CPU 1: el1_irq+0xbc/0x180 arch_counter_get_cntvct+0x14/0x18 running_clock+0xc/0x18 preempt_count_add+0x88/0x110 prep_new_page+0xb0/0x220 get_page_from_freelist+0x2d8/0x1778 __alloc_pages_nodemask+0x15c/0xef0 __vmalloc_node_range+0x28c/0x478 __vmalloc_node_flags_caller+0x8c/0xb0 kvmalloc_node+0x88/0xe0 nfsd_init_net+0x6c/0x108 [nfsd] ops_init+0x44/0x170 register_pernet_operations+0x114/0x270 register_pernet_subsys+0x34/0x50 init_nfsd+0xa8/0x718 [nfsd] do_one_initcall+0x54/0x2e0 CPU 2 : Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 PC is at : exports_net_open+0x50/0x68 [nfsd] Call trace: exports_net_open+0x50/0x68 [nfsd] exports_proc_open+0x2c/0x38 [nfsd] proc_reg_open+0xb8/0x198 do_dentry_open+0x1c4/0x418 vfs_open+0x38/0x48 path_openat+0x28c/0xf18 do_filp_open+0x70/0xe8 do_sys_open+0x154/0x248 Sometimes it crashes at exports_net_open() and sometimes cache_seq_next_rcu(). and same is happening on latest 6.14 kernel as well: [ 0.000000] Linux version 6.14.0-rc5-next-20250304-dirty ... [ 285.455918] Unable to handle kernel paging request at virtual address 00001f4800001f48 ... [ 285.464902] pc : cache_seq_next_rcu+0x78/0xa4 ... [ 285.469695] Call trace: [ 285.470083] cache_seq_next_rcu+0x78/0xa4 (P) [ 285.470488] seq_read+0xe0/0x11c [ 285.470675] proc_reg_read+0x9c/0xf0 [ 285.470874] vfs_read+0xc4/0x2fc [ 285.471057] ksys_read+0x6c/0xf4 [ 285.471231] __arm64_sys_read+0x1c/0x28 [ 285.471428] invoke_syscall+0x44/0x100 [ 285.471633] el0_svc_common.constprop.0+0x40/0xe0 [ 285.471870] do_el0_svc_compat+0x1c/0x34 [ 285.472073] el0_svc_compat+0x2c/0x80 [ 285.472265] el0t_32_sync_handler+0x90/0x140 [ 285.472473] el0t_32_sync+0x19c/0x1a0 [ 285.472887] Code: f9400885 93407c23 937d7c27 11000421 (f86378a3) [ 285.473422] ---[ end trace 0000000000000000 ]--- It reproduced simply with below script: while [ 1 ] do /exportfs -r done & while [ 1 ] do insmod /nfsd.ko mount -t nfsd none /proc/fs/nfsd umount /proc/fs/nfsd rmmod nfsd done & So exporting interfaces to user space shall be done at last and cleanup at first place. With change there is no Kernel OOPs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powerpc64/ftrace: fix clobbered r15 during livepatching While r15 is clobbered always with PPC_FTRACE_OUT_OF_LINE, it is not restored in livepatch sequence leading to not so obvious fails like below: BUG: Unable to handle kernel data access on write at 0xc0000000000f9078 Faulting instruction address: 0xc0000000018ff958 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP: c0000000018ff958 LR: c0000000018ff930 CTR: c0000000009c0790 REGS: c00000005f2e7790 TRAP: 0300 Tainted: G K (6.14.0+) MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 2822880b XER: 20040000 CFAR: c0000000008addc0 DAR: c0000000000f9078 DSISR: 0a000000 IRQMASK: 1 GPR00: c0000000018f2584 c00000005f2e7a30 c00000000280a900 c000000017ffa488 GPR04: 0000000000000008 0000000000000000 c0000000018f24fc 000000000000000d GPR08: fffffffffffe0000 000000000000000d 0000000000000000 0000000000008000 GPR12: c0000000009c0790 c000000017ffa480 c00000005f2e7c78 c0000000000f9070 GPR16: c00000005f2e7c90 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 c00000005f3efa80 c00000005f2e7c60 c00000005f2e7c88 GPR24: c00000005f2e7c60 0000000000000001 c0000000000f9078 0000000000000000 GPR28: 00007fff97960000 c000000017ffa480 0000000000000000 c0000000000f9078 ... Call Trace: check_heap_object+0x34/0x390 (unreliable) __mutex_unlock_slowpath.isra.0+0xe4/0x230 seq_read_iter+0x430/0xa90 proc_reg_read_iter+0xa4/0x200 vfs_read+0x41c/0x510 ksys_read+0xa4/0x190 system_call_exception+0x1d0/0x440 system_call_vectored_common+0x15c/0x2ec Fix it by restoring r15 always.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched/rt: Fix race in push_rt_task Overview ======== When a CPU chooses to call push_rt_task and picks a task to push to another CPU's runqueue then it will call find_lock_lowest_rq method which would take a double lock on both CPUs' runqueues. If one of the locks aren't readily available, it may lead to dropping the current runqueue lock and reacquiring both the locks at once. During this window it is possible that the task is already migrated and is running on some other CPU. These cases are already handled. However, if the task is migrated and has already been executed and another CPU is now trying to wake it up (ttwu) such that it is queued again on the runqeue (on_rq is 1) and also if the task was run by the same CPU, then the current checks will pass even though the task was migrated out and is no longer in the pushable tasks list. Crashes ======= This bug resulted in quite a few flavors of crashes triggering kernel panics with various crash signatures such as assert failures, page faults, null pointer dereferences, and queue corruption errors all coming from scheduler itself. Some of the crashes: -> kernel BUG at kernel/sched/rt.c:1616! BUG_ON(idx >= MAX_RT_PRIO) Call Trace: ? __die_body+0x1a/0x60 ? die+0x2a/0x50 ? do_trap+0x85/0x100 ? pick_next_task_rt+0x6e/0x1d0 ? do_error_trap+0x64/0xa0 ? pick_next_task_rt+0x6e/0x1d0 ? exc_invalid_op+0x4c/0x60 ? pick_next_task_rt+0x6e/0x1d0 ? asm_exc_invalid_op+0x12/0x20 ? pick_next_task_rt+0x6e/0x1d0 __schedule+0x5cb/0x790 ? update_ts_time_stats+0x55/0x70 schedule_idle+0x1e/0x40 do_idle+0x15e/0x200 cpu_startup_entry+0x19/0x20 start_secondary+0x117/0x160 secondary_startup_64_no_verify+0xb0/0xbb -> BUG: kernel NULL pointer dereference, address: 00000000000000c0 Call Trace: ? __die_body+0x1a/0x60 ? no_context+0x183/0x350 ? __warn+0x8a/0xe0 ? exc_page_fault+0x3d6/0x520 ? asm_exc_page_fault+0x1e/0x30 ? pick_next_task_rt+0xb5/0x1d0 ? pick_next_task_rt+0x8c/0x1d0 __schedule+0x583/0x7e0 ? update_ts_time_stats+0x55/0x70 schedule_idle+0x1e/0x40 do_idle+0x15e/0x200 cpu_startup_entry+0x19/0x20 start_secondary+0x117/0x160 secondary_startup_64_no_verify+0xb0/0xbb -> BUG: unable to handle page fault for address: ffff9464daea5900 kernel BUG at kernel/sched/rt.c:1861! BUG_ON(rq->cpu != task_cpu(p)) -> kernel BUG at kernel/sched/rt.c:1055! BUG_ON(!rq->nr_running) Call Trace: ? __die_body+0x1a/0x60 ? die+0x2a/0x50 ? do_trap+0x85/0x100 ? dequeue_top_rt_rq+0xa2/0xb0 ? do_error_trap+0x64/0xa0 ? dequeue_top_rt_rq+0xa2/0xb0 ? exc_invalid_op+0x4c/0x60 ? dequeue_top_rt_rq+0xa2/0xb0 ? asm_exc_invalid_op+0x12/0x20 ? dequeue_top_rt_rq+0xa2/0xb0 dequeue_rt_entity+0x1f/0x70 dequeue_task_rt+0x2d/0x70 __schedule+0x1a8/0x7e0 ? blk_finish_plug+0x25/0x40 schedule+0x3c/0xb0 futex_wait_queue_me+0xb6/0x120 futex_wait+0xd9/0x240 do_futex+0x344/0xa90 ? get_mm_exe_file+0x30/0x60 ? audit_exe_compare+0x58/0x70 ? audit_filter_rules.constprop.26+0x65e/0x1220 __x64_sys_futex+0x148/0x1f0 do_syscall_64+0x30/0x80 entry_SYSCALL_64_after_hwframe+0x62/0xc7 -> BUG: unable to handle page fault for address: ffff8cf3608bc2c0 Call Trace: ? __die_body+0x1a/0x60 ? no_context+0x183/0x350 ? spurious_kernel_fault+0x171/0x1c0 ? exc_page_fault+0x3b6/0x520 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? asm_exc_page_fault+0x1e/0x30 ? _cond_resched+0x15/0x30 ? futex_wait_queue_me+0xc8/0x120 ? futex_wait+0xd9/0x240 ? try_to_wake_up+0x1b8/0x490 ? futex_wake+0x78/0x160 ? do_futex+0xcd/0xa90 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? plist_del+0x6a/0xd0 ? plist_check_list+0x15/0x40 ? plist_check_list+0x2e/0x40 ? dequeue_pushable_task+0x20/0x70 ? __schedule+0x382/0x7e0 ? asm_sysvec_reschedule_i ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm: userfaultfd: fix race of userfaultfd_move and swap cache This commit fixes two kinds of races, they may have different results: Barry reported a BUG_ON in commit c50f8e6053b0, we may see the same BUG_ON if the filemap lookup returned NULL and folio is added to swap cache after that. If another kind of race is triggered (folio changed after lookup) we may see RSS counter is corrupted: [ 406.893936] BUG: Bad rss-counter state mm:ffff0000c5a9ddc0 type:MM_ANONPAGES val:-1 [ 406.894071] BUG: Bad rss-counter state mm:ffff0000c5a9ddc0 type:MM_SHMEMPAGES val:1 Because the folio is being accounted to the wrong VMA. I'm not sure if there will be any data corruption though, seems no. The issues above are critical already. On seeing a swap entry PTE, userfaultfd_move does a lockless swap cache lookup, and tries to move the found folio to the faulting vma. Currently, it relies on checking the PTE value to ensure that the moved folio still belongs to the src swap entry and that no new folio has been added to the swap cache, which turns out to be unreliable. While working and reviewing the swap table series with Barry, following existing races are observed and reproduced [1]: In the example below, move_pages_pte is moving src_pte to dst_pte, where src_pte is a swap entry PTE holding swap entry S1, and S1 is not in the swap cache: CPU1 CPU2 userfaultfd_move move_pages_pte() entry = pte_to_swp_entry(orig_src_pte); // Here it got entry = S1 ... < interrupted> ... <swapin src_pte, alloc and use folio A> // folio A is a new allocated folio // and get installed into src_pte <frees swap entry S1> // src_pte now points to folio A, S1 // has swap count == 0, it can be freed // by folio_swap_swap or swap // allocator's reclaim. <try to swap out another folio B> // folio B is a folio in another VMA. <put folio B to swap cache using S1 > // S1 is freed, folio B can use it // for swap out with no problem. ... folio = filemap_get_folio(S1) // Got folio B here !!! ... < interrupted again> ... <swapin folio B and free S1> // Now S1 is free to be used again. <swapout src_pte & folio A using S1> // Now src_pte is a swap entry PTE // holding S1 again. folio_trylock(folio) move_swap_pte double_pt_lock is_pte_pages_stable // Check passed because src_pte == S1 folio_move_anon_rmap(...) // Moved invalid folio B here !!! The race window is very short and requires multiple collisions of multiple rare events, so it's very unlikely to happen, but with a deliberately constructed reproducer and increased time window, it can be reproduced easily. This can be fixed by checking if the folio returned by filemap is the valid swap cache folio after acquiring the folio lock. Another similar race is possible: filemap_get_folio may return NULL, but folio (A) could be swapped in and then swapped out again using the same swap entry after the lookup. In such a case, folio (A) may remain in the swap cache, so it must be moved too: CPU1 CPU2 userfaultfd_move move_pages_pte() entry = pte_to_swp_entry(orig_src_pte); // Here it got entry = S1, and S1 is not in swap cache folio = filemap_get ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix potential deadlock when reconnecting channels Fix cifs_signal_cifsd_for_reconnect() to take the correct lock order and prevent the following deadlock from happening ====================================================== WARNING: possible circular locking dependency detected 6.16.0-rc3-build2+ #1301 Tainted: G S W ------------------------------------------------------ cifsd/6055 is trying to acquire lock: ffff88810ad56038 (&tcp_ses->srv_lock){+.+.}-{3:3}, at: cifs_signal_cifsd_for_reconnect+0x134/0x200 but task is already holding lock: ffff888119c64330 (&ret_buf->chan_lock){+.+.}-{3:3}, at: cifs_signal_cifsd_for_reconnect+0xcf/0x200 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&ret_buf->chan_lock){+.+.}-{3:3}: validate_chain+0x1cf/0x270 __lock_acquire+0x60e/0x780 lock_acquire.part.0+0xb4/0x1f0 _raw_spin_lock+0x2f/0x40 cifs_setup_session+0x81/0x4b0 cifs_get_smb_ses+0x771/0x900 cifs_mount_get_session+0x7e/0x170 cifs_mount+0x92/0x2d0 cifs_smb3_do_mount+0x161/0x460 smb3_get_tree+0x55/0x90 vfs_get_tree+0x46/0x180 do_new_mount+0x1b0/0x2e0 path_mount+0x6ee/0x740 do_mount+0x98/0xe0 __do_sys_mount+0x148/0x180 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x76/0x7e -> #1 (&ret_buf->ses_lock){+.+.}-{3:3}: validate_chain+0x1cf/0x270 __lock_acquire+0x60e/0x780 lock_acquire.part.0+0xb4/0x1f0 _raw_spin_lock+0x2f/0x40 cifs_match_super+0x101/0x320 sget+0xab/0x270 cifs_smb3_do_mount+0x1e0/0x460 smb3_get_tree+0x55/0x90 vfs_get_tree+0x46/0x180 do_new_mount+0x1b0/0x2e0 path_mount+0x6ee/0x740 do_mount+0x98/0xe0 __do_sys_mount+0x148/0x180 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x76/0x7e -> #0 (&tcp_ses->srv_lock){+.+.}-{3:3}: check_noncircular+0x95/0xc0 check_prev_add+0x115/0x2f0 validate_chain+0x1cf/0x270 __lock_acquire+0x60e/0x780 lock_acquire.part.0+0xb4/0x1f0 _raw_spin_lock+0x2f/0x40 cifs_signal_cifsd_for_reconnect+0x134/0x200 __cifs_reconnect+0x8f/0x500 cifs_handle_standard+0x112/0x280 cifs_demultiplex_thread+0x64d/0xbc0 kthread+0x2f7/0x310 ret_from_fork+0x2a/0x230 ret_from_fork_asm+0x1a/0x30 other info that might help us debug this: Chain exists of: &tcp_ses->srv_lock --> &ret_buf->ses_lock --> &ret_buf->chan_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&ret_buf->chan_lock); lock(&ret_buf->ses_lock); lock(&ret_buf->chan_lock); lock(&tcp_ses->srv_lock); *** DEADLOCK *** 3 locks held by cifsd/6055: #0: ffffffff857de398 (&cifs_tcp_ses_lock){+.+.}-{3:3}, at: cifs_signal_cifsd_for_reconnect+0x7b/0x200 #1: ffff888119c64060 (&ret_buf->ses_lock){+.+.}-{3:3}, at: cifs_signal_cifsd_for_reconnect+0x9c/0x200 #2: ffff888119c64330 (&ret_buf->chan_lock){+.+.}-{3:3}, at: cifs_signal_cifsd_for_reconnect+0xcf/0x200


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: Release atm_dev_mutex after removing procfs in atm_dev_deregister(). syzbot reported a warning below during atm_dev_register(). [0] Before creating a new device and procfs/sysfs for it, atm_dev_register() looks up a duplicated device by __atm_dev_lookup(). These operations are done under atm_dev_mutex. However, when removing a device in atm_dev_deregister(), it releases the mutex just after removing the device from the list that __atm_dev_lookup() iterates over. So, there will be a small race window where the device does not exist on the device list but procfs/sysfs are still not removed, triggering the splat. Let's hold the mutex until procfs/sysfs are removed in atm_dev_deregister(). [0]: proc_dir_entry 'atm/atmtcp:0' already registered WARNING: CPU: 0 PID: 5919 at fs/proc/generic.c:377 proc_register+0x455/0x5f0 fs/proc/generic.c:377 Modules linked in: CPU: 0 UID: 0 PID: 5919 Comm: syz-executor284 Not tainted 6.16.0-rc2-syzkaller-00047-g52da431bf03b #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 RIP: 0010:proc_register+0x455/0x5f0 fs/proc/generic.c:377 Code: 48 89 f9 48 c1 e9 03 80 3c 01 00 0f 85 a2 01 00 00 48 8b 44 24 10 48 c7 c7 20 c0 c2 8b 48 8b b0 d8 00 00 00 e8 0c 02 1c ff 90 <0f> 0b 90 90 48 c7 c7 80 f2 82 8e e8 0b de 23 09 48 8b 4c 24 28 48 RSP: 0018:ffffc9000466fa30 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817ae248 RDX: ffff888026280000 RSI: ffffffff817ae255 RDI: 0000000000000001 RBP: ffff8880232bed48 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: ffff888076ed2140 R13: dffffc0000000000 R14: ffff888078a61340 R15: ffffed100edda444 FS: 00007f38b3b0c6c0(0000) GS:ffff888124753000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f38b3bdf953 CR3: 0000000076d58000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> proc_create_data+0xbe/0x110 fs/proc/generic.c:585 atm_proc_dev_register+0x112/0x1e0 net/atm/proc.c:361 atm_dev_register+0x46d/0x890 net/atm/resources.c:113 atmtcp_create+0x77/0x210 drivers/atm/atmtcp.c:369 atmtcp_attach drivers/atm/atmtcp.c:403 [inline] atmtcp_ioctl+0x2f9/0xd60 drivers/atm/atmtcp.c:464 do_vcc_ioctl+0x12c/0x930 net/atm/ioctl.c:159 sock_do_ioctl+0x115/0x280 net/socket.c:1190 sock_ioctl+0x227/0x6b0 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl fs/ioctl.c:893 [inline] __x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f38b3b74459 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f38b3b0c198 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f38b3bfe318 RCX: 00007f38b3b74459 RDX: 0000000000000000 RSI: 0000000000006180 RDI: 0000000000000005 RBP: 00007f38b3bfe310 R08: 65732f636f72702f R09: 65732f636f72702f R10: 65732f636f72702f R11: 0000000000000246 R12: 00007f38b3bcb0ac R13: 00007f38b3b0c1a0 R14: 0000200000000200 R15: 00007f38b3bcb03b </TASK>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bnxt: properly flush XDP redirect lists We encountered following crash when testing a XDP_REDIRECT feature in production: [56251.579676] list_add corruption. next->prev should be prev (ffff93120dd40f30), but was ffffb301ef3a6740. (next=ffff93120dd 40f30). [56251.601413] ------------[ cut here ]------------ [56251.611357] kernel BUG at lib/list_debug.c:29! [56251.621082] Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI [56251.632073] CPU: 111 UID: 0 PID: 0 Comm: swapper/111 Kdump: loaded Tainted: P O 6.12.33-cloudflare-2025.6. 3 #1 [56251.653155] Tainted: [P]=PROPRIETARY_MODULE, [O]=OOT_MODULE [56251.663877] Hardware name: MiTAC GC68B-B8032-G11P6-GPU/S8032GM-HE-CFR, BIOS V7.020.B10-sig 01/22/2025 [56251.682626] RIP: 0010:__list_add_valid_or_report+0x4b/0xa0 [56251.693203] Code: 0e 48 c7 c7 68 e7 d9 97 e8 42 16 fe ff 0f 0b 48 8b 52 08 48 39 c2 74 14 48 89 f1 48 c7 c7 90 e7 d9 97 48 89 c6 e8 25 16 fe ff <0f> 0b 4c 8b 02 49 39 f0 74 14 48 89 d1 48 c7 c7 e8 e7 d9 97 4c 89 [56251.725811] RSP: 0018:ffff93120dd40b80 EFLAGS: 00010246 [56251.736094] RAX: 0000000000000075 RBX: ffffb301e6bba9d8 RCX: 0000000000000000 [56251.748260] RDX: 0000000000000000 RSI: ffff9149afda0b80 RDI: ffff9149afda0b80 [56251.760349] RBP: ffff9131e49c8000 R08: 0000000000000000 R09: ffff93120dd40a18 [56251.772382] R10: ffff9159cf2ce1a8 R11: 0000000000000003 R12: ffff911a80850000 [56251.784364] R13: ffff93120fbc7000 R14: 0000000000000010 R15: ffff9139e7510e40 [56251.796278] FS: 0000000000000000(0000) GS:ffff9149afd80000(0000) knlGS:0000000000000000 [56251.809133] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [56251.819561] CR2: 00007f5e85e6f300 CR3: 00000038b85e2006 CR4: 0000000000770ef0 [56251.831365] PKRU: 55555554 [56251.838653] Call Trace: [56251.845560] <IRQ> [56251.851943] cpu_map_enqueue.cold+0x5/0xa [56251.860243] xdp_do_redirect+0x2d9/0x480 [56251.868388] bnxt_rx_xdp+0x1d8/0x4c0 [bnxt_en] [56251.877028] bnxt_rx_pkt+0x5f7/0x19b0 [bnxt_en] [56251.885665] ? cpu_max_write+0x1e/0x100 [56251.893510] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.902276] __bnxt_poll_work+0x190/0x340 [bnxt_en] [56251.911058] bnxt_poll+0xab/0x1b0 [bnxt_en] [56251.919041] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.927568] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.935958] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.944250] __napi_poll+0x2b/0x160 [56251.951155] bpf_trampoline_6442548651+0x79/0x123 [56251.959262] __napi_poll+0x5/0x160 [56251.966037] net_rx_action+0x3d2/0x880 [56251.973133] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.981265] ? srso_alias_return_thunk+0x5/0xfbef5 [56251.989262] ? __hrtimer_run_queues+0x162/0x2a0 [56251.996967] ? srso_alias_return_thunk+0x5/0xfbef5 [56252.004875] ? srso_alias_return_thunk+0x5/0xfbef5 [56252.012673] ? bnxt_msix+0x62/0x70 [bnxt_en] [56252.019903] handle_softirqs+0xcf/0x270 [56252.026650] irq_exit_rcu+0x67/0x90 [56252.032933] common_interrupt+0x85/0xa0 [56252.039498] </IRQ> [56252.044246] <TASK> [56252.048935] asm_common_interrupt+0x26/0x40 [56252.055727] RIP: 0010:cpuidle_enter_state+0xb8/0x420 [56252.063305] Code: dc 01 00 00 e8 f9 79 3b ff e8 64 f7 ff ff 49 89 c5 0f 1f 44 00 00 31 ff e8 a5 32 3a ff 45 84 ff 0f 85 ae 01 00 00 fb 45 85 f6 <0f> 88 88 01 00 00 48 8b 04 24 49 63 ce 4c 89 ea 48 6b f1 68 48 29 [56252.088911] RSP: 0018:ffff93120c97fe98 EFLAGS: 00000202 [56252.096912] RAX: ffff9149afd80000 RBX: ffff9141d3a72800 RCX: 0000000000000000 [56252.106844] RDX: 00003329176c6b98 RSI: ffffffe36db3fdc7 RDI: 0000000000000000 [56252.116733] RBP: 0000000000000002 R08: 0000000000000002 R09: 000000000000004e [56252.126652] R10: ffff9149afdb30c4 R11: 071c71c71c71c71c R12: ffffffff985ff860 [56252.136637] R13: 00003329176c6b98 R14: 0000000000000002 R15: 0000000000000000 [56252.146667] ? cpuidle_enter_state+0xab/0x420 [56252.153909] cpuidle_enter+0x2d/0x40 [56252.160360] do_idle+0x176/0x1c0 [56252.166456 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3() In snd_usb_get_audioformat_uac3(), the length value returned from snd_usb_ctl_msg() is used directly for memory allocation without validation. This length is controlled by the USB device. The allocated buffer is cast to a uac3_cluster_header_descriptor and its fields are accessed without verifying that the buffer is large enough. If the device returns a smaller than expected length, this leads to an out-of-bounds read. Add a length check to ensure the buffer is large enough for uac3_cluster_header_descriptor.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: clip: prevent NULL deref in clip_push() Blamed commit missed that vcc_destroy_socket() calls clip_push() with a NULL skb. If clip_devs is NULL, clip_push() then crashes when reading skb->truesize.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: wacom: fix crash in wacom_aes_battery_handler() Commit fd2a9b29dc9c ("HID: wacom: Remove AES power_supply after extended inactivity") introduced wacom_aes_battery_handler() which is scheduled as a delayed work (aes_battery_work). In wacom_remove(), aes_battery_work is not canceled. Consequently, if the device is removed while aes_battery_work is still pending, then hard crashes or "Oops: general protection fault..." are experienced when wacom_aes_battery_handler() is finally called. E.g., this happens with built-in USB devices after resume from hibernate when aes_battery_work was still pending at the time of hibernation. So, take care to cancel aes_battery_work in wacom_remove().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: lib/group_cpus: fix NULL pointer dereference from group_cpus_evenly() While testing null_blk with configfs, echo 0 > poll_queues will trigger following panic: BUG: kernel NULL pointer dereference, address: 0000000000000010 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 27 UID: 0 PID: 920 Comm: bash Not tainted 6.15.0-02023-gadbdb95c8696-dirty #1238 PREEMPT(undef) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 RIP: 0010:__bitmap_or+0x48/0x70 Call Trace: <TASK> __group_cpus_evenly+0x822/0x8c0 group_cpus_evenly+0x2d9/0x490 blk_mq_map_queues+0x1e/0x110 null_map_queues+0xc9/0x170 [null_blk] blk_mq_update_queue_map+0xdb/0x160 blk_mq_update_nr_hw_queues+0x22b/0x560 nullb_update_nr_hw_queues+0x71/0xf0 [null_blk] nullb_device_poll_queues_store+0xa4/0x130 [null_blk] configfs_write_iter+0x109/0x1d0 vfs_write+0x26e/0x6f0 ksys_write+0x79/0x180 __x64_sys_write+0x1d/0x30 x64_sys_call+0x45c4/0x45f0 do_syscall_64+0xa5/0x240 entry_SYSCALL_64_after_hwframe+0x76/0x7e Root cause is that numgrps is set to 0, and ZERO_SIZE_PTR is returned from kcalloc(), and later ZERO_SIZE_PTR will be deferenced. Fix the problem by checking numgrps first in group_cpus_evenly(), and return NULL directly if numgrps is zero. [yukuai3@huawei.com: also fix the non-SMP version]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring/rsrc: fix folio unpinning syzbot complains about an unmapping failure: [ 108.070381][ T14] kernel BUG at mm/gup.c:71! [ 108.070502][ T14] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP [ 108.123672][ T14] Hardware name: QEMU KVM Virtual Machine, BIOS edk2-20250221-8.fc42 02/21/2025 [ 108.127458][ T14] Workqueue: iou_exit io_ring_exit_work [ 108.174205][ T14] Call trace: [ 108.175649][ T14] sanity_check_pinned_pages+0x7cc/0x7d0 (P) [ 108.178138][ T14] unpin_user_page+0x80/0x10c [ 108.180189][ T14] io_release_ubuf+0x84/0xf8 [ 108.182196][ T14] io_free_rsrc_node+0x250/0x57c [ 108.184345][ T14] io_rsrc_data_free+0x148/0x298 [ 108.186493][ T14] io_sqe_buffers_unregister+0x84/0xa0 [ 108.188991][ T14] io_ring_ctx_free+0x48/0x480 [ 108.191057][ T14] io_ring_exit_work+0x764/0x7d8 [ 108.193207][ T14] process_one_work+0x7e8/0x155c [ 108.195431][ T14] worker_thread+0x958/0xed8 [ 108.197561][ T14] kthread+0x5fc/0x75c [ 108.199362][ T14] ret_from_fork+0x10/0x20 We can pin a tail page of a folio, but then io_uring will try to unpin the head page of the folio. While it should be fine in terms of keeping the page actually alive, mm folks say it's wrong and triggers a debug warning. Use unpin_user_folio() instead of unpin_user_page*. [axboe: adapt to current tree, massage commit message]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/pkey: Prevent overflow in size calculation for memdup_user() Number of apqn target list entries contained in 'nr_apqns' variable is determined by userspace via an ioctl call so the result of the product in calculation of size passed to memdup_user() may overflow. In this case the actual size of the allocated area and the value describing it won't be in sync leading to various types of unpredictable behaviour later. Use a proper memdup_array_user() helper which returns an error if an overflow is detected. Note that it is different from when nr_apqns is initially zero - that case is considered valid and should be handled in subsequent pkey_handler implementations. Found by Linux Verification Center (linuxtesting.org).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write memcg_path_store() assigns a newly allocated memory buffer to filter->memcg_path, without deallocating the previously allocated and assigned memory buffer. As a result, users can leak kernel memory by continuously writing a data to memcg_path DAMOS sysfs file. Fix the leak by deallocating the previously set memory buffer.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: wcd9335: Fix missing free of regulator supplies Driver gets and enables all regulator supplies in probe path (wcd9335_parse_dt() and wcd9335_power_on_reset()), but does not cleanup in final error paths and in unbind (missing remove() callback). This leads to leaked memory and unbalanced regulator enable count during probe errors or unbind. Fix this by converting entire code into devm_regulator_bulk_get_enable() which also greatly simplifies the code.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bcache: fix NULL pointer in cache_set_flush() 1. LINE#1794 - LINE#1887 is some codes about function of bch_cache_set_alloc(). 2. LINE#2078 - LINE#2142 is some codes about function of register_cache_set(). 3. register_cache_set() will call bch_cache_set_alloc() in LINE#2098. 1794 struct cache_set *bch_cache_set_alloc(struct cache_sb *sb) 1795 { ... 1860 if (!(c->devices = kcalloc(c->nr_uuids, sizeof(void *), GFP_KERNEL)) || 1861 mempool_init_slab_pool(&c->search, 32, bch_search_cache) || 1862 mempool_init_kmalloc_pool(&c->bio_meta, 2, 1863 sizeof(struct bbio) + sizeof(struct bio_vec) * 1864 bucket_pages(c)) || 1865 mempool_init_kmalloc_pool(&c->fill_iter, 1, iter_size) || 1866 bioset_init(&c->bio_split, 4, offsetof(struct bbio, bio), 1867 BIOSET_NEED_BVECS|BIOSET_NEED_RESCUER) || 1868 !(c->uuids = alloc_bucket_pages(GFP_KERNEL, c)) || 1869 !(c->moving_gc_wq = alloc_workqueue("bcache_gc", 1870 WQ_MEM_RECLAIM, 0)) || 1871 bch_journal_alloc(c) || 1872 bch_btree_cache_alloc(c) || 1873 bch_open_buckets_alloc(c) || 1874 bch_bset_sort_state_init(&c->sort, ilog2(c->btree_pages))) 1875 goto err; ^^^^^^^^ 1876 ... 1883 return c; 1884 err: 1885 bch_cache_set_unregister(c); ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1886 return NULL; 1887 } ... 2078 static const char *register_cache_set(struct cache *ca) 2079 { ... 2098 c = bch_cache_set_alloc(&ca->sb); 2099 if (!c) 2100 return err; ^^^^^^^^^^ ... 2128 ca->set = c; 2129 ca->set->cache[ca->sb.nr_this_dev] = ca; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... 2138 return NULL; 2139 err: 2140 bch_cache_set_unregister(c); 2141 return err; 2142 } (1) If LINE#1860 - LINE#1874 is true, then do 'goto err'(LINE#1875) and call bch_cache_set_unregister()(LINE#1885). (2) As (1) return NULL(LINE#1886), LINE#2098 - LINE#2100 would return. (3) As (2) has returned, LINE#2128 - LINE#2129 would do *not* give the value to c->cache[], it means that c->cache[] is NULL. LINE#1624 - LINE#1665 is some codes about function of cache_set_flush(). As (1), in LINE#1885 call bch_cache_set_unregister() ---> bch_cache_set_stop() ---> closure_queue() -.-> cache_set_flush() (as below LINE#1624) 1624 static void cache_set_flush(struct closure *cl) 1625 { ... 1654 for_each_cache(ca, c, i) 1655 if (ca->alloc_thread) ^^ 1656 kthread_stop(ca->alloc_thread); ... 1665 } (4) In LINE#1655 ca is NULL(see (3)) in cache_set_flush() then the kernel crash occurred as below: [ 846.712887] bcache: register_cache() error drbd6: cannot allocate memory [ 846.713242] bcache: register_bcache() error : failed to register device [ 846.713336] bcache: cache_set_free() Cache set 2f84bdc1-498a-4f2f-98a7-01946bf54287 unregistered [ 846.713768] BUG: unable to handle kernel NULL pointer dereference at 00000000000009f8 [ 846.714790] PGD 0 P4D 0 [ 846.715129] Oops: 0000 [#1] SMP PTI [ 846.715472] CPU: 19 PID: 5057 Comm: kworker/19:16 Kdump: loaded Tainted: G OE --------- - - 4.18.0-147.5.1.el8_1.5es.3.x86_64 #1 [ 846.716082] Hardware name: ESPAN GI-25212/X11DPL-i, BIOS 2.1 06/15/2018 [ 846.716451] Workqueue: events cache_set_flush [bcache] [ 846.716808] RIP: 0010:cache_set_flush+0xc9/0x1b0 [bcache] [ 846.717155] Code: 00 4c 89 a5 b0 03 00 00 48 8b 85 68 f6 ff ff a8 08 0f 84 88 00 00 00 31 db 66 83 bd 3c f7 ff ff 00 48 8b 85 48 ff ff ff 74 28 <48> 8b b8 f8 09 00 0 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: jsm: fix NPE during jsm_uart_port_init No device was set which caused serial_base_ctrl_add to crash. BUG: kernel NULL pointer dereference, address: 0000000000000050 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 16 UID: 0 PID: 368 Comm: (udev-worker) Not tainted 6.12.25-amd64 #1 Debian 6.12.25-1 RIP: 0010:serial_base_ctrl_add+0x96/0x120 Call Trace: <TASK> serial_core_register_port+0x1a0/0x580 ? __setup_irq+0x39c/0x660 ? __kmalloc_cache_noprof+0x111/0x310 jsm_uart_port_init+0xe8/0x180 [jsm] jsm_probe_one+0x1f4/0x410 [jsm] local_pci_probe+0x42/0x90 pci_device_probe+0x22f/0x270 really_probe+0xdb/0x340 ? pm_runtime_barrier+0x54/0x90 ? __pfx___driver_attach+0x10/0x10 __driver_probe_device+0x78/0x110 driver_probe_device+0x1f/0xa0 __driver_attach+0xba/0x1c0 bus_for_each_dev+0x8c/0xe0 bus_add_driver+0x112/0x1f0 driver_register+0x72/0xd0 jsm_init_module+0x36/0xff0 [jsm] ? __pfx_jsm_init_module+0x10/0x10 [jsm] do_one_initcall+0x58/0x310 do_init_module+0x60/0x230 Tested with Digi Neo PCIe 8 port card.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Do not trigger WARN_ON() due to a commit_overrun When reading a memory mapped buffer the reader page is just swapped out with the last page written in the write buffer. If the reader page is the same as the commit buffer (the buffer that is currently being written to) it was assumed that it should never have missed events. If it does, it triggers a WARN_ON_ONCE(). But there just happens to be one scenario where this can legitimately happen. That is on a commit_overrun. A commit overrun is when an interrupt preempts an event being written to the buffer and then the interrupt adds so many new events that it fills and wraps the buffer back to the commit. Any new events would then be dropped and be reported as "missed_events". In this case, the next page to read is the commit buffer and after the swap of the reader page, the reader page will be the commit buffer, but this time there will be missed events and this triggers the following warning: ------------[ cut here ]------------ WARNING: CPU: 2 PID: 1127 at kernel/trace/ring_buffer.c:7357 ring_buffer_map_get_reader+0x49a/0x780 Modules linked in: kvm_intel kvm irqbypass CPU: 2 UID: 0 PID: 1127 Comm: trace-cmd Not tainted 6.15.0-rc7-test-00004-g478bc2824b45-dirty #564 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:ring_buffer_map_get_reader+0x49a/0x780 Code: 00 00 00 48 89 fe 48 c1 ee 03 80 3c 2e 00 0f 85 ec 01 00 00 4d 3b a6 a8 00 00 00 0f 85 8a fd ff ff 48 85 c0 0f 84 55 fe ff ff <0f> 0b e9 4e fe ff ff be 08 00 00 00 4c 89 54 24 58 48 89 54 24 50 RSP: 0018:ffff888121787dc0 EFLAGS: 00010002 RAX: 00000000000006a2 RBX: ffff888100062800 RCX: ffffffff8190cb49 RDX: ffff888126934c00 RSI: 1ffff11020200a15 RDI: ffff8881010050a8 RBP: dffffc0000000000 R08: 0000000000000000 R09: ffffed1024d26982 R10: ffff888126934c17 R11: ffff8881010050a8 R12: ffff888126934c00 R13: ffff8881010050b8 R14: ffff888101005000 R15: ffff888126930008 FS: 00007f95c8cd7540(0000) GS:ffff8882b576e000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f95c8de4dc0 CR3: 0000000128452002 CR4: 0000000000172ef0 Call Trace: <TASK> ? __pfx_ring_buffer_map_get_reader+0x10/0x10 tracing_buffers_ioctl+0x283/0x370 __x64_sys_ioctl+0x134/0x190 do_syscall_64+0x79/0x1c0 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f95c8de48db Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00 RSP: 002b:00007ffe037ba110 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007ffe037bb2b0 RCX: 00007f95c8de48db RDX: 0000000000000000 RSI: 0000000000005220 RDI: 0000000000000006 RBP: 00007ffe037ba180 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe037bb6f8 R14: 00007f95c9065000 R15: 00005575c7492c90 </TASK> irq event stamp: 5080 hardirqs last enabled at (5079): [<ffffffff83e0adb0>] _raw_spin_unlock_irqrestore+0x50/0x70 hardirqs last disabled at (5080): [<ffffffff83e0aa83>] _raw_spin_lock_irqsave+0x63/0x70 softirqs last enabled at (4182): [<ffffffff81516122>] handle_softirqs+0x552/0x710 softirqs last disabled at (4159): [<ffffffff815163f7>] __irq_exit_rcu+0x107/0x210 ---[ end trace 0000000000000000 ]--- The above was triggered by running on a kernel with both lockdep and KASAN as well as kmemleak enabled and executing the following command: # perf record -o perf-test.dat -a -- trace-cmd record --nosplice -e all -p function hackbench 50 With perf interjecting a lot of interrupts and trace-cmd enabling all events as well as function tracing, with lockdep, KASAN and kmemleak enabled, it could cause an interrupt preempting an event being written to add enough event ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: move tcpm_queue_vdm_unlocked to asynchronous work A state check was previously added to tcpm_queue_vdm_unlocked to prevent a deadlock where the DisplayPort Alt Mode driver would be executing work and attempting to grab the tcpm_lock while the TCPM was holding the lock and attempting to unregister the altmode, blocking on the altmode driver's cancel_work_sync call. Because the state check isn't protected, there is a small window where the Alt Mode driver could determine that the TCPM is in a ready state and attempt to grab the lock while the TCPM grabs the lock and changes the TCPM state to one that causes the deadlock. The callstack is provided below: [110121.667392][ C7] Call trace: [110121.667396][ C7] __switch_to+0x174/0x338 [110121.667406][ C7] __schedule+0x608/0x9f0 [110121.667414][ C7] schedule+0x7c/0xe8 [110121.667423][ C7] kernfs_drain+0xb0/0x114 [110121.667431][ C7] __kernfs_remove+0x16c/0x20c [110121.667436][ C7] kernfs_remove_by_name_ns+0x74/0xe8 [110121.667442][ C7] sysfs_remove_group+0x84/0xe8 [110121.667450][ C7] sysfs_remove_groups+0x34/0x58 [110121.667458][ C7] device_remove_groups+0x10/0x20 [110121.667464][ C7] device_release_driver_internal+0x164/0x2e4 [110121.667475][ C7] device_release_driver+0x18/0x28 [110121.667484][ C7] bus_remove_device+0xec/0x118 [110121.667491][ C7] device_del+0x1e8/0x4ac [110121.667498][ C7] device_unregister+0x18/0x38 [110121.667504][ C7] typec_unregister_altmode+0x30/0x44 [110121.667515][ C7] tcpm_reset_port+0xac/0x370 [110121.667523][ C7] tcpm_snk_detach+0x84/0xb8 [110121.667529][ C7] run_state_machine+0x4c0/0x1b68 [110121.667536][ C7] tcpm_state_machine_work+0x94/0xe4 [110121.667544][ C7] kthread_worker_fn+0x10c/0x244 [110121.667552][ C7] kthread+0x104/0x1d4 [110121.667557][ C7] ret_from_fork+0x10/0x20 [110121.667689][ C7] Workqueue: events dp_altmode_work [110121.667697][ C7] Call trace: [110121.667701][ C7] __switch_to+0x174/0x338 [110121.667710][ C7] __schedule+0x608/0x9f0 [110121.667717][ C7] schedule+0x7c/0xe8 [110121.667725][ C7] schedule_preempt_disabled+0x24/0x40 [110121.667733][ C7] __mutex_lock+0x408/0xdac [110121.667741][ C7] __mutex_lock_slowpath+0x14/0x24 [110121.667748][ C7] mutex_lock+0x40/0xec [110121.667757][ C7] tcpm_altmode_enter+0x78/0xb4 [110121.667764][ C7] typec_altmode_enter+0xdc/0x10c [110121.667769][ C7] dp_altmode_work+0x68/0x164 [110121.667775][ C7] process_one_work+0x1e4/0x43c [110121.667783][ C7] worker_thread+0x25c/0x430 [110121.667789][ C7] kthread+0x104/0x1d4 [110121.667794][ C7] ret_from_fork+0x10/0x20 Change tcpm_queue_vdm_unlocked to queue for tcpm_queue_vdm_work, which can perform the state check while holding the TCPM lock while the Alt Mode lock is no longer held. This requires a new struct to hold the vdm data, altmode_vdm_event.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: drv: netdevsim: don't napi_complete() from netpoll netdevsim supports netpoll. Make sure we don't call napi_complete() from it, since it may not be scheduled. Breno reports hitting a warning in napi_complete_done(): WARNING: CPU: 14 PID: 104 at net/core/dev.c:6592 napi_complete_done+0x2cc/0x560 __napi_poll+0x2d8/0x3a0 handle_softirqs+0x1fe/0x710 This is presumably after netpoll stole the SCHED bit prematurely.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: dsa: b53: do not enable EEE on bcm63xx BCM63xx internal switches do not support EEE, but provide multiple RGMII ports where external PHYs may be connected. If one of these PHYs are EEE capable, we may try to enable EEE for the MACs, which then hangs the system on access of the (non-existent) EEE registers. Fix this by checking if the switch actually supports EEE before attempting to configure it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: tipc: fix refcount warning in tipc_aead_encrypt syzbot reported a refcount warning [1] caused by calling get_net() on a network namespace that is being destroyed (refcount=0). This happens when a TIPC discovery timer fires during network namespace cleanup. The recently added get_net() call in commit e279024617134 ("net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done") attempts to hold a reference to the network namespace. However, if the namespace is already being destroyed, its refcount might be zero, leading to the use-after-free warning. Replace get_net() with maybe_get_net(), which safely checks if the refcount is non-zero before incrementing it. If the namespace is being destroyed, return -ENODEV early, after releasing the bearer reference. [1]: https://lore.kernel.org/all/68342b55.a70a0220.253bc2.0091.GAE@google.com/T/#m12019cf9ae77e1954f666914640efa36d52704a2


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fpga: fix potential null pointer deref in fpga_mgr_test_img_load_sgt() fpga_mgr_test_img_load_sgt() allocates memory for sgt using kunit_kzalloc() however it does not check if the allocation failed. It then passes sgt to sg_alloc_table(), which passes it to __sg_alloc_table(). This function calls memset() on sgt in an attempt to zero it out. If the allocation fails then sgt will be NULL and the memset will trigger a NULL pointer dereference. Fix this by checking the allocation with KUNIT_ASSERT_NOT_ERR_OR_NULL().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug The qmp_usb_iomap() helper function currently returns the raw result of devm_ioremap() for non-exclusive mappings. Since devm_ioremap() may return a NULL pointer and the caller only checks error pointers with IS_ERR(), NULL could bypass the check and lead to an invalid dereference. Fix the issue by checking if devm_ioremap() returns NULL. When it does, qmp_usb_iomap() now returns an error pointer via IOMEM_ERR_PTR(-ENOMEM), ensuring safe and consistent error handling.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: nand: ecc-mxic: Fix use of uninitialized variable ret If ctx->steps is zero, the loop processing ECC steps is skipped, and the variable ret remains uninitialized. It is later checked and returned, which leads to undefined behavior and may cause unpredictable results in user space or kernel crashes. This scenario can be triggered in edge cases such as misconfigured geometry, ECC engine misuse, or if ctx->steps is not validated after initialization. Initialize ret to zero before the loop to ensure correct and safe behavior regardless of the ctx->steps value. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: QOS: Refactor TC_HTB_LEAF_DEL_LAST callback This patch addresses below issues, 1. Active traffic on the leaf node must be stopped before its send queue is reassigned to the parent. This patch resolves the issue by marking the node as 'Inner'. 2. During a system reboot, the interface receives TC_HTB_LEAF_DEL and TC_HTB_LEAF_DEL_LAST callbacks to delete its HTB queues. In the case of TC_HTB_LEAF_DEL_LAST, although the same send queue is reassigned to the parent, the current logic still attempts to update the real number of queues, leadning to below warnings New queues can't be registered after device unregistration. WARNING: CPU: 0 PID: 6475 at net/core/net-sysfs.c:1714 netdev_queue_update_kobjects+0x1e4/0x200


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinctrl: at91: Fix possible out-of-boundary access at91_gpio_probe() doesn't check that given OF alias is not available or something went wrong when trying to get it. This might have consequences when accessing gpio_chips array with that value as an index. Note, that BUG() can be compiled out and hence won't actually perform the required checks.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: IB/cm: Drop lockdep assert and WARN when freeing old msg The send completion handler can run after cm_id has advanced to another message. The cm_id lock is not needed in this case, but a recent change re-used cm_free_priv_msg(), which asserts that the lock is held and WARNs if the cm_id's currently outstanding msg is different than the one being freed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: smartpqi: Fix smp_processor_id() call trace for preemptible kernels Correct kernel call trace when calling smp_processor_id() when called in preemptible kernels by using raw_smp_processor_id(). smp_processor_id() checks to see if preemption is disabled and if not, issue an error message followed by a call to dump_stack(). Brief example of call trace: kernel: check_preemption_disabled: 436 callbacks suppressed kernel: BUG: using smp_processor_id() in preemptible [00000000] code: kworker/u1025:0/2354 kernel: caller is pqi_scsi_queue_command+0x183/0x310 [smartpqi] kernel: CPU: 129 PID: 2354 Comm: kworker/u1025:0 kernel: ... kernel: Workqueue: writeback wb_workfn (flush-253:0) kernel: Call Trace: kernel: <TASK> kernel: dump_stack_lvl+0x34/0x48 kernel: check_preemption_disabled+0xdd/0xe0 kernel: pqi_scsi_queue_command+0x183/0x310 [smartpqi] kernel: ...


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Avoid potential ndlp use-after-free in dev_loss_tmo_callbk Smatch detected a potential use-after-free of an ndlp oject in dev_loss_tmo_callbk during driver unload or fatal error handling. Fix by reordering code to avoid potential use-after-free if initial nodelist reference has been previously removed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix node corruption in ar->arvifs list In current WLAN recovery code flow, ath12k_core_halt() only reinitializes the "arvifs" list head. This will cause the list node immediately following the list head to become an invalid list node. Because the prev of that node still points to the list head "arvifs", but the next of the list head "arvifs" no longer points to that list node. When a WLAN recovery occurs during the execution of a vif removal, and it happens before the spin_lock_bh(&ar->data_lock) in ath12k_mac_vdev_delete(), list_del() will detect the previously mentioned situation, thereby triggering a kernel panic. The fix is to remove and reinitialize all vif list nodes from the list head "arvifs" during WLAN halt. The reinitialization is to make the list nodes valid, ensuring that the list_del() in ath12k_mac_vdev_delete() can execute normally. Call trace: __list_del_entry_valid_or_report+0xd4/0x100 (P) ath12k_mac_remove_link_interface.isra.0+0xf8/0x2e4 [ath12k] ath12k_scan_vdev_clean_work+0x40/0x164 [ath12k] cfg80211_wiphy_work+0xfc/0x100 process_one_work+0x164/0x2d0 worker_thread+0x254/0x380 kthread+0xfc/0x100 ret_from_fork+0x10/0x20 The change is mostly copied from the ath11k patch: https://lore.kernel.org/all/20250320053145.3445187-1-quic_stonez@quicinc.com/ Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Prevent sending WMI commands to firmware during firmware crash Currently, we encounter the following kernel call trace when a firmware crash occurs. This happens because the host sends WMI commands to the firmware while it is in recovery, causing the commands to fail and resulting in the kernel call trace. Set the ATH12K_FLAG_CRASH_FLUSH and ATH12K_FLAG_RECOVERY flags when the host driver receives the firmware crash notification from MHI. This prevents sending WMI commands to the firmware during recovery. Call Trace: <TASK> dump_stack_lvl+0x75/0xc0 register_lock_class+0x6be/0x7a0 ? __lock_acquire+0x644/0x19a0 __lock_acquire+0x95/0x19a0 lock_acquire+0x265/0x310 ? ath12k_ce_send+0xa2/0x210 [ath12k] ? find_held_lock+0x34/0xa0 ? ath12k_ce_send+0x56/0x210 [ath12k] _raw_spin_lock_bh+0x33/0x70 ? ath12k_ce_send+0xa2/0x210 [ath12k] ath12k_ce_send+0xa2/0x210 [ath12k] ath12k_htc_send+0x178/0x390 [ath12k] ath12k_wmi_cmd_send_nowait+0x76/0xa0 [ath12k] ath12k_wmi_cmd_send+0x62/0x190 [ath12k] ath12k_wmi_pdev_bss_chan_info_request+0x62/0xc0 [ath1 ath12k_mac_op_get_survey+0x2be/0x310 [ath12k] ieee80211_dump_survey+0x99/0x240 [mac80211] nl80211_dump_survey+0xe7/0x470 [cfg80211] ? kmalloc_reserve+0x59/0xf0 genl_dumpit+0x24/0x70 netlink_dump+0x177/0x360 __netlink_dump_start+0x206/0x280 genl_family_rcv_msg_dumpit.isra.22+0x8a/0xe0 ? genl_family_rcv_msg_attrs_parse.isra.23+0xe0/0xe0 ? genl_op_lock.part.12+0x10/0x10 ? genl_dumpit+0x70/0x70 genl_rcv_msg+0x1d0/0x290 ? nl80211_del_station+0x330/0x330 [cfg80211] ? genl_get_cmd_both+0x50/0x50 netlink_rcv_skb+0x4f/0x100 genl_rcv+0x1f/0x30 netlink_unicast+0x1b6/0x260 netlink_sendmsg+0x31a/0x450 __sock_sendmsg+0xa8/0xb0 ____sys_sendmsg+0x1e4/0x260 ___sys_sendmsg+0x89/0xe0 ? local_clock_noinstr+0xb/0xc0 ? rcu_is_watching+0xd/0x40 ? kfree+0x1de/0x370 ? __sys_sendmsg+0x7a/0xc0 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix invalid access to memory In ath12k_dp_rx_msdu_coalesce(), rxcb is fetched from skb and boolean is_continuation is part of rxcb. Currently, after freeing the skb, the rxcb->is_continuation accessed again which is wrong since the memory is already freed. This might lead use-after-free error. Hence, fix by locally defining bool is_continuation from rxcb, so that after freeing skb, is_continuation can be used. Compile tested only.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix node corruption in ar->arvifs list In current WLAN recovery code flow, ath11k_core_halt() only reinitializes the "arvifs" list head. This will cause the list node immediately following the list head to become an invalid list node. Because the prev of that node still points to the list head "arvifs", but the next of the list head "arvifs" no longer points to that list node. When a WLAN recovery occurs during the execution of a vif removal, and it happens before the spin_lock_bh(&ar->data_lock) in ath11k_mac_op_remove_interface(), list_del() will detect the previously mentioned situation, thereby triggering a kernel panic. The fix is to remove and reinitialize all vif list nodes from the list head "arvifs" during WLAN halt. The reinitialization is to make the list nodes valid, ensuring that the list_del() in ath11k_mac_op_remove_interface() can execute normally. Call trace: __list_del_entry_valid_or_report+0xb8/0xd0 ath11k_mac_op_remove_interface+0xb0/0x27c [ath11k] drv_remove_interface+0x48/0x194 [mac80211] ieee80211_do_stop+0x6e0/0x844 [mac80211] ieee80211_stop+0x44/0x17c [mac80211] __dev_close_many+0xac/0x150 __dev_change_flags+0x194/0x234 dev_change_flags+0x24/0x6c devinet_ioctl+0x3a0/0x670 inet_ioctl+0x200/0x248 sock_do_ioctl+0x60/0x118 sock_ioctl+0x274/0x35c __arm64_sys_ioctl+0xac/0xf0 invoke_syscall+0x48/0x114 ... Tested-on: QCA6698AQ hw2.1 PCI WLAN.HSP.1.1-04591-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: mediatek: mt8195: Set ETDM1/2 IN/OUT to COMP_DUMMY() ETDM2_IN_BE and ETDM1_OUT_BE are defined as COMP_EMPTY(), in the case the codec dai_name will be null. Avoid a crash if the device tree is not assigning a codec to these links. [ 1.179936] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 [ 1.181065] Mem abort info: [ 1.181420] ESR = 0x0000000096000004 [ 1.181892] EC = 0x25: DABT (current EL), IL = 32 bits [ 1.182576] SET = 0, FnV = 0 [ 1.182964] EA = 0, S1PTW = 0 [ 1.183367] FSC = 0x04: level 0 translation fault [ 1.183983] Data abort info: [ 1.184406] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 1.185097] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 1.185766] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 1.186439] [0000000000000000] user address but active_mm is swapper [ 1.187239] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [ 1.188029] Modules linked in: [ 1.188420] CPU: 7 UID: 0 PID: 70 Comm: kworker/u32:1 Not tainted 6.14.0-rc4-next-20250226+ #85 [ 1.189515] Hardware name: Radxa NIO 12L (DT) [ 1.190065] Workqueue: events_unbound deferred_probe_work_func [ 1.190808] pstate: 40400009 (nZcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1.191683] pc : __pi_strcmp+0x24/0x140 [ 1.192170] lr : mt8195_mt6359_soc_card_probe+0x224/0x7b0 [ 1.192854] sp : ffff800083473970 [ 1.193271] x29: ffff800083473a10 x28: 0000000000001008 x27: 0000000000000002 [ 1.194168] x26: ffff800082408960 x25: ffff800082417db0 x24: ffff800082417d88 [ 1.195065] x23: 000000000000001e x22: ffff800082dbf480 x21: ffff800082dc07b8 [ 1.195961] x20: 0000000000000000 x19: 0000000000000013 x18: 00000000ffffffff [ 1.196858] x17: 000000040044ffff x16: 005000f2b5503510 x15: 0000000000000006 [ 1.197755] x14: ffff800082407af0 x13: 6e6f69737265766e x12: 692d6b636f6c6374 [ 1.198651] x11: 0000000000000002 x10: ffff80008240b920 x9 : 0000000000000018 [ 1.199547] x8 : 0101010101010101 x7 : 0000000000000000 x6 : 0000000000000000 [ 1.200443] x5 : 0000000000000000 x4 : 8080808080000000 x3 : 303933383978616d [ 1.201339] x2 : 0000000000000000 x1 : ffff80008240b920 x0 : 0000000000000000 [ 1.202236] Call trace: [ 1.202545] __pi_strcmp+0x24/0x140 (P) [ 1.203029] mtk_soundcard_common_probe+0x3bc/0x5b8 [ 1.203644] platform_probe+0x70/0xe8 [ 1.204106] really_probe+0xc8/0x3a0 [ 1.204556] __driver_probe_device+0x84/0x160 [ 1.205104] driver_probe_device+0x44/0x130 [ 1.205630] __device_attach_driver+0xc4/0x170 [ 1.206189] bus_for_each_drv+0x8c/0xf8 [ 1.206672] __device_attach+0xa8/0x1c8 [ 1.207155] device_initial_probe+0x1c/0x30 [ 1.207681] bus_probe_device+0xb0/0xc0 [ 1.208165] deferred_probe_work_func+0xa4/0x100 [ 1.208747] process_one_work+0x158/0x3e0 [ 1.209254] worker_thread+0x2c4/0x3e8 [ 1.209727] kthread+0x134/0x1f0 [ 1.210136] ret_from_fork+0x10/0x20 [ 1.210589] Code: 54000401 b50002c6 d503201f f86a6803 (f8408402) [ 1.211355] ---[ end trace 0000000000000000 ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare() Fix two DMA cleanup issues on the error path in sun8i_ce_cipher_prepare(): 1] If dma_map_sg() fails for areq->dst, the device driver would try to free DMA memory it has not allocated in the first place. To fix this, on the "theend_sgs" error path, call dma unmap only if the corresponding dma map was successful. 2] If the dma_map_single() call for the IV fails, the device driver would try to free an invalid DMA memory address on the "theend_iv" path: ------------[ cut here ]------------ DMA-API: sun8i-ce 1904000.crypto: device driver tries to free an invalid DMA memory address WARNING: CPU: 2 PID: 69 at kernel/dma/debug.c:968 check_unmap+0x123c/0x1b90 Modules linked in: skcipher_example(O+) CPU: 2 UID: 0 PID: 69 Comm: 1904000.crypto- Tainted: G O 6.15.0-rc3+ #24 PREEMPT Tainted: [O]=OOT_MODULE Hardware name: OrangePi Zero2 (DT) pc : check_unmap+0x123c/0x1b90 lr : check_unmap+0x123c/0x1b90 ... Call trace: check_unmap+0x123c/0x1b90 (P) debug_dma_unmap_page+0xac/0xc0 dma_unmap_page_attrs+0x1f4/0x5fc sun8i_ce_cipher_do_one+0x1bd4/0x1f40 crypto_pump_work+0x334/0x6e0 kthread_worker_fn+0x21c/0x438 kthread+0x374/0x664 ret_from_fork+0x10/0x20 ---[ end trace 0000000000000000 ]--- To fix this, check for !dma_mapping_error() before calling dma_unmap_single() on the "theend_iv" path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmem: zynqmp_nvmem: unbreak driver after cleanup Commit 29be47fcd6a0 ("nvmem: zynqmp_nvmem: zynqmp_nvmem_probe cleanup") changed the driver to expect the device pointer to be passed as the "context", but in nvmem the context parameter comes from nvmem_config.priv which is never set - Leading to null pointer exceptions when the device is accessed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: block: don't use submit_bio_noacct_nocheck in blk_zone_wplug_bio_work Bios queued up in the zone write plug have already gone through all all preparation in the submit_bio path, including the freeze protection. Submitting them through submit_bio_noacct_nocheck duplicates the work and can can cause deadlocks when freezing a queue with pending bio write plugs. Go straight to ->submit_bio or blk_mq_submit_bio to bypass the superfluous extra freeze protection and checks.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: eir: Fix possible crashes on eir_create_adv_data eir_create_adv_data may attempt to add EIR_FLAGS and EIR_TX_POWER without checking if that would fit.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Fix NULL pointer deference on eir_get_service_data The len parameter is considered optional so it can be NULL so it cannot be used for skipping to next entry of EIR_SERVICE_DATA.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use() There is no disagreement that we should check both ptp->is_virtual_clock and ptp->n_vclocks to check if the ptp virtual clock is in use. However, when we acquire ptp->n_vclocks_mux to read ptp->n_vclocks in ptp_vclock_in_use(), we observe a recursive lock in the call trace starting from n_vclocks_store(). ============================================ WARNING: possible recursive locking detected 6.15.0-rc6 #1 Not tainted -------------------------------------------- syz.0.1540/13807 is trying to acquire lock: ffff888035a24868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: ptp_vclock_in_use drivers/ptp/ptp_private.h:103 [inline] ffff888035a24868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: ptp_clock_unregister+0x21/0x250 drivers/ptp/ptp_clock.c:415 but task is already holding lock: ffff888030704868 (&ptp->n_vclocks_mux){+.+.}-{4:4}, at: n_vclocks_store+0xf1/0x6d0 drivers/ptp/ptp_sysfs.c:215 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&ptp->n_vclocks_mux); lock(&ptp->n_vclocks_mux); *** DEADLOCK *** .... ============================================ The best way to solve this is to remove the logic that checks ptp->n_vclocks in ptp_vclock_in_use(). The reason why this is appropriate is that any path that uses ptp->n_vclocks must unconditionally check if ptp->n_vclocks is greater than 0 before unregistering vclocks, and all functions are already written this way. And in the function that uses ptp->n_vclocks, we already get ptp->n_vclocks_mux before unregistering vclocks. Therefore, we need to remove the redundant check for ptp->n_vclocks in ptp_vclock_in_use() to prevent recursive locking.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fs/fhandle.c: fix a race in call of has_locked_children() may_decode_fh() is calling has_locked_children() while holding no locks. That's an oopsable race... The rest of the callers are safe since they are holding namespace_sem and are guaranteed a positive refcount on the mount in question. Rename the current has_locked_children() to __has_locked_children(), make it static and switch the fs/namespace.c users to it. Make has_locked_children() a wrapper for __has_locked_children(), calling the latter under read_seqlock_excl(&mount_lock).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel: avs: Verify content returned by parse_int_array() The first element of the returned array stores its length. If it is 0, any manipulation beyond the element at index 0 ends with null-ptr-deref.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iavf: get rid of the crit lock Get rid of the crit lock. That frees us from the error prone logic of try_locks. Thanks to netdev_lock() by Jakub it is now easy, and in most cases we were protected by it already - replace crit lock by netdev lock when it was not the case. Lockdep reports that we should cancel the work under crit_lock [splat1], and that was the scheme we have mostly followed since [1] by Slawomir. But when that is done we still got into deadlocks [splat2]. So instead we should look at the bigger problem, namely "weird locking/scheduling" of the iavf. The first step to fix that is to remove the crit lock. I will followup with a -next series that simplifies scheduling/tasks. Cancel the work without netdev lock (weird unlock+lock scheme), to fix the [splat2] (which would be totally ugly if we would kept the crit lock). Extend protected part of iavf_watchdog_task() to include scheduling more work. Note that the removed comment in iavf_reset_task() was misplaced, it belonged to inside of the removed if condition, so it's gone now. [splat1] - w/o this patch - The deadlock during VF removal: WARNING: possible circular locking dependency detected sh/3825 is trying to acquire lock: ((work_completion)(&(&adapter->watchdog_task)->work)){+.+.}-{0:0}, at: start_flush_work+0x1a1/0x470 but task is already holding lock: (&adapter->crit_lock){+.+.}-{4:4}, at: iavf_remove+0xd1/0x690 [iavf] which lock already depends on the new lock. [splat2] - when cancelling work under crit lock, w/o this series, see [2] for the band aid attempt WARNING: possible circular locking dependency detected sh/3550 is trying to acquire lock: ((wq_completion)iavf){+.+.}-{0:0}, at: touch_wq_lockdep_map+0x26/0x90 but task is already holding lock: (&dev->lock){+.+.}-{4:4}, at: iavf_remove+0xa6/0x6e0 [iavf] which lock already depends on the new lock. [1] fc2e6b3b132a ("iavf: Rework mutexes for better synchronisation") [2] https://github.com/pkitszel/linux/commit/52dddbfc2bb60294083f5711a158a


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() In fb_find_mode_cvt(), iff mode->refresh somehow happens to be 0x80000000, cvt.f_refresh will become 0 when multiplying it by 2 due to overflow. It's then passed to fb_cvt_hperiod(), where it's used as a divider -- division by 0 will result in kernel oops. Add a sanity check for cvt.f_refresh to avoid such overflow... Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bus: fsl-mc: fix double-free on mc_dev The blamed commit tried to simplify how the deallocations are done but, in the process, introduced a double-free on the mc_dev variable. In case the MC device is a DPRC, a new mc_bus is allocated and the mc_dev variable is just a reference to one of its fields. In this circumstance, on the error path only the mc_bus should be freed. This commit introduces back the following checkpatch warning which is a false-positive. WARNING: kfree(NULL) is safe and this check is probably not required + if (mc_bus) + kfree(mc_bus);


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: Check dsbr size from EFI variable Since the size of struct btintel_dsbr is already known, we can just start there instead of querying the EFI variable size. If the final result doesn't match what we expect also fail. This fixes a stack buffer overflow when the EFI variable is larger than struct btintel_dsbr.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Fix buffer overflow in debugfs If the user tries to write more than 32 bytes then it results in memory corruption. Fortunately, this is debugfs so it's limited to root users.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: arm-ni: Fix missing platform_set_drvdata() Add missing platform_set_drvdata in arm_ni_probe(), otherwise calling platform_get_drvdata() in remove returns NULL.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/pp: Fix potential NULL pointer dereference in atomctrl_initialize_mc_reg_table The function atomctrl_initialize_mc_reg_table() and atomctrl_initialize_mc_reg_table_v2_2() does not check the return value of smu_atom_get_data_table(). If smu_atom_get_data_table() fails to retrieve vram_info, it returns NULL which is later dereferenced.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Fix crash in icl_update_topdown_event() The perf_fuzzer found a hard-lockup crash on a RaptorLake machine: Oops: general protection fault, maybe for address 0xffff89aeceab400: 0000 CPU: 23 UID: 0 PID: 0 Comm: swapper/23 Tainted: [W]=WARN Hardware name: Dell Inc. Precision 9660/0VJ762 RIP: 0010:native_read_pmc+0x7/0x40 Code: cc e8 8d a9 01 00 48 89 03 5b cd cc cc cc cc 0f 1f ... RSP: 000:fffb03100273de8 EFLAGS: 00010046 .... Call Trace: <TASK> icl_update_topdown_event+0x165/0x190 ? ktime_get+0x38/0xd0 intel_pmu_read_event+0xf9/0x210 __perf_event_read+0xf9/0x210 CPUs 16-23 are E-core CPUs that don't support the perf metrics feature. The icl_update_topdown_event() should not be invoked on these CPUs. It's a regression of commit: f9bdf1f95339 ("perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read") The bug introduced by that commit is that the is_topdown_event() function is mistakenly used to replace the is_topdown_count() call to check if the topdown functions for the perf metrics feature should be invoked. Fix it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: atm: add lec_mutex syzbot found its way in net/atm/lec.c, and found an error path in lecd_attach() could leave a dangling pointer in dev_lec[]. Add a mutex to protect dev_lecp[] uses from lecd_attach(), lec_vcc_attach() and lec_mcast_attach(). Following patch will use this mutex for /proc/net/atm/lec. BUG: KASAN: slab-use-after-free in lecd_attach net/atm/lec.c:751 [inline] BUG: KASAN: slab-use-after-free in lane_ioctl+0x2224/0x23e0 net/atm/lec.c:1008 Read of size 8 at addr ffff88807c7b8e68 by task syz.1.17/6142 CPU: 1 UID: 0 PID: 6142 Comm: syz.1.17 Not tainted 6.16.0-rc1-syzkaller-00239-g08215f5486ec #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xcd/0x680 mm/kasan/report.c:521 kasan_report+0xe0/0x110 mm/kasan/report.c:634 lecd_attach net/atm/lec.c:751 [inline] lane_ioctl+0x2224/0x23e0 net/atm/lec.c:1008 do_vcc_ioctl+0x12c/0x930 net/atm/ioctl.c:159 sock_do_ioctl+0x118/0x280 net/socket.c:1190 sock_ioctl+0x227/0x6b0 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl fs/ioctl.c:893 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Allocated by task 6132: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4328 [inline] __kvmalloc_node_noprof+0x27b/0x620 mm/slub.c:5015 alloc_netdev_mqs+0xd2/0x1570 net/core/dev.c:11711 lecd_attach net/atm/lec.c:737 [inline] lane_ioctl+0x17db/0x23e0 net/atm/lec.c:1008 do_vcc_ioctl+0x12c/0x930 net/atm/ioctl.c:159 sock_do_ioctl+0x118/0x280 net/socket.c:1190 sock_ioctl+0x227/0x6b0 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl fs/ioctl.c:893 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 6132: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 kasan_save_free_info+0x3b/0x60 mm/kasan/generic.c:576 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x51/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2381 [inline] slab_free mm/slub.c:4643 [inline] kfree+0x2b4/0x4d0 mm/slub.c:4842 free_netdev+0x6c5/0x910 net/core/dev.c:11892 lecd_attach net/atm/lec.c:744 [inline] lane_ioctl+0x1ce8/0x23e0 net/atm/lec.c:1008 do_vcc_ioctl+0x12c/0x930 net/atm/ioctl.c:159 sock_do_ioctl+0x118/0x280 net/socket.c:1190 sock_ioctl+0x227/0x6b0 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl fs/ioctl.c:893 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:893


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: aoe: clean device rq_list in aoedev_downdev() An aoe device's rq_list contains accepted block requests that are waiting to be transmitted to the aoe target. This queue was added as part of the conversion to blk_mq. However, the queue was not cleaned out when an aoe device is downed which caused blk_mq_freeze_queue() to sleep indefinitely waiting for those requests to complete, causing a hang. This fix cleans out the queue before calling blk_mq_freeze_queue().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Use memcpy() for BIOS version The strlcat() with FORTIFY support is triggering a panic because it thinks the target buffer will overflow although the correct target buffer size is passed in. Anyway, instead of memset() with 0 followed by a strlcat(), just use memcpy() and ensure that the resulting buffer is NULL terminated. BIOSVersion is only used for the lpfc_printf_log() which expects a properly terminated string.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: gpio-keys - fix a sleep while atomic with PREEMPT_RT When enabling PREEMPT_RT, the gpio_keys_irq_timer() callback runs in hard irq context, but the input_event() takes a spin_lock, which isn't allowed there as it is converted to a rt_spin_lock(). [ 4054.289999] BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:48 [ 4054.290028] in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/0 ... [ 4054.290195] __might_resched+0x13c/0x1f4 [ 4054.290209] rt_spin_lock+0x54/0x11c [ 4054.290219] input_event+0x48/0x80 [ 4054.290230] gpio_keys_irq_timer+0x4c/0x78 [ 4054.290243] __hrtimer_run_queues+0x1a4/0x438 [ 4054.290257] hrtimer_interrupt+0xe4/0x240 [ 4054.290269] arch_timer_handler_phys+0x2c/0x44 [ 4054.290283] handle_percpu_devid_irq+0x8c/0x14c [ 4054.290297] handle_irq_desc+0x40/0x58 [ 4054.290307] generic_handle_domain_irq+0x1c/0x28 [ 4054.290316] gic_handle_irq+0x44/0xcc Considering the gpio_keys_irq_isr() can run in any context, e.g. it can be threaded, it seems there's no point in requesting the timer isr to run in hard irq context. Relax the hrtimer not to use the hard context.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ata: pata_via: Force PIO for ATAPI devices on VT6415/VT6330 The controller has a hardware bug that can hard hang the system when doing ATAPI DMAs without any trace of what happened. Depending on the device attached, it can also prevent the system from booting. In this case, the system hangs when reading the ATIP from optical media with cdrecord -vvv -atip on an _NEC DVD_RW ND-4571A 1-01 and an Optiarc DVD RW AD-7200A 1.06 attached to an ASRock 990FX Extreme 4, running at UDMA/33. The issue can be reproduced by running the same command with a cygwin build of cdrecord on WinXP, although it requires more attempts to cause it. The hang in that case is also resolved by forcing PIO. It doesn't appear that VIA has produced any drivers for that OS, thus no known workaround exists. HDDs attached to the controller do not suffer from any DMA issues.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: jbd2: fix data-race and null-ptr-deref in jbd2_journal_dirty_metadata() Since handle->h_transaction may be a NULL pointer, so we should change it to call is_handle_aborted(handle) first before dereferencing it. And the following data-race was reported in my fuzzer: ================================================================== BUG: KCSAN: data-race in jbd2_journal_dirty_metadata / jbd2_journal_dirty_metadata write to 0xffff888011024104 of 4 bytes by task 10881 on cpu 1: jbd2_journal_dirty_metadata+0x2a5/0x770 fs/jbd2/transaction.c:1556 __ext4_handle_dirty_metadata+0xe7/0x4b0 fs/ext4/ext4_jbd2.c:358 ext4_do_update_inode fs/ext4/inode.c:5220 [inline] ext4_mark_iloc_dirty+0x32c/0xd50 fs/ext4/inode.c:5869 __ext4_mark_inode_dirty+0xe1/0x450 fs/ext4/inode.c:6074 ext4_dirty_inode+0x98/0xc0 fs/ext4/inode.c:6103 .... read to 0xffff888011024104 of 4 bytes by task 10880 on cpu 0: jbd2_journal_dirty_metadata+0xf2/0x770 fs/jbd2/transaction.c:1512 __ext4_handle_dirty_metadata+0xe7/0x4b0 fs/ext4/ext4_jbd2.c:358 ext4_do_update_inode fs/ext4/inode.c:5220 [inline] ext4_mark_iloc_dirty+0x32c/0xd50 fs/ext4/inode.c:5869 __ext4_mark_inode_dirty+0xe1/0x450 fs/ext4/inode.c:6074 ext4_dirty_inode+0x98/0xc0 fs/ext4/inode.c:6103 .... value changed: 0x00000000 -> 0x00000001 ================================================================== This issue is caused by missing data-race annotation for jh->b_modified. Therefore, the missing annotation needs to be added.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fs/nfs/read: fix double-unlock bug in nfs_return_empty_folio() Sometimes, when a file was read while it was being truncated by another NFS client, the kernel could deadlock because folio_unlock() was called twice, and the second call would XOR back the `PG_locked` flag. Most of the time (depending on the timing of the truncation), nobody notices the problem because folio_unlock() gets called three times, which flips `PG_locked` back off: 1. vfs_read, nfs_read_folio, ... nfs_read_add_folio, nfs_return_empty_folio 2. vfs_read, nfs_read_folio, ... netfs_read_collection, netfs_unlock_abandoned_read_pages 3. vfs_read, ... nfs_do_read_folio, nfs_read_add_folio, nfs_return_empty_folio The problem is that nfs_read_add_folio() is not supposed to unlock the folio if fscache is enabled, and a nfs_netfs_folio_unlock() check is missing in nfs_return_empty_folio(). Rarely this leads to a warning in netfs_read_collection(): ------------[ cut here ]------------ R=0000031c: folio 10 is not locked WARNING: CPU: 0 PID: 29 at fs/netfs/read_collect.c:133 netfs_read_collection+0x7c0/0xf00 [...] Workqueue: events_unbound netfs_read_collection_worker RIP: 0010:netfs_read_collection+0x7c0/0xf00 [...] Call Trace: <TASK> netfs_read_collection_worker+0x67/0x80 process_one_work+0x12e/0x2c0 worker_thread+0x295/0x3a0 Most of the time, however, processes just get stuck forever in folio_wait_bit_common(), waiting for `PG_locked` to disappear, which never happens because nobody is really holding the folio lock.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powerpc/bpf: fix JIT code size calculation of bpf trampoline arch_bpf_trampoline_size() provides JIT size of the BPF trampoline before the buffer for JIT'ing it is allocated. The total number of instructions emitted for BPF trampoline JIT code depends on where the final image is located. So, the size arrived at with the dummy pass in arch_bpf_trampoline_size() can vary from the actual size needed in arch_prepare_bpf_trampoline(). When the instructions accounted in arch_bpf_trampoline_size() is less than the number of instructions emitted during the actual JIT compile of the trampoline, the below warning is produced: WARNING: CPU: 8 PID: 204190 at arch/powerpc/net/bpf_jit_comp.c:981 __arch_prepare_bpf_trampoline.isra.0+0xd2c/0xdcc which is: /* Make sure the trampoline generation logic doesn't overflow */ if (image && WARN_ON_ONCE(&image[ctx->idx] > (u32 *)rw_image_end - BPF_INSN_SAFETY)) { So, during the dummy pass, instead of providing some arbitrary image location, account for maximum possible instructions if and when there is a dependency with image location for JIT'ing.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: eth: fbnic: avoid double free when failing to DMA-map FW msg The semantics are that caller of fbnic_mbx_map_msg() retains the ownership of the message on error. All existing callers dutifully free the page.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: software node: Correct a OOB check in software_node_get_reference_args() software_node_get_reference_args() wants to get @index-th element, so the property value requires at least '(index + 1) * sizeof(*ref)' bytes but that can not be guaranteed by current OOB check, and may cause OOB for malformed property. Fix by using as OOB check '((index + 1) * sizeof(*ref) > prop->length)'.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: drop fragments with multicast or broadcast RA IEEE 802.11 fragmentation can only be applied to unicast frames. Therefore, drop fragments with multicast or broadcast RA. This patch addresses vulnerabilities such as CVE-2020-26145.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: fix acpi parse and parseext cache leaks ACPICA commit 8829e70e1360c81e7a5a901b5d4f48330e021ea5 I'm Seunghun Han, and I work for National Security Research Institute of South Korea. I have been doing a research on ACPI and found an ACPI cache leak in ACPI early abort cases. Boot log of ACPI cache leak is as follows: [ 0.352414] ACPI: Added _OSI(Module Device) [ 0.353182] ACPI: Added _OSI(Processor Device) [ 0.353182] ACPI: Added _OSI(3.0 _SCP Extensions) [ 0.353182] ACPI: Added _OSI(Processor Aggregator Device) [ 0.356028] ACPI: Unable to start the ACPI Interpreter [ 0.356799] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) [ 0.360215] kmem_cache_destroy Acpi-State: Slab cache still has objects [ 0.360648] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 4.12.0-rc4-next-20170608+ #10 [ 0.361273] Hardware name: innotek gmb_h virtual_box/virtual_box, BIOS virtual_box 12/01/2006 [ 0.361873] Call Trace: [ 0.362243] ? dump_stack+0x5c/0x81 [ 0.362591] ? kmem_cache_destroy+0x1aa/0x1c0 [ 0.362944] ? acpi_sleep_proc_init+0x27/0x27 [ 0.363296] ? acpi_os_delete_cache+0xa/0x10 [ 0.363646] ? acpi_ut_delete_caches+0x6d/0x7b [ 0.364000] ? acpi_terminate+0xa/0x14 [ 0.364000] ? acpi_init+0x2af/0x34f [ 0.364000] ? __class_create+0x4c/0x80 [ 0.364000] ? video_setup+0x7f/0x7f [ 0.364000] ? acpi_sleep_proc_init+0x27/0x27 [ 0.364000] ? do_one_initcall+0x4e/0x1a0 [ 0.364000] ? kernel_init_freeable+0x189/0x20a [ 0.364000] ? rest_init+0xc0/0xc0 [ 0.364000] ? kernel_init+0xa/0x100 [ 0.364000] ? ret_from_fork+0x25/0x30 I analyzed this memory leak in detail. I found that "Acpi-State" cache and "Acpi-Parse" cache were merged because the size of cache objects was same slab cache size. I finally found "Acpi-Parse" cache and "Acpi-parse_ext" cache were leaked using SLAB_NEVER_MERGE flag in kmem_cache_create() function. Real ACPI cache leak point is as follows: [ 0.360101] ACPI: Added _OSI(Module Device) [ 0.360101] ACPI: Added _OSI(Processor Device) [ 0.360101] ACPI: Added _OSI(3.0 _SCP Extensions) [ 0.361043] ACPI: Added _OSI(Processor Aggregator Device) [ 0.364016] ACPI: Unable to start the ACPI Interpreter [ 0.365061] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) [ 0.368174] kmem_cache_destroy Acpi-Parse: Slab cache still has objects [ 0.369332] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.12.0-rc4-next-20170608+ #8 [ 0.371256] Hardware name: innotek gmb_h virtual_box/virtual_box, BIOS virtual_box 12/01/2006 [ 0.372000] Call Trace: [ 0.372000] ? dump_stack+0x5c/0x81 [ 0.372000] ? kmem_cache_destroy+0x1aa/0x1c0 [ 0.372000] ? acpi_sleep_proc_init+0x27/0x27 [ 0.372000] ? acpi_os_delete_cache+0xa/0x10 [ 0.372000] ? acpi_ut_delete_caches+0x56/0x7b [ 0.372000] ? acpi_terminate+0xa/0x14 [ 0.372000] ? acpi_init+0x2af/0x34f [ 0.372000] ? __class_create+0x4c/0x80 [ 0.372000] ? video_setup+0x7f/0x7f [ 0.372000] ? acpi_sleep_proc_init+0x27/0x27 [ 0.372000] ? do_one_initcall+0x4e/0x1a0 [ 0.372000] ? kernel_init_freeable+0x189/0x20a [ 0.372000] ? rest_init+0xc0/0xc0 [ 0.372000] ? kernel_init+0xa/0x100 [ 0.372000] ? ret_from_fork+0x25/0x30 [ 0.388039] kmem_cache_destroy Acpi-parse_ext: Slab cache still has objects [ 0.389063] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W 4.12.0-rc4-next-20170608+ #8 [ 0.390557] Hardware name: innotek gmb_h virtual_box/virtual_box, BIOS virtual_box 12/01/2006 [ 0.392000] Call Trace: [ 0.392000] ? dump_stack+0x5c/0x81 [ 0.392000] ? kmem_cache_destroy+0x1aa/0x1c0 [ 0.392000] ? acpi_sleep_proc_init+0x27/0x27 [ 0.392000] ? acpi_os_delete_cache+0xa/0x10 [ 0.392000] ? acpi_ut_delete_caches+0x6d/0x7b [ 0.392000] ? acpi_terminate+0xa/0x14 [ 0.392000] ? acpi_init+0x2af/0x3 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: fix acpi operand cache leak in dswstate.c ACPICA commit 987a3b5cf7175916e2a4b6ea5b8e70f830dfe732 I found an ACPI cache leak in ACPI early termination and boot continuing case. When early termination occurs due to malicious ACPI table, Linux kernel terminates ACPI function and continues to boot process. While kernel terminates ACPI function, kmem_cache_destroy() reports Acpi-Operand cache leak. Boot log of ACPI operand cache leak is as follows: >[ 0.585957] ACPI: Added _OSI(Module Device) >[ 0.587218] ACPI: Added _OSI(Processor Device) >[ 0.588530] ACPI: Added _OSI(3.0 _SCP Extensions) >[ 0.589790] ACPI: Added _OSI(Processor Aggregator Device) >[ 0.591534] ACPI Error: Illegal I/O port address/length above 64K: C806E00000004002/0x2 (20170303/hwvalid-155) >[ 0.594351] ACPI Exception: AE_LIMIT, Unable to initialize fixed events (20170303/evevent-88) >[ 0.597858] ACPI: Unable to start the ACPI Interpreter >[ 0.599162] ACPI Error: Could not remove SCI handler (20170303/evmisc-281) >[ 0.601836] kmem_cache_destroy Acpi-Operand: Slab cache still has objects >[ 0.603556] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.12.0-rc5 #26 >[ 0.605159] Hardware name: innotek gmb_h virtual_box/virtual_box, BIOS virtual_box 12/01/2006 >[ 0.609177] Call Trace: >[ 0.610063] ? dump_stack+0x5c/0x81 >[ 0.611118] ? kmem_cache_destroy+0x1aa/0x1c0 >[ 0.612632] ? acpi_sleep_proc_init+0x27/0x27 >[ 0.613906] ? acpi_os_delete_cache+0xa/0x10 >[ 0.617986] ? acpi_ut_delete_caches+0x3f/0x7b >[ 0.619293] ? acpi_terminate+0xa/0x14 >[ 0.620394] ? acpi_init+0x2af/0x34f >[ 0.621616] ? __class_create+0x4c/0x80 >[ 0.623412] ? video_setup+0x7f/0x7f >[ 0.624585] ? acpi_sleep_proc_init+0x27/0x27 >[ 0.625861] ? do_one_initcall+0x4e/0x1a0 >[ 0.627513] ? kernel_init_freeable+0x19e/0x21f >[ 0.628972] ? rest_init+0x80/0x80 >[ 0.630043] ? kernel_init+0xa/0x100 >[ 0.631084] ? ret_from_fork+0x25/0x30 >[ 0.633343] vgaarb: loaded >[ 0.635036] EDAC MC: Ver: 3.0.0 >[ 0.638601] PCI: Probing PCI hardware >[ 0.639833] PCI host bridge to bus 0000:00 >[ 0.641031] pci_bus 0000:00: root bus resource [io 0x0000-0xffff] > ... Continue to boot and log is omitted ... I analyzed this memory leak in detail and found acpi_ds_obj_stack_pop_and_ delete() function miscalculated the top of the stack. acpi_ds_obj_stack_push() function uses walk_state->operand_index for start position of the top, but acpi_ds_obj_stack_pop_and_delete() function considers index 0 for it. Therefore, this causes acpi operand memory leak. This cache leak causes a security threat because an old kernel (<= 4.9) shows memory locations of kernel functions in stack dump. Some malicious users could use this information to neutralize kernel ASLR. I made a patch to fix ACPI operand cache leak.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: p54: prevent buffer-overflow in p54_rx_eeprom_readback() Robert Morris reported: |If a malicious USB device pretends to be an Intersil p54 wifi |interface and generates an eeprom_readback message with a large |eeprom->v1.len, p54_rx_eeprom_readback() will copy data from the |message beyond the end of priv->eeprom. | |static void p54_rx_eeprom_readback(struct p54_common *priv, | struct sk_buff *skb) |{ | struct p54_hdr *hdr = (struct p54_hdr *) skb->data; | struct p54_eeprom_lm86 *eeprom = (struct p54_eeprom_lm86 *) hdr->data; | | if (priv->fw_var >= 0x509) { | memcpy(priv->eeprom, eeprom->v2.data, | le16_to_cpu(eeprom->v2.len)); | } else { | memcpy(priv->eeprom, eeprom->v1.data, | le16_to_cpu(eeprom->v1.len)); | } | [...] The eeprom->v{1,2}.len is set by the driver in p54_download_eeprom(). The device is supposed to provide the same length back to the driver. But yes, it's possible (like shown in the report) to alter the value to something that causes a crash/panic due to overrun. This patch addresses the issue by adding the size to the common device context, so p54_rx_eeprom_readback no longer relies on possibly tampered values... That said, it also checks if the "firmware" altered the value and no longer copies them. The one, small saving grace is: Before the driver tries to read the eeprom, it needs to upload >a< firmware. the vendor firmware has a proprietary license and as a reason, it is not present on most distributions by default.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: eventpoll: don't decrement ep refcount while still holding the ep mutex Jann Horn points out that epoll is decrementing the ep refcount and then doing a mutex_unlock(&ep->mtx); afterwards. That's very wrong, because it can lead to a use-after-free. That pattern is actually fine for the very last reference, because the code in question will delay the actual call to "ep_free(ep)" until after it has unlocked the mutex. But it's wrong for the much subtler "next to last" case when somebody *else* may also be dropping their reference and free the ep while we're still using the mutex. Note that this is true even if that other user is also using the same ep mutex: mutexes, unlike spinlocks, can not be used for object ownership, even if they guarantee mutual exclusion. A mutex "unlock" operation is not atomic, and as one user is still accessing the mutex as part of unlocking it, another user can come in and get the now released mutex and free the data structure while the first user is still cleaning up. See our mutex documentation in Documentation/locking/mutex-design.rst, in particular the section [1] about semantics: "mutex_unlock() may access the mutex structure even after it has internally released the lock already - so it's not safe for another context to acquire the mutex and assume that the mutex_unlock() context is not using the structure anymore" So if we drop our ep ref before the mutex unlock, but we weren't the last one, we may then unlock the mutex, another user comes in, drops _their_ reference and releases the 'ep' as it now has no users - all while the mutex_unlock() is still accessing it. Fix this by simply moving the ep refcount dropping to outside the mutex: the refcount itself is atomic, and doesn't need mutex protection (that's the whole _point_ of refcounts: unlike mutexes, they are inherently about object lifetimes).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Always pass notifications when child class becomes empty Certain classful qdiscs may invoke their classes' dequeue handler on an enqueue operation. This may unexpectedly empty the child qdisc and thus make an in-flight class passive via qlen_notify(). Most qdiscs do not expect such behaviour at this point in time and may re-activate the class eventually anyways which will lead to a use-after-free. The referenced fix commit attempted to fix this behavior for the HFSC case by moving the backlog accounting around, though this turned out to be incomplete since the parent's parent may run into the issue too. The following reproducer demonstrates this use-after-free: tc qdisc add dev lo root handle 1: drr tc filter add dev lo parent 1: basic classid 1:1 tc class add dev lo parent 1: classid 1:1 drr tc qdisc add dev lo parent 1:1 handle 2: hfsc def 1 tc class add dev lo parent 2: classid 2:1 hfsc rt m1 8 d 1 m2 0 tc qdisc add dev lo parent 2:1 handle 3: netem tc qdisc add dev lo parent 3:1 handle 4: blackhole echo 1 | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888 tc class delete dev lo classid 1:1 echo 1 | socat -u STDIN UDP4-DATAGRAM:127.0.0.1:8888 Since backlog accounting issues leading to a use-after-frees on stale class pointers is a recurring pattern at this point, this patch takes a different approach. Instead of trying to fix the accounting, the patch ensures that qdisc_tree_reduce_backlog always calls qlen_notify when the child qdisc is empty. This solves the problem because deletion of qdiscs always involves a call to qdisc_reset() and / or qdisc_purge_queue() which ultimately resets its qlen to 0 thus causing the following qdisc_tree_reduce_backlog() to report to the parent. Note that this may call qlen_notify on passive classes multiple times. This is not a problem after the recent patch series that made all the classful qdiscs qlen_notify() handlers idempotent.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/hyper-v: Skip non-canonical addresses during PV TLB flush In KVM guests with Hyper-V hypercalls enabled, the hypercalls HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST and HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX allow a guest to request invalidation of portions of a virtual TLB. For this, the hypercall parameter includes a list of GVAs that are supposed to be invalidated. However, when non-canonical GVAs are passed, there is currently no filtering in place and they are eventually passed to checked invocations of INVVPID on Intel / INVLPGA on AMD. While AMD's INVLPGA silently ignores non-canonical addresses (effectively a no-op), Intel's INVVPID explicitly signals VM-Fail and ultimately triggers the WARN_ONCE in invvpid_error(): invvpid failed: ext=0x0 vpid=1 gva=0xaaaaaaaaaaaaa000 WARNING: CPU: 6 PID: 326 at arch/x86/kvm/vmx/vmx.c:482 invvpid_error+0x91/0xa0 [kvm_intel] Modules linked in: kvm_intel kvm 9pnet_virtio irqbypass fuse CPU: 6 UID: 0 PID: 326 Comm: kvm-vm Not tainted 6.15.0 #14 PREEMPT(voluntary) RIP: 0010:invvpid_error+0x91/0xa0 [kvm_intel] Call Trace: vmx_flush_tlb_gva+0x320/0x490 [kvm_intel] kvm_hv_vcpu_flush_tlb+0x24f/0x4f0 [kvm] kvm_arch_vcpu_ioctl_run+0x3013/0x5810 [kvm] Hyper-V documents that invalid GVAs (those that are beyond a partition's GVA space) are to be ignored. While not completely clear whether this ruling also applies to non-canonical GVAs, it is likely fine to make that assumption, and manual testing on Azure confirms "real" Hyper-V interprets the specification in the same way. Skip non-canonical GVAs when processing the list of address to avoid tripping the INVVPID failure. Alternatively, KVM could filter out "bad" GVAs before inserting into the FIFO, but practically speaking the only downside of pushing validation to the final processing is that doing so is suboptimal for the guest, and no well-behaved guest will request TLB flushes for non-canonical addresses.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() If an exiting non-autoreaping task has already passed exit_notify() and calls handle_posix_cpu_timers() from IRQ, it can be reaped by its parent or debugger right after unlock_task_sighand(). If a concurrent posix_cpu_timer_del() runs at that moment, it won't be able to detect timer->it.cpu.firing != 0: cpu_timer_task_rcu() and/or lock_task_sighand() will fail. Add the tsk->exit_state check into run_posix_cpu_timers() to fix this. This fix is not needed if CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y, because exit_task_work() is called before exit_notify(). But the check still makes sense, task_work_add(&tsk->posix_cputimers_work.work) will fail anyway in this case.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Fix taking invalid lock on wedge If device wedges on e.g. GuC upload, the submission is not yet enabled and the state is not even initialized. Protect the wedge call so it does nothing in this case. It fixes the following splat: [] xe 0000:bf:00.0: [drm] device wedged, needs recovery [] ------------[ cut here ]------------ [] DEBUG_LOCKS_WARN_ON(lock->magic != lock) [] WARNING: CPU: 48 PID: 312 at kernel/locking/mutex.c:564 __mutex_lock+0x8a1/0xe60 ... [] RIP: 0010:__mutex_lock+0x8a1/0xe60 [] mutex_lock_nested+0x1b/0x30 [] xe_guc_submit_wedge+0x80/0x2b0 [xe]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm/gpu: Fix crash when throttling GPU immediately during boot There is a small chance that the GPU is already hot during boot. In that case, the call to of_devfreq_cooling_register() will immediately try to apply devfreq cooling, as seen in the following crash: Unable to handle kernel paging request at virtual address 0000000000014110 pc : a6xx_gpu_busy+0x1c/0x58 [msm] lr : msm_devfreq_get_dev_status+0xbc/0x140 [msm] Call trace: a6xx_gpu_busy+0x1c/0x58 [msm] (P) devfreq_simple_ondemand_func+0x3c/0x150 devfreq_update_target+0x44/0xd8 qos_max_notifier_call+0x30/0x84 blocking_notifier_call_chain+0x6c/0xa0 pm_qos_update_target+0xd0/0x110 freq_qos_apply+0x3c/0x74 apply_constraint+0x88/0x148 __dev_pm_qos_update_request+0x7c/0xcc dev_pm_qos_update_request+0x38/0x5c devfreq_cooling_set_cur_state+0x98/0xf0 __thermal_cdev_update+0x64/0xb4 thermal_cdev_update+0x4c/0x58 step_wise_manage+0x1f0/0x318 __thermal_zone_device_update+0x278/0x424 __thermal_cooling_device_register+0x2bc/0x308 thermal_of_cooling_device_register+0x10/0x1c of_devfreq_cooling_register_power+0x240/0x2bc of_devfreq_cooling_register+0x14/0x20 msm_devfreq_init+0xc4/0x1a0 [msm] msm_gpu_init+0x304/0x574 [msm] adreno_gpu_init+0x1c4/0x2e0 [msm] a6xx_gpu_init+0x5c8/0x9c8 [msm] adreno_bind+0x2a8/0x33c [msm] ... At this point we haven't initialized the GMU at all yet, so we cannot read the GMU registers inside a6xx_gpu_busy(). A similar issue was fixed before in commit 6694482a70e9 ("drm/msm: Avoid unclocked GMU register access in 6xx gpu_busy"): msm_devfreq_init() does call devfreq_suspend_device(), but unlike msm_devfreq_suspend(), it doesn't set the df->suspended flag accordingly. This means the df->suspended flag does not match the actual devfreq state after initialization and msm_devfreq_get_dev_status() will end up accessing GMU registers, causing the crash. Fix this by setting df->suspended correctly during initialization. Patchwork: https://patchwork.freedesktop.org/patch/650772/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Process deferred GGTT node removals on device unwind While we are indirectly draining our dedicated workqueue ggtt->wq that we use to complete asynchronous removal of some GGTT nodes, this happends as part of the managed-drm unwinding (ggtt_fini_early), which could be later then manage-device unwinding, where we could already unmap our MMIO/GMS mapping (mmio_fini). This was recently observed during unsuccessful VF initialization: [ ] xe 0000:00:02.1: probe with driver xe failed with error -62 [ ] xe 0000:00:02.1: DEVRES REL ffff88811e747340 __xe_bo_unpin_map_no_vm (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e747540 __xe_bo_unpin_map_no_vm (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e747240 __xe_bo_unpin_map_no_vm (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e747040 tiles_fini (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e746840 mmio_fini (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e747f40 xe_bo_pinned_fini (16 bytes) [ ] xe 0000:00:02.1: DEVRES REL ffff88811e746b40 devm_drm_dev_init_release (16 bytes) [ ] xe 0000:00:02.1: [drm:drm_managed_release] drmres release begin [ ] xe 0000:00:02.1: [drm:drm_managed_release] REL ffff88810ef81640 __fini_relay (8 bytes) [ ] xe 0000:00:02.1: [drm:drm_managed_release] REL ffff88810ef80d40 guc_ct_fini (8 bytes) [ ] xe 0000:00:02.1: [drm:drm_managed_release] REL ffff88810ef80040 __drmm_mutex_release (8 bytes) [ ] xe 0000:00:02.1: [drm:drm_managed_release] REL ffff88810ef80140 ggtt_fini_early (8 bytes) and this was leading to: [ ] BUG: unable to handle page fault for address: ffffc900058162a0 [ ] #PF: supervisor write access in kernel mode [ ] #PF: error_code(0x0002) - not-present page [ ] Oops: Oops: 0002 [#1] SMP NOPTI [ ] Tainted: [W]=WARN [ ] Workqueue: xe-ggtt-wq ggtt_node_remove_work_func [xe] [ ] RIP: 0010:xe_ggtt_set_pte+0x6d/0x350 [xe] [ ] Call Trace: [ ] <TASK> [ ] xe_ggtt_clear+0xb0/0x270 [xe] [ ] ggtt_node_remove+0xbb/0x120 [xe] [ ] ggtt_node_remove_work_func+0x30/0x50 [xe] [ ] process_one_work+0x22b/0x6f0 [ ] worker_thread+0x1e8/0x3d Add managed-device action that will explicitly drain the workqueue with all pending node removals prior to releasing MMIO/GSM mapping. (cherry picked from commit 89d2835c3680ab1938e22ad81b1c9f8c686bd391)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/guc: Explicitly exit CT safe mode on unwind During driver probe we might be briefly using CT safe mode, which is based on a delayed work, but usually we are able to stop this once we have IRQ fully operational. However, if we abort the probe quite early then during unwind we might try to destroy the workqueue while there is still a pending delayed work that attempts to restart itself which triggers a WARN. This was recently observed during unsuccessful VF initialization: [ ] xe 0000:00:02.1: probe with driver xe failed with error -62 [ ] ------------[ cut here ]------------ [ ] workqueue: cannot queue safe_mode_worker_func [xe] on wq xe-g2h-wq [ ] WARNING: CPU: 9 PID: 0 at kernel/workqueue.c:2257 __queue_work+0x287/0x710 [ ] RIP: 0010:__queue_work+0x287/0x710 [ ] Call Trace: [ ] delayed_work_timer_fn+0x19/0x30 [ ] call_timer_fn+0xa1/0x2a0 Exit the CT safe mode on unwind to avoid that warning. (cherry picked from commit 2ddbb73ec20b98e70a5200cb85deade22ccea2ec)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/mm: Fix in_atomic() handling in do_secure_storage_access() Kernel user spaces accesses to not exported pages in atomic context incorrectly try to resolve the page fault. With debug options enabled call traces like this can be seen: BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1523 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 419074, name: qemu-system-s39 preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 INFO: lockdep is turned off. Preemption disabled at: [<00000383ea47cfa2>] copy_page_from_iter_atomic+0xa2/0x8a0 CPU: 12 UID: 0 PID: 419074 Comm: qemu-system-s39 Tainted: G W 6.16.0-20250531.rc0.git0.69b3a602feac.63.fc42.s390x+debug #1 PREEMPT Tainted: [W]=WARN Hardware name: IBM 3931 A01 703 (LPAR) Call Trace: [<00000383e990d282>] dump_stack_lvl+0xa2/0xe8 [<00000383e99bf152>] __might_resched+0x292/0x2d0 [<00000383eaa7c374>] down_read+0x34/0x2d0 [<00000383e99432f8>] do_secure_storage_access+0x108/0x360 [<00000383eaa724b0>] __do_pgm_check+0x130/0x220 [<00000383eaa842e4>] pgm_check_handler+0x114/0x160 [<00000383ea47d028>] copy_page_from_iter_atomic+0x128/0x8a0 ([<00000383ea47d016>] copy_page_from_iter_atomic+0x116/0x8a0) [<00000383e9c45eae>] generic_perform_write+0x16e/0x310 [<00000383e9eb87f4>] ext4_buffered_write_iter+0x84/0x160 [<00000383e9da0de4>] vfs_write+0x1c4/0x460 [<00000383e9da123c>] ksys_write+0x7c/0x100 [<00000383eaa7284e>] __do_syscall+0x15e/0x280 [<00000383eaa8417e>] system_call+0x6e/0x90 INFO: lockdep is turned off. It is not allowed to take the mmap_lock while in atomic context. Therefore handle such a secure storage access fault as if the accessed page is not mapped: the uaccess function will return -EFAULT, and the caller has to deal with this. Usually this means that the access is retried in process context, which allows to resolve the page fault (or in this case export the page).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Add more checks for DSC / HUBP ONO guarantees [WHY] For non-zero DSC instances it's possible that the HUBP domain required to drive it for sequential ONO ASICs isn't met, potentially causing the logic to the tile to enter an undefined state leading to a system hang. [HOW] Add more checks to ensure that the HUBP domain matching the DSC instance is appropriately powered. (cherry picked from commit da63df07112e5a9857a8d2aaa04255c4206754ec)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Check dce_hwseq before dereferencing it [WHAT] hws was checked for null earlier in dce110_blank_stream, indicating hws can be null, and should be checked whenever it is used. (cherry picked from commit 79db43611ff61280b6de58ce1305e0b2ecf675ad)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Add null pointer check for get_first_active_display() The function mod_hdcp_hdcp1_enable_encryption() calls the function get_first_active_display(), but does not check its return value. The return value is a null pointer if the display list is empty. This will lead to a null pointer dereference in mod_hdcp_hdcp2_enable_encryption(). Add a null pointer check for get_first_active_display() and return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/tegra: Fix a possible null pointer dereference In tegra_crtc_reset(), new memory is allocated with kzalloc(), but no check is performed. Before calling __drm_atomic_helper_crtc_reset, state should be checked to prevent possible null pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: maple_tree: fix MA_STATE_PREALLOC flag in mas_preallocate() Temporarily clear the preallocation flag when explicitly requesting allocations. Pre-existing allocations are already counted against the request through mas_node_count_gfp(), but the allocations will not happen if the MA_STATE_PREALLOC flag is set. This flag is meant to avoid re-allocating in bulk allocation mode, and to detect issues with preallocation calculations. The MA_STATE_PREALLOC flag should also always be set on zero allocations so that detection of underflow allocations will print a WARN_ON() during consumption. User visible effect of this flaw is a WARN_ON() followed by a null pointer dereference when subsequent requests for larger number of nodes is ignored, such as the vma merge retry in mmap_region() caused by drivers altering the vma flags (which happens in v6.6, at least)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix a race between renames and directory logging We have a race between a rename and directory inode logging that if it happens and we crash/power fail before the rename completes, the next time the filesystem is mounted, the log replay code will end up deleting the file that was being renamed. This is best explained following a step by step analysis of an interleaving of steps that lead into this situation. Consider the initial conditions: 1) We are at transaction N; 2) We have directories A and B created in a past transaction (< N); 3) We have inode X corresponding to a file that has 2 hardlinks, one in directory A and the other in directory B, so we'll name them as "A/foo_link1" and "B/foo_link2". Both hard links were persisted in a past transaction (< N); 4) We have inode Y corresponding to a file that as a single hard link and is located in directory A, we'll name it as "A/bar". This file was also persisted in a past transaction (< N). The steps leading to a file loss are the following and for all of them we are under transaction N: 1) Link "A/foo_link1" is removed, so inode's X last_unlink_trans field is updated to N, through btrfs_unlink() -> btrfs_record_unlink_dir(); 2) Task A starts a rename for inode Y, with the goal of renaming from "A/bar" to "A/baz", so we enter btrfs_rename(); 3) Task A inserts the new BTRFS_INODE_REF_KEY for inode Y by calling btrfs_insert_inode_ref(); 4) Because the rename happens in the same directory, we don't set the last_unlink_trans field of directoty A's inode to the current transaction id, that is, we don't cal btrfs_record_unlink_dir(); 5) Task A then removes the entries from directory A (BTRFS_DIR_ITEM_KEY and BTRFS_DIR_INDEX_KEY items) when calling __btrfs_unlink_inode() (actually the dir index item is added as a delayed item, but the effect is the same); 6) Now before task A adds the new entry "A/baz" to directory A by calling btrfs_add_link(), another task, task B is logging inode X; 7) Task B starts a fsync of inode X and after logging inode X, at btrfs_log_inode_parent() it calls btrfs_log_all_parents(), since inode X has a last_unlink_trans value of N, set at in step 1; 8) At btrfs_log_all_parents() we search for all parent directories of inode X using the commit root, so we find directories A and B and log them. Bu when logging direct A, we don't have a dir index item for inode Y anymore, neither the old name "A/bar" nor for the new name "A/baz" since the rename has deleted the old name but has not yet inserted the new name - task A hasn't called yet btrfs_add_link() to do that. Note that logging directory A doesn't fallback to a transaction commit because its last_unlink_trans has a lower value than the current transaction's id (see step 4); 9) Task B finishes logging directories A and B and gets back to btrfs_sync_file() where it calls btrfs_sync_log() to persist the log tree; 10) Task B successfully persisted the log tree, btrfs_sync_log() completed with success, and a power failure happened. We have a log tree without any directory entry for inode Y, so the log replay code deletes the entry for inode Y, name "A/bar", from the subvolume tree since it doesn't exist in the log tree and the log tree is authorative for its index (we logged a BTRFS_DIR_LOG_INDEX_KEY item that covers the index range for the dentry that corresponds to "A/bar"). Since there's no other hard link for inode Y and the log replay code deletes the name "A/bar", the file is lost. The issue wouldn't happen if task B synced the log only after task A called btrfs_log_new_name(), which would update the log with the new name for inode Y ("A/bar"). Fix this by pinning the log root during renames before removing the old directory entry, and unpinning af ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: misc: tps6594-pfsm: Add NULL pointer check in tps6594_pfsm_probe() The returned value, pfsm->miscdev.name, from devm_kasprintf() could be NULL. A pointer check is added to prevent potential NULL pointer dereference. This is similar to the fix in commit 3027e7b15b02 ("ice: Fix some null pointer dereference issues in ice_ptp.c"). This issue is found by our static analysis tool.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Check availability of workqueue allocated by idxd wq driver before using Running IDXD workloads in a container with the /dev directory mounted can trigger a call trace or even a kernel panic when the parent process of the container is terminated. This issue occurs because, under certain configurations, Docker does not properly propagate the mount replica back to the original mount point. In this case, when the user driver detaches, the WQ is destroyed but it still calls destroy_workqueue() attempting to completes all pending work. It's necessary to check wq->wq and skip the drain if it no longer exists.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Disable interrupts before resetting the GPU Currently, an interrupt can be triggered during a GPU reset, which can lead to GPU hangs and NULL pointer dereference in an interrupt context as shown in the following trace: [ 314.035040] Unable to handle kernel NULL pointer dereference at virtual address 00000000000000c0 [ 314.043822] Mem abort info: [ 314.046606] ESR = 0x0000000096000005 [ 314.050347] EC = 0x25: DABT (current EL), IL = 32 bits [ 314.055651] SET = 0, FnV = 0 [ 314.058695] EA = 0, S1PTW = 0 [ 314.061826] FSC = 0x05: level 1 translation fault [ 314.066694] Data abort info: [ 314.069564] ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000 [ 314.075039] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 314.080080] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 314.085382] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000102728000 [ 314.091814] [00000000000000c0] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000 [ 314.100511] Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP [ 314.106770] Modules linked in: v3d i2c_brcmstb vc4 snd_soc_hdmi_codec gpu_sched drm_shmem_helper drm_display_helper cec drm_dma_helper drm_kms_helper drm drm_panel_orientation_quirks snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd backlight [ 314.129654] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.25+rpt-rpi-v8 #1 Debian 1:6.12.25-1+rpt1 [ 314.139388] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT) [ 314.145211] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 314.152165] pc : v3d_irq+0xec/0x2e0 [v3d] [ 314.156187] lr : v3d_irq+0xe0/0x2e0 [v3d] [ 314.160198] sp : ffffffc080003ea0 [ 314.163502] x29: ffffffc080003ea0 x28: ffffffec1f184980 x27: 021202b000000000 [ 314.170633] x26: ffffffec1f17f630 x25: ffffff8101372000 x24: ffffffec1f17d9f0 [ 314.177764] x23: 000000000000002a x22: 000000000000002a x21: ffffff8103252000 [ 314.184895] x20: 0000000000000001 x19: 00000000deadbeef x18: 0000000000000000 [ 314.192026] x17: ffffff94e51d2000 x16: ffffffec1dac3cb0 x15: c306000000000000 [ 314.199156] x14: 0000000000000000 x13: b2fc982e03cc5168 x12: 0000000000000001 [ 314.206286] x11: ffffff8103f8bcc0 x10: ffffffec1f196868 x9 : ffffffec1dac3874 [ 314.213416] x8 : 0000000000000000 x7 : 0000000000042a3a x6 : ffffff810017a180 [ 314.220547] x5 : ffffffec1ebad400 x4 : ffffffec1ebad320 x3 : 00000000000bebeb [ 314.227677] x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000 [ 314.234807] Call trace: [ 314.237243] v3d_irq+0xec/0x2e0 [v3d] [ 314.240906] __handle_irq_event_percpu+0x58/0x218 [ 314.245609] handle_irq_event+0x54/0xb8 [ 314.249439] handle_fasteoi_irq+0xac/0x240 [ 314.253527] handle_irq_desc+0x48/0x68 [ 314.257269] generic_handle_domain_irq+0x24/0x38 [ 314.261879] gic_handle_irq+0x48/0xd8 [ 314.265533] call_on_irq_stack+0x24/0x58 [ 314.269448] do_interrupt_handler+0x88/0x98 [ 314.273624] el1_interrupt+0x34/0x68 [ 314.277193] el1h_64_irq_handler+0x18/0x28 [ 314.281281] el1h_64_irq+0x64/0x68 [ 314.284673] default_idle_call+0x3c/0x168 [ 314.288675] do_idle+0x1fc/0x230 [ 314.291895] cpu_startup_entry+0x3c/0x50 [ 314.295810] rest_init+0xe4/0xf0 [ 314.299030] start_kernel+0x5e8/0x790 [ 314.302684] __primary_switched+0x80/0x90 [ 314.306691] Code: 940029eb 360ffc13 f9442ea0 52800001 (f9406017) [ 314.312775] ---[ end trace 0000000000000000 ]--- [ 314.317384] Kernel panic - not syncing: Oops: Fatal exception in interrupt [ 314.324249] SMP: stopping secondary CPUs [ 314.328167] Kernel Offset: 0x2b9da00000 from 0xffffffc080000000 [ 314.334076] PHYS_OFFSET: 0x0 [ 314.336946] CPU features: 0x08,00002013,c0200000,0200421b [ 314.342337] Memory Limit: none [ 314.345382] ---[ end Kernel panic - not syncing: Oops: Fatal exception in interrupt ]--- Before resetting the G ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix unsafe xarray access in implicit ODP handling __xa_store() and __xa_erase() were used without holding the proper lock, which led to a lockdep warning due to unsafe RCU usage. This patch replaces them with xa_store() and xa_erase(), which perform the necessary locking internally. ============================= WARNING: suspicious RCPU usage 6.14.0-rc7_for_upstream_debug_2025_03_18_15_01 #1 Not tainted ----------------------------- ./include/linux/xarray.h:1211 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 3 locks held by kworker/u136:0/219: at: process_one_work+0xbe4/0x15f0 process_one_work+0x75c/0x15f0 pagefault_mr+0x9a5/0x1390 [mlx5_ib] stack backtrace: CPU: 14 UID: 0 PID: 219 Comm: kworker/u136:0 Not tainted 6.14.0-rc7_for_upstream_debug_2025_03_18_15_01 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 Workqueue: mlx5_ib_page_fault mlx5_ib_eqe_pf_action [mlx5_ib] Call Trace: dump_stack_lvl+0xa8/0xc0 lockdep_rcu_suspicious+0x1e6/0x260 xas_create+0xb8a/0xee0 xas_store+0x73/0x14c0 __xa_store+0x13c/0x220 ? xa_store_range+0x390/0x390 ? spin_bug+0x1d0/0x1d0 pagefault_mr+0xcb5/0x1390 [mlx5_ib] ? _raw_spin_unlock+0x1f/0x30 mlx5_ib_eqe_pf_action+0x3be/0x2620 [mlx5_ib] ? lockdep_hardirqs_on_prepare+0x400/0x400 ? mlx5_ib_invalidate_range+0xcb0/0xcb0 [mlx5_ib] process_one_work+0x7db/0x15f0 ? pwq_dec_nr_in_flight+0xda0/0xda0 ? assign_work+0x168/0x240 worker_thread+0x57d/0xcd0 ? rescuer_thread+0xc40/0xc40 kthread+0x3b3/0x800 ? kthread_is_per_cpu+0xb0/0xb0 ? lock_downgrade+0x680/0x680 ? do_raw_spin_lock+0x12d/0x270 ? spin_bug+0x1d0/0x1d0 ? finish_task_switch.isra.0+0x284/0x9e0 ? lockdep_hardirqs_on_prepare+0x284/0x400 ? kthread_is_per_cpu+0xb0/0xb0 ret_from_fork+0x2d/0x70 ? kthread_is_per_cpu+0xb0/0xb0 ret_from_fork_asm+0x11/0x20


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: IB/mlx5: Fix potential deadlock in MR deregistration The issue arises when kzalloc() is invoked while holding umem_mutex or any other lock acquired under umem_mutex. This is problematic because kzalloc() can trigger fs_reclaim_aqcuire(), which may, in turn, invoke mmu_notifier_invalidate_range_start(). This function can lead to mlx5_ib_invalidate_range(), which attempts to acquire umem_mutex again, resulting in a deadlock. The problematic flow: CPU0 | CPU1 ---------------------------------------|------------------------------------------------ mlx5_ib_dereg_mr() | -> revoke_mr() | -> mutex_lock(&umem_odp->umem_mutex) | | mlx5_mkey_cache_init() | -> mutex_lock(&dev->cache.rb_lock) | -> mlx5r_cache_create_ent_locked() | -> kzalloc(GFP_KERNEL) | -> fs_reclaim() | -> mmu_notifier_invalidate_range_start() | -> mlx5_ib_invalidate_range() | -> mutex_lock(&umem_odp->umem_mutex) -> cache_ent_find_and_store() | -> mutex_lock(&dev->cache.rb_lock) | Additionally, when kzalloc() is called from within cache_ent_find_and_store(), we encounter the same deadlock due to re-acquisition of umem_mutex. Solve by releasing umem_mutex in dereg_mr() after umr_revoke_mr() and before acquiring rb_lock. This ensures that we don't hold umem_mutex while performing memory allocations that could trigger the reclaim path. This change prevents the deadlock by ensuring proper lock ordering and avoiding holding locks during memory allocation operations that could trigger the reclaim path. The following lockdep warning demonstrates the deadlock: python3/20557 is trying to acquire lock: ffff888387542128 (&umem_odp->umem_mutex){+.+.}-{4:4}, at: mlx5_ib_invalidate_range+0x5b/0x550 [mlx5_ib] but task is already holding lock: ffffffff82f6b840 (mmu_notifier_invalidate_range_start){+.+.}-{0:0}, at: unmap_vmas+0x7b/0x1a0 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (mmu_notifier_invalidate_range_start){+.+.}-{0:0}: fs_reclaim_acquire+0x60/0xd0 mem_cgroup_css_alloc+0x6f/0x9b0 cgroup_init_subsys+0xa4/0x240 cgroup_init+0x1c8/0x510 start_kernel+0x747/0x760 x86_64_start_reservations+0x25/0x30 x86_64_start_kernel+0x73/0x80 common_startup_64+0x129/0x138 -> #2 (fs_reclaim){+.+.}-{0:0}: fs_reclaim_acquire+0x91/0xd0 __kmalloc_cache_noprof+0x4d/0x4c0 mlx5r_cache_create_ent_locked+0x75/0x620 [mlx5_ib] mlx5_mkey_cache_init+0x186/0x360 [mlx5_ib] mlx5_ib_stage_post_ib_reg_umr_init+0x3c/0x60 [mlx5_ib] __mlx5_ib_add+0x4b/0x190 [mlx5_ib] mlx5r_probe+0xd9/0x320 [mlx5_ib] auxiliary_bus_probe+0x42/0x70 really_probe+0xdb/0x360 __driver_probe_device+0x8f/0x130 driver_probe_device+0x1f/0xb0 __driver_attach+0xd4/0x1f0 bus_for_each_dev+0x79/0xd0 bus_add_driver+0xf0/0x200 driver_register+0x6e/0xc0 __auxiliary_driver_register+0x6a/0xc0 do_one_initcall+0x5e/0x390 do_init_module+0x88/0x240 init_module_from_file+0x85/0xc0 idempotent_init_module+0x104/0x300 __x64_sys_finit_module+0x68/0xc0 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x4b/0x53 -> #1 (&dev->cache.rb_lock){+.+.}-{4:4}: __mutex_lock+0x98/0xf10 __mlx5_ib_dereg_mr+0x6f2/0x890 [mlx5_ib] mlx5_ib_dereg_mr+0x21/0x110 [mlx5_ib] ib_dereg_mr_user+0x85/0x1f0 [ib_core] ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: optee: ffa: fix sleep in atomic context The OP-TEE driver registers the function notif_callback() for FF-A notifications. However, this function is called in an atomic context leading to errors like this when processing asynchronous notifications: | BUG: sleeping function called from invalid context at kernel/locking/mutex.c:258 | in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 9, name: kworker/0:0 | preempt_count: 1, expected: 0 | RCU nest depth: 0, expected: 0 | CPU: 0 UID: 0 PID: 9 Comm: kworker/0:0 Not tainted 6.14.0-00019-g657536ebe0aa #13 | Hardware name: linux,dummy-virt (DT) | Workqueue: ffa_pcpu_irq_notification notif_pcpu_irq_work_fn | Call trace: | show_stack+0x18/0x24 (C) | dump_stack_lvl+0x78/0x90 | dump_stack+0x18/0x24 | __might_resched+0x114/0x170 | __might_sleep+0x48/0x98 | mutex_lock+0x24/0x80 | optee_get_msg_arg+0x7c/0x21c | simple_call_with_arg+0x50/0xc0 | optee_do_bottom_half+0x14/0x20 | notif_callback+0x3c/0x48 | handle_notif_callbacks+0x9c/0xe0 | notif_get_and_handle+0x40/0x88 | generic_exec_single+0x80/0xc0 | smp_call_function_single+0xfc/0x1a0 | notif_pcpu_irq_work_fn+0x2c/0x38 | process_one_work+0x14c/0x2b4 | worker_thread+0x2e4/0x3e0 | kthread+0x13c/0x210 | ret_from_fork+0x10/0x20 Fix this by adding work queue to process the notification in a non-atomic context.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: virtio-net: ensure the received length does not exceed allocated size In xdp_linearize_page, when reading the following buffers from the ring, we forget to check the received length with the true allocate size. This can lead to an out-of-bound read. This commit adds that missing check.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume Shawn and John reported a hang issue during system suspend as below: - USB gadget is enabled as Ethernet - There is data transfer over USB Ethernet (scp a big file between host and device) - Device is going in/out suspend (echo mem > /sys/power/state) The root cause is the USB device controller is suspended but the USB bus is still active which caused the USB host continues to transfer data with device and the device continues to queue USB requests (in this case, a delayed TCP ACK packet trigger the issue) after controller is suspended, however the USB controller clock is already gated off. Then if udc driver access registers after that point, the system will hang. The correct way to avoid such issue is to disconnect device from host when the USB bus is not at suspend state. Then the host will receive disconnect event and stop data transfer in time. To continue make USB gadget device work after system resume, this will reconnect device automatically. To make usb wakeup work if USB bus is already at suspend state, this will keep connection for it only when USB device controller has enabled wakeup capability.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rose: fix dangling neighbour pointers in rose_rt_device_down() There are two bugs in rose_rt_device_down() that can cause use-after-free: 1. The loop bound `t->count` is modified within the loop, which can cause the loop to terminate early and miss some entries. 2. When removing an entry from the neighbour array, the subsequent entries are moved up to fill the gap, but the loop index `i` is still incremented, causing the next entry to be skipped. For example, if a node has three neighbours (A, A, B) with count=3 and A is being removed, the second A is not checked. i=0: (A, A, B) -> (A, B) with count=2 ^ checked i=1: (A, B) -> (A, B) with count=2 ^ checked (B, not A!) i=2: (doesn't occur because i < count is false) This leaves the second A in the array with count=2, but the rose_neigh structure has been freed. Code that accesses these entries assumes that the first `count` entries are valid pointers, causing a use-after-free when it accesses the dangling pointer. Fix both issues by iterating over the array in reverse order with a fixed loop bound. This ensures that all entries are examined and that the removal of an entry doesn't affect subsequent iterations.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: cs40l50-vibra - fix potential NULL dereference in cs40l50_upload_owt() The cs40l50_upload_owt() function allocates memory via kmalloc() without checking for allocation failure, which could lead to a NULL pointer dereference. Return -ENOMEM in case allocation fails.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix iteration of extrefs during log replay At __inode_add_ref() when processing extrefs, if we jump into the next label we have an undefined value of victim_name.len, since we haven't initialized it before we did the goto. This results in an invalid memory access in the next iteration of the loop since victim_name.len was not initialized to the length of the name of the current extref. Fix this by initializing victim_name.len with the current extref's name length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/vmalloc: fix data race in show_numa_info() The following data-race was found in show_numa_info(): ================================================================== BUG: KCSAN: data-race in vmalloc_info_show / vmalloc_info_show read to 0xffff88800971fe30 of 4 bytes by task 8289 on cpu 0: show_numa_info mm/vmalloc.c:4936 [inline] vmalloc_info_show+0x5a8/0x7e0 mm/vmalloc.c:5016 seq_read_iter+0x373/0xb40 fs/seq_file.c:230 proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299 .... write to 0xffff88800971fe30 of 4 bytes by task 8287 on cpu 1: show_numa_info mm/vmalloc.c:4934 [inline] vmalloc_info_show+0x38f/0x7e0 mm/vmalloc.c:5016 seq_read_iter+0x373/0xb40 fs/seq_file.c:230 proc_reg_read_iter+0x11e/0x170 fs/proc/inode.c:299 .... value changed: 0x0000008f -> 0x00000000 ================================================================== According to this report,there is a read/write data-race because m->private is accessible to multiple CPUs. To fix this, instead of allocating the heap in proc_vmalloc_init() and passing the heap address to m->private, vmalloc_info_show() should allocate the heap.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: spinand: fix memory leak of ECC engine conf Memory allocated for the ECC engine conf is not released during spinand cleanup. Below kmemleak trace is seen for this memory leak: unreferenced object 0xffffff80064f00e0 (size 8): comm "swapper/0", pid 1, jiffies 4294937458 hex dump (first 8 bytes): 00 00 00 00 00 00 00 00 ........ backtrace (crc 0): kmemleak_alloc+0x30/0x40 __kmalloc_cache_noprof+0x208/0x3c0 spinand_ondie_ecc_init_ctx+0x114/0x200 nand_ecc_init_ctx+0x70/0xa8 nanddev_ecc_engine_init+0xec/0x27c spinand_probe+0xa2c/0x1620 spi_mem_probe+0x130/0x21c spi_probe+0xf0/0x170 really_probe+0x17c/0x6e8 __driver_probe_device+0x17c/0x21c driver_probe_device+0x58/0x180 __device_attach_driver+0x15c/0x1f8 bus_for_each_drv+0xec/0x150 __device_attach+0x188/0x24c device_initial_probe+0x10/0x20 bus_probe_device+0x11c/0x160 Fix the leak by calling nanddev_ecc_engine_cleanup() inside spinand_cleanup().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: lan78xx: fix WARN in __netif_napi_del_locked on disconnect Remove redundant netif_napi_del() call from disconnect path. A WARN may be triggered in __netif_napi_del_locked() during USB device disconnect: WARNING: CPU: 0 PID: 11 at net/core/dev.c:7417 __netif_napi_del_locked+0x2b4/0x350 This happens because netif_napi_del() is called in the disconnect path while NAPI is still enabled. However, it is not necessary to call netif_napi_del() explicitly, since unregister_netdev() will handle NAPI teardown automatically and safely. Removing the redundant call avoids triggering the warning. Full trace: lan78xx 1-1:1.0 enu1: Failed to read register index 0x000000c4. ret = -ENODEV lan78xx 1-1:1.0 enu1: Failed to set MAC down with error -ENODEV lan78xx 1-1:1.0 enu1: Link is Down lan78xx 1-1:1.0 enu1: Failed to read register index 0x00000120. ret = -ENODEV ------------[ cut here ]------------ WARNING: CPU: 0 PID: 11 at net/core/dev.c:7417 __netif_napi_del_locked+0x2b4/0x350 Modules linked in: flexcan can_dev fuse CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 6.16.0-rc2-00624-ge926949dab03 #9 PREEMPT Hardware name: SKOV IMX8MP CPU revC - bd500 (DT) Workqueue: usb_hub_wq hub_event pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __netif_napi_del_locked+0x2b4/0x350 lr : __netif_napi_del_locked+0x7c/0x350 sp : ffffffc085b673c0 x29: ffffffc085b673c0 x28: ffffff800b7f2000 x27: ffffff800b7f20d8 x26: ffffff80110bcf58 x25: ffffff80110bd978 x24: 1ffffff0022179eb x23: ffffff80110bc000 x22: ffffff800b7f5000 x21: ffffff80110bc000 x20: ffffff80110bcf38 x19: ffffff80110bcf28 x18: dfffffc000000000 x17: ffffffc081578940 x16: ffffffc08284cee0 x15: 0000000000000028 x14: 0000000000000006 x13: 0000000000040000 x12: ffffffb0022179e8 x11: 1ffffff0022179e7 x10: ffffffb0022179e7 x9 : dfffffc000000000 x8 : 0000004ffdde8619 x7 : ffffff80110bcf3f x6 : 0000000000000001 x5 : ffffff80110bcf38 x4 : ffffff80110bcf38 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 1ffffff0022179e7 x0 : 0000000000000000 Call trace: __netif_napi_del_locked+0x2b4/0x350 (P) lan78xx_disconnect+0xf4/0x360 usb_unbind_interface+0x158/0x718 device_remove+0x100/0x150 device_release_driver_internal+0x308/0x478 device_release_driver+0x1c/0x30 bus_remove_device+0x1a8/0x368 device_del+0x2e0/0x7b0 usb_disable_device+0x244/0x540 usb_disconnect+0x220/0x758 hub_event+0x105c/0x35e0 process_one_work+0x760/0x17b0 worker_thread+0x768/0xce8 kthread+0x3bc/0x690 ret_from_fork+0x10/0x20 irq event stamp: 211604 hardirqs last enabled at (211603): [<ffffffc0828cc9ec>] _raw_spin_unlock_irqrestore+0x84/0x98 hardirqs last disabled at (211604): [<ffffffc0828a9a84>] el1_dbg+0x24/0x80 softirqs last enabled at (211296): [<ffffffc080095f10>] handle_softirqs+0x820/0xbc8 softirqs last disabled at (210993): [<ffffffc080010288>] __do_softirq+0x18/0x20 ---[ end trace 0000000000000000 ]--- lan78xx 1-1:1.0 enu1: failed to kill vid 0081/0


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Refuse to evaluate a method if arguments are missing As reported in [1], a platform firmware update that increased the number of method parameters and forgot to update a least one of its callers, caused ACPICA to crash due to use-after-free. Since this a result of a clear AML issue that arguably cannot be fixed up by the interpreter (it cannot produce missing data out of thin air), address it by making ACPICA refuse to evaluate a method if the caller attempts to pass fewer arguments than expected to it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Initialize obj_event->obj_sub_list before xa_insert The obj_event may be loaded immediately after inserted, then if the list_head is not initialized then we may get a poisonous pointer. This fixes the crash below: mlx5_core 0000:03:00.0: MLX5E: StrdRq(1) RqSz(8) StrdSz(2048) RxCqeCmprss(0 enhanced) mlx5_core.sf mlx5_core.sf.4: firmware version: 32.38.3056 mlx5_core 0000:03:00.0 en3f0pf0sf2002: renamed from eth0 mlx5_core.sf mlx5_core.sf.4: Rate limit: 127 rates are supported, range: 0Mbps to 195312Mbps IPv6: ADDRCONF(NETDEV_CHANGE): en3f0pf0sf2002: link becomes ready Unable to handle kernel NULL pointer dereference at virtual address 0000000000000060 Mem abort info: ESR = 0x96000006 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 Data abort info: ISV = 0, ISS = 0x00000006 CM = 0, WnR = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=00000007760fb000 [0000000000000060] pgd=000000076f6d7003, p4d=000000076f6d7003, pud=0000000777841003, pmd=0000000000000000 Internal error: Oops: 96000006 [#1] SMP Modules linked in: ipmb_host(OE) act_mirred(E) cls_flower(E) sch_ingress(E) mptcp_diag(E) udp_diag(E) raw_diag(E) unix_diag(E) tcp_diag(E) inet_diag(E) binfmt_misc(E) bonding(OE) rdma_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) isofs(E) cdrom(E) mst_pciconf(OE) ib_umad(OE) mlx5_ib(OE) ipmb_dev_int(OE) mlx5_core(OE) kpatch_15237886(OEK) mlxdevm(OE) auxiliary(OE) ib_uverbs(OE) ib_core(OE) psample(E) mlxfw(OE) tls(E) sunrpc(E) vfat(E) fat(E) crct10dif_ce(E) ghash_ce(E) sha1_ce(E) sbsa_gwdt(E) virtio_console(E) ext4(E) mbcache(E) jbd2(E) xfs(E) libcrc32c(E) mmc_block(E) virtio_net(E) net_failover(E) failover(E) sha2_ce(E) sha256_arm64(E) nvme(OE) nvme_core(OE) gpio_mlxbf3(OE) mlx_compat(OE) mlxbf_pmc(OE) i2c_mlxbf(OE) sdhci_of_dwcmshc(OE) pinctrl_mlxbf3(OE) mlxbf_pka(OE) gpio_generic(E) i2c_core(E) mmc_core(E) mlxbf_gige(OE) vitesse(E) pwr_mlxbf(OE) mlxbf_tmfifo(OE) micrel(E) mlxbf_bootctl(OE) virtio_ring(E) virtio(E) ipmi_devintf(E) ipmi_msghandler(E) [last unloaded: mst_pci] CPU: 11 PID: 20913 Comm: rte-worker-11 Kdump: loaded Tainted: G OE K 5.10.134-13.1.an8.aarch64 #1 Hardware name: https://www.mellanox.com BlueField-3 SmartNIC Main Card/BlueField-3 SmartNIC Main Card, BIOS 4.2.2.12968 Oct 26 2023 pstate: a0400089 (NzCv daIf +PAN -UAO -TCO BTYPE=--) pc : dispatch_event_fd+0x68/0x300 [mlx5_ib] lr : devx_event_notifier+0xcc/0x228 [mlx5_ib] sp : ffff80001005bcf0 x29: ffff80001005bcf0 x28: 0000000000000001 x27: ffff244e0740a1d8 x26: ffff244e0740a1d0 x25: ffffda56beff5ae0 x24: ffffda56bf911618 x23: ffff244e0596a480 x22: ffff244e0596a480 x21: ffff244d8312ad90 x20: ffff244e0596a480 x19: fffffffffffffff0 x18: 0000000000000000 x17: 0000000000000000 x16: ffffda56be66d620 x15: 0000000000000000 x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000040 x10: ffffda56bfcafb50 x9 : ffffda5655c25f2c x8 : 0000000000000010 x7 : 0000000000000000 x6 : ffff24545a2e24b8 x5 : 0000000000000003 x4 : ffff80001005bd28 x3 : 0000000000000000 x2 : 0000000000000000 x1 : ffff244e0596a480 x0 : ffff244d8312ad90 Call trace: dispatch_event_fd+0x68/0x300 [mlx5_ib] devx_event_notifier+0xcc/0x228 [mlx5_ib] atomic_notifier_call_chain+0x58/0x80 mlx5_eq_async_int+0x148/0x2b0 [mlx5_core] atomic_notifier_call_chain+0x58/0x80 irq_int_handler+0x20/0x30 [mlx5_core] __handle_irq_event_percpu+0x60/0x220 handle_irq_event_percpu+0x3c/0x90 handle_irq_event+0x58/0x158 handle_fasteoi_irq+0xfc/0x188 generic_handle_irq+0x34/0x48 ...


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915/gt: Fix timeline left held on VMA alloc error The following error has been reported sporadically by CI when a test unbinds the i915 driver on a ring submission platform: <4> [239.330153] ------------[ cut here ]------------ <4> [239.330166] i915 0000:00:02.0: [drm] drm_WARN_ON(dev_priv->mm.shrink_count) <4> [239.330196] WARNING: CPU: 1 PID: 18570 at drivers/gpu/drm/i915/i915_gem.c:1309 i915_gem_cleanup_early+0x13e/0x150 [i915] ... <4> [239.330640] RIP: 0010:i915_gem_cleanup_early+0x13e/0x150 [i915] ... <4> [239.330942] Call Trace: <4> [239.330944] <TASK> <4> [239.330949] i915_driver_late_release+0x2b/0xa0 [i915] <4> [239.331202] i915_driver_release+0x86/0xa0 [i915] <4> [239.331482] devm_drm_dev_init_release+0x61/0x90 <4> [239.331494] devm_action_release+0x15/0x30 <4> [239.331504] release_nodes+0x3d/0x120 <4> [239.331517] devres_release_all+0x96/0xd0 <4> [239.331533] device_unbind_cleanup+0x12/0x80 <4> [239.331543] device_release_driver_internal+0x23a/0x280 <4> [239.331550] ? bus_find_device+0xa5/0xe0 <4> [239.331563] device_driver_detach+0x14/0x20 ... <4> [357.719679] ---[ end trace 0000000000000000 ]--- If the test also unloads the i915 module then that's followed with: <3> [357.787478] ============================================================================= <3> [357.788006] BUG i915_vma (Tainted: G U W N ): Objects remaining on __kmem_cache_shutdown() <3> [357.788031] ----------------------------------------------------------------------------- <3> [357.788204] Object 0xffff888109e7f480 @offset=29824 <3> [357.788670] Allocated in i915_vma_instance+0xee/0xc10 [i915] age=292729 cpu=4 pid=2244 <4> [357.788994] i915_vma_instance+0xee/0xc10 [i915] <4> [357.789290] init_status_page+0x7b/0x420 [i915] <4> [357.789532] intel_engines_init+0x1d8/0x980 [i915] <4> [357.789772] intel_gt_init+0x175/0x450 [i915] <4> [357.790014] i915_gem_init+0x113/0x340 [i915] <4> [357.790281] i915_driver_probe+0x847/0xed0 [i915] <4> [357.790504] i915_pci_probe+0xe6/0x220 [i915] ... Closer analysis of CI results history has revealed a dependency of the error on a few IGT tests, namely: - igt@api_intel_allocator@fork-simple-stress-signal, - igt@api_intel_allocator@two-level-inception-interruptible, - igt@gem_linear_blits@interruptible, - igt@prime_mmap_coherency@ioctl-errors, which invisibly trigger the issue, then exhibited with first driver unbind attempt. All of the above tests perform actions which are actively interrupted with signals. Further debugging has allowed to narrow that scope down to DRM_IOCTL_I915_GEM_EXECBUFFER2, and ring_context_alloc(), specific to ring submission, in particular. If successful then that function, or its execlists or GuC submission equivalent, is supposed to be called only once per GEM context engine, followed by raise of a flag that prevents the function from being called again. The function is expected to unwind its internal errors itself, so it may be safely called once more after it returns an error. In case of ring submission, the function first gets a reference to the engine's legacy timeline and then allocates a VMA. If the VMA allocation fails, e.g. when i915_vma_instance() called from inside is interrupted with a signal, then ring_context_alloc() fails, leaving the timeline held referenced. On next I915_GEM_EXECBUFFER2 IOCTL, another reference to the timeline is got, and only that last one is put on successful completion. As a consequence, the legacy timeline, with its underlying engine status page's VMA object, is still held and not released on driver unbind. Get the legacy timeline only after successful allocation of the context engine's VMA. v2: Add a note on other submission methods (Krzysztof Karas): Both execlists and GuC submission use lrc_alloc() which seems free from a similar issue. (cherry picked from commit cc43422b3cc79eacff4c5a8ba0d224688ca9dd4f)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_ffa: Fix memory leak by freeing notifier callback node Commit e0573444edbf ("firmware: arm_ffa: Add interfaces to request notification callbacks") adds support for notifier callbacks by allocating and inserting a callback node into a hashtable during registration of notifiers. However, during unregistration, the code only removes the node from the hashtable without freeing the associated memory, resulting in a memory leak. Resolve the memory leak issue by ensuring the allocated notifier callback node is properly freed after it is removed from the hashtable entry.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: altmodes/displayport: do not index invalid pin_assignments A poorly implemented DisplayPort Alt Mode port partner can indicate that its pin assignment capabilities are greater than the maximum value, DP_PIN_ASSIGN_F. In this case, calls to pin_assignment_show will cause a BRK exception due to an out of bounds array access. Prevent for loop in pin_assignment_show from accessing invalid values in pin_assignments by adding DP_PIN_ASSIGN_MAX value in typec_dp.h and using i < DP_PIN_ASSIGN_MAX as a loop condition.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: idpf: convert control queue mutex to a spinlock With VIRTCHNL2_CAP_MACFILTER enabled, the following warning is generated on module load: [ 324.701677] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:578 [ 324.701684] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1582, name: NetworkManager [ 324.701689] preempt_count: 201, expected: 0 [ 324.701693] RCU nest depth: 0, expected: 0 [ 324.701697] 2 locks held by NetworkManager/1582: [ 324.701702] #0: ffffffff9f7be770 (rtnl_mutex){....}-{3:3}, at: rtnl_newlink+0x791/0x21e0 [ 324.701730] #1: ff1100216c380368 (_xmit_ETHER){....}-{2:2}, at: __dev_open+0x3f0/0x870 [ 324.701749] Preemption disabled at: [ 324.701752] [<ffffffff9cd23b9d>] __dev_open+0x3dd/0x870 [ 324.701765] CPU: 30 UID: 0 PID: 1582 Comm: NetworkManager Not tainted 6.15.0-rc5+ #2 PREEMPT(voluntary) [ 324.701771] Hardware name: Intel Corporation M50FCP2SBSTD/M50FCP2SBSTD, BIOS SE5C741.86B.01.01.0001.2211140926 11/14/2022 [ 324.701774] Call Trace: [ 324.701777] <TASK> [ 324.701779] dump_stack_lvl+0x5d/0x80 [ 324.701788] ? __dev_open+0x3dd/0x870 [ 324.701793] __might_resched.cold+0x1ef/0x23d <..> [ 324.701818] __mutex_lock+0x113/0x1b80 <..> [ 324.701917] idpf_ctlq_clean_sq+0xad/0x4b0 [idpf] [ 324.701935] ? kasan_save_track+0x14/0x30 [ 324.701941] idpf_mb_clean+0x143/0x380 [idpf] <..> [ 324.701991] idpf_send_mb_msg+0x111/0x720 [idpf] [ 324.702009] idpf_vc_xn_exec+0x4cc/0x990 [idpf] [ 324.702021] ? rcu_is_watching+0x12/0xc0 [ 324.702035] idpf_add_del_mac_filters+0x3ed/0xb50 [idpf] <..> [ 324.702122] __hw_addr_sync_dev+0x1cf/0x300 [ 324.702126] ? find_held_lock+0x32/0x90 [ 324.702134] idpf_set_rx_mode+0x317/0x390 [idpf] [ 324.702152] __dev_open+0x3f8/0x870 [ 324.702159] ? __pfx___dev_open+0x10/0x10 [ 324.702174] __dev_change_flags+0x443/0x650 <..> [ 324.702208] netif_change_flags+0x80/0x160 [ 324.702218] do_setlink.isra.0+0x16a0/0x3960 <..> [ 324.702349] rtnl_newlink+0x12fd/0x21e0 The sequence is as follows: rtnl_newlink()-> __dev_change_flags()-> __dev_open()-> dev_set_rx_mode() - > # disables BH and grabs "dev->addr_list_lock" idpf_set_rx_mode() -> # proceed only if VIRTCHNL2_CAP_MACFILTER is ON __dev_uc_sync() -> idpf_add_mac_filter -> idpf_add_del_mac_filters -> idpf_send_mb_msg() -> idpf_mb_clean() -> idpf_ctlq_clean_sq() # mutex_lock(cq_lock) Fix by converting cq_lock to a spinlock. All operations under the new lock are safe except freeing the DMA memory, which may use vunmap(). Fix by requesting a contiguous physical memory for the DMA mapping.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSv4/pNFS: Fix a race to wake on NFS_LAYOUT_DRAIN We found a few different systems hung up in writeback waiting on the same page lock, and one task waiting on the NFS_LAYOUT_DRAIN bit in pnfs_update_layout(), however the pnfs_layout_hdr's plh_outstanding count was zero. It seems most likely that this is another race between the waiter and waker similar to commit ed0172af5d6f ("SUNRPC: Fix a race to wake a sync task"). Fix it up by applying the advised barrier.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods drvdata::gpiods is supposed to hold an array of 'gpio_desc' pointers. But the memory is allocated for only one pointer. This will lead to out-of-bounds access later in the code if 'config::ngpios' is > 1. So fix the code to allocate enough memory to hold 'config::ngpios' of GPIO descriptors. While at it, also move the check for memory allocation failure to be below the allocation to make it more readable.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass Export anon_inode_make_secure_inode() to allow KVM guest_memfd to create anonymous inodes with proper security context. This replaces the current pattern of calling alloc_anon_inode() followed by inode_init_security_anon() for creating security context manually. This change also fixes a security regression in secretmem where the S_PRIVATE flag was not cleared after alloc_anon_inode(), causing LSM/SELinux checks to be bypassed for secretmem file descriptors. As guest_memfd currently resides in the KVM module, we need to export this symbol for use outside the core kernel. In the future, guest_memfd might be moved to core-mm, at which point the symbols no longer would have to be exported. When/if that happens is still unclear.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvme-multipath: fix suspicious RCU usage warning When I run the NVME over TCP test in virtme-ng, I get the following "suspicious RCU usage" warning in nvme_mpath_add_sysfs_link(): ''' [ 5.024557][ T44] nvmet: Created nvm controller 1 for subsystem nqn.2025-06.org.nvmexpress.mptcp for NQN nqn.2014-08.org.nvmexpress:uuid:f7f6b5e0-ff97-4894-98ac-c85309e0bc77. [ 5.027401][ T183] nvme nvme0: creating 2 I/O queues. [ 5.029017][ T183] nvme nvme0: mapped 2/0/0 default/read/poll queues. [ 5.032587][ T183] nvme nvme0: new ctrl: NQN "nqn.2025-06.org.nvmexpress.mptcp", addr 127.0.0.1:4420, hostnqn: nqn.2014-08.org.nvmexpress:uuid:f7f6b5e0-ff97-4894-98ac-c85309e0bc77 [ 5.042214][ T25] [ 5.042440][ T25] ============================= [ 5.042579][ T25] WARNING: suspicious RCU usage [ 5.042705][ T25] 6.16.0-rc3+ #23 Not tainted [ 5.042812][ T25] ----------------------------- [ 5.042934][ T25] drivers/nvme/host/multipath.c:1203 RCU-list traversed in non-reader section!! [ 5.043111][ T25] [ 5.043111][ T25] other info that might help us debug this: [ 5.043111][ T25] [ 5.043341][ T25] [ 5.043341][ T25] rcu_scheduler_active = 2, debug_locks = 1 [ 5.043502][ T25] 3 locks held by kworker/u9:0/25: [ 5.043615][ T25] #0: ffff888008730948 ((wq_completion)async){+.+.}-{0:0}, at: process_one_work+0x7ed/0x1350 [ 5.043830][ T25] #1: ffffc900001afd40 ((work_completion)(&entry->work)){+.+.}-{0:0}, at: process_one_work+0xcf3/0x1350 [ 5.044084][ T25] #2: ffff888013ee0020 (&head->srcu){.+.+}-{0:0}, at: nvme_mpath_add_sysfs_link.part.0+0xb4/0x3a0 [ 5.044300][ T25] [ 5.044300][ T25] stack backtrace: [ 5.044439][ T25] CPU: 0 UID: 0 PID: 25 Comm: kworker/u9:0 Not tainted 6.16.0-rc3+ #23 PREEMPT(full) [ 5.044441][ T25] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 5.044442][ T25] Workqueue: async async_run_entry_fn [ 5.044445][ T25] Call Trace: [ 5.044446][ T25] <TASK> [ 5.044449][ T25] dump_stack_lvl+0x6f/0xb0 [ 5.044453][ T25] lockdep_rcu_suspicious.cold+0x4f/0xb1 [ 5.044457][ T25] nvme_mpath_add_sysfs_link.part.0+0x2fb/0x3a0 [ 5.044459][ T25] ? queue_work_on+0x90/0xf0 [ 5.044461][ T25] ? lockdep_hardirqs_on+0x78/0x110 [ 5.044466][ T25] nvme_mpath_set_live+0x1e9/0x4f0 [ 5.044470][ T25] nvme_mpath_add_disk+0x240/0x2f0 [ 5.044472][ T25] ? __pfx_nvme_mpath_add_disk+0x10/0x10 [ 5.044475][ T25] ? add_disk_fwnode+0x361/0x580 [ 5.044480][ T25] nvme_alloc_ns+0x81c/0x17c0 [ 5.044483][ T25] ? kasan_quarantine_put+0x104/0x240 [ 5.044487][ T25] ? __pfx_nvme_alloc_ns+0x10/0x10 [ 5.044495][ T25] ? __pfx_nvme_find_get_ns+0x10/0x10 [ 5.044496][ T25] ? rcu_read_lock_any_held+0x45/0xa0 [ 5.044498][ T25] ? validate_chain+0x232/0x4f0 [ 5.044503][ T25] nvme_scan_ns+0x4c8/0x810 [ 5.044506][ T25] ? __pfx_nvme_scan_ns+0x10/0x10 [ 5.044508][ T25] ? find_held_lock+0x2b/0x80 [ 5.044512][ T25] ? ktime_get+0x16d/0x220 [ 5.044517][ T25] ? kvm_clock_get_cycles+0x18/0x30 [ 5.044520][ T25] ? __pfx_nvme_scan_ns_async+0x10/0x10 [ 5.044522][ T25] async_run_entry_fn+0x97/0x560 [ 5.044523][ T25] ? rcu_is_watching+0x12/0xc0 [ 5.044526][ T25] process_one_work+0xd3c/0x1350 [ 5.044532][ T25] ? __pfx_process_one_work+0x10/0x10 [ 5.044536][ T25] ? assign_work+0x16c/0x240 [ 5.044539][ T25] worker_thread+0x4da/0xd50 [ 5.044545][ T25] ? __pfx_worker_thread+0x10/0x10 [ 5.044546][ T25] kthread+0x356/0x5c0 [ 5.044548][ T25] ? __pfx_kthread+0x10/0x10 [ 5.044549][ T25] ? ret_from_fork+0x1b/0x2e0 [ 5.044552][ T25] ? __lock_release.isra.0+0x5d/0x180 [ 5.044553][ T25] ? ret_from_fork+0x1b/0x2e0 [ 5.044555][ T25] ? rcu_is_watching+0x12/0xc0 [ 5.044557][ T25] ? __pfx_kthread+0x10/0x10 [ 5.04 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() The function core_scsi3_decode_spec_i_port(), in its error code path, unconditionally calls core_scsi3_lunacl_undepend_item() passing the dest_se_deve pointer, which may be NULL. This can lead to a NULL pointer dereference if dest_se_deve remains unset. SPC-3 PR SPEC_I_PT: Unable to locate dest_tpg Unable to handle kernel paging request at virtual address dfff800000000012 Call trace: core_scsi3_lunacl_undepend_item+0x2c/0xf0 [target_core_mod] (P) core_scsi3_decode_spec_i_port+0x120c/0x1c30 [target_core_mod] core_scsi3_emulate_pro_register+0x6b8/0xcd8 [target_core_mod] target_scsi3_emulate_pr_out+0x56c/0x840 [target_core_mod] Fix this by adding a NULL check before calling core_scsi3_lunacl_undepend_item()


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfs: Clean up /proc/net/rpc/nfs when nfs_fs_proc_net_init() fails. syzbot reported a warning below [1] following a fault injection in nfs_fs_proc_net_init(). [0] When nfs_fs_proc_net_init() fails, /proc/net/rpc/nfs is not removed. Later, rpc_proc_exit() tries to remove /proc/net/rpc, and the warning is logged as the directory is not empty. Let's handle the error of nfs_fs_proc_net_init() properly. [0]: FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 CPU: 1 UID: 0 PID: 6120 Comm: syz.2.27 Not tainted 6.16.0-rc1-syzkaller-00010-g2c4a1f3fe03e #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:123) should_fail_ex (lib/fault-inject.c:73 lib/fault-inject.c:174) should_failslab (mm/failslab.c:46) kmem_cache_alloc_noprof (mm/slub.c:4178 mm/slub.c:4204) __proc_create (fs/proc/generic.c:427) proc_create_reg (fs/proc/generic.c:554) proc_create_net_data (fs/proc/proc_net.c:120) nfs_fs_proc_net_init (fs/nfs/client.c:1409) nfs_net_init (fs/nfs/inode.c:2600) ops_init (net/core/net_namespace.c:138) setup_net (net/core/net_namespace.c:443) copy_net_ns (net/core/net_namespace.c:576) create_new_namespaces (kernel/nsproxy.c:110) unshare_nsproxy_namespaces (kernel/nsproxy.c:218 (discriminator 4)) ksys_unshare (kernel/fork.c:3123) __x64_sys_unshare (kernel/fork.c:3190) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK> [1]: remove_proc_entry: removing non-empty directory 'net/rpc', leaking at least 'nfs' WARNING: CPU: 1 PID: 6120 at fs/proc/generic.c:727 remove_proc_entry+0x45e/0x530 fs/proc/generic.c:727 Modules linked in: CPU: 1 UID: 0 PID: 6120 Comm: syz.2.27 Not tainted 6.16.0-rc1-syzkaller-00010-g2c4a1f3fe03e #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 RIP: 0010:remove_proc_entry+0x45e/0x530 fs/proc/generic.c:727 Code: 3c 02 00 0f 85 85 00 00 00 48 8b 93 d8 00 00 00 4d 89 f0 4c 89 e9 48 c7 c6 40 ba a2 8b 48 c7 c7 60 b9 a2 8b e8 33 81 1d ff 90 <0f> 0b 90 90 e9 5f fe ff ff e8 04 69 5e ff 90 48 b8 00 00 00 00 00 RSP: 0018:ffffc90003637b08 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff88805f534140 RCX: ffffffff817a92c8 RDX: ffff88807da99e00 RSI: ffffffff817a92d5 RDI: 0000000000000001 RBP: ffff888033431ac0 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffff888033431a00 R13: ffff888033431ae4 R14: ffff888033184724 R15: dffffc0000000000 FS: 0000555580328500(0000) GS:ffff888124a62000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f71733743e0 CR3: 000000007f618000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> sunrpc_exit_net+0x46/0x90 net/sunrpc/sunrpc_syms.c:76 ops_exit_list net/core/net_namespace.c:200 [inline] ops_undo_list+0x2eb/0xab0 net/core/net_namespace.c:253 setup_net+0x2e1/0x510 net/core/net_namespace.c:457 copy_net_ns+0x2a6/0x5f0 net/core/net_namespace.c:574 create_new_namespaces+0x3ea/0xa90 kernel/nsproxy.c:110 unshare_nsproxy_namespaces+0xc0/0x1f0 kernel/nsproxy.c:218 ksys_unshare+0x45b/0xa40 kernel/fork.c:3121 __do_sys_unshare kernel/fork.c:3192 [inline] __se_sys_unshare kernel/fork.c:3190 [inline] __x64_sys_unshare+0x31/0x40 kernel/fork.c:3190 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x490 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fa1a6b8e929 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtk-sd: Prevent memory corruption from DMA map failure If msdc_prepare_data() fails to map the DMA region, the request is not prepared for data receiving, but msdc_start_data() proceeds the DMA with previous setting. Since this will lead a memory corruption, we have to stop the request operation soon after the msdc_prepare_data() fails to prepare it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: idpf: return 0 size for RSS key if not supported Returning -EOPNOTSUPP from function returning u32 is leading to cast and invalid size value as a result. -EOPNOTSUPP as a size probably will lead to allocation fail. Command: ethtool -x eth0 It is visible on all devices that don't have RSS caps set. [ 136.615917] Call Trace: [ 136.615921] <TASK> [ 136.615927] ? __warn+0x89/0x130 [ 136.615942] ? __alloc_frozen_pages_noprof+0x322/0x330 [ 136.615953] ? report_bug+0x164/0x190 [ 136.615968] ? handle_bug+0x58/0x90 [ 136.615979] ? exc_invalid_op+0x17/0x70 [ 136.615987] ? asm_exc_invalid_op+0x1a/0x20 [ 136.616001] ? rss_prepare_get.constprop.0+0xb9/0x170 [ 136.616016] ? __alloc_frozen_pages_noprof+0x322/0x330 [ 136.616028] __alloc_pages_noprof+0xe/0x20 [ 136.616038] ___kmalloc_large_node+0x80/0x110 [ 136.616072] __kmalloc_large_node_noprof+0x1d/0xa0 [ 136.616081] __kmalloc_noprof+0x32c/0x4c0 [ 136.616098] ? rss_prepare_get.constprop.0+0xb9/0x170 [ 136.616105] rss_prepare_get.constprop.0+0xb9/0x170 [ 136.616114] ethnl_default_doit+0x107/0x3d0 [ 136.616131] genl_family_rcv_msg_doit+0x100/0x160 [ 136.616147] genl_rcv_msg+0x1b8/0x2c0 [ 136.616156] ? __pfx_ethnl_default_doit+0x10/0x10 [ 136.616168] ? __pfx_genl_rcv_msg+0x10/0x10 [ 136.616176] netlink_rcv_skb+0x58/0x110 [ 136.616186] genl_rcv+0x28/0x40 [ 136.616195] netlink_unicast+0x19b/0x290 [ 136.616206] netlink_sendmsg+0x222/0x490 [ 136.616215] __sys_sendto+0x1fd/0x210 [ 136.616233] __x64_sys_sendto+0x24/0x30 [ 136.616242] do_syscall_64+0x82/0x160 [ 136.616252] ? __sys_recvmsg+0x83/0xe0 [ 136.616265] ? syscall_exit_to_user_mode+0x10/0x210 [ 136.616275] ? do_syscall_64+0x8e/0x160 [ 136.616282] ? __count_memcg_events+0xa1/0x130 [ 136.616295] ? count_memcg_events.constprop.0+0x1a/0x30 [ 136.616306] ? handle_mm_fault+0xae/0x2d0 [ 136.616319] ? do_user_addr_fault+0x379/0x670 [ 136.616328] ? clear_bhb_loop+0x45/0xa0 [ 136.616340] ? clear_bhb_loop+0x45/0xa0 [ 136.616349] ? clear_bhb_loop+0x45/0xa0 [ 136.616359] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 136.616369] RIP: 0033:0x7fd30ba7b047 [ 136.616376] Code: 0c 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b8 0f 1f 00 f3 0f 1e fa 80 3d bd d5 0c 00 00 41 89 ca 74 10 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 71 c3 55 48 83 ec 30 44 89 4c 24 2c 4c 89 44 [ 136.616381] RSP: 002b:00007ffde1796d68 EFLAGS: 00000202 ORIG_RAX: 000000000000002c [ 136.616388] RAX: ffffffffffffffda RBX: 000055d7bd89f2a0 RCX: 00007fd30ba7b047 [ 136.616392] RDX: 0000000000000028 RSI: 000055d7bd89f3b0 RDI: 0000000000000003 [ 136.616396] RBP: 00007ffde1796e10 R08: 00007fd30bb4e200 R09: 000000000000000c [ 136.616399] R10: 0000000000000000 R11: 0000000000000202 R12: 000055d7bd89f340 [ 136.616403] R13: 000055d7bd89f3b0 R14: 000055d78943f200 R15: 0000000000000000


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock/vmci: Clear the vmci transport packet properly when initializing it In vmci_transport_packet_init memset the vmci_transport_packet before populating the fields to avoid any uninitialised data being left in the structure.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: displayport: Fix potential deadlock The deadlock can occur due to a recursive lock acquisition of `cros_typec_altmode_data::mutex`. The call chain is as follows: 1. cros_typec_altmode_work() acquires the mutex 2. typec_altmode_vdm() -> dp_altmode_vdm() -> 3. typec_altmode_exit() -> cros_typec_altmode_exit() 4. cros_typec_altmode_exit() attempts to acquire the mutex again To prevent this, defer the `typec_altmode_exit()` call by scheduling it rather than calling it directly from within the mutex-protected context.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet: fix memory leak of bio integrity If nvmet receives commands with metadata there is a continuous memory leak of kmalloc-128 slab or more precisely bio->bi_integrity. Since commit bf4c89fc8797 ("block: don't call bio_uninit from bio_endio") each user of bio_init has to use bio_uninit as well. Otherwise the bio integrity is not getting free. Nvmet uses bio_init for inline bios. Uninit the inline bio to complete deallocation of integrity in bio.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath6kl: remove WARN on bad firmware input If the firmware gives bad input, that's nothing to do with the driver's stack at this point etc., so the WARN_ON() doesn't add any value. Additionally, this is one of the top syzbot reports now. Just print a message, and as an added bonus, print the sizes too.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: genirq/irq_sim: Initialize work context pointers properly Initialize `ops` member's pointers properly by using kzalloc() instead of kmalloc() when allocating the simulation work context. Otherwise the pointers contain random content leading to invalid dereferencing.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm: Fix another leak in the submit error path put_unused_fd() doesn't free the installed file, if we've already done fd_install(). So we need to also free the sync_file. Patchwork: https://patchwork.freedesktop.org/patch/653583/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm: Fix a fence leak in submit error path In error paths, we could unref the submit without calling drm_sched_entity_push_job(), so msm_job_free() will never get called. Since drm_sched_job_cleanup() will NULL out the s_fence, we can use that to detect this case. Patchwork: https://patchwork.freedesktop.org/patch/653584/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-wmi-sysman: Fix WMI data block retrieval in sysfs callbacks After retrieving WMI data blocks in sysfs callbacks, check for the validity of them before dereferencing their content.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: virtio-net: xsk: rx: fix the frame's length check When calling buf_to_xdp, the len argument is the frame data's length without virtio header's length (vi->hdr_len). We check that len with xsk_pool_get_rx_frame_size() + vi->hdr_len to ensure the provided len does not larger than the allocated chunk size. The additional vi->hdr_len is because in virtnet_add_recvbuf_xsk, we use part of XDP_PACKET_HEADROOM for virtio header and ask the vhost to start placing data from hard_start + XDP_PACKET_HEADROOM - vi->hdr_len not hard_start + XDP_PACKET_HEADROOM But the first buffer has virtio_header, so the maximum frame's length in the first buffer can only be xsk_pool_get_rx_frame_size() not xsk_pool_get_rx_frame_size() + vi->hdr_len like in the current check. This commit adds an additional argument to buf_to_xdp differentiate between the first buffer and other ones to correctly calculate the maximum frame's length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix GCC_GCC_PCIE_HOT_RST definition for WCN7850 GCC_GCC_PCIE_HOT_RST is wrongly defined for WCN7850, causing kernel crash on some specific platforms. Since this register is divergent for WCN7850 and QCN9274, move it to register table to allow different definitions. Then correct the register address for WCN7850 to fix this issue. Note IPQ5332 is not affected as it is not PCIe based device. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Squashfs: check return result of sb_min_blocksize Syzkaller reports an "UBSAN: shift-out-of-bounds in squashfs_bio_read" bug. Syzkaller forks multiple processes which after mounting the Squashfs filesystem, issues an ioctl("/dev/loop0", LOOP_SET_BLOCK_SIZE, 0x8000). Now if this ioctl occurs at the same time another process is in the process of mounting a Squashfs filesystem on /dev/loop0, the failure occurs. When this happens the following code in squashfs_fill_super() fails. ---- msblk->devblksize = sb_min_blocksize(sb, SQUASHFS_DEVBLK_SIZE); msblk->devblksize_log2 = ffz(~msblk->devblksize); ---- sb_min_blocksize() returns 0, which means msblk->devblksize is set to 0. As a result, ffz(~msblk->devblksize) returns 64, and msblk->devblksize_log2 is set to 64. This subsequently causes the UBSAN: shift-out-of-bounds in fs/squashfs/block.c:195:36 shift exponent 64 is too large for 64-bit type 'u64' (aka 'unsigned long long') This commit adds a check for a 0 return by sb_min_blocksize().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFC: nci: uart: Set tty->disc_data only in success path Setting tty->disc_data before opening the NCI device means we need to clean it up on error paths. This also opens some short window if device starts sending data, even before NCIUARTSETDRIVER IOCTL succeeded (broken hardware?). Close the window by exposing tty->disc_data only on the success path, when opening of the NCI device and try_module_get() succeeds. The code differs in error path in one aspect: tty->disc_data won't be ever assigned thus NULL-ified. This however should not be relevant difference, because of "tty->disc_data=NULL" in nci_uart_tty_open().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ice: fix eswitch code memory leak in reset scenario Add simple eswitch mode checker in attaching VF procedure and allocate required port representor memory structures only in switchdev mode. The reset flows triggers VF (if present) detach/attach procedure. It might involve VF port representor(s) re-creation if the device is configured is switchdev mode (not legacy one). The memory was blindly allocated in current implementation, regardless of the mode and not freed if in legacy mode. Kmemeleak trace: unreferenced object (percpu) 0x7e3bce5b888458 (size 40): comm "bash", pid 1784, jiffies 4295743894 hex dump (first 32 bytes on cpu 45): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 0): pcpu_alloc_noprof+0x4c4/0x7c0 ice_repr_create+0x66/0x130 [ice] ice_repr_create_vf+0x22/0x70 [ice] ice_eswitch_attach_vf+0x1b/0xa0 [ice] ice_reset_all_vfs+0x1dd/0x2f0 [ice] ice_pci_err_resume+0x3b/0xb0 [ice] pci_reset_function+0x8f/0x120 reset_store+0x56/0xa0 kernfs_fop_write_iter+0x120/0x1b0 vfs_write+0x31c/0x430 ksys_write+0x61/0xd0 do_syscall_64+0x5b/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e Testing hints (ethX is PF netdev): - create at least one VF echo 1 > /sys/class/net/ethX/device/sriov_numvfs - trigger the reset echo 1 > /sys/class/net/ethX/device/reset


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: remoteproc: core: Release rproc->clean_table after rproc_attach() fails When rproc->state = RPROC_DETACHED is attached to remote processor through rproc_attach(), if rproc_handle_resources() returns failure, then the clean table should be released, otherwise the following memory leak will occur. unreferenced object 0xffff000086a99800 (size 1024): comm "kworker/u12:3", pid 59, jiffies 4294893670 (age 121.140s) hex dump (first 32 bytes): 00 00 00 00 00 80 00 00 00 00 00 00 00 00 10 00 ............ 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 ............ backtrace: [<000000008bbe4ca8>] slab_post_alloc_hook+0x98/0x3fc [<000000003b8a272b>] __kmem_cache_alloc_node+0x13c/0x230 [<000000007a507c51>] __kmalloc_node_track_caller+0x5c/0x260 [<0000000037818dae>] kmemdup+0x34/0x60 [<00000000610f7f57>] rproc_boot+0x35c/0x56c [<0000000065f8871a>] rproc_add+0x124/0x17c [<00000000497416ee>] imx_rproc_probe+0x4ec/0x5d4 [<000000003bcaa37d>] platform_probe+0x68/0xd8 [<00000000771577f9>] really_probe+0x110/0x27c [<00000000531fea59>] __driver_probe_device+0x78/0x12c [<0000000080036a04>] driver_probe_device+0x3c/0x118 [<000000007e0bddcb>] __device_attach_driver+0xb8/0xf8 [<000000000cf1fa33>] bus_for_each_drv+0x84/0xe4 [<000000001a53b53e>] __device_attach+0xfc/0x18c [<00000000d1a2a32c>] device_initial_probe+0x14/0x20 [<00000000d8f8b7ae>] bus_probe_device+0xb0/0xb4 unreferenced object 0xffff0000864c9690 (size 16):


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: remoteproc: core: Cleanup acquired resources when rproc_handle_resources() fails in rproc_attach() When rproc->state = RPROC_DETACHED and rproc_attach() is used to attach to the remote processor, if rproc_handle_resources() returns a failure, the resources allocated by imx_rproc_prepare() should be released, otherwise the following memory leak will occur. Since almost the same thing is done in imx_rproc_prepare() and rproc_resource_cleanup(), Function rproc_resource_cleanup() is able to deal with empty lists so it is better to fix the "goto" statements in rproc_attach(). replace the "unprepare_device" goto statement with "clean_up_resources" and get rid of the "unprepare_device" label. unreferenced object 0xffff0000861c5d00 (size 128): comm "kworker/u12:3", pid 59, jiffies 4294893509 (age 149.220s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 02 88 00 00 00 00 00 00 10 00 00 00 00 00 ............ backtrace: [<00000000f949fe18>] slab_post_alloc_hook+0x98/0x37c [<00000000adbfb3e7>] __kmem_cache_alloc_node+0x138/0x2e0 [<00000000521c0345>] kmalloc_trace+0x40/0x158 [<000000004e330a49>] rproc_mem_entry_init+0x60/0xf8 [<000000002815755e>] imx_rproc_prepare+0xe0/0x180 [<0000000003f61b4e>] rproc_boot+0x2ec/0x528 [<00000000e7e994ac>] rproc_add+0x124/0x17c [<0000000048594076>] imx_rproc_probe+0x4ec/0x5d4 [<00000000efc298a1>] platform_probe+0x68/0xd8 [<00000000110be6fe>] really_probe+0x110/0x27c [<00000000e245c0ae>] __driver_probe_device+0x78/0x12c [<00000000f61f6f5e>] driver_probe_device+0x3c/0x118 [<00000000a7874938>] __device_attach_driver+0xb8/0xf8 [<0000000065319e69>] bus_for_each_drv+0x84/0xe4 [<00000000db3eb243>] __device_attach+0xfc/0x18c [<0000000072e4e1a4>] device_initial_probe+0x14/0x20


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: carl9170: do not ping device which has failed to load firmware Syzkaller reports [1, 2] crashes caused by an attempts to ping the device which has failed to load firmware. Since such a device doesn't pass 'ieee80211_register_hw()', an internal workqueue managed by 'ieee80211_queue_work()' is not yet created and an attempt to queue work on it causes null-ptr-deref. [1] https://syzkaller.appspot.com/bug?extid=9a4aec827829942045ff [2] https://syzkaller.appspot.com/bug?extid=0d8afba53e8fb2633217


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd: pmf: Use device managed allocations If setting up smart PC fails for any reason then this can lead to a double free when unloading amd-pmf. This is because dev->buf was freed but never set to NULL and is again freed in amd_pmf_remove(). To avoid subtle allocation bugs in failures leading to a double free change all allocations into device managed allocations.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: Fix sample vs do_exit() Baisheng Gao reported an ARM64 crash, which Mark decoded as being a synchronous external abort -- most likely due to trying to access MMIO in bad ways. The crash further shows perf trying to do a user stack sample while in exit_mmap()'s tlb_finish_mmu() -- i.e. while tearing down the address space it is trying to access. It turns out that we stop perf after we tear down the userspace mm; a receipie for disaster, since perf likes to access userspace for various reasons. Flip this order by moving up where we stop perf in do_exit(). Additionally, harden PERF_SAMPLE_CALLCHAIN and PERF_SAMPLE_STACK_USER to abort when the current task does not have an mm (exit_mm() makes sure to set current->mm = NULL; before commencing with the actual teardown). Such that CPU wide events don't trip on this same problem.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: tegra: check msg length in SMBUS block read For SMBUS block read, do not continue to read if the message length passed from the device is '0' or greater than the maximum allowed bytes.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Add basic validation for RAS header If RAS header read from EEPROM is corrupted, it could result in trying to allocate huge memory for reading the records. Add some validation to header fields.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: video: screen_info: Relocate framebuffers behind PCI bridges Apply PCI host-bridge window offsets to screen_info framebuffers. Fixes invalid access to I/O memory. Resources behind a PCI host bridge can be relocated by a certain offset in the kernel's CPU address range used for I/O. The framebuffer memory range stored in screen_info refers to the CPU addresses as seen during boot (where the offset is 0). During boot up, firmware may assign a different memory offset to the PCI host bridge and thereby relocating the framebuffer address of the PCI graphics device as seen by the kernel. The information in screen_info must be updated as well. The helper pcibios_bus_to_resource() performs the relocation of the screen_info's framebuffer resource (given in PCI bus addresses). The result matches the I/O-memory resource of the PCI graphics device (given in CPU addresses). As before, we store away the information necessary to later update the information in screen_info itself. Commit 78aa89d1dfba ("firmware/sysfb: Update screen_info for relocated EFI framebuffers") added the code for updating screen_info. It is based on similar functionality that pre-existed in efifb. Efifb uses a pointer to the PCI resource, while the newer code does a memcpy of the region. Hence efifb sees any updates to the PCI resource and avoids the issue. v3: - Only use struct pci_bus_region for PCI bus addresses (Bjorn) - Clarify address semantics in commit messages and comments (Bjorn) v2: - Fixed tags (Takashi, Ivan) - Updated information on efifb


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - check record size in ims_pcu_flash_firmware() The "len" variable comes from the firmware and we generally do trust firmware, but it's always better to double check. If the "len" is too large it could result in memory corruption when we do "memcpy(fragment->data, rec->data, len);"


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bus: mhi: ep: Update read pointer only after buffer is written Inside mhi_ep_ring_add_element, the read pointer (rd_offset) is updated before the buffer is written, potentially causing race conditions where the host sees an updated read pointer before the buffer is actually written. Updating rd_offset prematurely can lead to the host accessing an uninitialized or incomplete element, resulting in data corruption. Invoke the buffer write before updating rd_offset to ensure the element is fully written before signaling its availability.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request If the request being processed is not a v4 compound request, then examining the cstate can have undefined results. This patch adds a check that the rpc procedure being executed (rq_procinfo) is the NFSPROC4_COMPOUND procedure.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/scheduler: signal scheduled fence when kill job When an entity from application B is killed, drm_sched_entity_kill() removes all jobs belonging to that entity through drm_sched_entity_kill_jobs_work(). If application A's job depends on a scheduled fence from application B's job, and that fence is not properly signaled during the killing process, application A's dependency cannot be cleared. This leads to application A hanging indefinitely while waiting for a dependency that will never be resolved. Fix this issue by ensuring that scheduled fences are properly signaled when an entity is killed, allowing dependent applications to continue execution.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: Intel: hda: Use devm_kstrdup() to avoid memleak. sof_pdata->tplg_filename can have address allocated by kstrdup() and can be overwritten. Memory leak was detected with kmemleak: unreferenced object 0xffff88812391ff60 (size 16): comm "kworker/4:1", pid 161, jiffies 4294802931 hex dump (first 16 bytes): 73 6f 66 2d 68 64 61 2d 67 65 6e 65 72 69 63 00 sof-hda-generic. backtrace (crc 4bf1675c): __kmalloc_node_track_caller_noprof+0x49c/0x6b0 kstrdup+0x46/0xc0 hda_machine_select.cold+0x1de/0x12cf [snd_sof_intel_hda_generic] sof_init_environment+0x16f/0xb50 [snd_sof] sof_probe_continue+0x45/0x7c0 [snd_sof] sof_probe_work+0x1e/0x40 [snd_sof] process_one_work+0x894/0x14b0 worker_thread+0x5e5/0xfb0 kthread+0x39d/0x760 ret_from_fork+0x31/0x70 ret_from_fork_asm+0x1a/0x30


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Set DMA unmap len correctly for XDP_REDIRECT When transmitting an XDP_REDIRECT packet, call dma_unmap_len_set() with the proper length instead of 0. This bug triggers this warning on a system with IOMMU enabled: WARNING: CPU: 36 PID: 0 at drivers/iommu/dma-iommu.c:842 __iommu_dma_unmap+0x159/0x170 RIP: 0010:__iommu_dma_unmap+0x159/0x170 Code: a8 00 00 00 00 48 c7 45 b0 00 00 00 00 48 c7 45 c8 00 00 00 00 48 c7 45 a0 ff ff ff ff 4c 89 45 b8 4c 89 45 c0 e9 77 ff ff ff <0f> 0b e9 60 ff ff ff e8 8b bf 6a 00 66 66 2e 0f 1f 84 00 00 00 00 RSP: 0018:ff22d31181150c88 EFLAGS: 00010206 RAX: 0000000000002000 RBX: 00000000e13a0000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ff22d31181150cf0 R08: ff22d31181150ca8 R09: 0000000000000000 R10: 0000000000000000 R11: ff22d311d36c9d80 R12: 0000000000001000 R13: ff13544d10645010 R14: ff22d31181150c90 R15: ff13544d0b2bac00 FS: 0000000000000000(0000) GS:ff13550908a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005be909dacff8 CR3: 0008000173408003 CR4: 0000000000f71ef0 PKRU: 55555554 Call Trace: <IRQ> ? show_regs+0x6d/0x80 ? __warn+0x89/0x160 ? __iommu_dma_unmap+0x159/0x170 ? report_bug+0x17e/0x1b0 ? handle_bug+0x46/0x90 ? exc_invalid_op+0x18/0x80 ? asm_exc_invalid_op+0x1b/0x20 ? __iommu_dma_unmap+0x159/0x170 ? __iommu_dma_unmap+0xb3/0x170 iommu_dma_unmap_page+0x4f/0x100 dma_unmap_page_attrs+0x52/0x220 ? srso_alias_return_thunk+0x5/0xfbef5 ? xdp_return_frame+0x2e/0xd0 bnxt_tx_int_xdp+0xdf/0x440 [bnxt_en] __bnxt_poll_work_done+0x81/0x1e0 [bnxt_en] bnxt_poll+0xd3/0x1e0 [bnxt_en]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix race between DIM disable and net_dim() There's a race between disabling DIM and NAPI callbacks using the dim pointer on the RQ or SQ. If NAPI checks the DIM state bit and sees it still set, it assumes `rq->dim` or `sq->dim` is valid. But if DIM gets disabled right after that check, the pointer might already be set to NULL, leading to a NULL pointer dereference in net_dim(). Fix this by calling `synchronize_net()` before freeing the DIM context. This ensures all in-progress NAPI callbacks are finished before the pointer is cleared. Kernel log: BUG: kernel NULL pointer dereference, address: 0000000000000000 ... RIP: 0010:net_dim+0x23/0x190 ... Call Trace: <TASK> ? __die+0x20/0x60 ? page_fault_oops+0x150/0x3e0 ? common_interrupt+0xf/0xa0 ? sysvec_call_function_single+0xb/0x90 ? exc_page_fault+0x74/0x130 ? asm_exc_page_fault+0x22/0x30 ? net_dim+0x23/0x190 ? mlx5e_poll_ico_cq+0x41/0x6f0 [mlx5_core] ? sysvec_apic_timer_interrupt+0xb/0x90 mlx5e_handle_rx_dim+0x92/0xd0 [mlx5_core] mlx5e_napi_poll+0x2cd/0xac0 [mlx5_core] ? mlx5e_poll_ico_cq+0xe5/0x6f0 [mlx5_core] busy_poll_stop+0xa2/0x200 ? mlx5e_napi_poll+0x1d9/0xac0 [mlx5_core] ? mlx5e_trigger_irq+0x130/0x130 [mlx5_core] __napi_busy_loop+0x345/0x3b0 ? sysvec_call_function_single+0xb/0x90 ? asm_sysvec_call_function_single+0x16/0x20 ? sysvec_apic_timer_interrupt+0xb/0x90 ? pcpu_free_area+0x1e4/0x2e0 napi_busy_loop+0x11/0x20 xsk_recvmsg+0x10c/0x130 sock_recvmsg+0x44/0x70 __sys_recvfrom+0xbc/0x130 ? __schedule+0x398/0x890 __x64_sys_recvfrom+0x20/0x30 do_syscall_64+0x4c/0x100 entry_SYSCALL_64_after_hwframe+0x4b/0x53 ... ---[ end trace 0000000000000000 ]--- ... ---[ end Kernel panic - not syncing: Fatal exception in interrupt ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: account for Ethernet header in nf_flow_pppoe_proto() syzbot found a potential access to uninit-value in nf_flow_pppoe_proto() Blamed commit forgot the Ethernet header. BUG: KMSAN: uninit-value in nf_flow_offload_inet_hook+0x7e4/0x940 net/netfilter/nf_flow_table_inet.c:27 nf_flow_offload_inet_hook+0x7e4/0x940 net/netfilter/nf_flow_table_inet.c:27 nf_hook_entry_hookfn include/linux/netfilter.h:157 [inline] nf_hook_slow+0xe1/0x3d0 net/netfilter/core.c:623 nf_hook_ingress include/linux/netfilter_netdev.h:34 [inline] nf_ingress net/core/dev.c:5742 [inline] __netif_receive_skb_core+0x4aff/0x70c0 net/core/dev.c:5837 __netif_receive_skb_one_core net/core/dev.c:5975 [inline] __netif_receive_skb+0xcc/0xac0 net/core/dev.c:6090 netif_receive_skb_internal net/core/dev.c:6176 [inline] netif_receive_skb+0x57/0x630 net/core/dev.c:6235 tun_rx_batched+0x1df/0x980 drivers/net/tun.c:1485 tun_get_user+0x4ee0/0x6b40 drivers/net/tun.c:1938 tun_chr_write_iter+0x3e9/0x5c0 drivers/net/tun.c:1984 new_sync_write fs/read_write.c:593 [inline] vfs_write+0xb4b/0x1580 fs/read_write.c:686 ksys_write fs/read_write.c:738 [inline] __do_sys_write fs/read_write.c:749 [inline]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nbd: fix uaf in nbd_genl_connect() error path There is a use-after-free issue in nbd: block nbd6: Receive control failed (result -104) block nbd6: shutting down sockets ================================================================== BUG: KASAN: slab-use-after-free in recv_work+0x694/0xa80 drivers/block/nbd.c:1022 Write of size 4 at addr ffff8880295de478 by task kworker/u33:0/67 CPU: 2 UID: 0 PID: 67 Comm: kworker/u33:0 Not tainted 6.15.0-rc5-syzkaller-00123-g2c89c1b655c0 #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: nbd6-recv recv_work Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xc3/0x670 mm/kasan/report.c:521 kasan_report+0xe0/0x110 mm/kasan/report.c:634 check_region_inline mm/kasan/generic.c:183 [inline] kasan_check_range+0xef/0x1a0 mm/kasan/generic.c:189 instrument_atomic_read_write include/linux/instrumented.h:96 [inline] atomic_dec include/linux/atomic/atomic-instrumented.h:592 [inline] recv_work+0x694/0xa80 drivers/block/nbd.c:1022 process_one_work+0x9cc/0x1b70 kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3319 [inline] worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400 kthread+0x3c2/0x780 kernel/kthread.c:464 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:153 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> nbd_genl_connect() does not properly stop the device on certain error paths after nbd_start_device() has been called. This causes the error path to put nbd->config while recv_work continue to use the config after putting it, leading to use-after-free in recv_work. This patch moves nbd_start_device() after the backend file creation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: raid10: cleanup memleak at raid10_make_request If raid10_read_request or raid10_write_request registers a new request and the REQ_NOWAIT flag is set, the code does not free the malloc from the mempool. unreferenced object 0xffff8884802c3200 (size 192): comm "fio", pid 9197, jiffies 4298078271 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 88 41 02 00 00 00 00 00 .........A...... 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc c1a049a2): __kmalloc+0x2bb/0x450 mempool_alloc+0x11b/0x320 raid10_make_request+0x19e/0x650 [raid10] md_handle_request+0x3b3/0x9e0 __submit_bio+0x394/0x560 __submit_bio_noacct+0x145/0x530 submit_bio_noacct_nocheck+0x682/0x830 __blkdev_direct_IO_async+0x4dc/0x6b0 blkdev_read_iter+0x1e5/0x3b0 __io_read+0x230/0x1110 io_read+0x13/0x30 io_issue_sqe+0x134/0x1180 io_submit_sqes+0x48c/0xe90 __do_sys_io_uring_enter+0x574/0x8b0 do_syscall_64+0x5c/0xe0 entry_SYSCALL_64_after_hwframe+0x76/0x7e V4: changing backing tree to see if CKI tests will pass. The patch code has not changed between any versions.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: md/raid1: Fix stack memory use after return in raid1_reshape In the raid1_reshape function, newpool is allocated on the stack and assigned to conf->r1bio_pool. This results in conf->r1bio_pool.wait.head pointing to a stack address. Accessing this address later can lead to a kernel panic. Example access path: raid1_reshape() { // newpool is on the stack mempool_t newpool, oldpool; // initialize newpool.wait.head to stack address mempool_init(&newpool, ...); conf->r1bio_pool = newpool; } raid1_read_request() or raid1_write_request() { alloc_r1bio() { mempool_alloc() { // if pool->alloc fails remove_element() { --pool->curr_nr; } } } } mempool_free() { if (pool->curr_nr < pool->min_nr) { // pool->wait.head is a stack address // wake_up() will try to access this invalid address // which leads to a kernel panic return; wake_up(&pool->wait); } } Fix: reinit conf->r1bio_pool.wait after assigning newpool.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clk: imx: Fix an out-of-bounds access in dispmix_csr_clk_dev_data When num_parents is 4, __clk_register() occurs an out-of-bounds when accessing parent_names member. Use ARRAY_SIZE() instead of hardcode number here. BUG: KASAN: global-out-of-bounds in __clk_register+0x1844/0x20d8 Read of size 8 at addr ffff800086988e78 by task kworker/u24:3/59 Hardware name: NXP i.MX95 19X19 board (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x94/0xec show_stack+0x18/0x24 dump_stack_lvl+0x8c/0xcc print_report+0x398/0x5fc kasan_report+0xd4/0x114 __asan_report_load8_noabort+0x20/0x2c __clk_register+0x1844/0x20d8 clk_hw_register+0x44/0x110 __clk_hw_register_mux+0x284/0x3a8 imx95_bc_probe+0x4f4/0xa70


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: u_serial: Fix race condition in TTY wakeup A race condition occurs when gs_start_io() calls either gs_start_rx() or gs_start_tx(), as those functions briefly drop the port_lock for usb_ep_queue(). This allows gs_close() and gserial_disconnect() to clear port.tty and port_usb, respectively. Use the null-safe TTY Port helper function to wake up TTY. Example CPU1: CPU2: gserial_connect() // lock gs_close() // await lock gs_start_rx() // unlock usb_ep_queue() gs_close() // lock, reset port.tty and unlock gs_start_rx() // lock tty_wakeup() // NPE


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/gem: Acquire references on GEM handles for framebuffers A GEM handle can be released while the GEM buffer object is attached to a DRM framebuffer. This leads to the release of the dma-buf backing the buffer object, if any. [1] Trying to use the framebuffer in further mode-setting operations leads to a segmentation fault. Most easily happens with driver that use shadow planes for vmap-ing the dma-buf during a page flip. An example is shown below. [ 156.791968] ------------[ cut here ]------------ [ 156.796830] WARNING: CPU: 2 PID: 2255 at drivers/dma-buf/dma-buf.c:1527 dma_buf_vmap+0x224/0x430 [...] [ 156.942028] RIP: 0010:dma_buf_vmap+0x224/0x430 [ 157.043420] Call Trace: [ 157.045898] <TASK> [ 157.048030] ? show_trace_log_lvl+0x1af/0x2c0 [ 157.052436] ? show_trace_log_lvl+0x1af/0x2c0 [ 157.056836] ? show_trace_log_lvl+0x1af/0x2c0 [ 157.061253] ? drm_gem_shmem_vmap+0x74/0x710 [ 157.065567] ? dma_buf_vmap+0x224/0x430 [ 157.069446] ? __warn.cold+0x58/0xe4 [ 157.073061] ? dma_buf_vmap+0x224/0x430 [ 157.077111] ? report_bug+0x1dd/0x390 [ 157.080842] ? handle_bug+0x5e/0xa0 [ 157.084389] ? exc_invalid_op+0x14/0x50 [ 157.088291] ? asm_exc_invalid_op+0x16/0x20 [ 157.092548] ? dma_buf_vmap+0x224/0x430 [ 157.096663] ? dma_resv_get_singleton+0x6d/0x230 [ 157.101341] ? __pfx_dma_buf_vmap+0x10/0x10 [ 157.105588] ? __pfx_dma_resv_get_singleton+0x10/0x10 [ 157.110697] drm_gem_shmem_vmap+0x74/0x710 [ 157.114866] drm_gem_vmap+0xa9/0x1b0 [ 157.118763] drm_gem_vmap_unlocked+0x46/0xa0 [ 157.123086] drm_gem_fb_vmap+0xab/0x300 [ 157.126979] drm_atomic_helper_prepare_planes.part.0+0x487/0xb10 [ 157.133032] ? lockdep_init_map_type+0x19d/0x880 [ 157.137701] drm_atomic_helper_commit+0x13d/0x2e0 [ 157.142671] ? drm_atomic_nonblocking_commit+0xa0/0x180 [ 157.147988] drm_mode_atomic_ioctl+0x766/0xe40 [...] [ 157.346424] ---[ end trace 0000000000000000 ]--- Acquiring GEM handles for the framebuffer's GEM buffer objects prevents this from happening. The framebuffer's cleanup later puts the handle references. Commit 1a148af06000 ("drm/gem-shmem: Use dma_buf from GEM object instance") triggers the segmentation fault easily by using the dma-buf field more widely. The underlying issue with reference counting has been present before. v2: - acquire the handle instead of the BO (Christian) - fix comment style (Christian) - drop the Fixes tag (Christian) - rename err_ gotos - add missing Link tag


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_sta_set_decap_offload() Add a NULL check for msta->vif before accessing its members to prevent a kernel panic in AP mode deployment. This also fix the issue reported in [1]. The crash occurs when this function is triggered before the station is fully initialized. The call trace shows a page fault at mt7925_sta_set_decap_offload() due to accessing resources when msta->vif is NULL. Fix this by adding an early return if msta->vif is NULL and also check wcid.sta is ready. This ensures we only proceed with decap offload configuration when the station's state is properly initialized. [14739.655703] Unable to handle kernel paging request at virtual address ffffffffffffffa0 [14739.811820] CPU: 0 UID: 0 PID: 895854 Comm: hostapd Tainted: G [14739.821394] Tainted: [C]=CRAP, [O]=OOT_MODULE [14739.825746] Hardware name: Raspberry Pi 4 Model B Rev 1.1 (DT) [14739.831577] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [14739.838538] pc : mt7925_sta_set_decap_offload+0xc0/0x1b8 [mt7925_common] [14739.845271] lr : mt7925_sta_set_decap_offload+0x58/0x1b8 [mt7925_common] [14739.851985] sp : ffffffc085efb500 [14739.855295] x29: ffffffc085efb500 x28: 0000000000000000 x27: ffffff807803a158 [14739.862436] x26: ffffff8041ececb8 x25: 0000000000000001 x24: 0000000000000001 [14739.869577] x23: 0000000000000001 x22: 0000000000000008 x21: ffffff8041ecea88 [14739.876715] x20: ffffff8041c19ca0 x19: ffffff8078031fe0 x18: 0000000000000000 [14739.883853] x17: 0000000000000000 x16: ffffffe2aeac1110 x15: 000000559da48080 [14739.890991] x14: 0000000000000001 x13: 0000000000000000 x12: 0000000000000000 [14739.898130] x11: 0a10020001008e88 x10: 0000000000001a50 x9 : ffffffe26457bfa0 [14739.905269] x8 : ffffff8042013bb0 x7 : ffffff807fb6cbf8 x6 : dead000000000100 [14739.912407] x5 : dead000000000122 x4 : ffffff80780326c8 x3 : 0000000000000000 [14739.919546] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffffff8041ececb8 [14739.926686] Call trace: [14739.929130] mt7925_sta_set_decap_offload+0xc0/0x1b8 [mt7925_common] [14739.935505] ieee80211_check_fast_rx+0x19c/0x510 [mac80211] [14739.941344] _sta_info_move_state+0xe4/0x510 [mac80211] [14739.946860] sta_info_move_state+0x1c/0x30 [mac80211] [14739.952116] sta_apply_auth_flags.constprop.0+0x90/0x1b0 [mac80211] [14739.958708] sta_apply_parameters+0x234/0x5e0 [mac80211] [14739.964332] ieee80211_add_station+0xdc/0x190 [mac80211] [14739.969950] nl80211_new_station+0x46c/0x670 [cfg80211] [14739.975516] genl_family_rcv_msg_doit+0xdc/0x150 [14739.980158] genl_rcv_msg+0x218/0x298 [14739.983830] netlink_rcv_skb+0x64/0x138 [14739.987670] genl_rcv+0x40/0x60 [14739.990816] netlink_unicast+0x314/0x380 [14739.994742] netlink_sendmsg+0x198/0x3f0 [14739.998664] __sock_sendmsg+0x64/0xc0 [14740.002324] ____sys_sendmsg+0x260/0x298 [14740.006242] ___sys_sendmsg+0xb4/0x110


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: md/md-bitmap: fix GPF in bitmap_get_stats() The commit message of commit 6ec1f0239485 ("md/md-bitmap: fix stats collection for external bitmaps") states: Remove the external bitmap check as the statistics should be available regardless of bitmap storage location. Return -EINVAL only for invalid bitmap with no storage (neither in superblock nor in external file). But, the code does not adhere to the above, as it does only check for a valid super-block for "internal" bitmaps. Hence, we observe: Oops: GPF, probably for non-canonical address 0x1cd66f1f40000028 RIP: 0010:bitmap_get_stats+0x45/0xd0 Call Trace: seq_read_iter+0x2b9/0x46a seq_read+0x12f/0x180 proc_reg_read+0x57/0xb0 vfs_read+0xf6/0x380 ksys_read+0x6d/0xf0 do_syscall_64+0x8c/0x1b0 entry_SYSCALL_64_after_hwframe+0x76/0x7e We fix this by checking the existence of a super-block for both the internal and external case.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU syzbot reports that defer/local task_work adding via msg_ring can hit a request that has been freed: CPU: 1 UID: 0 PID: 19356 Comm: iou-wrk-19354 Not tainted 6.16.0-rc4-syzkaller-00108-g17bbde2e1716 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xd2/0x2b0 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 io_req_local_work_add io_uring/io_uring.c:1184 [inline] __io_req_task_work_add+0x589/0x950 io_uring/io_uring.c:1252 io_msg_remote_post io_uring/msg_ring.c:103 [inline] io_msg_data_remote io_uring/msg_ring.c:133 [inline] __io_msg_ring_data+0x820/0xaa0 io_uring/msg_ring.c:151 io_msg_ring_data io_uring/msg_ring.c:173 [inline] io_msg_ring+0x134/0xa00 io_uring/msg_ring.c:314 __io_issue_sqe+0x17e/0x4b0 io_uring/io_uring.c:1739 io_issue_sqe+0x165/0xfd0 io_uring/io_uring.c:1762 io_wq_submit_work+0x6e9/0xb90 io_uring/io_uring.c:1874 io_worker_handle_work+0x7cd/0x1180 io_uring/io-wq.c:642 io_wq_worker+0x42f/0xeb0 io_uring/io-wq.c:696 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> which is supposed to be safe with how requests are allocated. But msg ring requests alloc and free on their own, and hence must defer freeing to a sane time. Add an rcu_head and use kfree_rcu() in both spots where requests are freed. Only the one in io_msg_tw_complete() is strictly required as it has been visible on the other ring, but use it consistently in the other spot as well. This should not cause any other issues outside of KASAN rightfully complaining about it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: ad1816a: Fix potential NULL pointer deref in snd_card_ad1816a_pnp() Use pr_warn() instead of dev_warn() when 'pdev' is NULL to avoid a potential NULL pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: SVM: Reject SEV{-ES} intra host migration if vCPU creation is in-flight Reject migration of SEV{-ES} state if either the source or destination VM is actively creating a vCPU, i.e. if kvm_vm_ioctl_create_vcpu() is in the section between incrementing created_vcpus and online_vcpus. The bulk of vCPU creation runs _outside_ of kvm->lock to allow creating multiple vCPUs in parallel, and so sev_info.es_active can get toggled from false=>true in the destination VM after (or during) svm_vcpu_create(), resulting in an SEV{-ES} VM effectively having a non-SEV{-ES} vCPU. The issue manifests most visibly as a crash when trying to free a vCPU's NULL VMSA page in an SEV-ES VM, but any number of things can go wrong. BUG: unable to handle page fault for address: ffffebde00000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP KASAN NOPTI CPU: 227 UID: 0 PID: 64063 Comm: syz.5.60023 Tainted: G U O 6.15.0-smp-DEV #2 NONE Tainted: [U]=USER, [O]=OOT_MODULE Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 12.52.0-0 10/28/2024 RIP: 0010:constant_test_bit arch/x86/include/asm/bitops.h:206 [inline] RIP: 0010:arch_test_bit arch/x86/include/asm/bitops.h:238 [inline] RIP: 0010:_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:142 [inline] RIP: 0010:PageHead include/linux/page-flags.h:866 [inline] RIP: 0010:___free_pages+0x3e/0x120 mm/page_alloc.c:5067 Code: <49> f7 06 40 00 00 00 75 05 45 31 ff eb 0c 66 90 4c 89 f0 4c 39 f0 RSP: 0018:ffff8984551978d0 EFLAGS: 00010246 RAX: 0000777f80000001 RBX: 0000000000000000 RCX: ffffffff918aeb98 RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffebde00000000 RBP: 0000000000000000 R08: ffffebde00000007 R09: 1ffffd7bc0000000 R10: dffffc0000000000 R11: fffff97bc0000001 R12: dffffc0000000000 R13: ffff8983e19751a8 R14: ffffebde00000000 R15: 1ffffd7bc0000000 FS: 0000000000000000(0000) GS:ffff89ee661d3000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffebde00000000 CR3: 000000793ceaa000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000b5f DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Call Trace: <TASK> sev_free_vcpu+0x413/0x630 arch/x86/kvm/svm/sev.c:3169 svm_vcpu_free+0x13a/0x2a0 arch/x86/kvm/svm/svm.c:1515 kvm_arch_vcpu_destroy+0x6a/0x1d0 arch/x86/kvm/x86.c:12396 kvm_vcpu_destroy virt/kvm/kvm_main.c:470 [inline] kvm_destroy_vcpus+0xd1/0x300 virt/kvm/kvm_main.c:490 kvm_arch_destroy_vm+0x636/0x820 arch/x86/kvm/x86.c:12895 kvm_put_kvm+0xb8e/0xfb0 virt/kvm/kvm_main.c:1310 kvm_vm_release+0x48/0x60 virt/kvm/kvm_main.c:1369 __fput+0x3e4/0x9e0 fs/file_table.c:465 task_work_run+0x1a9/0x220 kernel/task_work.c:227 exit_task_work include/linux/task_work.h:40 [inline] do_exit+0x7f0/0x25b0 kernel/exit.c:953 do_group_exit+0x203/0x2d0 kernel/exit.c:1102 get_signal+0x1357/0x1480 kernel/signal.c:3034 arch_do_signal_or_restart+0x40/0x690 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x67/0xb0 kernel/entry/common.c:218 do_syscall_64+0x7c/0x150 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f87a898e969 </TASK> Modules linked in: gq(O) gsmi: Log Shutdown Reason 0x03 CR2: ffffebde00000000 ---[ end trace 0000000000000000 ]--- Deliberately don't check for a NULL VMSA when freeing the vCPU, as crashing the host is likely desirable due to the VMSA being consumed by hardware. E.g. if KVM manages to allow VMRUN on the vCPU, hardware may read/write a bogus VMSA page. Accessing P ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipmi:msghandler: Fix potential memory corruption in ipmi_create_user() The "intf" list iterator is an invalid pointer if the correct "intf->intf_num" is not found. Calling atomic_dec(&intf->nr_users) on and invalid pointer will lead to memory corruption. We don't really need to call atomic_dec() if we haven't called atomic_add_return() so update the if (intf->in_shutdown) path as well.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Abort __tc_modify_qdisc if parent class does not exist Lion's patch [1] revealed an ancient bug in the qdisc API. Whenever a user creates/modifies a qdisc specifying as a parent another qdisc, the qdisc API will, during grafting, detect that the user is not trying to attach to a class and reject. However grafting is performed after qdisc_create (and thus the qdiscs' init callback) is executed. In qdiscs that eventually call qdisc_tree_reduce_backlog during init or change (such as fq, hhf, choke, etc), an issue arises. For example, executing the following commands: sudo tc qdisc add dev lo root handle a: htb default 2 sudo tc qdisc add dev lo parent a: handle beef fq Qdiscs such as fq, hhf, choke, etc unconditionally invoke qdisc_tree_reduce_backlog() in their control path init() or change() which then causes a failure to find the child class; however, that does not stop the unconditional invocation of the assumed child qdisc's qlen_notify with a null class. All these qdiscs make the assumption that class is non-null. The solution is ensure that qdisc_leaf() which looks up the parent class, and is invoked prior to qdisc_create(), should return failure on not finding the class. In this patch, we leverage qdisc_leaf to return ERR_PTRs whenever the parentid doesn't correspond to a class, so that we can detect it earlier on and abort before qdisc_create is called. [1] https://lore.kernel.org/netdev/d912cbd7-193b-4269-9857-525bee8bbb6a@gmail.com/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: clip: Fix NULL pointer dereference in vcc_sendmsg() atmarpd_dev_ops does not implement the send method, which may cause crash as bellow. BUG: kernel NULL pointer dereference, address: 0000000000000000 PGD 0 P4D 0 Oops: Oops: 0010 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5324 Comm: syz.0.0 Not tainted 6.15.0-rc6-syzkaller-00346-g5723cc3450bc #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffc9000d3cf778 EFLAGS: 00010246 RAX: 1ffffffff1910dd1 RBX: 00000000000000c0 RCX: dffffc0000000000 RDX: ffffc9000dc82000 RSI: ffff88803e4c4640 RDI: ffff888052cd0000 RBP: ffffc9000d3cf8d0 R08: ffff888052c9143f R09: 1ffff1100a592287 R10: dffffc0000000000 R11: 0000000000000000 R12: 1ffff92001a79f00 R13: ffff888052cd0000 R14: ffff88803e4c4640 R15: ffffffff8c886e88 FS: 00007fbc762566c0(0000) GS:ffff88808d6c2000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 0000000041f1b000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> vcc_sendmsg+0xa10/0xc50 net/atm/common.c:644 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x219/0x270 net/socket.c:727 ____sys_sendmsg+0x52d/0x830 net/socket.c:2566 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2620 __sys_sendmmsg+0x227/0x430 net/socket.c:2709 __do_sys_sendmmsg net/socket.c:2736 [inline] __se_sys_sendmmsg net/socket.c:2733 [inline] __x64_sys_sendmmsg+0xa0/0xc0 net/socket.c:2733 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xf6/0x210 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: clip: Fix infinite recursive call of clip_push(). syzbot reported the splat below. [0] This happens if we call ioctl(ATMARP_MKIP) more than once. During the first call, clip_mkip() sets clip_push() to vcc->push(), and the second call copies it to clip_vcc->old_push(). Later, when the socket is close()d, vcc_destroy_socket() passes NULL skb to clip_push(), which calls clip_vcc->old_push(), triggering the infinite recursion. Let's prevent the second ioctl(ATMARP_MKIP) by checking vcc->user_back, which is allocated by the first call as clip_vcc. Note also that we use lock_sock() to prevent racy calls. [0]: BUG: TASK stack guard page was hit at ffffc9000d66fff8 (stack is ffffc9000d670000..ffffc9000d678000) Oops: stack guard page: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 5322 Comm: syz.0.0 Not tainted 6.16.0-rc4-syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:clip_push+0x5/0x720 net/atm/clip.c:191 Code: e0 8f aa 8c e8 1c ad 5b fa eb ae 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 55 <41> 57 41 56 41 55 41 54 53 48 83 ec 20 48 89 f3 49 89 fd 48 bd 00 RSP: 0018:ffffc9000d670000 EFLAGS: 00010246 RAX: 1ffff1100235a4a5 RBX: ffff888011ad2508 RCX: ffff8880003c0000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff888037f01000 RBP: dffffc0000000000 R08: ffffffff8fa104f7 R09: 1ffffffff1f4209e R10: dffffc0000000000 R11: ffffffff8a99b300 R12: ffffffff8a99b300 R13: ffff888037f01000 R14: ffff888011ad2500 R15: ffff888037f01578 FS: 000055557ab6d500(0000) GS:ffff88808d250000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffc9000d66fff8 CR3: 0000000043172000 CR4: 0000000000352ef0 Call Trace: <TASK> clip_push+0x6dc/0x720 net/atm/clip.c:200 clip_push+0x6dc/0x720 net/atm/clip.c:200 clip_push+0x6dc/0x720 net/atm/clip.c:200 ... clip_push+0x6dc/0x720 net/atm/clip.c:200 clip_push+0x6dc/0x720 net/atm/clip.c:200 clip_push+0x6dc/0x720 net/atm/clip.c:200 vcc_destroy_socket net/atm/common.c:183 [inline] vcc_release+0x157/0x460 net/atm/common.c:205 __sock_release net/socket.c:647 [inline] sock_close+0xc0/0x240 net/socket.c:1391 __fput+0x449/0xa70 fs/file_table.c:465 task_work_run+0x1d1/0x260 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xec/0x110 kernel/entry/common.c:114 exit_to_user_mode_prepare include/linux/entry-common.h:330 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:414 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:449 [inline] do_syscall_64+0x2bd/0x3b0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7ff31c98e929 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fffb5aa1f78 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 0000000000012747 RCX: 00007ff31c98e929 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007ff31cbb7ba0 R08: 0000000000000001 R09: 0000000db5aa226f R10: 00007ff31c7ff030 R11: 0000000000000246 R12: 00007ff31cbb608c R13: 00007ff31cbb6080 R14: ffffffffffffffff R15: 00007fffb5aa2090 </TASK> Modules linked in:


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: clip: Fix potential null-ptr-deref in to_atmarpd(). atmarpd is protected by RTNL since commit f3a0592b37b8 ("[ATM]: clip causes unregister hang"). However, it is not enough because to_atmarpd() is called without RTNL, especially clip_neigh_solicit() / neigh_ops->solicit() is unsleepable. Also, there is no RTNL dependency around atmarpd. Let's use a private mutex and RCU to protect access to atmarpd in to_atmarpd().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock: Fix transport_* TOCTOU Transport assignment may race with module unload. Protect new_transport from becoming a stale pointer. This also takes care of an insecure call in vsock_use_local_transport(); add a lockdep assert. BUG: unable to handle page fault for address: fffffbfff8056000 Oops: Oops: 0000 [#1] SMP KASAN RIP: 0010:vsock_assign_transport+0x366/0x600 Call Trace: vsock_connect+0x59c/0xc40 __sys_connect+0xe8/0x100 __x64_sys_connect+0x6e/0xc0 do_syscall_64+0x92/0x1c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock: Fix transport_{g2h,h2g} TOCTOU vsock_find_cid() and vsock_dev_do_ioctl() may race with module unload. transport_{g2h,h2g} may become NULL after the NULL check. Introduce vsock_transport_local_cid() to protect from a potential null-ptr-deref. KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f] RIP: 0010:vsock_find_cid+0x47/0x90 Call Trace: __vsock_bind+0x4b2/0x720 vsock_bind+0x90/0xe0 __sys_bind+0x14d/0x1e0 __x64_sys_bind+0x6e/0xc0 do_syscall_64+0x92/0x1c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f] RIP: 0010:vsock_dev_do_ioctl.isra.0+0x58/0xf0 Call Trace: __x64_sys_ioctl+0x12d/0x190 do_syscall_64+0x92/0x1c0 entry_SYSCALL_64_after_hwframe+0x4b/0x53


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tcp: Correct signedness in skb remaining space calculation Syzkaller reported a bug [1] where sk->sk_forward_alloc can overflow. When we send data, if an skb exists at the tail of the write queue, the kernel will attempt to append the new data to that skb. However, the code that checks for available space in the skb is flawed: ''' copy = size_goal - skb->len ''' The types of the variables involved are: ''' copy: ssize_t (s64 on 64-bit systems) size_goal: int skb->len: unsigned int ''' Due to C's type promotion rules, the signed size_goal is converted to an unsigned int to match skb->len before the subtraction. The result is an unsigned int. When this unsigned int result is then assigned to the s64 copy variable, it is zero-extended, preserving its non-negative value. Consequently, copy is always >= 0. Assume we are sending 2GB of data and size_goal has been adjusted to a value smaller than skb->len. The subtraction will result in copy holding a very large positive integer. In the subsequent logic, this large value is used to update sk->sk_forward_alloc, which can easily cause it to overflow. The syzkaller reproducer uses TCP_REPAIR to reliably create this condition. However, this can also occur in real-world scenarios. The tcp_bound_to_half_wnd() function can also reduce size_goal to a small value. This would cause the subsequent tcp_wmem_schedule() to set sk->sk_forward_alloc to a value close to INT_MAX. Further memory allocation requests would then cause sk_forward_alloc to wrap around and become negative. [1]: https://syzkaller.appspot.com/bug?extid=de6565462ab540f50e47


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tipc: Fix use-after-free in tipc_conn_close(). syzbot reported a null-ptr-deref in tipc_conn_close() during netns dismantle. [0] tipc_topsrv_stop() iterates tipc_net(net)->topsrv->conn_idr and calls tipc_conn_close() for each tipc_conn. The problem is that tipc_conn_close() is called after releasing the IDR lock. At the same time, there might be tipc_conn_recv_work() running and it could call tipc_conn_close() for the same tipc_conn and release its last ->kref. Once we release the IDR lock in tipc_topsrv_stop(), there is no guarantee that the tipc_conn is alive. Let's hold the ref before releasing the lock and put the ref after tipc_conn_close() in tipc_topsrv_stop(). [0]: BUG: KASAN: use-after-free in tipc_conn_close+0x122/0x140 net/tipc/topsrv.c:165 Read of size 8 at addr ffff888099305a08 by task kworker/u4:3/435 CPU: 0 PID: 435 Comm: kworker/u4:3 Not tainted 4.19.204-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: netns cleanup_net Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_address_description.cold+0x54/0x219 mm/kasan/report.c:256 kasan_report_error.cold+0x8a/0x1b9 mm/kasan/report.c:354 kasan_report mm/kasan/report.c:412 [inline] __asan_report_load8_noabort+0x88/0x90 mm/kasan/report.c:433 tipc_conn_close+0x122/0x140 net/tipc/topsrv.c:165 tipc_topsrv_stop net/tipc/topsrv.c:701 [inline] tipc_topsrv_exit_net+0x27b/0x5c0 net/tipc/topsrv.c:722 ops_exit_list+0xa5/0x150 net/core/net_namespace.c:153 cleanup_net+0x3b4/0x8b0 net/core/net_namespace.c:553 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 Allocated by task 23: kmem_cache_alloc_trace+0x12f/0x380 mm/slab.c:3625 kmalloc include/linux/slab.h:515 [inline] kzalloc include/linux/slab.h:709 [inline] tipc_conn_alloc+0x43/0x4f0 net/tipc/topsrv.c:192 tipc_topsrv_accept+0x1b5/0x280 net/tipc/topsrv.c:470 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 Freed by task 23: __cache_free mm/slab.c:3503 [inline] kfree+0xcc/0x210 mm/slab.c:3822 tipc_conn_kref_release net/tipc/topsrv.c:150 [inline] kref_put include/linux/kref.h:70 [inline] conn_put+0x2cd/0x3a0 net/tipc/topsrv.c:155 process_one_work+0x864/0x1570 kernel/workqueue.c:2153 worker_thread+0x64c/0x1130 kernel/workqueue.c:2296 kthread+0x33f/0x460 kernel/kthread.c:259 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:415 The buggy address belongs to the object at ffff888099305a00 which belongs to the cache kmalloc-512 of size 512 The buggy address is located 8 bytes inside of 512-byte region [ffff888099305a00, ffff888099305c00) The buggy address belongs to the page: page:ffffea000264c140 count:1 mapcount:0 mapping:ffff88813bff0940 index:0x0 flags: 0xfff00000000100(slab) raw: 00fff00000000100 ffffea00028b6b88 ffffea0002cd2b08 ffff88813bff0940 raw: 0000000000000000 ffff888099305000 0000000100000006 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888099305900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888099305980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff888099305a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888099305a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888099305b00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netlink: Fix wraparounds of sk->sk_rmem_alloc. Netlink has this pattern in some places if (atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf) atomic_add(skb->truesize, &sk->sk_rmem_alloc); , which has the same problem fixed by commit 5a465a0da13e ("udp: Fix multiple wraparounds of sk->sk_rmem_alloc."). For example, if we set INT_MAX to SO_RCVBUFFORCE, the condition is always false as the two operands are of int. Then, a single socket can eat as many skb as possible until OOM happens, and we can see multiple wraparounds of sk->sk_rmem_alloc. Let's fix it by using atomic_add_return() and comparing the two variables as unsigned int. Before: [root@fedora ~]# ss -f netlink Recv-Q Send-Q Local Address:Port Peer Address:Port -1668710080 0 rtnl:nl_wraparound/293 * After: [root@fedora ~]# ss -f netlink Recv-Q Send-Q Local Address:Port Peer Address:Port 2147483072 0 rtnl:nl_wraparound/290 * ^ `--- INT_MAX - 576


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: Revert to requiring CAP_SYS_ADMIN for uprobes Jann reports that uprobes can be used destructively when used in the middle of an instruction. The kernel only verifies there is a valid instruction at the requested offset, but due to variable instruction length cannot determine if this is an instruction as seen by the intended execution stream. Additionally, Mark Rutland notes that on architectures that mix data in the text segment (like arm64), a similar things can be done if the data word is 'mistaken' for an instruction. As such, require CAP_SYS_ADMIN for uprobes.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/exynos: exynos7_drm_decon: add vblank check in IRQ handling If there's support for another console device (such as a TTY serial), the kernel occasionally panics during boot. The panic message and a relevant snippet of the call stack is as follows: Unable to handle kernel NULL pointer dereference at virtual address 000000000000000 Call trace: drm_crtc_handle_vblank+0x10/0x30 (P) decon_irq_handler+0x88/0xb4 [...] Otherwise, the panics don't happen. This indicates that it's some sort of race condition. Add a check to validate if the drm device can handle vblanks before calling drm_crtc_handle_vblank() to avoid this.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Return NULL when htb_lookup_leaf encounters an empty rbtree htb_lookup_leaf has a BUG_ON that can trigger with the following: tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 htb rate 64bit tc qdisc add dev lo parent 1:1 handle 2: netem tc qdisc add dev lo parent 2:1 handle 3: blackhole ping -I lo -c1 -W0.001 127.0.0.1 The root cause is the following: 1. htb_dequeue calls htb_dequeue_tree which calls the dequeue handler on the selected leaf qdisc 2. netem_dequeue calls enqueue on the child qdisc 3. blackhole_enqueue drops the packet and returns a value that is not just NET_XMIT_SUCCESS 4. Because of this, netem_dequeue calls qdisc_tree_reduce_backlog, and since qlen is now 0, it calls htb_qlen_notify -> htb_deactivate -> htb_deactiviate_prios -> htb_remove_class_from_row -> htb_safe_rb_erase 5. As this is the only class in the selected hprio rbtree, __rb_change_child in __rb_erase_augmented sets the rb_root pointer to NULL 6. Because blackhole_dequeue returns NULL, netem_dequeue returns NULL, which causes htb_dequeue_tree to call htb_lookup_leaf with the same hprio rbtree, and fail the BUG_ON The function graph for this scenario is shown here: 0) | htb_enqueue() { 0) + 13.635 us | netem_enqueue(); 0) 4.719 us | htb_activate_prios(); 0) # 2249.199 us | } 0) | htb_dequeue() { 0) 2.355 us | htb_lookup_leaf(); 0) | netem_dequeue() { 0) + 11.061 us | blackhole_enqueue(); 0) | qdisc_tree_reduce_backlog() { 0) | qdisc_lookup_rcu() { 0) 1.873 us | qdisc_match_from_root(); 0) 6.292 us | } 0) 1.894 us | htb_search(); 0) | htb_qlen_notify() { 0) 2.655 us | htb_deactivate_prios(); 0) 6.933 us | } 0) + 25.227 us | } 0) 1.983 us | blackhole_dequeue(); 0) + 86.553 us | } 0) # 2932.761 us | qdisc_warn_nonwc(); 0) | htb_lookup_leaf() { 0) | BUG_ON(); ------------------------------------------ The full original bug report can be seen here [1]. We can fix this just by returning NULL instead of the BUG_ON, as htb_dequeue_tree returns NULL when htb_lookup_leaf returns NULL. [1] https://lore.kernel.org/netdev/pF5XOOIim0IuEfhI-SOxTgRvNoDwuux7UHKnE_Y5-zVd4wmGvNk2ceHjKb8ORnzw0cGwfmVu42g9dL7XyJLf1NEzaztboTWcm0Ogxuojoeo=@willsroot.io/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: vlan: fix VLAN 0 refcount imbalance of toggling filtering during runtime Assuming the "rx-vlan-filter" feature is enabled on a net device, the 8021q module will automatically add or remove VLAN 0 when the net device is put administratively up or down, respectively. There are a couple of problems with the above scheme. The first problem is a memory leak that can happen if the "rx-vlan-filter" feature is disabled while the device is running: # ip link add bond1 up type bond mode 0 # ethtool -K bond1 rx-vlan-filter off # ip link del dev bond1 When the device is put administratively down the "rx-vlan-filter" feature is disabled, so the 8021q module will not remove VLAN 0 and the memory will be leaked [1]. Another problem that can happen is that the kernel can automatically delete VLAN 0 when the device is put administratively down despite not adding it when the device was put administratively up since during that time the "rx-vlan-filter" feature was disabled. null-ptr-unref or bug_on[2] will be triggered by unregister_vlan_dev() for refcount imbalance if toggling filtering during runtime: $ ip link add bond0 type bond mode 0 $ ip link add link bond0 name vlan0 type vlan id 0 protocol 802.1q $ ethtool -K bond0 rx-vlan-filter off $ ifconfig bond0 up $ ethtool -K bond0 rx-vlan-filter on $ ifconfig bond0 down $ ip link del vlan0 Root cause is as below: step1: add vlan0 for real_dev, such as bond, team. register_vlan_dev vlan_vid_add(real_dev,htons(ETH_P_8021Q),0) //refcnt=1 step2: disable vlan filter feature and enable real_dev step3: change filter from 0 to 1 vlan_device_event vlan_filter_push_vids ndo_vlan_rx_add_vid //No refcnt added to real_dev vlan0 step4: real_dev down vlan_device_event vlan_vid_del(dev, htons(ETH_P_8021Q), 0); //refcnt=0 vlan_info_rcu_free //free vlan0 step5: delete vlan0 unregister_vlan_dev BUG_ON(!vlan_info); //vlan_info is null Fix both problems by noting in the VLAN info whether VLAN 0 was automatically added upon NETDEV_UP and based on that decide whether it should be deleted upon NETDEV_DOWN, regardless of the state of the "rx-vlan-filter" feature. [1] unreferenced object 0xffff8880068e3100 (size 256): comm "ip", pid 384, jiffies 4296130254 hex dump (first 32 bytes): 00 20 30 0d 80 88 ff ff 00 00 00 00 00 00 00 00 . 0............. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 81ce31fa): __kmalloc_cache_noprof+0x2b5/0x340 vlan_vid_add+0x434/0x940 vlan_device_event.cold+0x75/0xa8 notifier_call_chain+0xca/0x150 __dev_notify_flags+0xe3/0x250 rtnl_configure_link+0x193/0x260 rtnl_newlink_create+0x383/0x8e0 __rtnl_newlink+0x22c/0xa40 rtnl_newlink+0x627/0xb00 rtnetlink_rcv_msg+0x6fb/0xb70 netlink_rcv_skb+0x11f/0x350 netlink_unicast+0x426/0x710 netlink_sendmsg+0x75a/0xc20 __sock_sendmsg+0xc1/0x150 ____sys_sendmsg+0x5aa/0x7b0 ___sys_sendmsg+0xfc/0x180 [2] kernel BUG at net/8021q/vlan.c:99! Oops: invalid opcode: 0000 [#1] SMP KASAN PTI CPU: 0 UID: 0 PID: 382 Comm: ip Not tainted 6.16.0-rc3 #61 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 RIP: 0010:unregister_vlan_dev (net/8021q/vlan.c:99 (discriminator 1)) RSP: 0018:ffff88810badf310 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff88810da84000 RCX: ffffffffb47ceb9a RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff88810e8b43c8 RBP: 0000000000000000 R08: 0000000000000000 R09: fffffbfff6cefe80 R10: ffffffffb677f407 R11: ffff88810badf3c0 R12: ffff88810e8b4000 R13: 0000000000000000 R14: ffff88810642a5c0 R15: 000000000000017e FS: 00007f1ff68c20c0(0000) GS:ffff888163a24000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1ff5dad240 CR3: 0000000107e56000 CR4: 00000000000006f0 Call Trace: <TASK ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack: fix crash due to removal of uninitialised entry A crash in conntrack was reported while trying to unlink the conntrack entry from the hash bucket list: [exception RIP: __nf_ct_delete_from_lists+172] [..] #7 [ff539b5a2b043aa0] nf_ct_delete at ffffffffc124d421 [nf_conntrack] #8 [ff539b5a2b043ad0] nf_ct_gc_expired at ffffffffc124d999 [nf_conntrack] #9 [ff539b5a2b043ae0] __nf_conntrack_find_get at ffffffffc124efbc [nf_conntrack] [..] The nf_conn struct is marked as allocated from slab but appears to be in a partially initialised state: ct hlist pointer is garbage; looks like the ct hash value (hence crash). ct->status is equal to IPS_CONFIRMED|IPS_DYING, which is expected ct->timeout is 30000 (=30s), which is unexpected. Everything else looks like normal udp conntrack entry. If we ignore ct->status and pretend its 0, the entry matches those that are newly allocated but not yet inserted into the hash: - ct hlist pointers are overloaded and store/cache the raw tuple hash - ct->timeout matches the relative time expected for a new udp flow rather than the absolute 'jiffies' value. If it were not for the presence of IPS_CONFIRMED, __nf_conntrack_find_get() would have skipped the entry. Theory is that we did hit following race: cpu x cpu y cpu z found entry E found entry E E is expired <preemption> nf_ct_delete() return E to rcu slab init_conntrack E is re-inited, ct->status set to 0 reply tuplehash hnnode.pprev stores hash value. cpu y found E right before it was deleted on cpu x. E is now re-inited on cpu z. cpu y was preempted before checking for expiry and/or confirm bit. ->refcnt set to 1 E now owned by skb ->timeout set to 30000 If cpu y were to resume now, it would observe E as expired but would skip E due to missing CONFIRMED bit. nf_conntrack_confirm gets called sets: ct->status |= CONFIRMED This is wrong: E is not yet added to hashtable. cpu y resumes, it observes E as expired but CONFIRMED: <resumes> nf_ct_expired() -> yes (ct->timeout is 30s) confirmed bit set. cpu y will try to delete E from the hashtable: nf_ct_delete() -> set DYING bit __nf_ct_delete_from_lists Even this scenario doesn't guarantee a crash: cpu z still holds the table bucket lock(s) so y blocks: wait for spinlock held by z CONFIRMED is set but there is no guarantee ct will be added to hash: "chaintoolong" or "clash resolution" logic both skip the insert step. reply hnnode.pprev still stores the hash value. unlocks spinlock return NF_DROP <unblocks, then crashes on hlist_nulls_del_rcu pprev> In case CPU z does insert the entry into the hashtable, cpu y will unlink E again right away but no crash occurs. Without 'cpu y' race, 'garbage' hlist is of no consequence: ct refcnt remains at 1, eventually skb will be free'd and E gets destroyed via: nf_conntrack_put -> nf_conntrack_destroy -> nf_ct_destroy. To resolve this, move the IPS_CONFIRMED assignment after the table insertion but before the unlock. Pablo points out that the confirm-bit-store could be reordered to happen before hlist add resp. the timeout fixup, so switch to set_bit and before_atomic memory barrier to prevent this. It doesn't matter if other CPUs can observe a newly inserted entry right before the CONFIRMED bit was set: Such event cannot be distinguished from above "E is the old incarnation" case: the entry will be skipped. Also change nf_ct_should_gc() to first check the confirmed bit. The gc sequence is: 1. Check if entry has expired, if not skip to next entry 2. Obtain a reference to the expired entry. 3. Call nf_ct_should_gc() to double-check step 1. nf_ct_should_gc() is thus called only for entries that already failed an expiry check. After this patch, once the confirmed bit check pas ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Fix null-ptr-deref in l2cap_sock_resume_cb() syzbot reported null-ptr-deref in l2cap_sock_resume_cb(). [0] l2cap_sock_resume_cb() has a similar problem that was fixed by commit 1bff51ea59a9 ("Bluetooth: fix use-after-free error in lock_sock_nested()"). Since both l2cap_sock_kill() and l2cap_sock_resume_cb() are executed under l2cap_sock_resume_cb(), we can avoid the issue simply by checking if chan->data is NULL. Let's not access to the killed socket in l2cap_sock_resume_cb(). [0]: BUG: KASAN: null-ptr-deref in instrument_atomic_write include/linux/instrumented.h:82 [inline] BUG: KASAN: null-ptr-deref in clear_bit include/asm-generic/bitops/instrumented-atomic.h:41 [inline] BUG: KASAN: null-ptr-deref in l2cap_sock_resume_cb+0xb4/0x17c net/bluetooth/l2cap_sock.c:1711 Write of size 8 at addr 0000000000000570 by task kworker/u9:0/52 CPU: 1 UID: 0 PID: 52 Comm: kworker/u9:0 Not tainted 6.16.0-rc4-syzkaller-g7482bb149b9f #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Workqueue: hci0 hci_rx_work Call trace: show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:501 (C) __dump_stack+0x30/0x40 lib/dump_stack.c:94 dump_stack_lvl+0xd8/0x12c lib/dump_stack.c:120 print_report+0x58/0x84 mm/kasan/report.c:524 kasan_report+0xb0/0x110 mm/kasan/report.c:634 check_region_inline mm/kasan/generic.c:-1 [inline] kasan_check_range+0x264/0x2a4 mm/kasan/generic.c:189 __kasan_check_write+0x20/0x30 mm/kasan/shadow.c:37 instrument_atomic_write include/linux/instrumented.h:82 [inline] clear_bit include/asm-generic/bitops/instrumented-atomic.h:41 [inline] l2cap_sock_resume_cb+0xb4/0x17c net/bluetooth/l2cap_sock.c:1711 l2cap_security_cfm+0x524/0xea0 net/bluetooth/l2cap_core.c:7357 hci_auth_cfm include/net/bluetooth/hci_core.h:2092 [inline] hci_auth_complete_evt+0x2e8/0xa4c net/bluetooth/hci_event.c:3514 hci_event_func net/bluetooth/hci_event.c:7511 [inline] hci_event_packet+0x650/0xe9c net/bluetooth/hci_event.c:7565 hci_rx_work+0x320/0xb18 net/bluetooth/hci_core.c:4070 process_one_work+0x7e8/0x155c kernel/workqueue.c:3238 process_scheduled_works kernel/workqueue.c:3321 [inline] worker_thread+0x958/0xed8 kernel/workqueue.c:3402 kthread+0x5fc/0x75c kernel/kthread.c:464 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:847


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: net: sierra: check for no status endpoint The driver checks for having three endpoints and having bulk in and out endpoints, but not that the third endpoint is interrupt input. Rectify the omission.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smc: Fix various oops due to inet_sock type confusion. syzbot reported weird splats [0][1] in cipso_v4_sock_setattr() while freeing inet_sk(sk)->inet_opt. The address was freed multiple times even though it was read-only memory. cipso_v4_sock_setattr() did nothing wrong, and the root cause was type confusion. The cited commit made it possible to create smc_sock as an INET socket. The issue is that struct smc_sock does not have struct inet_sock as the first member but hijacks AF_INET and AF_INET6 sk_family, which confuses various places. In this case, inet_sock.inet_opt was actually smc_sock.clcsk_data_ready(), which is an address of a function in the text segment. $ pahole -C inet_sock vmlinux struct inet_sock { ... struct ip_options_rcu * inet_opt; /* 784 8 */ $ pahole -C smc_sock vmlinux struct smc_sock { ... void (*clcsk_data_ready)(struct sock *); /* 784 8 */ The same issue for another field was reported before. [2][3] At that time, an ugly hack was suggested [4], but it makes both INET and SMC code error-prone and hard to change. Also, yet another variant was fixed by a hacky commit 98d4435efcbf3 ("net/smc: prevent NULL pointer dereference in txopt_get"). Instead of papering over the root cause by such hacks, we should not allow non-INET socket to reuse the INET infra. Let's add inet_sock as the first member of smc_sock. [0]: kvfree_call_rcu(): Double-freed call. rcu_head 000000006921da73 WARNING: CPU: 0 PID: 6718 at mm/slab_common.c:1956 kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 Modules linked in: CPU: 0 UID: 0 PID: 6718 Comm: syz.0.17 Tainted: G W 6.16.0-rc4-syzkaller-g7482bb149b9f #0 PREEMPT Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 lr : kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 sp : ffff8000a03a7730 x29: ffff8000a03a7730 x28: 00000000fffffff5 x27: 1fffe000184823d3 x26: dfff800000000000 x25: ffff0000c2411e9e x24: ffff0000dd88da00 x23: ffff8000891ac9a0 x22: 00000000ffffffea x21: ffff8000891ac9a0 x20: ffff8000891ac9a0 x19: ffff80008afc2480 x18: 00000000ffffffff x17: 0000000000000000 x16: ffff80008ae642c8 x15: ffff700011ede14c x14: 1ffff00011ede14c x13: 0000000000000004 x12: ffffffffffffffff x11: ffff700011ede14c x10: 0000000000ff0100 x9 : 5fa3c1ffaf0ff000 x8 : 5fa3c1ffaf0ff000 x7 : 0000000000000001 x6 : 0000000000000001 x5 : ffff8000a03a7078 x4 : ffff80008f766c20 x3 : ffff80008054d360 x2 : 0000000000000000 x1 : 0000000000000201 x0 : 0000000000000000 Call trace: kvfree_call_rcu+0x94/0x3f0 mm/slab_common.c:1955 (P) cipso_v4_sock_setattr+0x2f0/0x3f4 net/ipv4/cipso_ipv4.c:1914 netlbl_sock_setattr+0x240/0x334 net/netlabel/netlabel_kapi.c:1000 smack_netlbl_add+0xa8/0x158 security/smack/smack_lsm.c:2581 smack_inode_setsecurity+0x378/0x430 security/smack/smack_lsm.c:2912 security_inode_setsecurity+0x118/0x3c0 security/security.c:2706 __vfs_setxattr_noperm+0x174/0x5c4 fs/xattr.c:251 __vfs_setxattr_locked+0x1ec/0x218 fs/xattr.c:295 vfs_setxattr+0x158/0x2ac fs/xattr.c:321 do_setxattr fs/xattr.c:636 [inline] file_setxattr+0x1b8/0x294 fs/xattr.c:646 path_setxattrat+0x2ac/0x320 fs/xattr.c:711 __do_sys_fsetxattr fs/xattr.c:761 [inline] __se_sys_fsetxattr fs/xattr.c:758 [inline] __arm64_sys_fsetxattr+0xc0/0xdc fs/xattr.c:758 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x58/0x180 arch/arm64/kernel/entry-common.c:879 el0t_64_sync_handler+0x84/0x12c arch/arm64/kernel/entry-common.c:898 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 [ ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rpl: Fix use-after-free in rpl_do_srh_inline(). Running lwt_dst_cache_ref_loop.sh in selftest with KASAN triggers the splat below [0]. rpl_do_srh_inline() fetches ipv6_hdr(skb) and accesses it after skb_cow_head(), which is illegal as the header could be freed then. Let's fix it by making oldhdr to a local struct instead of a pointer. [0]: [root@fedora net]# ./lwt_dst_cache_ref_loop.sh ... TEST: rpl (input) [ 57.631529] ================================================================== BUG: KASAN: slab-use-after-free in rpl_do_srh_inline.isra.0 (net/ipv6/rpl_iptunnel.c:174) Read of size 40 at addr ffff888122bf96d8 by task ping6/1543 CPU: 50 UID: 0 PID: 1543 Comm: ping6 Not tainted 6.16.0-rc5-01302-gfadd1e6231b1 #23 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <IRQ> dump_stack_lvl (lib/dump_stack.c:122) print_report (mm/kasan/report.c:409 mm/kasan/report.c:521) kasan_report (mm/kasan/report.c:221 mm/kasan/report.c:636) kasan_check_range (mm/kasan/generic.c:175 (discriminator 1) mm/kasan/generic.c:189 (discriminator 1)) __asan_memmove (mm/kasan/shadow.c:94 (discriminator 2)) rpl_do_srh_inline.isra.0 (net/ipv6/rpl_iptunnel.c:174) rpl_input (net/ipv6/rpl_iptunnel.c:201 net/ipv6/rpl_iptunnel.c:282) lwtunnel_input (net/core/lwtunnel.c:459) ipv6_rcv (./include/net/dst.h:471 (discriminator 1) ./include/net/dst.h:469 (discriminator 1) net/ipv6/ip6_input.c:79 (discriminator 1) ./include/linux/netfilter.h:317 (discriminator 1) ./include/linux/netfilter.h:311 (discriminator 1) net/ipv6/ip6_input.c:311 (discriminator 1)) __netif_receive_skb_one_core (net/core/dev.c:5967) process_backlog (./include/linux/rcupdate.h:869 net/core/dev.c:6440) __napi_poll.constprop.0 (net/core/dev.c:7452) net_rx_action (net/core/dev.c:7518 net/core/dev.c:7643) handle_softirqs (kernel/softirq.c:579) do_softirq (kernel/softirq.c:480 (discriminator 20)) </IRQ> <TASK> __local_bh_enable_ip (kernel/softirq.c:407) __dev_queue_xmit (net/core/dev.c:4740) ip6_finish_output2 (./include/linux/netdevice.h:3358 ./include/net/neighbour.h:526 ./include/net/neighbour.h:540 net/ipv6/ip6_output.c:141) ip6_finish_output (net/ipv6/ip6_output.c:215 net/ipv6/ip6_output.c:226) ip6_output (./include/linux/netfilter.h:306 net/ipv6/ip6_output.c:248) ip6_send_skb (net/ipv6/ip6_output.c:1983) rawv6_sendmsg (net/ipv6/raw.c:588 net/ipv6/raw.c:918) __sys_sendto (net/socket.c:714 (discriminator 1) net/socket.c:729 (discriminator 1) net/socket.c:2228 (discriminator 1)) __x64_sys_sendto (net/socket.c:2231) do_syscall_64 (arch/x86/entry/syscall_64.c:63 (discriminator 1) arch/x86/entry/syscall_64.c:94 (discriminator 1)) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) RIP: 0033:0x7f68cffb2a06 Code: 5d e8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 75 19 83 e2 39 83 fa 08 75 11 e8 26 ff ff ff 66 0f 1f 44 00 00 48 8b 45 10 0f 05 <48> 8b 5d f8 c9 c3 0f 1f 40 00 f3 0f 1e fa 55 48 89 e5 48 83 ec 08 RSP: 002b:00007ffefb7c53d0 EFLAGS: 00000202 ORIG_RAX: 000000000000002c RAX: ffffffffffffffda RBX: 0000564cd69f10a0 RCX: 00007f68cffb2a06 RDX: 0000000000000040 RSI: 0000564cd69f10a4 RDI: 0000000000000003 RBP: 00007ffefb7c53f0 R08: 0000564cd6a032ac R09: 000000000000001c R10: 0000000000000000 R11: 0000000000000202 R12: 0000564cd69f10a4 R13: 0000000000000040 R14: 00007ffefb7c66e0 R15: 0000564cd69f10a0 </TASK> Allocated by task 1543: kasan_save_stack (mm/kasan/common.c:48) kasan_save_track (mm/kasan/common.c:60 (discriminator 1) mm/kasan/common.c:69 (discriminator 1)) __kasan_slab_alloc (mm/kasan/common.c:319 mm/kasan/common.c:345) kmem_cache_alloc_node_noprof (./include/linux/kasan.h:250 mm/slub.c:4148 mm/slub.c:4197 mm/slub.c:4249) kmalloc_reserve (net/core/skbuff.c:581 (discriminator 88)) __alloc_skb (net/core/skbuff.c:669) __ip6_append_data (net/ipv6/ip6_output.c:1672 (discriminator 1)) ip6_ ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_qfq: Fix race condition on qfq_aggregate A race condition can occur when 'agg' is modified in qfq_change_agg (called during qfq_enqueue) while other threads access it concurrently. For example, qfq_dump_class may trigger a NULL dereference, and qfq_delete_class may cause a use-after-free. This patch addresses the issue by: 1. Moved qfq_destroy_class into the critical section. 2. Added sch_tree_lock protection to qfq_dump_class and qfq_dump_class_stats.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: Fix initialization of data for instructions that write to subdevice Some Comedi subdevice instruction handlers are known to access instruction data elements beyond the first `insn->n` elements in some cases. The `do_insn_ioctl()` and `do_insnlist_ioctl()` functions allocate at least `MIN_SAMPLES` (16) data elements to deal with this, but they do not initialize all of that. For Comedi instruction codes that write to the subdevice, the first `insn->n` data elements are copied from user-space, but the remaining elements are left uninitialized. That could be a problem if the subdevice instruction handler reads the uninitialized data. Ensure that the first `MIN_SAMPLES` elements are initialized before calling these instruction handlers, filling the uncopied elements with 0. For `do_insnlist_ioctl()`, the same data buffer elements are used for handling a list of instructions, so ensure the first `MIN_SAMPLES` elements are initialized for each instruction that writes to the subdevice.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: Fix use of uninitialized data in insn_rw_emulate_bits() For Comedi `INSN_READ` and `INSN_WRITE` instructions on "digital" subdevices (subdevice types `COMEDI_SUBD_DI`, `COMEDI_SUBD_DO`, and `COMEDI_SUBD_DIO`), it is common for the subdevice driver not to have `insn_read` and `insn_write` handler functions, but to have an `insn_bits` handler function for handling Comedi `INSN_BITS` instructions. In that case, the subdevice's `insn_read` and/or `insn_write` function handler pointers are set to point to the `insn_rw_emulate_bits()` function by `__comedi_device_postconfig()`. For `INSN_WRITE`, `insn_rw_emulate_bits()` currently assumes that the supplied `data[0]` value is a valid copy from user memory. It will at least exist because `do_insnlist_ioctl()` and `do_insn_ioctl()` in "comedi_fops.c" ensure at lease `MIN_SAMPLES` (16) elements are allocated. However, if `insn->n` is 0 (which is allowable for `INSN_READ` and `INSN_WRITE` instructions, then `data[0]` may contain uninitialized data, and certainly contains invalid data, possibly from a different instruction in the array of instructions handled by `do_insnlist_ioctl()`. This will result in an incorrect value being written to the digital output channel (or to the digital input/output channel if configured as an output), and may be reflected in the internal saved state of the channel. Fix it by returning 0 early if `insn->n` is 0, before reaching the code that accesses `data[0]`. Previously, the function always returned 1 on success, but it is supposed to be the number of data samples actually read or written up to `insn->n`, which is 0 in this case.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: Fail COMEDI_INSNLIST ioctl if n_insns is too large The handling of the `COMEDI_INSNLIST` ioctl allocates a kernel buffer to hold the array of `struct comedi_insn`, getting the length from the `n_insns` member of the `struct comedi_insnlist` supplied by the user. The allocation will fail with a WARNING and a stack dump if it is too large. Avoid that by failing with an `-EINVAL` error if the supplied `n_insns` value is unreasonable. Define the limit on the `n_insns` value in the `MAX_INSNS` macro. Set this to the same value as `MAX_SAMPLES` (65536), which is the maximum allowed sum of the values of the member `n` in the array of `struct comedi_insn`, and sensible comedi instructions will have an `n` of at least 1.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: das6402: Fix bit shift out of bounds When checking for a supported IRQ number, the following test is used: /* IRQs 2,3,5,6,7, 10,11,15 are valid for "enhanced" mode */ if ((1 << it->options[1]) & 0x8cec) { However, `it->options[i]` is an unchecked `int` value from userspace, so the shift amount could be negative or out of bounds. Fix the test by requiring `it->options[1]` to be within bounds before proceeding with the original test. Valid `it->options[1]` values that select the IRQ will be in the range [1,15]. The value 0 explicitly disables the use of interrupts.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: das16m1: Fix bit shift out of bounds When checking for a supported IRQ number, the following test is used: /* only irqs 2, 3, 4, 5, 6, 7, 10, 11, 12, 14, and 15 are valid */ if ((1 << it->options[1]) & 0xdcfc) { However, `it->options[i]` is an unchecked `int` value from userspace, so the shift amount could be negative or out of bounds. Fix the test by requiring `it->options[1]` to be within bounds before proceeding with the original test.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: backend: fix out-of-bound write The buffer is set to 80 character. If a caller write more characters, count is truncated to the max available space in "simple_write_to_buffer". But afterwards a string terminator is written to the buffer at offset count without boundary check. The zero termination is written OUT-OF-BOUND. Add a check that the given buffer is smaller then the buffer to prevent.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: accel: fxls8962af: Fix use after free in fxls8962af_fifo_flush fxls8962af_fifo_flush() uses indio_dev->active_scan_mask (with iio_for_each_active_channel()) without making sure the indio_dev stays in buffer mode. There is a race if indio_dev exits buffer mode in the middle of the interrupt that flushes the fifo. Fix this by calling synchronize_irq() to ensure that no interrupt is currently running when disabling buffer mode. Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read [...] _find_first_bit_le from fxls8962af_fifo_flush+0x17c/0x290 fxls8962af_fifo_flush from fxls8962af_interrupt+0x80/0x178 fxls8962af_interrupt from irq_thread_fn+0x1c/0x7c irq_thread_fn from irq_thread+0x110/0x1f4 irq_thread from kthread+0xe0/0xfc kthread from ret_from_fork+0x14/0x2c


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: soc: aspeed: lpc-snoop: Don't disable channels that aren't enabled Mitigate e.g. the following: # echo 1e789080.lpc-snoop > /sys/bus/platform/drivers/aspeed-lpc-snoop/unbind ... [ 120.363594] Unable to handle kernel NULL pointer dereference at virtual address 00000004 when write [ 120.373866] [00000004] *pgd=00000000 [ 120.377910] Internal error: Oops: 805 [#1] SMP ARM [ 120.383306] CPU: 1 UID: 0 PID: 315 Comm: sh Not tainted 6.15.0-rc1-00009-g926217bc7d7d-dirty #20 NONE ... [ 120.679543] Call trace: [ 120.679559] misc_deregister from aspeed_lpc_snoop_remove+0x84/0xac [ 120.692462] aspeed_lpc_snoop_remove from platform_remove+0x28/0x38 [ 120.700996] platform_remove from device_release_driver_internal+0x188/0x200 ...


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-after-free in crypt_message when using async crypto The CVE-2024-50047 fix removed asynchronous crypto handling from crypt_message(), assuming all crypto operations are synchronous. However, when hardware crypto accelerators are used, this can cause use-after-free crashes: crypt_message() // Allocate the creq buffer containing the req creq = smb2_get_aead_req(..., &req); // Async encryption returns -EINPROGRESS immediately rc = enc ? crypto_aead_encrypt(req) : crypto_aead_decrypt(req); // Free creq while async operation is still in progress kvfree_sensitive(creq, ...); Hardware crypto modules often implement async AEAD operations for performance. When crypto_aead_encrypt/decrypt() returns -EINPROGRESS, the operation completes asynchronously. Without crypto_wait_req(), the function immediately frees the request buffer, leading to crashes when the driver later accesses the freed memory. This results in a use-after-free condition when the hardware crypto driver later accesses the freed request structure, leading to kernel crashes with NULL pointer dereferences. The issue occurs because crypto_alloc_aead() with mask=0 doesn't guarantee synchronous operation. Even without CRYPTO_ALG_ASYNC in the mask, async implementations can be selected. Fix by restoring the async crypto handling: - DECLARE_CRYPTO_WAIT(wait) for completion tracking - aead_request_set_callback() for async completion notification - crypto_wait_req() to wait for operation completion This ensures the request buffer isn't freed until the crypto operation completes, whether synchronous or asynchronous, while preserving the CVE-2024-50047 fix.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/bpf: Fix bpf_arch_text_poke() with new_addr == NULL again Commit 7ded842b356d ("s390/bpf: Fix bpf_plt pointer arithmetic") has accidentally removed the critical piece of commit c730fce7c70c ("s390/bpf: Fix bpf_arch_text_poke() with new_addr == NULL"), causing intermittent kernel panics in e.g. perf's on_switch() prog to reappear. Restore the fix and add a comment.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: libwx: remove duplicate page_pool_put_full_page() page_pool_put_full_page() should only be invoked when freeing Rx buffers or building a skb if the size is too short. At other times, the pages need to be reused. So remove the redundant page put. In the original code, double free pages cause kernel panic: [ 876.949834] __irq_exit_rcu+0xc7/0x130 [ 876.949836] common_interrupt+0xb8/0xd0 [ 876.949838] </IRQ> [ 876.949838] <TASK> [ 876.949840] asm_common_interrupt+0x22/0x40 [ 876.949841] RIP: 0010:cpuidle_enter_state+0xc2/0x420 [ 876.949843] Code: 00 00 e8 d1 1d 5e ff e8 ac f0 ff ff 49 89 c5 0f 1f 44 00 00 31 ff e8 cd fc 5c ff 45 84 ff 0f 85 40 02 00 00 fb 0f 1f 44 00 00 <45> 85 f6 0f 88 84 01 00 00 49 63 d6 48 8d 04 52 48 8d 04 82 49 8d [ 876.949844] RSP: 0018:ffffaa7340267e78 EFLAGS: 00000246 [ 876.949845] RAX: ffff9e3f135be000 RBX: 0000000000000002 RCX: 0000000000000000 [ 876.949846] RDX: 000000cc2dc4cb7c RSI: ffffffff89ee49ae RDI: ffffffff89ef9f9e [ 876.949847] RBP: ffff9e378f940800 R08: 0000000000000002 R09: 00000000000000ed [ 876.949848] R10: 000000000000afc8 R11: ffff9e3e9e5a9b6c R12: ffffffff8a6d8580 [ 876.949849] R13: 000000cc2dc4cb7c R14: 0000000000000002 R15: 0000000000000000 [ 876.949852] ? cpuidle_enter_state+0xb3/0x420 [ 876.949855] cpuidle_enter+0x29/0x40 [ 876.949857] cpuidle_idle_call+0xfd/0x170 [ 876.949859] do_idle+0x7a/0xc0 [ 876.949861] cpu_startup_entry+0x25/0x30 [ 876.949862] start_secondary+0x117/0x140 [ 876.949864] common_startup_64+0x13e/0x148 [ 876.949867] </TASK> [ 876.949868] ---[ end trace 0000000000000000 ]--- [ 876.949869] ------------[ cut here ]------------ [ 876.949870] list_del corruption, ffffead40445a348->next is NULL [ 876.949873] WARNING: CPU: 14 PID: 0 at lib/list_debug.c:52 __list_del_entry_valid_or_report+0x67/0x120 [ 876.949875] Modules linked in: snd_hrtimer(E) bnep(E) binfmt_misc(E) amdgpu(E) squashfs(E) vfat(E) loop(E) fat(E) amd_atl(E) snd_hda_codec_realtek(E) intel_rapl_msr(E) snd_hda_codec_generic(E) intel_rapl_common(E) snd_hda_scodec_component(E) snd_hda_codec_hdmi(E) snd_hda_intel(E) edac_mce_amd(E) snd_intel_dspcfg(E) snd_hda_codec(E) snd_hda_core(E) amdxcp(E) kvm_amd(E) snd_hwdep(E) gpu_sched(E) drm_panel_backlight_quirks(E) cec(E) snd_pcm(E) drm_buddy(E) snd_seq_dummy(E) drm_ttm_helper(E) btusb(E) kvm(E) snd_seq_oss(E) btrtl(E) ttm(E) btintel(E) snd_seq_midi(E) btbcm(E) drm_exec(E) snd_seq_midi_event(E) i2c_algo_bit(E) snd_rawmidi(E) bluetooth(E) drm_suballoc_helper(E) irqbypass(E) snd_seq(E) ghash_clmulni_intel(E) sha512_ssse3(E) drm_display_helper(E) aesni_intel(E) snd_seq_device(E) rfkill(E) snd_timer(E) gf128mul(E) drm_client_lib(E) drm_kms_helper(E) snd(E) i2c_piix4(E) joydev(E) soundcore(E) wmi_bmof(E) ccp(E) k10temp(E) i2c_smbus(E) gpio_amdpt(E) i2c_designware_platform(E) gpio_generic(E) sg(E) [ 876.949914] i2c_designware_core(E) sch_fq_codel(E) parport_pc(E) drm(E) ppdev(E) lp(E) parport(E) fuse(E) nfnetlink(E) ip_tables(E) ext4 crc16 mbcache jbd2 sd_mod sfp mdio_i2c i2c_core txgbe ahci ngbe pcs_xpcs libahci libwx r8169 phylink libata realtek ptp pps_core video wmi [ 876.949933] CPU: 14 UID: 0 PID: 0 Comm: swapper/14 Kdump: loaded Tainted: G W E 6.16.0-rc2+ #20 PREEMPT(voluntary) [ 876.949935] Tainted: [W]=WARN, [E]=UNSIGNED_MODULE [ 876.949936] Hardware name: Micro-Star International Co., Ltd. MS-7E16/X670E GAMING PLUS WIFI (MS-7E16), BIOS 1.90 12/31/2024 [ 876.949936] RIP: 0010:__list_del_entry_valid_or_report+0x67/0x120 [ 876.949938] Code: 00 00 00 48 39 7d 08 0f 85 a6 00 00 00 5b b8 01 00 00 00 5d 41 5c e9 73 0d 93 ff 48 89 fe 48 c7 c7 a0 31 e8 89 e8 59 7c b3 ff <0f> 0b 31 c0 5b 5d 41 5c e9 57 0d 93 ff 48 89 fe 48 c7 c7 c8 31 e8 [ 876.949940] RSP: 0018:ffffaa73405d0c60 EFLAGS: 00010282 [ 876.949941] RAX: 0000000000000000 RBX: ffffead40445a348 RCX: 0000000000000000 [ 876.949942] RDX: 0000000000000105 RSI: 00000 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mptcp: make fallback action and fallback decision atomic Syzkaller reported the following splat: WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 __mptcp_do_fallback net/mptcp/protocol.h:1223 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 mptcp_do_fallback net/mptcp/protocol.h:1244 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 check_fully_established net/mptcp/options.c:982 [inline] WARNING: CPU: 1 PID: 7704 at net/mptcp/protocol.h:1223 mptcp_incoming_options+0x21a8/0x2510 net/mptcp/options.c:1153 Modules linked in: CPU: 1 UID: 0 PID: 7704 Comm: syz.3.1419 Not tainted 6.16.0-rc3-gbd5ce2324dba #20 PREEMPT(voluntary) Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:__mptcp_do_fallback net/mptcp/protocol.h:1223 [inline] RIP: 0010:mptcp_do_fallback net/mptcp/protocol.h:1244 [inline] RIP: 0010:check_fully_established net/mptcp/options.c:982 [inline] RIP: 0010:mptcp_incoming_options+0x21a8/0x2510 net/mptcp/options.c:1153 Code: 24 18 e8 bb 2a 00 fd e9 1b df ff ff e8 b1 21 0f 00 e8 ec 5f c4 fc 44 0f b7 ac 24 b0 00 00 00 e9 54 f1 ff ff e8 d9 5f c4 fc 90 <0f> 0b 90 e9 b8 f4 ff ff e8 8b 2a 00 fd e9 8d e6 ff ff e8 81 2a 00 RSP: 0018:ffff8880a3f08448 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff8880180a8000 RCX: ffffffff84afcf45 RDX: ffff888090223700 RSI: ffffffff84afdaa7 RDI: 0000000000000001 RBP: ffff888017955780 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffff8880180a8910 R14: ffff8880a3e9d058 R15: 0000000000000000 FS: 00005555791b8500(0000) GS:ffff88811c495000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000110c2800b7 CR3: 0000000058e44000 CR4: 0000000000350ef0 Call Trace: <IRQ> tcp_reset+0x26f/0x2b0 net/ipv4/tcp_input.c:4432 tcp_validate_incoming+0x1057/0x1b60 net/ipv4/tcp_input.c:5975 tcp_rcv_established+0x5b5/0x21f0 net/ipv4/tcp_input.c:6166 tcp_v4_do_rcv+0x5dc/0xa70 net/ipv4/tcp_ipv4.c:1925 tcp_v4_rcv+0x3473/0x44a0 net/ipv4/tcp_ipv4.c:2363 ip_protocol_deliver_rcu+0xba/0x480 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2f1/0x500 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:317 [inline] NF_HOOK include/linux/netfilter.h:311 [inline] ip_local_deliver+0x1be/0x560 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:469 [inline] ip_rcv_finish net/ipv4/ip_input.c:447 [inline] NF_HOOK include/linux/netfilter.h:317 [inline] NF_HOOK include/linux/netfilter.h:311 [inline] ip_rcv+0x514/0x810 net/ipv4/ip_input.c:567 __netif_receive_skb_one_core+0x197/0x1e0 net/core/dev.c:5975 __netif_receive_skb+0x1f/0x120 net/core/dev.c:6088 process_backlog+0x301/0x1360 net/core/dev.c:6440 __napi_poll.constprop.0+0xba/0x550 net/core/dev.c:7453 napi_poll net/core/dev.c:7517 [inline] net_rx_action+0xb44/0x1010 net/core/dev.c:7644 handle_softirqs+0x1d0/0x770 kernel/softirq.c:579 do_softirq+0x3f/0x90 kernel/softirq.c:480 </IRQ> <TASK> __local_bh_enable_ip+0xed/0x110 kernel/softirq.c:407 local_bh_enable include/linux/bottom_half.h:33 [inline] inet_csk_listen_stop+0x2c5/0x1070 net/ipv4/inet_connection_sock.c:1524 mptcp_check_listen_stop.part.0+0x1cc/0x220 net/mptcp/protocol.c:2985 mptcp_check_listen_stop net/mptcp/mib.h:118 [inline] __mptcp_close+0x9b9/0xbd0 net/mptcp/protocol.c:3000 mptcp_close+0x2f/0x140 net/mptcp/protocol.c:3066 inet_release+0xed/0x200 net/ipv4/af_inet.c:435 inet6_release+0x4f/0x70 net/ipv6/af_inet6.c:487 __sock_release+0xb3/0x270 net/socket.c:649 sock_close+0x1c/0x30 net/socket.c:1439 __fput+0x402/0xb70 fs/file_table.c:465 task_work_run+0x150/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xd4 ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing/osnoise: Fix crash in timerlat_dump_stack() We have observed kernel panics when using timerlat with stack saving, with the following dmesg output: memcpy: detected buffer overflow: 88 byte write of buffer size 0 WARNING: CPU: 2 PID: 8153 at lib/string_helpers.c:1032 __fortify_report+0x55/0xa0 CPU: 2 UID: 0 PID: 8153 Comm: timerlatu/2 Kdump: loaded Not tainted 6.15.3-200.fc42.x86_64 #1 PREEMPT(lazy) Call Trace: <TASK> ? trace_buffer_lock_reserve+0x2a/0x60 __fortify_panic+0xd/0xf __timerlat_dump_stack.cold+0xd/0xd timerlat_dump_stack.part.0+0x47/0x80 timerlat_fd_read+0x36d/0x390 vfs_read+0xe2/0x390 ? syscall_exit_to_user_mode+0x1d5/0x210 ksys_read+0x73/0xe0 do_syscall_64+0x7b/0x160 ? exc_page_fault+0x7e/0x1a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e __timerlat_dump_stack() constructs the ftrace stack entry like this: struct stack_entry *entry; ... memcpy(&entry->caller, fstack->calls, size); entry->size = fstack->nr_entries; Since commit e7186af7fb26 ("tracing: Add back FORTIFY_SOURCE logic to kernel_stack event structure"), struct stack_entry marks its caller field with __counted_by(size). At the time of the memcpy, entry->size contains garbage from the ringbuffer, which under some circumstances is zero, triggering a kernel panic by buffer overflow. Populate the size field before the memcpy so that the out-of-bounds check knows the correct size. This is analogous to __ftrace_trace_stack().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: do not bypass hid_hw_raw_request hid_hw_raw_request() is actually useful to ensure the provided buffer and length are valid. Directly calling in the low level transport driver function bypassed those checks and allowed invalid paramto be used.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: ensure the allocated report buffer can contain the reserved report ID When the report ID is not used, the low level transport drivers expect the first byte to be 0. However, currently the allocated buffer not account for that extra byte, meaning that instead of having 8 guaranteed bytes for implement to be working, we only have 7.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm-bufio: fix sched in atomic context If "try_verify_in_tasklet" is set for dm-verity, DM_BUFIO_CLIENT_NO_SLEEP is enabled for dm-bufio. However, when bufio tries to evict buffers, there is a chance to trigger scheduling in spin_lock_bh, the following warning is hit: BUG: sleeping function called from invalid context at drivers/md/dm-bufio.c:2745 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 123, name: kworker/2:2 preempt_count: 201, expected: 0 RCU nest depth: 0, expected: 0 4 locks held by kworker/2:2/123: #0: ffff88800a2d1548 ((wq_completion)dm_bufio_cache){....}-{0:0}, at: process_one_work+0xe46/0x1970 #1: ffffc90000d97d20 ((work_completion)(&dm_bufio_replacement_work)){....}-{0:0}, at: process_one_work+0x763/0x1970 #2: ffffffff8555b528 (dm_bufio_clients_lock){....}-{3:3}, at: do_global_cleanup+0x1ce/0x710 #3: ffff88801d5820b8 (&c->spinlock){....}-{2:2}, at: do_global_cleanup+0x2a5/0x710 Preemption disabled at: [<0000000000000000>] 0x0 CPU: 2 UID: 0 PID: 123 Comm: kworker/2:2 Not tainted 6.16.0-rc3-g90548c634bd0 #305 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 Workqueue: dm_bufio_cache do_global_cleanup Call Trace: <TASK> dump_stack_lvl+0x53/0x70 __might_resched+0x360/0x4e0 do_global_cleanup+0x2f5/0x710 process_one_work+0x7db/0x1970 worker_thread+0x518/0xea0 kthread+0x359/0x690 ret_from_fork+0xf3/0x1b0 ret_from_fork_asm+0x1a/0x30 </TASK> That can be reproduced by: veritysetup format --data-block-size=4096 --hash-block-size=4096 /dev/vda /dev/vdb SIZE=$(blockdev --getsz /dev/vda) dmsetup create myverity -r --table "0 $SIZE verity 1 /dev/vda /dev/vdb 4096 4096 <data_blocks> 1 sha256 <root_hash> <salt> 1 try_verify_in_tasklet" mount /dev/dm-0 /mnt -o ro echo 102400 > /sys/module/dm_bufio/parameters/max_cache_size_bytes [read files in /mnt]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: configfs: Fix OOB read on empty string write When writing an empty string to either 'qw_sign' or 'landingPage' sysfs attributes, the store functions attempt to access page[l - 1] before validating that the length 'l' is greater than zero. This patch fixes the vulnerability by adding a check at the beginning of os_desc_qw_sign_store() and webusb_landingPage_store() to handle the zero-length input case gracefully by returning immediately.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns What we want is to verify there is that clone won't expose something hidden by a mount we wouldn't be able to undo. "Wouldn't be able to undo" may be a result of MNT_LOCKED on a child, but it may also come from lacking admin rights in the userns of the namespace mount belongs to. clone_private_mnt() checks the former, but not the latter. There's a number of rather confusing CAP_SYS_ADMIN checks in various userns during the mount, especially with the new mount API; they serve different purposes and in case of clone_private_mnt() they usually, but not always end up covering the missing check mentioned above.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: interface: fix use-after-free after changing collect_md xfrm interface collect_md property on xfrm interfaces can only be set on device creation, thus xfrmi_changelink() should fail when called on such interfaces. The check to enforce this was done only in the case where the xi was returned from xfrmi_locate() which doesn't look for the collect_md interface, and thus the validation was never reached. Calling changelink would thus errornously place the special interface xi in the xfrmi_net->xfrmi hash, but since it also exists in the xfrmi_net->collect_md_xfrmi pointer it would lead to a double free when the net namespace was taken down [1]. Change the check to use the xi from netdev_priv which is available earlier in the function to prevent changes in xfrm collect_md interfaces. [1] resulting oops: [ 8.516540] kernel BUG at net/core/dev.c:12029! [ 8.516552] Oops: invalid opcode: 0000 [#1] SMP NOPTI [ 8.516559] CPU: 0 UID: 0 PID: 12 Comm: kworker/u80:0 Not tainted 6.15.0-virtme #5 PREEMPT(voluntary) [ 8.516565] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 8.516569] Workqueue: netns cleanup_net [ 8.516579] RIP: 0010:unregister_netdevice_many_notify+0x101/0xab0 [ 8.516590] Code: 90 0f 0b 90 48 8b b0 78 01 00 00 48 8b 90 80 01 00 00 48 89 56 08 48 89 32 4c 89 80 78 01 00 00 48 89 b8 80 01 00 00 eb ac 90 <0f> 0b 48 8b 45 00 4c 8d a0 88 fe ff ff 48 39 c5 74 5c 41 80 bc 24 [ 8.516593] RSP: 0018:ffffa93b8006bd30 EFLAGS: 00010206 [ 8.516598] RAX: ffff98fe4226e000 RBX: ffffa93b8006bd58 RCX: ffffa93b8006bc60 [ 8.516601] RDX: 0000000000000004 RSI: 0000000000000000 RDI: dead000000000122 [ 8.516603] RBP: ffffa93b8006bdd8 R08: dead000000000100 R09: ffff98fe4133c100 [ 8.516605] R10: 0000000000000000 R11: 00000000000003d2 R12: ffffa93b8006be00 [ 8.516608] R13: ffffffff96c1a510 R14: ffffffff96c1a510 R15: ffffa93b8006be00 [ 8.516615] FS: 0000000000000000(0000) GS:ffff98fee73b7000(0000) knlGS:0000000000000000 [ 8.516619] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 8.516622] CR2: 00007fcd2abd0700 CR3: 000000003aa40000 CR4: 0000000000752ef0 [ 8.516625] PKRU: 55555554 [ 8.516627] Call Trace: [ 8.516632] <TASK> [ 8.516635] ? rtnl_is_locked+0x15/0x20 [ 8.516641] ? unregister_netdevice_queue+0x29/0xf0 [ 8.516650] ops_undo_list+0x1f2/0x220 [ 8.516659] cleanup_net+0x1ad/0x2e0 [ 8.516664] process_one_work+0x160/0x380 [ 8.516673] worker_thread+0x2aa/0x3c0 [ 8.516679] ? __pfx_worker_thread+0x10/0x10 [ 8.516686] kthread+0xfb/0x200 [ 8.516690] ? __pfx_kthread+0x10/0x10 [ 8.516693] ? __pfx_kthread+0x10/0x10 [ 8.516697] ret_from_fork+0x82/0xf0 [ 8.516705] ? __pfx_kthread+0x10/0x10 [ 8.516709] ret_from_fork_asm+0x1a/0x30 [ 8.516718] </TASK>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix assertion when building free space tree When building the free space tree with the block group tree feature enabled, we can hit an assertion failure like this: BTRFS info (device loop0 state M): rebuilding free space tree assertion failed: ret == 0, in fs/btrfs/free-space-tree.c:1102 ------------[ cut here ]------------ kernel BUG at fs/btrfs/free-space-tree.c:1102! Internal error: Oops - BUG: 00000000f2000800 [#1] SMP Modules linked in: CPU: 1 UID: 0 PID: 6592 Comm: syz-executor322 Not tainted 6.15.0-rc7-syzkaller-gd7fa1af5b33e #0 PREEMPT Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : populate_free_space_tree+0x514/0x518 fs/btrfs/free-space-tree.c:1102 lr : populate_free_space_tree+0x514/0x518 fs/btrfs/free-space-tree.c:1102 sp : ffff8000a4ce7600 x29: ffff8000a4ce76e0 x28: ffff0000c9bc6000 x27: ffff0000ddfff3d8 x26: ffff0000ddfff378 x25: dfff800000000000 x24: 0000000000000001 x23: ffff8000a4ce7660 x22: ffff70001499cecc x21: ffff0000e1d8c160 x20: ffff0000e1cb7800 x19: ffff0000e1d8c0b0 x18: 00000000ffffffff x17: ffff800092f39000 x16: ffff80008ad27e48 x15: ffff700011e740c0 x14: 1ffff00011e740c0 x13: 0000000000000004 x12: ffffffffffffffff x11: ffff700011e740c0 x10: 0000000000ff0100 x9 : 94ef24f55d2dbc00 x8 : 94ef24f55d2dbc00 x7 : 0000000000000001 x6 : 0000000000000001 x5 : ffff8000a4ce6f98 x4 : ffff80008f415ba0 x3 : ffff800080548ef0 x2 : 0000000000000000 x1 : 0000000100000000 x0 : 000000000000003e Call trace: populate_free_space_tree+0x514/0x518 fs/btrfs/free-space-tree.c:1102 (P) btrfs_rebuild_free_space_tree+0x14c/0x54c fs/btrfs/free-space-tree.c:1337 btrfs_start_pre_rw_mount+0xa78/0xe10 fs/btrfs/disk-io.c:3074 btrfs_remount_rw fs/btrfs/super.c:1319 [inline] btrfs_reconfigure+0x828/0x2418 fs/btrfs/super.c:1543 reconfigure_super+0x1d4/0x6f0 fs/super.c:1083 do_remount fs/namespace.c:3365 [inline] path_mount+0xb34/0xde0 fs/namespace.c:4200 do_mount fs/namespace.c:4221 [inline] __do_sys_mount fs/namespace.c:4432 [inline] __se_sys_mount fs/namespace.c:4409 [inline] __arm64_sys_mount+0x3e8/0x468 fs/namespace.c:4409 __invoke_syscall arch/arm64/kernel/syscall.c:35 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151 el0_svc+0x58/0x17c arch/arm64/kernel/entry-common.c:767 el0t_64_sync_handler+0x78/0x108 arch/arm64/kernel/entry-common.c:786 el0t_64_sync+0x198/0x19c arch/arm64/kernel/entry.S:600 Code: f0047182 91178042 528089c3 9771d47b (d4210000) ---[ end trace 0000000000000000 ]--- This happens because we are processing an empty block group, which has no extents allocated from it, there are no items for this block group, including the block group item since block group items are stored in a dedicated tree when using the block group tree feature. It also means this is the block group with the highest start offset, so there are no higher keys in the extent root, hence btrfs_search_slot_for_read() returns 1 (no higher key found). Fix this by asserting 'ret' is 0 only if the block group tree feature is not enabled, in which case we should find a block group item for the block group since it's stored in the extent root and block group item keys are greater than extent item keys (the value for BTRFS_BLOCK_GROUP_ITEM_KEY is 192 and for BTRFS_EXTENT_ITEM_KEY and BTRFS_METADATA_ITEM_KEY the values are 168 and 169 respectively). In case 'ret' is 1, we just need to add a record to the free space tree which spans the whole block group, and we can achieve this by making 'ret == 0' as the while loop's condition.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: Allow CPU to reschedule while setting per-page memory attributes When running an SEV-SNP guest with a sufficiently large amount of memory (1TB+), the host can experience CPU soft lockups when running an operation in kvm_vm_set_mem_attributes() to set memory attributes on the whole range of guest memory. watchdog: BUG: soft lockup - CPU#8 stuck for 26s! [qemu-kvm:6372] CPU: 8 UID: 0 PID: 6372 Comm: qemu-kvm Kdump: loaded Not tainted 6.15.0-rc7.20250520.el9uek.rc1.x86_64 #1 PREEMPT(voluntary) Hardware name: Oracle Corporation ORACLE SERVER E4-2c/Asm,MB Tray,2U,E4-2c, BIOS 78016600 11/13/2024 RIP: 0010:xas_create+0x78/0x1f0 Code: 00 00 00 41 80 fc 01 0f 84 82 00 00 00 ba 06 00 00 00 bd 06 00 00 00 49 8b 45 08 4d 8d 65 08 41 39 d6 73 20 83 ed 06 48 85 c0 <74> 67 48 89 c2 83 e2 03 48 83 fa 02 75 0c 48 3d 00 10 00 00 0f 87 RSP: 0018:ffffad890a34b940 EFLAGS: 00000286 RAX: ffff96f30b261daa RBX: ffffad890a34b9c8 RCX: 0000000000000000 RDX: 000000000000001e RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000018 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffffad890a356868 R13: ffffad890a356860 R14: 0000000000000000 R15: ffffad890a356868 FS: 00007f5578a2a400(0000) GS:ffff97ed317e1000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f015c70fb18 CR3: 00000001109fd006 CR4: 0000000000f70ef0 PKRU: 55555554 Call Trace: <TASK> xas_store+0x58/0x630 __xa_store+0xa5/0x130 xa_store+0x2c/0x50 kvm_vm_set_mem_attributes+0x343/0x710 [kvm] kvm_vm_ioctl+0x796/0xab0 [kvm] __x64_sys_ioctl+0xa3/0xd0 do_syscall_64+0x8c/0x7a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f5578d031bb Code: ff ff ff 85 c0 79 9b 49 c7 c4 ff ff ff ff 5b 5d 4c 89 e0 41 5c c3 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 2d 4c 0f 00 f7 d8 64 89 01 48 RSP: 002b:00007ffe0a742b88 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000004020aed2 RCX: 00007f5578d031bb RDX: 00007ffe0a742c80 RSI: 000000004020aed2 RDI: 000000000000000b RBP: 0000010000000000 R08: 0000010000000000 R09: 0000017680000000 R10: 0000000000000080 R11: 0000000000000246 R12: 00005575e5f95120 R13: 00007ffe0a742c80 R14: 0000000000000008 R15: 00005575e5f961e0 While looping through the range of memory setting the attributes, call cond_resched() to give the scheduler a chance to run a higher priority task on the runqueue if necessary and avoid staying in kernel mode long enough to trigger the lockup.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/sev: Use TSC_FACTOR for Secure TSC frequency calculation When using Secure TSC, the GUEST_TSC_FREQ MSR reports a frequency based on the nominal P0 frequency, which deviates slightly (typically ~0.2%) from the actual mean TSC frequency due to clocking parameters. Over extended VM uptime, this discrepancy accumulates, causing clock skew between the hypervisor and a SEV-SNP VM, leading to early timer interrupts as perceived by the guest. The guest kernel relies on the reported nominal frequency for TSC-based timekeeping, while the actual frequency set during SNP_LAUNCH_START may differ. This mismatch results in inaccurate time calculations, causing the guest to perceive hrtimers as firing earlier than expected. Utilize the TSC_FACTOR from the SEV firmware's secrets page (see "Secrets Page Format" in the SNP Firmware ABI Specification) to calculate the mean TSC frequency, ensuring accurate timekeeping and mitigating clock skew in SEV-SNP VMs. Use early_ioremap_encrypted() to map the secrets page as ioremap_encrypted() uses kmalloc() which is not available during early TSC initialization and causes a panic. [ bp: Drop the silly dummy var: https://lore.kernel.org/r/20250630192726.GBaGLlHl84xIopx4Pt@fat_crate.local ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix oops due to non-existence of prealloc backlog struct If an AF_RXRPC service socket is opened and bound, but calls are preallocated, then rxrpc_alloc_incoming_call() will oops because the rxrpc_backlog struct doesn't get allocated until the first preallocation is made. Fix this by returning NULL from rxrpc_alloc_incoming_call() if there is no backlog struct. This will cause the incoming call to be aborted.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix recv-recv race of completed call If a call receives an event (such as incoming data), the call gets placed on the socket's queue and a thread in recvmsg can be awakened to go and process it. Once the thread has picked up the call off of the queue, further events will cause it to be requeued, and once the socket lock is dropped (recvmsg uses call->user_mutex to allow the socket to be used in parallel), a second thread can come in and its recvmsg can pop the call off the socket queue again. In such a case, the first thread will be receiving stuff from the call and the second thread will be blocked on call->user_mutex. The first thread can, at this point, process both the event that it picked call for and the event that the second thread picked the call for and may see the call terminate - in which case the call will be "released", decoupling the call from the user call ID assigned to it (RXRPC_USER_CALL_ID in the control message). The first thread will return okay, but then the second thread will wake up holding the user_mutex and, if it sees that the call has been released by the first thread, it will BUG thusly: kernel BUG at net/rxrpc/recvmsg.c:474! Fix this by just dequeuing the call and ignoring it if it is seen to be already released. We can't tell userspace about it anyway as the user call ID has become stale.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ice: add NULL check in eswitch lag check The function ice_lag_is_switchdev_running() is being called from outside of the LAG event handler code. This results in the lag->upper_netdev being NULL sometimes. To avoid a NULL-pointer dereference, there needs to be a check before it is dereferenced.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix use-after-free in cifs_oplock_break A race condition can occur in cifs_oplock_break() leading to a use-after-free of the cinode structure when unmounting: cifs_oplock_break() _cifsFileInfo_put(cfile) cifsFileInfo_put_final() cifs_sb_deactive() [last ref, start releasing sb] kill_sb() kill_anon_super() generic_shutdown_super() evict_inodes() dispose_list() evict() destroy_inode() call_rcu(&inode->i_rcu, i_callback) spin_lock(&cinode->open_file_lock) <- OK [later] i_callback() cifs_free_inode() kmem_cache_free(cinode) spin_unlock(&cinode->open_file_lock) <- UAF cifs_done_oplock_break(cinode) <- UAF The issue occurs when umount has already released its reference to the superblock. When _cifsFileInfo_put() calls cifs_sb_deactive(), this releases the last reference, triggering the immediate cleanup of all inodes under RCU. However, cifs_oplock_break() continues to access the cinode after this point, resulting in use-after-free. Fix this by holding an extra reference to the superblock during the entire oplock break operation. This ensures that the superblock and its inodes remain valid until the oplock break completes.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject %p% format string in bprintf-like helpers static const char fmt[] = "%p%"; bpf_trace_printk(fmt, sizeof(fmt)); The above BPF program isn't rejected and causes a kernel warning at runtime: Please remove unsupported %\x00 in format string WARNING: CPU: 1 PID: 7244 at lib/vsprintf.c:2680 format_decode+0x49c/0x5d0 This happens because bpf_bprintf_prepare skips over the second %, detected as punctuation, while processing %p. This patch fixes it by not skipping over punctuation. %\x00 is then processed in the next iteration and rejected.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: common: st_sensors: Fix use of uninitialize device structs Throughout the various probe functions &indio_dev->dev is used before it is initialized. This caused a kernel panic in st_sensors_power_enable() when the call to devm_regulator_bulk_get_enable() fails and then calls dev_err_probe() with the uninitialized device. This seems to only cause a panic with dev_err_probe(), dev_err(), dev_warn() and dev_info() don't seem to cause a panic, but are fixed as well. The issue is reported and traced here: [1]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: libwx: fix the using of Rx buffer DMA The wx_rx_buffer structure contained two DMA address fields: 'dma' and 'page_dma'. However, only 'page_dma' was actually initialized and used to program the Rx descriptor. But 'dma' was uninitialized and used in some paths. This could lead to undefined behavior, including DMA errors or use-after-free, if the uninitialized 'dma' was used. Althrough such error has not yet occurred, it is worth fixing in the code.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Add down_write(trace_event_sem) when adding trace event When a module is loaded, it adds trace events defined by the module. It may also need to modify the modules trace printk formats to replace enum names with their values. If two modules are loaded at the same time, the adding of the event to the ftrace_events list can corrupt the walking of the list in the code that is modifying the printk format strings and crash the kernel. The addition of the event should take the trace_event_sem for write while it adds the new event. Also add a lockdep_assert_held() on that semaphore in __trace_add_event_dirs() as it iterates the list.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix bug due to prealloc collision When userspace is using AF_RXRPC to provide a server, it has to preallocate incoming calls and assign to them call IDs that will be used to thread related recvmsg() and sendmsg() together. The preallocated call IDs will automatically be attached to calls as they come in until the pool is empty. To the kernel, the call IDs are just arbitrary numbers, but userspace can use the call ID to hold a pointer to prepared structs. In any case, the user isn't permitted to create two calls with the same call ID (call IDs become available again when the call ends) and EBADSLT should result from sendmsg() if an attempt is made to preallocate a call with an in-use call ID. However, the cleanup in the error handling will trigger both assertions in rxrpc_cleanup_call() because the call isn't marked complete and isn't marked as having been released. Fix this by setting the call state in rxrpc_service_prealloc_one() and then marking it as being released before calling the cleanup function.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: ethernet: ti: am65-cpsw-nuss: Fix skb size by accounting for skb_shared_info While transitioning from netdev_alloc_ip_align() to build_skb(), memory for the "skb_shared_info" member of an "skb" was not allocated. Fix this by allocating "PAGE_SIZE" as the skb length, accounting for the packet length, headroom and tailroom, thereby including the required memory space for skb_shared_info.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: clip: Fix memory leak of struct clip_vcc. ioctl(ATMARP_MKIP) allocates struct clip_vcc and set it to vcc->user_back. The code assumes that vcc_destroy_socket() passes NULL skb to vcc->push() when the socket is close()d, and then clip_push() frees clip_vcc. However, ioctl(ATMARPD_CTRL) sets NULL to vcc->push() in atm_init_atmarp(), resulting in memory leak. Let's serialise two ioctl() by lock_sock() and check vcc->push() in atm_init_atmarp() to prevent memleak.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: efivarfs: Fix memory leak of efivarfs_fs_info in fs_context error paths When processing mount options, efivarfs allocates efivarfs_fs_info (sfi) early in fs_context initialization. However, sfi is associated with the superblock and typically freed when the superblock is destroyed. If the fs_context is released (final put) before fill_super is called-such as on error paths or during reconfiguration-the sfi structure would leak, as ownership never transfers to the superblock. Implement the .free callback in efivarfs_context_ops to ensure any allocated sfi is properly freed if the fs_context is torn down before fill_super, preventing this memory leak.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mptcp: plug races between subflow fail and subflow creation We have races similar to the one addressed by the previous patch between subflow failing and additional subflow creation. They are just harder to trigger. The solution is similar. Use a separate flag to track the condition 'socket state prevent any additional subflow creation' protected by the fallback lock. The socket fallback makes such flag true, and also receiving or sending an MP_FAIL option. The field 'allow_infinite_fallback' is now always touched under the relevant lock, we can drop the ONCE annotation on write.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Restrict conditions for adding duplicating netems to qdisc tree netem_enqueue's duplication prevention logic breaks when a netem resides in a qdisc tree with other netems - this can lead to a soft lockup and OOM loop in netem_dequeue, as seen in [1]. Ensure that a duplicating netem cannot exist in a tree with other netems. Previous approaches suggested in discussions in chronological order: 1) Track duplication status or ttl in the sk_buff struct. Considered too specific a use case to extend such a struct, though this would be a resilient fix and address other previous and potential future DOS bugs like the one described in loopy fun [2]. 2) Restrict netem_enqueue recursion depth like in act_mirred with a per cpu variable. However, netem_dequeue can call enqueue on its child, and the depth restriction could be bypassed if the child is a netem. 3) Use the same approach as in 2, but add metadata in netem_skb_cb to handle the netem_dequeue case and track a packet's involvement in duplication. This is an overly complex approach, and Jamal notes that the skb cb can be overwritten to circumvent this safeguard. 4) Prevent the addition of a netem to a qdisc tree if its ancestral path contains a netem. However, filters and actions can cause a packet to change paths when re-enqueued to the root from netem duplication, leading us to the current solution: prevent a duplicating netem from inhabiting the same tree as other netems. [1] https://lore.kernel.org/netdev/8DuRWwfqjoRDLDmBMlIfbrsZg9Gx50DHJc1ilxsEBNe2D6NMoigR_eIRIG0LOjMc3r10nUUZtArXx4oZBIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/ [2] https://lwn.net/Articles/719297/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm: fix a UAF when vma->mm is freed after vma->vm_refcnt got dropped By inducing delays in the right places, Jann Horn created a reproducer for a hard to hit UAF issue that became possible after VMAs were allowed to be recycled by adding SLAB_TYPESAFE_BY_RCU to their cache. Race description is borrowed from Jann's discovery report: lock_vma_under_rcu() looks up a VMA locklessly with mas_walk() under rcu_read_lock(). At that point, the VMA may be concurrently freed, and it can be recycled by another process. vma_start_read() then increments the vma->vm_refcnt (if it is in an acceptable range), and if this succeeds, vma_start_read() can return a recycled VMA. In this scenario where the VMA has been recycled, lock_vma_under_rcu() will then detect the mismatching ->vm_mm pointer and drop the VMA through vma_end_read(), which calls vma_refcount_put(). vma_refcount_put() drops the refcount and then calls rcuwait_wake_up() using a copy of vma->vm_mm. This is wrong: It implicitly assumes that the caller is keeping the VMA's mm alive, but in this scenario the caller has no relation to the VMA's mm, so the rcuwait_wake_up() can cause UAF. The diagram depicting the race: T1 T2 T3 == == == lock_vma_under_rcu mas_walk <VMA gets removed from mm> mmap <the same VMA is reallocated> vma_start_read __refcount_inc_not_zero_limited_acquire munmap __vma_enter_locked refcount_add_not_zero vma_end_read vma_refcount_put __refcount_dec_and_test rcuwait_wait_event <finish operation> rcuwait_wake_up [UAF] Note that rcuwait_wait_event() in T3 does not block because refcount was already dropped by T1. At this point T3 can exit and free the mm causing UAF in T1. To avoid this we move vma->vm_mm verification into vma_start_read() and grab vma->vm_mm to stabilize it before vma_refcount_put() operation. [surenb@google.com: v3]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget : fix use-after-free in composite_dev_cleanup() 1. In func configfs_composite_bind() -> composite_os_desc_req_prepare(): if kmalloc fails, the pointer cdev->os_desc_req will be freed but not set to NULL. Then it will return a failure to the upper-level function. 2. in func configfs_composite_bind() -> composite_dev_cleanup(): it will checks whether cdev->os_desc_req is NULL. If it is not NULL, it will attempt to use it.This will lead to a use-after-free issue. BUG: KASAN: use-after-free in composite_dev_cleanup+0xf4/0x2c0 Read of size 8 at addr 0000004827837a00 by task init/1 CPU: 10 PID: 1 Comm: init Tainted: G O 5.10.97-oh #1 kasan_report+0x188/0x1cc __asan_load8+0xb4/0xbc composite_dev_cleanup+0xf4/0x2c0 configfs_composite_bind+0x210/0x7ac udc_bind_to_driver+0xb4/0x1ec usb_gadget_probe_driver+0xec/0x21c gadget_dev_desc_UDC_store+0x264/0x27c


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: Harden s32ton() against conversion to 0 bits Testing by the syzbot fuzzer showed that the HID core gets a shift-out-of-bounds exception when it tries to convert a 32-bit quantity to a 0-bit quantity. Ideally this should never occur, but there are buggy devices and some might have a report field with size set to zero; we shouldn't reject the report or the device just because of that. Instead, harden the s32ton() routine so that it returns a reasonable result instead of crashing when it is called with the number of bits set to 0 -- the same as what snto32() does.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: apple: validate feature-report field count to prevent NULL pointer dereference A malicious HID device with quirk APPLE_MAGIC_BACKLIGHT can trigger a NULL pointer dereference whilst the power feature-report is toggled and sent to the device in apple_magic_backlight_report_set(). The power feature-report is expected to have two data fields, but if the descriptor declares one field then accessing field[1] and dereferencing it in apple_magic_backlight_report_set() becomes invalid since field[1] will be NULL. An example of a minimal descriptor which can cause the crash is something like the following where the report with ID 3 (power report) only references a single 1-byte field. When hid core parses the descriptor it will encounter the final feature tag, allocate a hid_report (all members of field[] will be zeroed out), create field structure and populate it, increasing the maxfield to 1. The subsequent field[1] access and dereference causes the crash. Usage Page (Vendor Defined 0xFF00) Usage (0x0F) Collection (Application) Report ID (1) Usage (0x01) Logical Minimum (0) Logical Maximum (255) Report Size (8) Report Count (1) Feature (Data,Var,Abs) Usage (0x02) Logical Maximum (32767) Report Size (16) Report Count (1) Feature (Data,Var,Abs) Report ID (3) Usage (0x03) Logical Minimum (0) Logical Maximum (1) Report Size (8) Report Count (1) Feature (Data,Var,Abs) End Collection Here we see the KASAN splat when the kernel dereferences the NULL pointer and crashes: [ 15.164723] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000006: 0000 [#1] SMP KASAN NOPTI [ 15.165691] KASAN: null-ptr-deref in range [0x0000000000000030-0x0000000000000037] [ 15.165691] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.15.0 #31 PREEMPT(voluntary) [ 15.165691] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 15.165691] RIP: 0010:apple_magic_backlight_report_set+0xbf/0x210 [ 15.165691] Call Trace: [ 15.165691] <TASK> [ 15.165691] apple_probe+0x571/0xa20 [ 15.165691] hid_device_probe+0x2e2/0x6f0 [ 15.165691] really_probe+0x1ca/0x5c0 [ 15.165691] __driver_probe_device+0x24f/0x310 [ 15.165691] driver_probe_device+0x4a/0xd0 [ 15.165691] __device_attach_driver+0x169/0x220 [ 15.165691] bus_for_each_drv+0x118/0x1b0 [ 15.165691] __device_attach+0x1d5/0x380 [ 15.165691] device_initial_probe+0x12/0x20 [ 15.165691] bus_probe_device+0x13d/0x180 [ 15.165691] device_add+0xd87/0x1510 [...] To fix this issue we should validate the number of fields that the backlight and power reports have and if they do not have the required number of fields then bail.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86/intel/pmt: fix a crashlog NULL pointer access Usage of the intel_pmt_read() for binary sysfs, requires a pcidev. The current use of the endpoint value is only valid for telemetry endpoint usage. Without the ep, the crashlog usage causes the following NULL pointer exception: BUG: kernel NULL pointer dereference, address: 0000000000000000 Oops: Oops: 0000 [#1] SMP NOPTI RIP: 0010:intel_pmt_read+0x3b/0x70 [pmt_class] Code: Call Trace: <TASK> ? sysfs_kf_bin_read+0xc0/0xe0 kernfs_fop_read_iter+0xac/0x1a0 vfs_read+0x26d/0x350 ksys_read+0x6b/0xe0 __x64_sys_read+0x1d/0x30 x64_sys_call+0x1bc8/0x1d70 do_syscall_64+0x6d/0x110 Augment struct intel_pmt_entry with a pointer to the pcidev to avoid the NULL pointer exception.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/sev: Evict cache lines during SNP memory validation An SNP cache coherency vulnerability requires a cache line eviction mitigation when validating memory after a page state change to private. The specific mitigation is to touch the first and last byte of each 4K page that is being validated. There is no need to perform the mitigation when performing a page state change to shared and rescinding validation. CPUID bit Fn8000001F_EBX[31] defines the COHERENCY_SFW_NO CPUID bit that, when set, indicates that the software mitigation for this vulnerability is not needed. Implement the mitigation and invoke it when validating memory (making it private) and the COHERENCY_SFW_NO bit is not set, indicating the SNP guest is vulnerable.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/core: Prevent VMA split of buffer mappings The perf mmap code is careful about mmap()'ing the user page with the ringbuffer and additionally the auxiliary buffer, when the event supports it. Once the first mapping is established, subsequent mapping have to use the same offset and the same size in both cases. The reference counting for the ringbuffer and the auxiliary buffer depends on this being correct. Though perf does not prevent that a related mapping is split via mmap(2), munmap(2) or mremap(2). A split of a VMA results in perf_mmap_open() calls, which take reference counts, but then the subsequent perf_mmap_close() calls are not longer fulfilling the offset and size checks. This leads to reference count leaks. As perf already has the requirement for subsequent mappings to match the initial mapping, the obvious consequence is that VMA splits, caused by resizing of a mapping or partial unmapping, have to be prevented. Implement the vm_operations_struct::may_split() callback and return unconditionally -EINVAL. That ensures that the mapping offsets and sizes cannot be changed after the fact. Remapping to a different fixed address with the same size is still possible as it takes the references for the new mapping and drops those of the old mapping.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/core: Handle buffer mapping fail correctly in perf_mmap() After successful allocation of a buffer or a successful attachment to an existing buffer perf_mmap() tries to map the buffer read only into the page table. If that fails, the already set up page table entries are zapped, but the other perf specific side effects of that failure are not handled. The calling code just cleans up the VMA and does not invoke perf_mmap_close(). This leaks reference counts, corrupts user->vm accounting and also results in an unbalanced invocation of event::event_mapped(). Cure this by moving the event::event_mapped() invocation before the map_range() call so that on map_range() failure perf_mmap_close() can be invoked without causing an unbalanced event::event_unmapped() call. perf_mmap_close() undoes the reference counts and eventually frees buffers.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/core: Exit early on perf_mmap() fail When perf_mmap() fails to allocate a buffer, it still invokes the event_mapped() callback of the related event. On X86 this might increase the perf_rdpmc_allowed reference counter. But nothing undoes this as perf_mmap_close() is never called in this case, which causes another reference count leak. Return early on failure to prevent that.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sunrpc: fix handling of server side tls alerts Scott Mayhew discovered a security exploit in NFS over TLS in tls_alert_recv() due to its assumption it can read data from the msg iterator's kvec.. kTLS implementation splits TLS non-data record payload between the control message buffer (which includes the type such as TLS aler or TLS cipher change) and the rest of the payload (say TLS alert's level/description) which goes into the msg payload buffer. This patch proposes to rework how control messages are setup and used by sock_recvmsg(). If no control message structure is setup, kTLS layer will read and process TLS data record types. As soon as it encounters a TLS control message, it would return an error. At that point, NFS can setup a kvec backed msg buffer and read in the control message such as a TLS alert. Msg iterator can advance the kvec pointer as a part of the copy process thus we need to revert the iterator before calling into the tls_alert_recv.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: mqprio: fix stack out-of-bounds write in tc entry parsing TCA_MQPRIO_TC_ENTRY_INDEX is validated using NLA_POLICY_MAX(NLA_U32, TC_QOPT_MAX_QUEUE), which allows the value TC_QOPT_MAX_QUEUE (16). This leads to a 4-byte out-of-bounds stack write in the fp[] array, which only has room for 16 elements (0-15). Fix this by changing the policy to allow only up to TC_QOPT_MAX_QUEUE - 1.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sunrpc: fix client side handling of tls alerts A security exploit was discovered in NFS over TLS in tls_alert_recv due to its assumption that there is valid data in the msghdr's iterator's kvec. Instead, this patch proposes the rework how control messages are setup and used by sock_recvmsg(). If no control message structure is setup, kTLS layer will read and process TLS data record types. As soon as it encounters a TLS control message, it would return an error. At that point, NFS can setup a kvec backed control buffer and read in the control message such as a TLS alert. Scott found that a msg iterator can advance the kvec pointer as a part of the copy process thus we need to revert the iterator before calling into the tls_alert_recv.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv6: reject malicious packets in ipv6_gso_segment() syzbot was able to craft a packet with very long IPv6 extension headers leading to an overflow of skb->transport_header. This 16bit field has a limited range. Add skb_reset_transport_header_careful() helper and use it from ipv6_gso_segment() WARNING: CPU: 0 PID: 5871 at ./include/linux/skbuff.h:3032 skb_reset_transport_header include/linux/skbuff.h:3032 [inline] WARNING: CPU: 0 PID: 5871 at ./include/linux/skbuff.h:3032 ipv6_gso_segment+0x15e2/0x21e0 net/ipv6/ip6_offload.c:151 Modules linked in: CPU: 0 UID: 0 PID: 5871 Comm: syz-executor211 Not tainted 6.16.0-rc6-syzkaller-g7abc678e3084 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:skb_reset_transport_header include/linux/skbuff.h:3032 [inline] RIP: 0010:ipv6_gso_segment+0x15e2/0x21e0 net/ipv6/ip6_offload.c:151 Call Trace: <TASK> skb_mac_gso_segment+0x31c/0x640 net/core/gso.c:53 nsh_gso_segment+0x54a/0xe10 net/nsh/nsh.c:110 skb_mac_gso_segment+0x31c/0x640 net/core/gso.c:53 __skb_gso_segment+0x342/0x510 net/core/gso.c:124 skb_gso_segment include/net/gso.h:83 [inline] validate_xmit_skb+0x857/0x11b0 net/core/dev.c:3950 validate_xmit_skb_list+0x84/0x120 net/core/dev.c:4000 sch_direct_xmit+0xd3/0x4b0 net/sched/sch_generic.c:329 __dev_xmit_skb net/core/dev.c:4102 [inline] __dev_queue_xmit+0x17b6/0x3a70 net/core/dev.c:4679


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: cs42l43: Property entry should be a null-terminated array The software node does not specify a count of property entries, so the array must be null-terminated. When unterminated, this can lead to a fault in the downstream cs35l56 amplifier driver, because the node parse walks off the end of the array into unknown memory.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pptp: ensure minimal skb length in pptp_xmit() Commit aabc6596ffb3 ("net: ppp: Add bound checking for skb data on ppp_sync_txmung") fixed ppp_sync_txmunge() We need a similar fix in pptp_xmit(), otherwise we might read uninit data as reported by syzbot. BUG: KMSAN: uninit-value in pptp_xmit+0xc34/0x2720 drivers/net/ppp/pptp.c:193 pptp_xmit+0xc34/0x2720 drivers/net/ppp/pptp.c:193 ppp_channel_bridge_input drivers/net/ppp/ppp_generic.c:2290 [inline] ppp_input+0x1d6/0xe60 drivers/net/ppp/ppp_generic.c:2314 pppoe_rcv_core+0x1e8/0x760 drivers/net/ppp/pppoe.c:379 sk_backlog_rcv+0x142/0x420 include/net/sock.h:1148 __release_sock+0x1d3/0x330 net/core/sock.c:3213 release_sock+0x6b/0x270 net/core/sock.c:3767 pppoe_sendmsg+0x15d/0xcb0 drivers/net/ppp/pppoe.c:904 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x330/0x3d0 net/socket.c:727 ____sys_sendmsg+0x893/0xd80 net/socket.c:2566 ___sys_sendmsg+0x271/0x3b0 net/socket.c:2620 __sys_sendmmsg+0x2d9/0x7c0 net/socket.c:2709


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powerpc/eeh: Make EEH driver device hotplug safe Multiple race conditions existed between the PCIe hotplug driver and the EEH driver, leading to a variety of kernel oopses of the same general nature: <pcie device unplug> <eeh driver trigger> <hotplug removal trigger> <pcie tree reconfiguration> <eeh recovery next step> <oops in EEH driver bus iteration loop> A second class of oops is also seen when the underlying bus disappears during device recovery. Refactor the EEH module to be PCI rescan and remove safe. Also clean up a few minor formatting / readability issues.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: ccp - Fix crash when rebind ccp device for ccp.ko When CONFIG_CRYPTO_DEV_CCP_DEBUGFS is enabled, rebinding the ccp device causes the following crash: $ echo '0000:0a:00.2' > /sys/bus/pci/drivers/ccp/unbind $ echo '0000:0a:00.2' > /sys/bus/pci/drivers/ccp/bind [ 204.976930] BUG: kernel NULL pointer dereference, address: 0000000000000098 [ 204.978026] #PF: supervisor write access in kernel mode [ 204.979126] #PF: error_code(0x0002) - not-present page [ 204.980226] PGD 0 P4D 0 [ 204.981317] Oops: Oops: 0002 [#1] SMP NOPTI ... [ 204.997852] Call Trace: [ 204.999074] <TASK> [ 205.000297] start_creating+0x9f/0x1c0 [ 205.001533] debugfs_create_dir+0x1f/0x170 [ 205.002769] ? srso_return_thunk+0x5/0x5f [ 205.004000] ccp5_debugfs_setup+0x87/0x170 [ccp] [ 205.005241] ccp5_init+0x8b2/0x960 [ccp] [ 205.006469] ccp_dev_init+0xd4/0x150 [ccp] [ 205.007709] sp_init+0x5f/0x80 [ccp] [ 205.008942] sp_pci_probe+0x283/0x2e0 [ccp] [ 205.010165] ? srso_return_thunk+0x5/0x5f [ 205.011376] local_pci_probe+0x4f/0xb0 [ 205.012584] pci_device_probe+0xdb/0x230 [ 205.013810] really_probe+0xed/0x380 [ 205.015024] __driver_probe_device+0x7e/0x160 [ 205.016240] device_driver_attach+0x2f/0x60 [ 205.017457] bind_store+0x7c/0xb0 [ 205.018663] drv_attr_store+0x28/0x40 [ 205.019868] sysfs_kf_write+0x5f/0x70 [ 205.021065] kernfs_fop_write_iter+0x145/0x1d0 [ 205.022267] vfs_write+0x308/0x440 [ 205.023453] ksys_write+0x6d/0xe0 [ 205.024616] __x64_sys_write+0x1e/0x30 [ 205.025778] x64_sys_call+0x16ba/0x2150 [ 205.026942] do_syscall_64+0x56/0x1e0 [ 205.028108] entry_SYSCALL_64_after_hwframe+0x76/0x7e [ 205.029276] RIP: 0033:0x7fbc36f10104 [ 205.030420] Code: 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 8d 05 e1 08 2e 00 8b 00 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 f3 c3 66 90 41 54 55 49 89 d4 53 48 89 f5 This patch sets ccp_debugfs_dir to NULL after destroying it in ccp5_debugfs_destroy, allowing the directory dentry to be recreated when rebinding the ccp device. Tested on AMD Ryzen 7 1700X.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix double destruction of rsv_qp rsv_qp may be double destroyed in error flow, first in free_mr_init(), and then in hns_roce_exit(). Fix it by moving the free_mr_init() call into hns_roce_v2_init(). list_del corruption, ffff589732eb9b50->next is LIST_POISON1 (dead000000000100) WARNING: CPU: 8 PID: 1047115 at lib/list_debug.c:53 __list_del_entry_valid+0x148/0x240 ... Call trace: __list_del_entry_valid+0x148/0x240 hns_roce_qp_remove+0x4c/0x3f0 [hns_roce_hw_v2] hns_roce_v2_destroy_qp_common+0x1dc/0x5f4 [hns_roce_hw_v2] hns_roce_v2_destroy_qp+0x22c/0x46c [hns_roce_hw_v2] free_mr_exit+0x6c/0x120 [hns_roce_hw_v2] hns_roce_v2_exit+0x170/0x200 [hns_roce_hw_v2] hns_roce_exit+0x118/0x350 [hns_roce_hw_v2] __hns_roce_hw_v2_init_instance+0x1c8/0x304 [hns_roce_hw_v2] hns_roce_hw_v2_reset_notify_init+0x170/0x21c [hns_roce_hw_v2] hns_roce_hw_v2_reset_notify+0x6c/0x190 [hns_roce_hw_v2] hclge_notify_roce_client+0x6c/0x160 [hclge] hclge_reset_rebuild+0x150/0x5c0 [hclge] hclge_reset+0x10c/0x140 [hclge] hclge_reset_subtask+0x80/0x104 [hclge] hclge_reset_service_task+0x168/0x3ac [hclge] hclge_service_task+0x50/0x100 [hclge] process_one_work+0x250/0x9a0 worker_thread+0x324/0x990 kthread+0x190/0x210 ret_from_fork+0x10/0x18


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clk: xilinx: vcu: unregister pll_post only if registered correctly If registration of pll_post is failed, it will be set to NULL or ERR, unregistering same will fail with following call trace: Unable to handle kernel NULL pointer dereference at virtual address 008 pc : clk_hw_unregister+0xc/0x20 lr : clk_hw_unregister_fixed_factor+0x18/0x30 sp : ffff800011923850 ... Call trace: clk_hw_unregister+0xc/0x20 clk_hw_unregister_fixed_factor+0x18/0x30 xvcu_unregister_clock_provider+0xcc/0xf4 [xlnx_vcu] xvcu_probe+0x2bc/0x53c [xlnx_vcu]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: padata: Fix pd UAF once and for all There is a race condition/UAF in padata_reorder that goes back to the initial commit. A reference count is taken at the start of the process in padata_do_parallel, and released at the end in padata_serial_worker. This reference count is (and only is) required for padata_replace to function correctly. If padata_replace is never called then there is no issue. In the function padata_reorder which serves as the core of padata, as soon as padata is added to queue->serial.list, and the associated spin lock released, that padata may be processed and the reference count on pd would go away. Fix this by getting the next padata before the squeue->serial lock is released. In order to make this possible, simplify padata_reorder by only calling it once the next padata arrives.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: media: atomisp: Fix stack buffer overflow in gmin_get_var_int() When gmin_get_config_var() calls efi.get_variable() and the EFI variable is larger than the expected buffer size, two behaviors combine to create a stack buffer overflow: 1. gmin_get_config_var() does not return the proper error code when efi.get_variable() fails. It returns the stale 'ret' value from earlier operations instead of indicating the EFI failure. 2. When efi.get_variable() returns EFI_BUFFER_TOO_SMALL, it updates *out_len to the required buffer size but writes no data to the output buffer. However, due to bug #1, gmin_get_var_int() believes the call succeeded. The caller gmin_get_var_int() then performs: - Allocates val[CFG_VAR_NAME_MAX + 1] (65 bytes) on stack - Calls gmin_get_config_var(dev, is_gmin, var, val, &len) with len=64 - If EFI variable is >64 bytes, efi.get_variable() sets len=required_size - Due to bug #1, thinks call succeeded with len=required_size - Executes val[len] = 0, writing past end of 65-byte stack buffer This creates a stack buffer overflow when EFI variables are larger than 64 bytes. Since EFI variables can be controlled by firmware or system configuration, this could potentially be exploited for code execution. Fix the bug by returning proper error codes from gmin_get_config_var() based on EFI status instead of stale 'ret' value. The gmin_get_var_int() function is called during device initialization for camera sensor configuration on Intel Bay Trail and Cherry Trail platforms using the atomisp camera stack.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Fix fp initialization for exception boundary In the ARM64 BPF JIT when prog->aux->exception_boundary is set for a BPF program, find_used_callee_regs() is not called because for a program acting as exception boundary, all callee saved registers are saved. find_used_callee_regs() sets `ctx->fp_used = true;` when it sees FP being used in any of the instructions. For programs acting as exception boundary, ctx->fp_used remains false even if frame pointer is used by the program and therefore, FP is not set-up for such programs in the prologue. This can cause the kernel to crash due to a pagefault. Fix it by setting ctx->fp_used = true for exception boundary programs as fp is always saved in such programs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv6: fix possible infinite loop in fib6_info_uses_dev() fib6_info_uses_dev() seems to rely on RCU without an explicit protection. Like the prior fix in rt6_nlmsg_size(), we need to make sure fib6_del_route() or fib6_add_rt2node() have not removed the anchor from the list, or we risk an infinite loop.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv6: prevent infinite loop in rt6_nlmsg_size() While testing prior patch, I was able to trigger an infinite loop in rt6_nlmsg_size() in the following place: list_for_each_entry_rcu(sibling, &f6i->fib6_siblings, fib6_siblings) { rt6_nh_nlmsg_size(sibling->fib6_nh, &nexthop_len); } This is because fib6_del_route() and fib6_add_rt2node() uses list_del_rcu(), which can confuse rcu readers, because they might no longer see the head of the list. Restart the loop if f6i->fib6_nsiblings is zero.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject narrower access to pointer ctx fields The following BPF program, simplified from a syzkaller repro, causes a kernel warning: r0 = *(u8 *)(r1 + 169); exit; With pointer field sk being at offset 168 in __sk_buff. This access is detected as a narrower read in bpf_skb_is_valid_access because it doesn't match offsetof(struct __sk_buff, sk). It is therefore allowed and later proceeds to bpf_convert_ctx_access. Note that for the "is_narrower_load" case in the convert_ctx_accesses(), the insn->off is aligned, so the cnt may not be 0 because it matches the offsetof(struct __sk_buff, sk) in the bpf_convert_ctx_access. However, the target_size stays 0 and the verifier errors with a kernel warning: verifier bug: error during ctx access conversion(1) This patch fixes that to return a proper "invalid bpf_context access off=X size=Y" error on the load instruction. The same issue affects multiple other fields in context structures that allow narrow access. Some other non-affected fields (for sk_msg, sk_lookup, and sockopt) were also changed to use bpf_ctx_range_ptr for consistency. Note this syzkaller crash was reported in the "Closes" link below, which used to be about a different bug, fixed in commit fce7bd8e385a ("bpf/verifier: Handle BPF_LOAD_ACQ instructions in insn_def_regno()"). Because syzbot somehow confused the two bugs, the new crash and repro didn't get reported to the mailing list.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: fix double free in 'hci_discovery_filter_clear()' Function 'hci_discovery_filter_clear()' frees 'uuids' array and then sets it to NULL. There is a tiny chance of the following race: 'hci_cmd_sync_work()' 'update_passive_scan_sync()' 'hci_update_passive_scan_sync()' 'hci_discovery_filter_clear()' kfree(uuids); <-------------------------preempted--------------------------------> 'start_service_discovery()' 'hci_discovery_filter_clear()' kfree(uuids); // DOUBLE FREE <-------------------------preempted--------------------------------> uuids = NULL; To fix it let's add locking around 'kfree()' call and NULL pointer assignment. Otherwise the following backtrace fires: [ ] ------------[ cut here ]------------ [ ] kernel BUG at mm/slub.c:547! [ ] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [ ] CPU: 3 UID: 0 PID: 246 Comm: bluetoothd Tainted: G O 6.12.19-kernel #1 [ ] Tainted: [O]=OOT_MODULE [ ] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ ] pc : __slab_free+0xf8/0x348 [ ] lr : __slab_free+0x48/0x348 ... [ ] Call trace: [ ] __slab_free+0xf8/0x348 [ ] kfree+0x164/0x27c [ ] start_service_discovery+0x1d0/0x2c0 [ ] hci_sock_sendmsg+0x518/0x924 [ ] __sock_sendmsg+0x54/0x60 [ ] sock_write_iter+0x98/0xf8 [ ] do_iter_readv_writev+0xe4/0x1c8 [ ] vfs_writev+0x128/0x2b0 [ ] do_writev+0xfc/0x118 [ ] __arm64_sys_writev+0x20/0x2c [ ] invoke_syscall+0x68/0xf0 [ ] el0_svc_common.constprop.0+0x40/0xe0 [ ] do_el0_svc+0x1c/0x28 [ ] el0_svc+0x30/0xd0 [ ] el0t_64_sync_handler+0x100/0x12c [ ] el0t_64_sync+0x194/0x198 [ ] Code: 8b0002e6 eb17031f 54fffbe1 d503201f (d4210000) [ ] ---[ end trace 0000000000000000 ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xen: fix UAF in dmabuf_exp_from_pages() [dma_buf_fd() fixes; no preferences regarding the tree it goes through - up to xen folks] As soon as we'd inserted a file reference into descriptor table, another thread could close it. That's fine for the case when all we are doing is returning that descriptor to userland (it's a race, but it's a userland race and there's nothing the kernel can do about it). However, if we follow fd_install() with any kind of access to objects that would be destroyed on close (be it the struct file itself or anything destroyed by its ->release()), we have a UAF. dma_buf_fd() is a combination of reserving a descriptor and fd_install(). gntdev dmabuf_exp_from_pages() calls it and then proceeds to access the objects destroyed on close - starting with gntdev_dmabuf itself. Fix that by doing reserving descriptor before anything else and do fd_install() only when everything had been set up.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/rockchip: vop2: fail cleanly if missing a primary plane for a video-port Each window of a vop2 is usable by a specific set of video ports, so while binding the vop2, we look through the list of available windows trying to find one designated as primary-plane and usable by that specific port. The code later wants to use drm_crtc_init_with_planes with that found primary plane, but nothing has checked so far if a primary plane was actually found. For whatever reason, the rk3576 vp2 does not have a usable primary window (if vp0 is also in use) which brought the issue to light and ended in a null-pointer dereference further down. As we expect a primary-plane to exist for a video-port, add a check at the end of the window-iteration and fail probing if none was found.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: clear initialized flag for deinit-ed srng lists In a number of cases we see kernel panics on resume due to ath11k kernel page fault, which happens under the following circumstances: 1) First ath11k_hal_dump_srng_stats() call Last interrupt received for each group: ath11k_pci 0000:01:00.0: group_id 0 22511ms before ath11k_pci 0000:01:00.0: group_id 1 14440788ms before [..] ath11k_pci 0000:01:00.0: failed to receive control response completion, polling.. ath11k_pci 0000:01:00.0: Service connect timeout ath11k_pci 0000:01:00.0: failed to connect to HTT: -110 ath11k_pci 0000:01:00.0: failed to start core: -110 ath11k_pci 0000:01:00.0: firmware crashed: MHI_CB_EE_RDDM ath11k_pci 0000:01:00.0: already resetting count 2 ath11k_pci 0000:01:00.0: failed to wait wlan mode request (mode 4): -110 ath11k_pci 0000:01:00.0: qmi failed to send wlan mode off: -110 ath11k_pci 0000:01:00.0: failed to reconfigure driver on crash recovery [..] 2) At this point reconfiguration fails (we have 2 resets) and ath11k_core_reconfigure_on_crash() calls ath11k_hal_srng_deinit() which destroys srng lists. However, it does not reset per-list ->initialized flag. 3) Second ath11k_hal_dump_srng_stats() call sees stale ->initialized flag and attempts to dump srng stats: Last interrupt received for each group: ath11k_pci 0000:01:00.0: group_id 0 66785ms before ath11k_pci 0000:01:00.0: group_id 1 14485062ms before ath11k_pci 0000:01:00.0: group_id 2 14485062ms before ath11k_pci 0000:01:00.0: group_id 3 14485062ms before ath11k_pci 0000:01:00.0: group_id 4 14780845ms before ath11k_pci 0000:01:00.0: group_id 5 14780845ms before ath11k_pci 0000:01:00.0: group_id 6 14485062ms before ath11k_pci 0000:01:00.0: group_id 7 66814ms before ath11k_pci 0000:01:00.0: group_id 8 68997ms before ath11k_pci 0000:01:00.0: group_id 9 67588ms before ath11k_pci 0000:01:00.0: group_id 10 69511ms before BUG: unable to handle page fault for address: ffffa007404eb010 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 100000067 P4D 100000067 PUD 10022d067 PMD 100b01067 PTE 0 Oops: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:ath11k_hal_dump_srng_stats+0x2b4/0x3b0 [ath11k] Call Trace: <TASK> ? __die_body+0xae/0xb0 ? page_fault_oops+0x381/0x3e0 ? exc_page_fault+0x69/0xa0 ? asm_exc_page_fault+0x22/0x30 ? ath11k_hal_dump_srng_stats+0x2b4/0x3b0 [ath11k (HASH:6cea 4)] ath11k_qmi_driver_event_work+0xbd/0x1050 [ath11k (HASH:6cea 4)] worker_thread+0x389/0x930 kthread+0x149/0x170 Clear per-list ->initialized flag in ath11k_hal_srng_deinit().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iwlwifi: Add missing check for alloc_ordered_workqueue Add check for the return value of alloc_ordered_workqueue since it may return NULL pointer.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtl818x: Kill URBs before clearing tx status queue In rtl8187_stop() move the call of usb_kill_anchored_urbs() before clearing b_tx_status.queue. This change prevents callbacks from using already freed skb due to anchor was not killed before freeing such skb. BUG: kernel NULL pointer dereference, address: 0000000000000080 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 7 UID: 0 PID: 0 Comm: swapper/7 Not tainted 6.15.0 #8 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015 RIP: 0010:ieee80211_tx_status_irqsafe+0x21/0xc0 [mac80211] Call Trace: <IRQ> rtl8187_tx_cb+0x116/0x150 [rtl8187] __usb_hcd_giveback_urb+0x9d/0x120 usb_giveback_urb_bh+0xbb/0x140 process_one_work+0x19b/0x3c0 bh_worker+0x1a7/0x210 tasklet_action+0x10/0x30 handle_softirqs+0xf0/0x340 __irq_exit_rcu+0xcd/0xf0 common_interrupt+0x85/0xa0 </IRQ> Tested on RTL8187BvE device. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Pass ab pointer directly to ath12k_dp_tx_get_encap_type() In ath12k_dp_tx_get_encap_type(), the arvif parameter is only used to retrieve the ab pointer. In vdev delete sequence the arvif->ar could become NULL and that would trigger kernel panic. Since the caller ath12k_dp_tx() already has a valid ab pointer, pass it directly to avoid panic and unnecessary dereferencing. PC points to "ath12k_dp_tx+0x228/0x988 [ath12k]" LR points to "ath12k_dp_tx+0xc8/0x988 [ath12k]". The Backtrace obtained is as follows: ath12k_dp_tx+0x228/0x988 [ath12k] ath12k_mac_tx_check_max_limit+0x608/0x920 [ath12k] ieee80211_process_measurement_req+0x320/0x348 [mac80211] ieee80211_tx_dequeue+0x9ac/0x1518 [mac80211] ieee80211_tx_dequeue+0xb14/0x1518 [mac80211] ieee80211_tx_prepare_skb+0x224/0x254 [mac80211] ieee80211_xmit+0xec/0x100 [mac80211] __ieee80211_subif_start_xmit+0xc50/0xf40 [mac80211] ieee80211_subif_start_xmit+0x2e8/0x308 [mac80211] netdev_start_xmit+0x150/0x18c dev_hard_start_xmit+0x74/0xc0 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf, ktls: Fix data corruption when using bpf_msg_pop_data() in ktls When sending plaintext data, we initially calculated the corresponding ciphertext length. However, if we later reduced the plaintext data length via socket policy, we failed to recalculate the ciphertext length. This results in transmitting buffers containing uninitialized data during ciphertext transmission. This causes uninitialized bytes to be appended after a complete "Application Data" packet, leading to errors on the receiving end when parsing TLS record.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PM / devfreq: Check governor before using governor->name Commit 96ffcdf239de ("PM / devfreq: Remove redundant governor_name from struct devfreq") removes governor_name and uses governor->name to replace it. But devfreq->governor may be NULL and directly using devfreq->governor->name may cause null pointer exception. Move the check of governor to before using governor->name.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powercap: dtpm_cpu: Fix NULL pointer dereference in get_pd_power_uw() The get_pd_power_uw() function can crash with a NULL pointer dereference when em_cpu_get() returns NULL. This occurs when a CPU becomes impossible during runtime, causing get_cpu_device() to return NULL, which propagates through em_cpu_get() and leads to a crash when em_span_cpus() dereferences the NULL pointer. Add a NULL check after em_cpu_get() and return 0 if unavailable, matching the existing fallback behavior in __dtpm_cpu_setup(). [ rjw: Drop an excess empty code line ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: fbtft: fix potential memory leak in fbtft_framebuffer_alloc() In the error paths after fb_info structure is successfully allocated, the memory allocated in fb_deferred_io_init() for info->pagerefs is not freed. Fix that by adding the cleanup function on the error path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: eventpoll: Fix semi-unbounded recursion Ensure that epoll instances can never form a graph deeper than EP_MAX_NESTS+1 links. Currently, ep_loop_check_proc() ensures that the graph is loop-free and does some recursion depth checks, but those recursion depth checks don't limit the depth of the resulting tree for two reasons: - They don't look upwards in the tree. - If there are multiple downwards paths of different lengths, only one of the paths is actually considered for the depth check since commit 28d82dc1c4ed ("epoll: limit paths"). Essentially, the current recursion depth check in ep_loop_check_proc() just serves to prevent it from recursing too deeply while checking for loops. A more thorough check is done in reverse_path_check() after the new graph edge has already been created; this checks, among other things, that no paths going upwards from any non-epoll file with a length of more than 5 edges exist. However, this check does not apply to non-epoll files. As a result, it is possible to recurse to a depth of at least roughly 500, tested on v6.15. (I am unsure if deeper recursion is possible; and this may have changed with commit 8c44dac8add7 ("eventpoll: Fix priority inversion problem").) To fix it: 1. In ep_loop_check_proc(), note the subtree depth of each visited node, and use subtree depths for the total depth calculation even when a subtree has already been visited. 2. Add ep_get_upwards_depth_proc() for similarly determining the maximum depth of an upwards walk. 3. In ep_loop_check(), use these values to limit the total path length between epoll nodes to EP_MAX_NESTS edges.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tls: handle data disappearing from under the TLS ULP TLS expects that it owns the receive queue of the TCP socket. This cannot be guaranteed in case the reader of the TCP socket entered before the TLS ULP was installed, or uses some non-standard read API (eg. zerocopy ones). Replace the WARN_ON() and a buggy early exit (which leaves anchor pointing to a freed skb) with real error handling. Wipe the parsing state and tell the reader to retry. We already reload the anchor every time we (re)acquire the socket lock, so the only condition we need to avoid is an out of bounds read (not having enough bytes in the socket for previously parsed record len). If some data was read from under TLS but there's enough in the queue we'll reload and decrypt what is most likely not a valid TLS record. Leading to some undefined behavior from TLS perspective (corrupting a stream? missing an alert? missing an attack?) but no kernel crash should take place.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/packet: fix a race in packet_set_ring() and packet_notifier() When packet_set_ring() releases po->bind_lock, another thread can run packet_notifier() and process an NETDEV_UP event. This race and the fix are both similar to that of commit 15fe076edea7 ("net/packet: fix a race in packet_bind() and packet_notifier()"). There too the packet_notifier NETDEV_UP event managed to run while a po->bind_lock critical section had to be temporarily released. And the fix was similarly to temporarily set po->num to zero to keep the socket unhooked until the lock is retaken. The po->bind_lock in packet_set_ring and packet_notifier precede the introduction of git history.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock: Do not allow binding to VMADDR_PORT_ANY It is possible for a vsock to autobind to VMADDR_PORT_ANY. This can cause a use-after-free when a connection is made to the bound socket. The socket returned by accept() also has port VMADDR_PORT_ANY but is not on the list of unbound sockets. Binding it will result in an extra refcount decrement similar to the one fixed in fcdd2242c023 (vsock: Keep the binding until socket destruction). Modify the check in __vsock_bind_connectible() to also prevent binding to VMADDR_PORT_ANY.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: ti: j721e-csi2rx: fix list_del corruption If ti_csi2rx_start_dma() fails in ti_csi2rx_dma_callback(), the buffer is marked done with VB2_BUF_STATE_ERROR but is not removed from the DMA queue. This causes the same buffer to be retried in the next iteration, resulting in a double list_del() and eventual list corruption. Fix this by removing the buffer from the queue before calling vb2_buffer_done() on error. This resolves a crash due to list_del corruption: [ 37.811243] j721e-csi2rx 30102000.ticsi2rx: Failed to queue the next buffer for DMA [ 37.832187] slab kmalloc-2k start ffff00000255b000 pointer offset 1064 size 2048 [ 37.839761] list_del corruption. next->prev should be ffff00000255bc28, but was ffff00000255d428. (next=ffff00000255b428) [ 37.850799] ------------[ cut here ]------------ [ 37.855424] kernel BUG at lib/list_debug.c:65! [ 37.859876] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP [ 37.866061] Modules linked in: i2c_dev usb_f_rndis u_ether libcomposite dwc3 udc_core usb_common aes_ce_blk aes_ce_cipher ghash_ce gf128mul sha1_ce cpufreq_dt dwc3_am62 phy_gmii_sel sa2ul [ 37.882830] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.16.0-rc3+ #28 VOLUNTARY [ 37.890851] Hardware name: Bosch STLA-GSRV2-B0 (DT) [ 37.895737] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 37.902703] pc : __list_del_entry_valid_or_report+0xdc/0x114 [ 37.908390] lr : __list_del_entry_valid_or_report+0xdc/0x114 [ 37.914059] sp : ffff800080003db0 [ 37.917375] x29: ffff800080003db0 x28: 0000000000000007 x27: ffff800080e50000 [ 37.924521] x26: 0000000000000000 x25: ffff0000016abb50 x24: dead000000000122 [ 37.931666] x23: ffff0000016abb78 x22: ffff0000016ab080 x21: ffff800080003de0 [ 37.938810] x20: ffff00000255bc00 x19: ffff00000255b800 x18: 000000000000000a [ 37.945956] x17: 20747562202c3832 x16: 6362353532303030 x15: 0720072007200720 [ 37.953101] x14: 0720072007200720 x13: 0720072007200720 x12: 00000000ffffffea [ 37.960248] x11: ffff800080003b18 x10: 00000000ffffefff x9 : ffff800080f5b568 [ 37.967396] x8 : ffff800080f5b5c0 x7 : 0000000000017fe8 x6 : c0000000ffffefff [ 37.974542] x5 : ffff00000fea6688 x4 : 0000000000000000 x3 : 0000000000000000 [ 37.981686] x2 : 0000000000000000 x1 : ffff800080ef2b40 x0 : 000000000000006d [ 37.988832] Call trace: [ 37.991281] __list_del_entry_valid_or_report+0xdc/0x114 (P) [ 37.996959] ti_csi2rx_dma_callback+0x84/0x1c4 [ 38.001419] udma_vchan_complete+0x1e0/0x344 [ 38.005705] tasklet_action_common+0x118/0x310 [ 38.010163] tasklet_action+0x30/0x3c [ 38.013832] handle_softirqs+0x10c/0x2e0 [ 38.017761] __do_softirq+0x14/0x20 [ 38.021256] ____do_softirq+0x10/0x20 [ 38.024931] call_on_irq_stack+0x24/0x60 [ 38.028873] do_softirq_own_stack+0x1c/0x40 [ 38.033064] __irq_exit_rcu+0x130/0x15c [ 38.036909] irq_exit_rcu+0x10/0x20 [ 38.040403] el1_interrupt+0x38/0x60 [ 38.043987] el1h_64_irq_handler+0x18/0x24 [ 38.048091] el1h_64_irq+0x6c/0x70 [ 38.051501] default_idle_call+0x34/0xe0 (P) [ 38.055783] do_idle+0x1f8/0x250 [ 38.059021] cpu_startup_entry+0x34/0x3c [ 38.062951] rest_init+0xb4/0xc0 [ 38.066186] console_on_rootfs+0x0/0x6c [ 38.070031] __primary_switched+0x88/0x90 [ 38.074059] Code: b00037e0 91378000 f9400462 97e9bf49 (d4210000) [ 38.080168] ---[ end trace 0000000000000000 ]--- [ 38.084795] Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt [ 38.092197] SMP: stopping secondary CPUs [ 38.096139] Kernel Offset: disabled [ 38.099631] CPU features: 0x0000,00002000,02000801,0400420b [ 38.105202] Memory Limit: none [ 38.108260] ---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: md: make rdev_addable usable for rcu mode Our testcase trigger panic: BUG: kernel NULL pointer dereference, address: 00000000000000e0 ... Oops: Oops: 0000 [#1] SMP NOPTI CPU: 2 UID: 0 PID: 85 Comm: kworker/2:1 Not tainted 6.16.0+ #94 PREEMPT(none) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 Workqueue: md_misc md_start_sync RIP: 0010:rdev_addable+0x4d/0xf0 ... Call Trace: <TASK> md_start_sync+0x329/0x480 process_one_work+0x226/0x6d0 worker_thread+0x19e/0x340 kthread+0x10f/0x250 ret_from_fork+0x14d/0x180 ret_from_fork_asm+0x1a/0x30 </TASK> Modules linked in: raid10 CR2: 00000000000000e0 ---[ end trace 0000000000000000 ]--- RIP: 0010:rdev_addable+0x4d/0xf0 md_spares_need_change in md_start_sync will call rdev_addable which protected by rcu_read_lock/rcu_read_unlock. This rcu context will help protect rdev won't be released, but rdev->mddev will be set to NULL before we call synchronize_rcu in md_kick_rdev_from_array. Fix this by using READ_ONCE and check does rdev->mddev still alive.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: drop UFO packets in udp_rcv_segment() When sending a packet with virtio_net_hdr to tun device, if the gso_type in virtio_net_hdr is SKB_GSO_UDP and the gso_size is less than udphdr size, below crash may happen. ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:4572! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 0 UID: 0 PID: 62 Comm: mytest Not tainted 6.16.0-rc7 #203 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:skb_pull_rcsum+0x8e/0xa0 Code: 00 00 5b c3 cc cc cc cc 8b 93 88 00 00 00 f7 da e8 37 44 38 00 f7 d8 89 83 88 00 00 00 48 8b 83 c8 00 00 00 5b c3 cc cc cc cc <0f> 0b 0f 0b 66 66 2e 0f 1f 84 00 000 RSP: 0018:ffffc900001fba38 EFLAGS: 00000297 RAX: 0000000000000004 RBX: ffff8880040c1000 RCX: ffffc900001fb948 RDX: ffff888003e6d700 RSI: 0000000000000008 RDI: ffff88800411a062 RBP: ffff8880040c1000 R08: 0000000000000000 R09: 0000000000000001 R10: ffff888003606c00 R11: 0000000000000001 R12: 0000000000000000 R13: ffff888004060900 R14: ffff888004050000 R15: ffff888004060900 FS: 000000002406d3c0(0000) GS:ffff888084a19000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000040 CR3: 0000000004007000 CR4: 00000000000006f0 Call Trace: <TASK> udp_queue_rcv_one_skb+0x176/0x4b0 net/ipv4/udp.c:2445 udp_queue_rcv_skb+0x155/0x1f0 net/ipv4/udp.c:2475 udp_unicast_rcv_skb+0x71/0x90 net/ipv4/udp.c:2626 __udp4_lib_rcv+0x433/0xb00 net/ipv4/udp.c:2690 ip_protocol_deliver_rcu+0xa6/0x160 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x72/0x90 net/ipv4/ip_input.c:233 ip_sublist_rcv_finish+0x5f/0x70 net/ipv4/ip_input.c:579 ip_sublist_rcv+0x122/0x1b0 net/ipv4/ip_input.c:636 ip_list_rcv+0xf7/0x130 net/ipv4/ip_input.c:670 __netif_receive_skb_list_core+0x21d/0x240 net/core/dev.c:6067 netif_receive_skb_list_internal+0x186/0x2b0 net/core/dev.c:6210 napi_complete_done+0x78/0x180 net/core/dev.c:6580 tun_get_user+0xa63/0x1120 drivers/net/tun.c:1909 tun_chr_write_iter+0x65/0xb0 drivers/net/tun.c:1984 vfs_write+0x300/0x420 fs/read_write.c:593 ksys_write+0x60/0xd0 fs/read_write.c:686 do_syscall_64+0x50/0x1c0 arch/x86/entry/syscall_64.c:63 </TASK> To trigger gso segment in udp_queue_rcv_skb(), we should also set option UDP_ENCAP_ESPINUDP to enable udp_sk(sk)->encap_rcv. When the encap_rcv hook return 1 in udp_queue_rcv_one_skb(), udp_csum_pull_header() will try to pull udphdr, but the skb size has been segmented to gso size, which leads to this crash. Previous commit cf329aa42b66 ("udp: cope with UDP GRO packet misdirection") introduces segmentation in UDP receive path only for GRO, which was never intended to be used for UFO, so drop UFO packets in udp_rcv_segment().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Fix surprise plug detection and recovery The existing PowerNV hotplug code did not handle surprise plug events correctly, leading to a complete failure of the hotplug system after device removal and a required reboot to detect new devices. This comes down to two issues: 1) When a device is surprise removed, often the bridge upstream port will cause a PE freeze on the PHB. If this freeze is not cleared, the MSI interrupts from the bridge hotplug notification logic will not be received by the kernel, stalling all plug events on all slots associated with the PE. 2) When a device is removed from a slot, regardless of surprise or programmatic removal, the associated PHB/PE ls left frozen. If this freeze is not cleared via a fundamental reset, skiboot is unable to clear the freeze and cannot retrain / rescan the slot. This also requires a reboot to clear the freeze and redetect the device in the slot. Issue the appropriate unfreeze and rescan commands on hotplug events, and don't oops on hotplug if pci_bus_to_OF_node() returns NULL. [bhelgaas: tidy comments]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI: pnv_php: Clean up allocated IRQs on unplug When the root of a nested PCIe bridge configuration is unplugged, the pnv_php driver leaked the allocated IRQ resources for the child bridges' hotplug event notifications, resulting in a panic. Fix this by walking all child buses and deallocating all its IRQ resources before calling pci_hp_remove_devices(). Also modify the lifetime of the workqueue at struct pnv_php_slot::wq so that it is only destroyed in pnv_php_free_slot(), instead of pnv_php_disable_irq(). This is required since pnv_php_disable_irq() will now be called by workers triggered by hot unplug interrupts, so the workqueue needs to stay allocated. The abridged kernel panic that occurs without this patch is as follows: WARNING: CPU: 0 PID: 687 at kernel/irq/msi.c:292 msi_device_data_release+0x6c/0x9c CPU: 0 UID: 0 PID: 687 Comm: bash Not tainted 6.14.0-rc5+ #2 Call Trace: msi_device_data_release+0x34/0x9c (unreliable) release_nodes+0x64/0x13c devres_release_all+0xc0/0x140 device_del+0x2d4/0x46c pci_destroy_dev+0x5c/0x194 pci_hp_remove_devices+0x90/0x128 pci_hp_remove_devices+0x44/0x128 pnv_php_disable_slot+0x54/0xd4 power_write_file+0xf8/0x18c pci_slot_attr_store+0x40/0x5c sysfs_kf_write+0x64/0x78 kernfs_fop_write_iter+0x1b0/0x290 vfs_write+0x3bc/0x50c ksys_write+0x84/0x140 system_call_exception+0x124/0x230 system_call_vectored_common+0x15c/0x2ec [bhelgaas: tidy comments]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vdpa/mlx5: Fix release of uninitialized resources on error path The commit in the fixes tag made sure that mlx5_vdpa_free() is the single entrypoint for removing the vdpa device resources added in mlx5_vdpa_dev_add(), even in the cleanup path of mlx5_vdpa_dev_add(). This means that all functions from mlx5_vdpa_free() should be able to handle uninitialized resources. This was not the case though: mlx5_vdpa_destroy_mr_resources() and mlx5_cmd_cleanup_async_ctx() were not able to do so. This caused the splat below when adding a vdpa device without a MAC address. This patch fixes these remaining issues: - Makes mlx5_vdpa_destroy_mr_resources() return early if called on uninitialized resources. - Moves mlx5_cmd_init_async_ctx() early on during device addition because it can't fail. This means that mlx5_cmd_cleanup_async_ctx() also can't fail. To mirror this, move the call site of mlx5_cmd_cleanup_async_ctx() in mlx5_vdpa_free(). An additional comment was added in mlx5_vdpa_free() to document the expectations of functions called from this context. Splat: mlx5_core 0000:b5:03.2: mlx5_vdpa_dev_add:3950:(pid 2306) warning: No mac address provisioned? ------------[ cut here ]------------ WARNING: CPU: 13 PID: 2306 at kernel/workqueue.c:4207 __flush_work+0x9a/0xb0 [...] Call Trace: <TASK> ? __try_to_del_timer_sync+0x61/0x90 ? __timer_delete_sync+0x2b/0x40 mlx5_vdpa_destroy_mr_resources+0x1c/0x40 [mlx5_vdpa] mlx5_vdpa_free+0x45/0x160 [mlx5_vdpa] vdpa_release_dev+0x1e/0x50 [vdpa] device_release+0x31/0x90 kobject_cleanup+0x37/0x130 mlx5_vdpa_dev_add+0x327/0x890 [mlx5_vdpa] vdpa_nl_cmd_dev_add_set_doit+0x2c1/0x4d0 [vdpa] genl_family_rcv_msg_doit+0xd8/0x130 genl_family_rcv_msg+0x14b/0x220 ? __pfx_vdpa_nl_cmd_dev_add_set_doit+0x10/0x10 [vdpa] genl_rcv_msg+0x47/0xa0 ? __pfx_genl_rcv_msg+0x10/0x10 netlink_rcv_skb+0x53/0x100 genl_rcv+0x24/0x40 netlink_unicast+0x27b/0x3b0 netlink_sendmsg+0x1f7/0x430 __sys_sendto+0x1fa/0x210 ? ___pte_offset_map+0x17/0x160 ? next_uptodate_folio+0x85/0x2b0 ? percpu_counter_add_batch+0x51/0x90 ? filemap_map_pages+0x515/0x660 __x64_sys_sendto+0x20/0x30 do_syscall_64+0x7b/0x2c0 ? do_read_fault+0x108/0x220 ? do_pte_missing+0x14a/0x3e0 ? __handle_mm_fault+0x321/0x730 ? count_memcg_events+0x13f/0x180 ? handle_mm_fault+0x1fb/0x2d0 ? do_user_addr_fault+0x20c/0x700 ? syscall_exit_work+0x104/0x140 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f0c25b0feca [...] ---[ end trace 0000000000000000 ]---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: imxfb: Check fb_add_videomode to prevent null-ptr-deref fb_add_videomode() can fail with -ENOMEM when its internal kmalloc() cannot allocate a struct fb_modelist. If that happens, the modelist stays empty but the driver continues to register. Add a check for its return value to prevent poteintial null-ptr-deref, which is similar to the commit 17186f1f90d3 ("fbdev: Fix do_register_framebuffer to prevent null-ptr-deref in fb_videomode_to_var").


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clk: imx95-blk-ctl: Fix synchronous abort When enabling runtime PM for clock suppliers that also belong to a power domain, the following crash is thrown: error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP Workqueue: events_unbound deferred_probe_work_func pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : clk_mux_get_parent+0x60/0x90 lr : clk_core_reparent_orphans_nolock+0x58/0xd8 Call trace: clk_mux_get_parent+0x60/0x90 clk_core_reparent_orphans_nolock+0x58/0xd8 of_clk_add_hw_provider.part.0+0x90/0x100 of_clk_add_hw_provider+0x1c/0x38 imx95_bc_probe+0x2e0/0x3f0 platform_probe+0x70/0xd8 Enabling runtime PM without explicitly resuming the device caused the power domain cut off after clk_register() is called. As a result, a crash happens when the clock hardware provider is added and attempts to access the BLK_CTL register. Fix this by using devm_pm_runtime_enable() instead of pm_runtime_enable() and getting rid of the pm_runtime_disable() in the cleanup path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinmux: fix race causing mux_owner NULL with active mux_usecount commit 5a3e85c3c397 ("pinmux: Use sequential access to access desc->pinmux data") tried to address the issue when two client of the same gpio calls pinctrl_select_state() for the same functionality, was resulting in NULL pointer issue while accessing desc->mux_owner. However, issue was not completely fixed due to the way it was handled and it can still result in the same NULL pointer. The issue occurs due to the following interleaving: cpu0 (process A) cpu1 (process B) pin_request() { pin_free() { mutex_lock() desc->mux_usecount--; //becomes 0 .. mutex_unlock() mutex_lock(desc->mux) desc->mux_usecount++; // becomes 1 desc->mux_owner = owner; mutex_unlock(desc->mux) mutex_lock(desc->mux) desc->mux_owner = NULL; mutex_unlock(desc->mux) This sequence leads to a state where the pin appears to be in use (`mux_usecount == 1`) but has no owner (`mux_owner == NULL`), which can cause NULL pointer on next pin_request on the same pin. Ensure that updates to mux_usecount and mux_owner are performed atomically under the same lock. Only clear mux_owner when mux_usecount reaches zero and no new owner has been assigned.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: cpcap-charger: Fix null check for power_supply_get_by_name In the cpcap_usb_detect() function, the power_supply_get_by_name() function may return `NULL` instead of an error pointer. To prevent potential null pointer dereferences, Added a null check.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: clk: davinci: Add NULL check in davinci_lpsc_clk_register() devm_kasprintf() returns NULL when memory allocation fails. Currently, davinci_lpsc_clk_register() does not check for this case, which results in a NULL pointer dereference. Add NULL check after devm_kasprintf() to prevent this issue and ensuring no resources are left allocated.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: xt_nfacct: don't assume acct name is null-terminated BUG: KASAN: slab-out-of-bounds in .. lib/vsprintf.c:721 Read of size 1 at addr ffff88801eac95c8 by task syz-executor183/5851 [..] string+0x231/0x2b0 lib/vsprintf.c:721 vsnprintf+0x739/0xf00 lib/vsprintf.c:2874 [..] nfacct_mt_checkentry+0xd2/0xe0 net/netfilter/xt_nfacct.c:41 xt_check_match+0x3d1/0xab0 net/netfilter/x_tables.c:523 nfnl_acct_find_get() handles non-null input, but the error printk relied on its presence.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Disable migration in nf_hook_run_bpf(). syzbot reported that the netfilter bpf prog can be called without migration disabled in xmit path. Then the assertion in __bpf_prog_run() fails, triggering the splat below. [0] Let's use bpf_prog_run_pin_on_cpu() in nf_hook_run_bpf(). [0]: BUG: assuming non migratable context at ./include/linux/filter.h:703 in_atomic(): 0, irqs_disabled(): 0, migration_disabled() 0 pid: 5829, name: sshd-session 3 locks held by sshd-session/5829: #0: ffff88807b4e4218 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1667 [inline] #0: ffff88807b4e4218 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendmsg+0x20/0x50 net/ipv4/tcp.c:1395 #1: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #1: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #1: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: __ip_queue_xmit+0x69/0x26c0 net/ipv4/ip_output.c:470 #2: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:331 [inline] #2: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:841 [inline] #2: ffffffff8e5c4e00 (rcu_read_lock){....}-{1:3}, at: nf_hook+0xb2/0x680 include/linux/netfilter.h:241 CPU: 0 UID: 0 PID: 5829 Comm: sshd-session Not tainted 6.16.0-rc6-syzkaller-00002-g155a3c003e55 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x16c/0x1f0 lib/dump_stack.c:120 __cant_migrate kernel/sched/core.c:8860 [inline] __cant_migrate+0x1c7/0x250 kernel/sched/core.c:8834 __bpf_prog_run include/linux/filter.h:703 [inline] bpf_prog_run include/linux/filter.h:725 [inline] nf_hook_run_bpf+0x83/0x1e0 net/netfilter/nf_bpf_link.c:20 nf_hook_entry_hookfn include/linux/netfilter.h:157 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:623 nf_hook+0x370/0x680 include/linux/netfilter.h:272 NF_HOOK_COND include/linux/netfilter.h:305 [inline] ip_output+0x1bc/0x2a0 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:459 [inline] ip_local_out net/ipv4/ip_output.c:129 [inline] __ip_queue_xmit+0x1d7d/0x26c0 net/ipv4/ip_output.c:527 __tcp_transmit_skb+0x2686/0x3e90 net/ipv4/tcp_output.c:1479 tcp_transmit_skb net/ipv4/tcp_output.c:1497 [inline] tcp_write_xmit+0x1274/0x84e0 net/ipv4/tcp_output.c:2838 __tcp_push_pending_frames+0xaf/0x390 net/ipv4/tcp_output.c:3021 tcp_push+0x225/0x700 net/ipv4/tcp.c:759 tcp_sendmsg_locked+0x1870/0x42b0 net/ipv4/tcp.c:1359 tcp_sendmsg+0x2e/0x50 net/ipv4/tcp.c:1396 inet_sendmsg+0xb9/0x140 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg net/socket.c:727 [inline] sock_write_iter+0x4aa/0x5b0 net/socket.c:1131 new_sync_write fs/read_write.c:593 [inline] vfs_write+0x6c7/0x1150 fs/read_write.c:686 ksys_write+0x1f8/0x250 fs/read_write.c:738 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fe7d365d407 Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff RSP:


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: Add missing lock in cfg80211_check_and_end_cac() Callers of wdev_chandef() must hold the wiphy mutex. But the worker cfg80211_propagate_cac_done_wk() never takes the lock. Which triggers the warning below with the mesh_peer_connected_dfs test from hostapd and not (yet) released mac80211 code changes: WARNING: CPU: 0 PID: 495 at net/wireless/chan.c:1552 wdev_chandef+0x60/0x165 Modules linked in: CPU: 0 UID: 0 PID: 495 Comm: kworker/u4:2 Not tainted 6.14.0-rc5-wt-g03960e6f9d47 #33 13c287eeabfe1efea01c0bcc863723ab082e17cf Workqueue: cfg80211 cfg80211_propagate_cac_done_wk Stack: 00000000 00000001 ffffff00 6093267c 00000000 6002ec30 6d577c50 60037608 00000000 67e8d108 6063717b 00000000 Call Trace: [<6002ec30>] ? _printk+0x0/0x98 [<6003c2b3>] show_stack+0x10e/0x11a [<6002ec30>] ? _printk+0x0/0x98 [<60037608>] dump_stack_lvl+0x71/0xb8 [<6063717b>] ? wdev_chandef+0x60/0x165 [<6003766d>] dump_stack+0x1e/0x20 [<6005d1b7>] __warn+0x101/0x20f [<6005d3a8>] warn_slowpath_fmt+0xe3/0x15d [<600b0c5c>] ? mark_lock.part.0+0x0/0x4ec [<60751191>] ? __this_cpu_preempt_check+0x0/0x16 [<600b11a2>] ? mark_held_locks+0x5a/0x6e [<6005d2c5>] ? warn_slowpath_fmt+0x0/0x15d [<60052e53>] ? unblock_signals+0x3a/0xe7 [<60052f2d>] ? um_set_signals+0x2d/0x43 [<60751191>] ? __this_cpu_preempt_check+0x0/0x16 [<607508b2>] ? lock_is_held_type+0x207/0x21f [<6063717b>] wdev_chandef+0x60/0x165 [<605f89b4>] regulatory_propagate_dfs_state+0x247/0x43f [<60052f00>] ? um_set_signals+0x0/0x43 [<605e6bfd>] cfg80211_propagate_cac_done_wk+0x3a/0x4a [<6007e460>] process_scheduled_works+0x3bc/0x60e [<6007d0ec>] ? move_linked_works+0x4d/0x81 [<6007d120>] ? assign_work+0x0/0xaa [<6007f81f>] worker_thread+0x220/0x2dc [<600786ef>] ? set_pf_worker+0x0/0x57 [<60087c96>] ? to_kthread+0x0/0x43 [<6008ab3c>] kthread+0x2d3/0x2e2 [<6007f5ff>] ? worker_thread+0x0/0x2dc [<6006c05b>] ? calculate_sigpending+0x0/0x56 [<6003b37d>] new_thread_handler+0x4a/0x64 irq event stamp: 614611 hardirqs last enabled at (614621): [<00000000600bc96b>] __up_console_sem+0x82/0xaf hardirqs last disabled at (614630): [<00000000600bc92c>] __up_console_sem+0x43/0xaf softirqs last enabled at (614268): [<00000000606c55c6>] __ieee80211_wake_queue+0x933/0x985 softirqs last disabled at (614266): [<00000000606c52d6>] __ieee80211_wake_queue+0x643/0x985


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: reject TDLS operations when station is not associated syzbot triggered a WARN in ieee80211_tdls_oper() by sending NL80211_TDLS_ENABLE_LINK immediately after NL80211_CMD_CONNECT, before association completed and without prior TDLS setup. This left internal state like sdata->u.mgd.tdls_peer uninitialized, leading to a WARN_ON() in code paths that assumed it was valid. Reject the operation early if not in station mode or not associated.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: avoid NULL dereference when RX problematic packet on unsupported 6 GHz band With a quite rare chance, RX report might be problematic to make SW think a packet is received on 6 GHz band even if the chip does not support 6 GHz band actually. Since SW won't initialize stuffs for unsupported bands, NULL dereference will happen then in the sequence, rtw89_vif_rx_stats_iter() -> rtw89_core_cancel_6ghz_probe_tx(). So, add a check to avoid it. The following is a crash log for this case. BUG: kernel NULL pointer dereference, address: 0000000000000032 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 1 PID: 1907 Comm: irq/131-rtw89_p Tainted: G U 6.6.56-05896-g89f5fb0eb30b #1 (HASH:1400 4) Hardware name: Google Telith/Telith, BIOS Google_Telith.15217.747.0 11/12/2024 RIP: 0010:rtw89_vif_rx_stats_iter+0xd2/0x310 [rtw89_core] Code: 4c 89 7d c8 48 89 55 c0 49 8d 44 24 02 48 89 45 b8 45 31 ff eb 11 41 c6 45 3a 01 41 b7 01 4d 8b 6d 00 4d 39 f5 74 42 8b 43 10 <41> 33 45 32 0f b7 4b 14 66 41 33 4d 36 0f b7 c9 09 c1 74 d8 4d 85 RSP: 0018:ffff9f3080138ca0 EFLAGS: 00010246 RAX: 00000000b8bf5770 RBX: ffff91b5e8c639c0 RCX: 0000000000000011 RDX: ffff91b582de1be8 RSI: 0000000000000000 RDI: ffff91b5e8c639e6 RBP: ffff9f3080138d00 R08: 0000000000000000 R09: 0000000000000000 R10: ffff91b59de70000 R11: ffffffffc069be50 R12: ffff91b5e8c639e4 R13: 0000000000000000 R14: ffff91b5828020b8 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff91b8efa40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000032 CR3: 00000002bf838000 CR4: 0000000000750ee0 PKRU: 55555554 Call Trace: <IRQ> ? __die_body+0x68/0xb0 ? page_fault_oops+0x379/0x3e0 ? exc_page_fault+0x4f/0xa0 ? asm_exc_page_fault+0x22/0x30 ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)] ? rtw89_vif_rx_stats_iter+0xd2/0x310 [rtw89_core (HASH:1400 5)] __iterate_interfaces+0x59/0x110 [mac80211 (HASH:1400 6)] ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)] ? __pfx_rtw89_vif_rx_stats_iter+0x10/0x10 [rtw89_core (HASH:1400 5)] ieee80211_iterate_active_interfaces_atomic+0x36/0x50 [mac80211 (HASH:1400 6)] rtw89_core_rx_to_mac80211+0xfd/0x1b0 [rtw89_core (HASH:1400 5)] rtw89_core_rx+0x43a/0x980 [rtw89_core (HASH:1400 5)]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: stm32: Check for cfg availability in stm32_spi_probe The stm32_spi_probe function now includes a check to ensure that the pointer returned by of_device_get_match_data is not NULL before accessing its members. This resolves a warning where a potential NULL pointer dereference could occur when accessing cfg->has_device_mode. Before accessing the 'has_device_mode' member, we verify that 'cfg' is not NULL. If 'cfg' is NULL, an error message is logged. This change ensures that the driver does not attempt to access configuration data if it is not available, thus preventing a potential system crash due to a NULL pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: Fix error code in iwl_op_mode_dvm_start() Preserve the error code if iwl_setup_deferred_work() fails. The current code returns ERR_PTR(0) (which is NULL) on this path. I believe the missing error code potentially leads to a use after free involving debugfs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet: pci-epf: Do not complete commands twice if nvmet_req_init() fails Have nvmet_req_init() and req->execute() complete failed commands. Description of the problem: nvmet_req_init() calls __nvmet_req_complete() internally upon failure, e.g., unsupported opcode, which calls the "queue_response" callback, this results in nvmet_pci_epf_queue_response() being called, which will call nvmet_pci_epf_complete_iod() if data_len is 0 or if dma_dir is different from DMA_TO_DEVICE. This results in a double completion as nvmet_pci_epf_exec_iod_work() also calls nvmet_pci_epf_complete_iod() when nvmet_req_init() fails. Steps to reproduce: On the host send a command with an unsupported opcode with nvme-cli, For example the admin command "security receive" $ sudo nvme security-recv /dev/nvme0n1 -n1 -x4096 This triggers a double completion as nvmet_req_init() fails and nvmet_pci_epf_queue_response() is called, here iod->dma_dir is still in the default state of "DMA_NONE" as set by default in nvmet_pci_epf_alloc_iod(), so nvmet_pci_epf_complete_iod() is called. Because nvmet_req_init() failed nvmet_pci_epf_complete_iod() is also called in nvmet_pci_epf_exec_iod_work() leading to a double completion. This not only sends two completions to the host but also corrupts the state of the PCI NVMe target leading to kernel oops. This patch lets nvmet_req_init() and req->execute() complete all failed commands, and removes the double completion case in nvmet_pci_epf_exec_iod_work() therefore fixing the edge cases where double completions occurred.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gfs2: No more self recovery When a node withdraws and it turns out that it is the only node that has the filesystem mounted, gfs2 currently tries to replay the local journal to bring the filesystem back into a consistent state. Not only is that a very bad idea, it has also never worked because gfs2_recover_func() will refuse to do anything during a withdraw. However, before even getting to this point, gfs2_recover_func() dereferences sdp->sd_jdesc->jd_inode. This was a use-after-free before commit 04133b607a78 ("gfs2: Prevent double iput for journal on error") and is a NULL pointer dereference since then. Simply get rid of self recovery to fix that.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: [ceph] parse_longname(): strrchr() expects NUL-terminated string ... and parse_longname() is not guaranteed that. That's the reason why it uses kmemdup_nul() to build the argument for kstrtou64(); the problem is, kstrtou64() is not the only thing that need it. Just get a NUL-terminated copy of the entire thing and be done with that...


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: mediatek: mt8365-dai-i2s: pass correct size to mt8365_dai_set_priv Given mt8365_dai_set_priv allocate priv_size space to copy priv_data which means we should pass mt8365_i2s_priv[i] or "struct mtk_afe_i2s_priv" instead of afe_priv which has the size of "struct mt8365_afe_private". Otherwise the KASAN complains about. [ 59.389765] BUG: KASAN: global-out-of-bounds in mt8365_dai_set_priv+0xc8/0x168 [snd_soc_mt8365_pcm] ... [ 59.394789] Call trace: [ 59.395167] dump_backtrace+0xa0/0x128 [ 59.395733] show_stack+0x20/0x38 [ 59.396238] dump_stack_lvl+0xe8/0x148 [ 59.396806] print_report+0x37c/0x5e0 [ 59.397358] kasan_report+0xac/0xf8 [ 59.397885] kasan_check_range+0xe8/0x190 [ 59.398485] asan_memcpy+0x3c/0x98 [ 59.399022] mt8365_dai_set_priv+0xc8/0x168 [snd_soc_mt8365_pcm] [ 59.399928] mt8365_dai_i2s_register+0x1e8/0x2b0 [snd_soc_mt8365_pcm] [ 59.400893] mt8365_afe_pcm_dev_probe+0x4d0/0xdf0 [snd_soc_mt8365_pcm] [ 59.401873] platform_probe+0xcc/0x228 [ 59.402442] really_probe+0x340/0x9e8 [ 59.402992] driver_probe_device+0x16c/0x3f8 [ 59.403638] driver_probe_device+0x64/0x1d8 [ 59.404256] driver_attach+0x1dc/0x4c8 [ 59.404840] bus_for_each_dev+0x100/0x190 [ 59.405442] driver_attach+0x44/0x68 [ 59.405980] bus_add_driver+0x23c/0x500 [ 59.406550] driver_register+0xf8/0x3d0 [ 59.407122] platform_driver_register+0x68/0x98 [ 59.407810] mt8365_afe_pcm_driver_init+0x2c/0xff8 [snd_soc_mt8365_pcm]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ice: Fix a null pointer dereference in ice_copy_and_init_pkg() Add check for the return value of devm_kmemdup() to prevent potential null pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: netlink: can_changelink(): fix NULL pointer deref of struct can_priv::do_set_mode Andrei Lalaev reported a NULL pointer deref when a CAN device is restarted from Bus Off and the driver does not implement the struct can_priv::do_set_mode callback. There are 2 code path that call struct can_priv::do_set_mode: - directly by a manual restart from the user space, via can_changelink() - delayed automatic restart after bus off (deactivated by default) To prevent the NULL pointer deference, refuse a manual restart or configure the automatic restart delay in can_changelink() and report the error via extack to user space. As an additional safety measure let can_restart() return an error if can_priv::do_set_mode is not set instead of dereferencing it unchecked.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: core: fix NULL dereference on unbind due to stale coupling data Failing to reset coupling_desc.n_coupled after freeing coupled_rdevs can lead to NULL pointer dereference when regulators are accessed post-unbind. This can happen during runtime PM or other regulator operations that rely on coupling metadata. For example, on ridesx4, unbinding the 'reg-dummy' platform device triggers a panic in regulator_lock_recursive() due to stale coupling state. Ensure n_coupled is set to 0 to prevent access to invalid pointers.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: arm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack() `cpu_switch_to()` and `call_on_irq_stack()` manipulate SP to change to different stacks along with the Shadow Call Stack if it is enabled. Those two stack changes cannot be done atomically and both functions can be interrupted by SErrors or Debug Exceptions which, though unlikely, is very much broken : if interrupted, we can end up with mismatched stacks and Shadow Call Stack leading to clobbered stacks. In `cpu_switch_to()`, it can happen when SP_EL0 points to the new task, but x18 stills points to the old task's SCS. When the interrupt handler tries to save the task's SCS pointer, it will save the old task SCS pointer (x18) into the new task struct (pointed to by SP_EL0), clobbering it. In `call_on_irq_stack()`, it can happen when switching from the task stack to the IRQ stack and when switching back. In both cases, we can be interrupted when the SCS pointer points to the IRQ SCS, but SP points to the task stack. The nested interrupt handler pushes its return addresses on the IRQ SCS. It then detects that SP points to the task stack, calls `call_on_irq_stack()` and clobbers the task SCS pointer with the IRQ SCS pointer, which it will also use ! This leads to tasks returning to addresses on the wrong SCS, or even on the IRQ SCS, triggering kernel panics via CONFIG_VMAP_STACK or FPAC if enabled. This is possible on a default config, but unlikely. However, when enabling CONFIG_ARM64_PSEUDO_NMI, DAIF is unmasked and instead the GIC is responsible for filtering what interrupts the CPU should receive based on priority. Given the goal of emulating NMIs, pseudo-NMIs can be received by the CPU even in `cpu_switch_to()` and `call_on_irq_stack()`, possibly *very* frequently depending on the system configuration and workload, leading to unpredictable kernel panics. Completely mask DAIF in `cpu_switch_to()` and restore it when returning. Do the same in `call_on_irq_stack()`, but restore and mask around the branch. Mask DAIF even if CONFIG_SHADOW_CALL_STACK is not enabled for consistency of behaviour between all configurations. Introduce and use an assembly macro for saving and masking DAIF, as the existing one saves but only masks IF.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: qup: jump out of the loop in case of timeout Original logic only sets the return value but doesn't jump out of the loop if the bus is kept active by a client. This is not expected. A malicious or buggy i2c client can hang the kernel in this case and should be avoided. This is observed during a long time test with a PCA953x GPIO extender. Fix it by changing the logic to not only sets the return value, but also jumps out of the loop and return to the caller with -ETIMEDOUT.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Avoid stack buffer overflow from kernel cmdline While the kernel command line is considered trusted in most environments, avoid writing 1 byte past the end of "acpiid" if the "str" argument is maximum length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: reject duplicate device on updates A chain/flowtable update with duplicated devices in the same batch is possible. Unfortunately, netdev event path only removes the first device that is found, leaving unregistered the hook of the duplicated device. Check if a duplicated device exists in the transaction batch, bail out with EEXIST in such case. WARNING is hit when unregistering the hook: [49042.221275] WARNING: CPU: 4 PID: 8425 at net/netfilter/core.c:340 nf_hook_entry_head+0xaa/0x150 [49042.221375] CPU: 4 UID: 0 PID: 8425 Comm: nft Tainted: G S 6.16.0+ #170 PREEMPT(full) [...] [49042.221382] RIP: 0010:nf_hook_entry_head+0xaa/0x150


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: venus: Fix OOB read due to missing payload bound check Currently, The event_seq_changed() handler processes a variable number of properties sent by the firmware. The number of properties is indicated by the firmware and used to iterate over the payload. However, the payload size is not being validated against the actual message length. This can lead to out-of-bounds memory access if the firmware provides a property count that exceeds the data available in the payload. Such a condition can result in kernel crashes or potential information leaks if memory beyond the buffer is accessed. Fix this by properly validating the remaining size of the payload before each property access and updating bounds accordingly as properties are parsed. This ensures that property parsing is safely bounded within the received message buffer and protects against malformed or malicious firmware behavior.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: uvcvideo: Fix 1-byte out-of-bounds read in uvc_parse_format() The buffer length check before calling uvc_parse_format() only ensured that the buffer has at least 3 bytes (buflen > 2), buf the function accesses buffer[3], requiring at least 4 bytes. This can lead to an out-of-bounds read if the buffer has exactly 3 bytes. Fix it by checking that the buffer has at least 4 bytes in uvc_parse_format().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/ptdump: take the memory hotplug lock inside ptdump_walk_pgd() Memory hot remove unmaps and tears down various kernel page table regions as required. The ptdump code can race with concurrent modifications of the kernel page tables. When leaf entries are modified concurrently, the dump code may log stale or inconsistent information for a VA range, but this is otherwise not harmful. But when intermediate levels of kernel page table are freed, the dump code will continue to use memory that has been freed and potentially reallocated for another purpose. In such cases, the ptdump code may dereference bogus addresses, leading to a number of potential problems. To avoid the above mentioned race condition, platforms such as arm64, riscv and s390 take memory hotplug lock, while dumping kernel page table via the sysfs interface /sys/kernel/debug/kernel_page_tables. Similar race condition exists while checking for pages that might have been marked W+X via /sys/kernel/debug/kernel_page_tables/check_wx_pages which in turn calls ptdump_check_wx(). Instead of solving this race condition again, let's just move the memory hotplug lock inside generic ptdump_check_wx() which will benefit both the scenarios. Drop get_online_mems() and put_online_mems() combination from all existing platform ptdump code paths.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hv_netvsc: Fix panic during namespace deletion with VF The existing code move the VF NIC to new namespace when NETDEV_REGISTER is received on netvsc NIC. During deletion of the namespace, default_device_exit_batch() >> default_device_exit_net() is called. When netvsc NIC is moved back and registered to the default namespace, it automatically brings VF NIC back to the default namespace. This will cause the default_device_exit_net() >> for_each_netdev_safe loop unable to detect the list end, and hit NULL ptr: [ 231.449420] mana 7870:00:00.0 enP30832s1: Moved VF to namespace with: eth0 [ 231.449656] BUG: kernel NULL pointer dereference, address: 0000000000000010 [ 231.450246] #PF: supervisor read access in kernel mode [ 231.450579] #PF: error_code(0x0000) - not-present page [ 231.450916] PGD 17b8a8067 P4D 0 [ 231.451163] Oops: Oops: 0000 [#1] SMP NOPTI [ 231.451450] CPU: 82 UID: 0 PID: 1394 Comm: kworker/u768:1 Not tainted 6.16.0-rc4+ #3 VOLUNTARY [ 231.452042] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS Hyper-V UEFI Release v4.1 11/21/2024 [ 231.452692] Workqueue: netns cleanup_net [ 231.452947] RIP: 0010:default_device_exit_batch+0x16c/0x3f0 [ 231.453326] Code: c0 0c f5 b3 e8 d5 db fe ff 48 85 c0 74 15 48 c7 c2 f8 fd ca b2 be 10 00 00 00 48 8d 7d c0 e8 7b 77 25 00 49 8b 86 28 01 00 00 <48> 8b 50 10 4c 8b 2a 4c 8d 62 f0 49 83 ed 10 4c 39 e0 0f 84 d6 00 [ 231.454294] RSP: 0018:ff75fc7c9bf9fd00 EFLAGS: 00010246 [ 231.454610] RAX: 0000000000000000 RBX: 0000000000000002 RCX: 61c8864680b583eb [ 231.455094] RDX: ff1fa9f71462d800 RSI: ff75fc7c9bf9fd38 RDI: 0000000030766564 [ 231.455686] RBP: ff75fc7c9bf9fd78 R08: 0000000000000000 R09: 0000000000000000 [ 231.456126] R10: 0000000000000001 R11: 0000000000000004 R12: ff1fa9f70088e340 [ 231.456621] R13: ff1fa9f70088e340 R14: ffffffffb3f50c20 R15: ff1fa9f7103e6340 [ 231.457161] FS: 0000000000000000(0000) GS:ff1faa6783a08000(0000) knlGS:0000000000000000 [ 231.457707] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 231.458031] CR2: 0000000000000010 CR3: 0000000179ab2006 CR4: 0000000000b73ef0 [ 231.458434] Call Trace: [ 231.458600] <TASK> [ 231.458777] ops_undo_list+0x100/0x220 [ 231.459015] cleanup_net+0x1b8/0x300 [ 231.459285] process_one_work+0x184/0x340 To fix it, move the ns change to a workqueue, and take rtnl_lock to avoid changing the netdev list when default_device_exit_net() is using it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: ets: use old 'nbands' while purging unused classes Shuang reported sch_ets test-case [1] crashing in ets_class_qlen_notify() after recent changes from Lion [2]. The problem is: in ets_qdisc_change() we purge unused DWRR queues; the value of 'q->nbands' is the new one, and the cleanup should be done with the old one. The problem is here since my first attempts to fix ets_qdisc_change(), but it surfaced again after the recent qdisc len accounting fixes. Fix it purging idle DWRR queues before assigning a new value of 'q->nbands', so that all purge operations find a consistent configuration: - old 'q->nbands' because it's needed by ets_class_find() - old 'q->nstrict' because it's needed by ets_class_is_strict() BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 62 UID: 0 PID: 39457 Comm: tc Kdump: loaded Not tainted 6.12.0-116.el10.x86_64 #1 PREEMPT(voluntary) Hardware name: Dell Inc. PowerEdge R640/06DKY5, BIOS 2.12.2 07/09/2021 RIP: 0010:__list_del_entry_valid_or_report+0x4/0x80 Code: ff 4c 39 c7 0f 84 39 19 8e ff b8 01 00 00 00 c3 cc cc cc cc 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa <48> 8b 17 48 8b 4f 08 48 85 d2 0f 84 56 19 8e ff 48 85 c9 0f 84 ab RSP: 0018:ffffba186009f400 EFLAGS: 00010202 RAX: 00000000000000d6 RBX: 0000000000000000 RCX: 0000000000000004 RDX: ffff9f0fa29b69c0 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffffffc12c2400 R08: 0000000000000008 R09: 0000000000000004 R10: ffffffffffffffff R11: 0000000000000004 R12: 0000000000000000 R13: ffff9f0f8cfe0000 R14: 0000000000100005 R15: 0000000000000000 FS: 00007f2154f37480(0000) GS:ffff9f269c1c0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000001530be001 CR4: 00000000007726f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ets_class_qlen_notify+0x65/0x90 [sch_ets] qdisc_tree_reduce_backlog+0x74/0x110 ets_qdisc_change+0x630/0xa40 [sch_ets] __tc_modify_qdisc.constprop.0+0x216/0x7f0 tc_modify_qdisc+0x7c/0x120 rtnetlink_rcv_msg+0x145/0x3f0 netlink_rcv_skb+0x53/0x100 netlink_unicast+0x245/0x390 netlink_sendmsg+0x21b/0x470 ____sys_sendmsg+0x39d/0x3d0 ___sys_sendmsg+0x9a/0xe0 __sys_sendmsg+0x7a/0xd0 do_syscall_64+0x7d/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7f2155114084 Code: 89 02 b8 ff ff ff ff eb bb 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 80 3d 25 f0 0c 00 00 74 13 b8 2e 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 c3 0f 1f 00 48 83 ec 28 89 54 24 1c 48 89 RSP: 002b:00007fff1fd7a988 EFLAGS: 00000202 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 0000560ec063e5e0 RCX: 00007f2155114084 RDX: 0000000000000000 RSI: 00007fff1fd7a9f0 RDI: 0000000000000003 RBP: 00007fff1fd7aa60 R08: 0000000000000010 R09: 000000000000003f R10: 0000560ee9b3a010 R11: 0000000000000202 R12: 00007fff1fd7aae0 R13: 000000006891ccde R14: 0000560ec063e5e0 R15: 00007fff1fd7aad0 </TASK> [1] https://lore.kernel.org/netdev/e08c7f4a6882f260011909a868311c6e9b54f3e4.1639153474.git.dcaratti@redhat.com/ [2] https://lore.kernel.org/netdev/d912cbd7-193b-4269-9857-525bee8bbb6a@gmail.com/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: Fix vmalloc out-of-bounds write in fast_imageblit This issue triggers when a userspace program does an ioctl FBIOPUT_CON2FBMAP by passing console number and frame buffer number. Ideally this maps console to frame buffer and updates the screen if console is visible. As part of mapping it has to do resize of console according to frame buffer info. if this resize fails and returns from vc_do_resize() and continues further. At this point console and new frame buffer are mapped and sets display vars. Despite failure still it continue to proceed updating the screen at later stages where vc_data is related to previous frame buffer and frame buffer info and display vars are mapped to new frame buffer and eventully leading to out-of-bounds write in fast_imageblit(). This bheviour is excepted only when fg_console is equal to requested console which is a visible console and updates screen with invalid struct references in fbcon_putcs().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: userfaultfd: fix a crash in UFFDIO_MOVE when PMD is a migration entry When UFFDIO_MOVE encounters a migration PMD entry, it proceeds with obtaining a folio and accessing it even though the entry is swp_entry_t. Add the missing check and let split_huge_pmd() handle migration entries. While at it also remove unnecessary folio check. [surenb@google.com: remove extra folio check, per David]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: fix race between polling and detaching syzbot reports a use-after-free in comedi in the below link, which is due to comedi gladly removing the allocated async area even though poll requests are still active on the wait_queue_head inside of it. This can cause a use-after-free when the poll entries are later triggered or removed, as the memory for the wait_queue_head has been freed. We need to check there are no tasks queued on any of the subdevices' wait queues before allowing the device to be detached by the `COMEDI_DEVCONFIG` ioctl. Tasks will read-lock `dev->attach_lock` before adding themselves to the subdevice wait queue, so fix the problem in the `COMEDI_DEVCONFIG` ioctl handler by write-locking `dev->attach_lock` before checking that all of the subdevices are safe to be deleted. This includes testing for any sleepers on the subdevices' wait queues. It remains locked until the device has been detached. This requires the `comedi_device_detach()` function to be refactored slightly, moving the bulk of it into new function `comedi_device_detach_locked()`. Note that the refactor of `comedi_device_detach()` results in `comedi_device_cancel_all()` now being called while `dev->attach_lock` is write-locked, which wasn't the case previously, but that does not matter. Thanks to Jens Axboe for diagnosing the problem and co-developing this patch.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pNFS: Fix uninited ptr deref in block/scsi layout The error occurs on the third attempt to encode extents. When function ext_tree_prepare_commit() reallocates a larger buffer to retry encoding extents, the "layoutupdate_pages" page array is initialized only after the retry loop. But ext_tree_free_commitdata() is called on every iteration and tries to put pages in the array, thus dereferencing uninitialized pointers. An additional problem is that there is no limit on the maximum possible buffer_size. When there are too many extents, the client may create a layoutcommit that is larger than the maximum possible RPC size accepted by the server. During testing, we observed two typical scenarios. First, one memory page for extents is enough when we work with small files, append data to the end of the file, or preallocate extents before writing. But when we fill a new large file without preallocating, the number of extents can be huge, and counting the number of written extents in ext_tree_encode_commit() does not help much. Since this number increases even more between unlocking and locking of ext_tree, the reallocated buffer may not be large enough again and again.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: exfat: add cluster chain loop check for dir An infinite loop may occur if the following conditions occur due to file system corruption. (1) Condition for exfat_count_dir_entries() to loop infinitely. - The cluster chain includes a loop. - There is no UNUSED entry in the cluster chain. (2) Condition for exfat_create_upcase_table() to loop infinitely. - The cluster chain of the root directory includes a loop. - There are no UNUSED entry and up-case table entry in the cluster chain of the root directory. (3) Condition for exfat_load_bitmap() to loop infinitely. - The cluster chain of the root directory includes a loop. - There are no UNUSED entry and bitmap entry in the cluster chain of the root directory. (4) Condition for exfat_find_dir_entry() to loop infinitely. - The cluster chain includes a loop. - The unused directory entries were exhausted by some operation. (5) Condition for exfat_check_dir_empty() to loop infinitely. - The cluster chain includes a loop. - The unused directory entries were exhausted by some operation. - All files and sub-directories under the directory are deleted. This commit adds checks to break the above infinite loop.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: dvb-frontends: w7090p: fix null-ptr-deref in w7090p_tuner_write_serpar and w7090p_tuner_read_serpar In w7090p_tuner_write_serpar, msg is controlled by user. When msg[0].buf is null and msg[0].len is zero, former checks on msg[0].buf would be passed. If accessing msg[0].buf[2] without sanity check, null pointer deref would happen. We add check on msg[0].len to prevent crash. Similar commit: commit 0ed554fd769a ("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: dvb-frontends: dib7090p: fix null-ptr-deref in dib7090p_rw_on_apb() In dib7090p_rw_on_apb, msg is controlled by user. When msg[0].buf is null and msg[0].len is zero, former checks on msg[0].buf would be passed. If accessing msg[0].buf[2] without sanity check, null pointer deref would happen. We add check on msg[0].len to prevent crash. Similar issue occurs when access msg[1].buf[0] and msg[1].buf[1]. Similar commit: commit 0ed554fd769a ("media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer()")


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Check for hdwq null ptr when cleaning up lpfc_vport structure If a call to lpfc_sli4_read_rev() from lpfc_sli4_hba_setup() fails, the resultant cleanup routine lpfc_sli4_vport_delete_fcp_xri_aborted() may occur before sli4_hba.hdwqs are allocated. This may result in a null pointer dereference when attempting to take the abts_io_buf_list_lock for the first hardware queue. Fix by adding a null ptr check on phba->sli4_hba.hdwq and early return because this situation means there must have been an error during port initialization.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: libiscsi: Initialize iscsi_conn->dd_data only if memory is allocated In case of an ib_fast_reg_mr allocation failure during iSER setup, the machine hits a panic because iscsi_conn->dd_data is initialized unconditionally, even when no memory is allocated (dd_size == 0). This leads invalid pointer dereference during connection teardown. Fix by setting iscsi_conn->dd_data only if memory is actually allocated. Panic trace: ------------ iser: iser_create_fastreg_desc: Failed to allocate ib_fast_reg_mr err=-12 iser: iser_alloc_rx_descriptors: failed allocating rx descriptors / data buffers BUG: unable to handle page fault for address: fffffffffffffff8 RIP: 0010:swake_up_locked.part.5+0xa/0x40 Call Trace: complete+0x31/0x40 iscsi_iser_conn_stop+0x88/0xb0 [ib_iser] iscsi_stop_conn+0x66/0xc0 [scsi_transport_iscsi] iscsi_if_stop_conn+0x14a/0x150 [scsi_transport_iscsi] iscsi_if_rx+0x1135/0x1834 [scsi_transport_iscsi] ? netlink_lookup+0x12f/0x1b0 ? netlink_deliver_tap+0x2c/0x200 netlink_unicast+0x1ab/0x280 netlink_sendmsg+0x257/0x4f0 ? _copy_from_user+0x29/0x60 sock_sendmsg+0x5f/0x70


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: do not BUG when INLINE_DATA_FL lacks system.data xattr A syzbot fuzzed image triggered a BUG_ON in ext4_update_inline_data() when an inode had the INLINE_DATA_FL flag set but was missing the system.data extended attribute. Since this can happen due to a maiciouly fuzzed file system, we shouldn't BUG, but rather, report it as a corrupted file system. Add similar replacements of BUG_ON with EXT4_ERROR_INODE() ii ext4_create_inline_data() and ext4_inline_data_truncate().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: fix potential buffer overflow in do_register_framebuffer() The current implementation may lead to buffer overflow when: 1. Unregistration creates NULL gaps in registered_fb[] 2. All array slots become occupied despite num_registered_fb < FB_MAX 3. The registration loop exceeds array bounds Add boundary check to prevent registered_fb[FB_MAX] access.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Make dma-fences compliant with the safe access rules Xe can free some of the data pointed to by the dma-fences it exports. Most notably the timeline name can get freed if userspace closes the associated submit queue. At the same time the fence could have been exported to a third party (for example a sync_fence fd) which will then cause an use- after-free on subsequent access. To make this safe we need to make the driver compliant with the newly documented dma-fence rules. Driver has to ensure a RCU grace period between signalling a fence and freeing any data pointed to by said fence. For the timeline name we simply make the queue be freed via kfree_rcu and for the shared lock associated with multiple queues we add a RCU grace period before freeing the per GT structure holding the lock.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/pm: fix null pointer access Writing a string without delimiters (' ', '\n', '\0') to the under gpu_od/fan_ctrl sysfs or pp_power_profile_mode for the CUSTOM profile will result in a null pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: core: Check for rtd == NULL in snd_soc_remove_pcm_runtime() snd_soc_remove_pcm_runtime() might be called with rtd == NULL which will leads to null pointer dereference. This was reproduced with topology loading and marking a link as ignore due to missing hardware component on the system. On module removal the soc_tplg_remove_link() would call snd_soc_remove_pcm_runtime() with rtd == NULL since the link was ignored, no runtime was created.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: loop: Avoid updating block size under exclusive owner Syzbot came up with a reproducer where a loop device block size is changed underneath a mounted filesystem. This causes a mismatch between the block device block size and the block size stored in the superblock causing confusion in various places such as fs/buffer.c. The particular issue triggered by syzbot was a warning in __getblk_slow() due to requested buffer size not matching block device block size. Fix the problem by getting exclusive hold of the loop device to change its block size. This fails if somebody (such as filesystem) has already an exclusive ownership of the block device and thus prevents modifying the loop device under some exclusive owner which doesn't expect it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gfs2: Validate i_depth for exhash directories A fuzzer test introduced corruption that ends up with a depth of 0 in dir_e_read(), causing an undefined shift by 32 at: index = hash >> (32 - dip->i_depth); As calculated in an open-coded way in dir_make_exhash(), the minimum depth for an exhash directory is ilog2(sdp->sd_hash_ptrs) and 0 is invalid as sdp->sd_hash_ptrs is fixed as sdp->bsize / 16 at mount time. So we can avoid the undefined behaviour by checking for depth values lower than the minimum in gfs2_dinode_in(). Values greater than the maximum are already being checked for there. Also switch the calculation in dir_make_exhash() to use ilog2() to clarify how the depth is calculated. Tested with the syzkaller repro.c and xfstests '-g quick'.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: kcm: Fix race condition in kcm_unattach() syzbot found a race condition when kcm_unattach(psock) and kcm_release(kcm) are executed at the same time. kcm_unattach() is missing a check of the flag kcm->tx_stopped before calling queue_work(). If the kcm has a reserved psock, kcm_unattach() might get executed between cancel_work_sync() and unreserve_psock() in kcm_release(), requeuing kcm->tx_work right before kcm gets freed in kcm_done(). Remove kcm->tx_stopped and replace it by the less error-prone disable_work_sync().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: fix refcount leak on table dump There is a reference count leak in ctnetlink_dump_table(): if (res < 0) { nf_conntrack_get(&ct->ct_general); // HERE cb->args[1] = (unsigned long)ct; ... While its very unlikely, its possible that ct == last. If this happens, then the refcount of ct was already incremented. This 2nd increment is never undone. This prevents the conntrack object from being released, which in turn keeps prevents cnet->count from dropping back to 0. This will then block the netns dismantle (or conntrack rmmod) as nf_conntrack_cleanup_net_list() will wait forever. This can be reproduced by running conntrack_resize.sh selftest in a loop. It takes ~20 minutes for me on a preemptible kernel on average before I see a runaway kworker spinning in nf_conntrack_cleanup_net_list. One fix would to change this to: if (res < 0) { if (ct != last) nf_conntrack_get(&ct->ct_general); But this reference counting isn't needed in the first place. We can just store a cookie value instead. A followup patch will do the same for ctnetlink_exp_dump_table, it looks to me as if this has the same problem and like ctnetlink_dump_table, we only need a 'skip hint', not the actual object so we can apply the same cookie strategy there as well.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: habanalabs: fix UAF in export_dmabuf() As soon as we'd inserted a file reference into descriptor table, another thread could close it. That's fine for the case when all we are doing is returning that descriptor to userland (it's a race, but it's a userland race and there's nothing the kernel can do about it). However, if we follow fd_install() with any kind of access to objects that would be destroyed on close (be it the struct file itself or anything destroyed by its ->release()), we have a UAF. dma_buf_fd() is a combination of reserving a descriptor and fd_install(). habanalabs export_dmabuf() calls it and then proceeds to access the objects destroyed on close. In particular, it grabs an extra reference to another struct file that will be dropped as part of ->release() for ours; that "will be" is actually "might have already been". Fix that by reserving descriptor before anything else and do fd_install() only when everything had been set up. As a side benefit, we no longer have the failure exit with file already created, but reference to underlying file (as well as ->dmabuf_export_cnt, etc.) not grabbed yet; unlike dma_buf_fd(), fd_install() can't fail.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: handle get_client_locked() failure in nfsd4_setclientid_confirm() Lei Lu recently reported that nfsd4_setclientid_confirm() did not check the return value from get_client_locked(). a SETCLIENTID_CONFIRM could race with a confirmed client expiring and fail to get a reference. That could later lead to a UAF. Fix this by getting a reference early in the case where there is an extant confirmed client. If that fails then treat it as if there were no confirmed client found at all. In the case where the unconfirmed client is expiring, just fail and return the result from get_client_locked().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: add phy_mask for ax88772 mdio bus Without setting phy_mask for ax88772 mdio bus, current driver may create at most 32 mdio phy devices with phy address range from 0x00 ~ 0x1f. DLink DUB-E100 H/W Ver B1 is such a device. However, only one main phy device will bind to net phy driver. This is creating issue during system suspend/resume since phy_polling_mode() in phy_state_machine() will directly deference member of phydev->drv for non-main phy devices. Then NULL pointer dereference issue will occur. Due to only external phy or internal phy is necessary, add phy_mask for ax88772 mdio bus to workarnoud the issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netlink: avoid infinite retry looping in netlink_unicast() netlink_attachskb() checks for the socket's read memory allocation constraints. Firstly, it has: rmem < READ_ONCE(sk->sk_rcvbuf) to check if the just increased rmem value fits into the socket's receive buffer. If not, it proceeds and tries to wait for the memory under: rmem + skb->truesize > READ_ONCE(sk->sk_rcvbuf) The checks don't cover the case when skb->truesize + sk->sk_rmem_alloc is equal to sk->sk_rcvbuf. Thus the function neither successfully accepts these conditions, nor manages to reschedule the task - and is called in retry loop for indefinite time which is caught as: rcu: INFO: rcu_sched self-detected stall on CPU rcu: 0-....: (25999 ticks this GP) idle=ef2/1/0x4000000000000000 softirq=262269/262269 fqs=6212 (t=26000 jiffies g=230833 q=259957) NMI backtrace for cpu 0 CPU: 0 PID: 22 Comm: kauditd Not tainted 5.10.240 #68 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc42 04/01/2014 Call Trace: <IRQ> dump_stack lib/dump_stack.c:120 nmi_cpu_backtrace.cold lib/nmi_backtrace.c:105 nmi_trigger_cpumask_backtrace lib/nmi_backtrace.c:62 rcu_dump_cpu_stacks kernel/rcu/tree_stall.h:335 rcu_sched_clock_irq.cold kernel/rcu/tree.c:2590 update_process_times kernel/time/timer.c:1953 tick_sched_handle kernel/time/tick-sched.c:227 tick_sched_timer kernel/time/tick-sched.c:1399 __hrtimer_run_queues kernel/time/hrtimer.c:1652 hrtimer_interrupt kernel/time/hrtimer.c:1717 __sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1113 asm_call_irq_on_stack arch/x86/entry/entry_64.S:808 </IRQ> netlink_attachskb net/netlink/af_netlink.c:1234 netlink_unicast net/netlink/af_netlink.c:1349 kauditd_send_queue kernel/audit.c:776 kauditd_thread kernel/audit.c:897 kthread kernel/kthread.c:328 ret_from_fork arch/x86/entry/entry_64.S:304 Restore the original behavior of the check which commit in Fixes accidentally missed when restructuring the code. Found by Linux Verification Center (linuxtesting.org).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Validate UAC3 power domain descriptors, too UAC3 power domain descriptors need to be verified with its variable bLength for avoiding the unexpected OOB accesses by malicious firmware, too.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring/net: commit partial buffers on retry Ring provided buffers are potentially only valid within the single execution context in which they were acquired. io_uring deals with this and invalidates them on retry. But on the networking side, if MSG_WAITALL is set, or if the socket is of the streaming type and too little was processed, then it will hang on to the buffer rather than recycle or commit it. This is problematic for two reasons: 1) If someone unregisters the provided buffer ring before a later retry, then the req->buf_list will no longer be valid. 2) If multiple sockers are using the same buffer group, then multiple receives can consume the same memory. This can cause data corruption in the application, as either receive could land in the same userspace buffer. Fix this by disallowing partial retries from pinning a provided buffer across multiple executions, if ring provided buffers are used.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_reject: don't leak dst refcount for loopback packets recent patches to add a WARN() when replacing skb dst entry found an old bug: WARNING: include/linux/skbuff.h:1165 skb_dst_check_unset include/linux/skbuff.h:1164 [inline] WARNING: include/linux/skbuff.h:1165 skb_dst_set include/linux/skbuff.h:1210 [inline] WARNING: include/linux/skbuff.h:1165 nf_reject_fill_skb_dst+0x2a4/0x330 net/ipv4/netfilter/nf_reject_ipv4.c:234 [..] Call Trace: nf_send_unreach+0x17b/0x6e0 net/ipv4/netfilter/nf_reject_ipv4.c:325 nft_reject_inet_eval+0x4bc/0x690 net/netfilter/nft_reject_inet.c:27 expr_call_ops_eval net/netfilter/nf_tables_core.c:237 [inline] .. This is because blamed commit forgot about loopback packets. Such packets already have a dst_entry attached, even at PRE_ROUTING stage. Instead of checking hook just check if the skb already has a route attached to it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/mm: Do not map lowcore with identity mapping Since the identity mapping is pinned to address zero the lowcore is always also mapped to address zero, this happens regardless of the relocate_lowcore command line option. If the option is specified the lowcore is mapped twice, instead of only once. This means that NULL pointer accesses will succeed instead of causing an exception (low address protection still applies, but covers only parts). To fix this never map the first two pages of physical memory with the identity mapping.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/smc: fix UAF on smcsk after smc_listen_out() BPF CI testing report a UAF issue: [ 16.446633] BUG: kernel NULL pointer dereference, address: 000000000000003 0 [ 16.447134] #PF: supervisor read access in kernel mod e [ 16.447516] #PF: error_code(0x0000) - not-present pag e [ 16.447878] PGD 0 P4D 0 [ 16.448063] Oops: Oops: 0000 [#1] PREEMPT SMP NOPT I [ 16.448409] CPU: 0 UID: 0 PID: 9 Comm: kworker/0:1 Tainted: G OE 6.13.0-rc3-g89e8a75fda73-dirty #4 2 [ 16.449124] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODUL E [ 16.449502] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/201 4 [ 16.450201] Workqueue: smc_hs_wq smc_listen_wor k [ 16.450531] RIP: 0010:smc_listen_work+0xc02/0x159 0 [ 16.452158] RSP: 0018:ffffb5ab40053d98 EFLAGS: 0001024 6 [ 16.452526] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 000000000000030 0 [ 16.452994] RDX: 0000000000000280 RSI: 00003513840053f0 RDI: 000000000000000 0 [ 16.453492] RBP: ffffa097808e3800 R08: ffffa09782dba1e0 R09: 000000000000000 5 [ 16.453987] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0978274640 0 [ 16.454497] R13: 0000000000000000 R14: 0000000000000000 R15: ffffa09782d4092 0 [ 16.454996] FS: 0000000000000000(0000) GS:ffffa097bbc00000(0000) knlGS:000000000000000 0 [ 16.455557] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003 3 [ 16.455961] CR2: 0000000000000030 CR3: 0000000102788004 CR4: 0000000000770ef 0 [ 16.456459] PKRU: 5555555 4 [ 16.456654] Call Trace : [ 16.456832] <TASK > [ 16.456989] ? __die+0x23/0x7 0 [ 16.457215] ? page_fault_oops+0x180/0x4c 0 [ 16.457508] ? __lock_acquire+0x3e6/0x249 0 [ 16.457801] ? exc_page_fault+0x68/0x20 0 [ 16.458080] ? asm_exc_page_fault+0x26/0x3 0 [ 16.458389] ? smc_listen_work+0xc02/0x159 0 [ 16.458689] ? smc_listen_work+0xc02/0x159 0 [ 16.458987] ? lock_is_held_type+0x8f/0x10 0 [ 16.459284] process_one_work+0x1ea/0x6d 0 [ 16.459570] worker_thread+0x1c3/0x38 0 [ 16.459839] ? __pfx_worker_thread+0x10/0x1 0 [ 16.460144] kthread+0xe0/0x11 0 [ 16.460372] ? __pfx_kthread+0x10/0x1 0 [ 16.460640] ret_from_fork+0x31/0x5 0 [ 16.460896] ? __pfx_kthread+0x10/0x1 0 [ 16.461166] ret_from_fork_asm+0x1a/0x3 0 [ 16.461453] </TASK > [ 16.461616] Modules linked in: bpf_testmod(OE) [last unloaded: bpf_testmod(OE) ] [ 16.462134] CR2: 000000000000003 0 [ 16.462380] ---[ end trace 0000000000000000 ]--- [ 16.462710] RIP: 0010:smc_listen_work+0xc02/0x1590 The direct cause of this issue is that after smc_listen_out_connected(), newclcsock->sk may be NULL since it will releases the smcsk. Therefore, if the application closes the socket immediately after accept, newclcsock->sk can be NULL. A possible execution order could be as follows: smc_listen_work | userspace ----------------------------------------------------------------- lock_sock(sk) | smc_listen_out_connected() | | \- smc_listen_out | | | \- release_sock | | |- sk->sk_data_ready() | | fd = accept(); | close(fd); | \- socket->sk = NULL; /* newclcsock->sk is NULL now */ SMC_STAT_SERV_SUCC_INC(sock_net(newclcsock->sk)) Since smc_listen_out_connected() will not fail, simply swapping the order of the code can easily fix this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gve: prevent ethtool ops after shutdown A crash can occur if an ethtool operation is invoked after shutdown() is called. shutdown() is invoked during system shutdown to stop DMA operations without performing expensive deallocations. It is discouraged to unregister the netdev in this path, so the device may still be visible to userspace and kernel helpers. In gve, shutdown() tears down most internal data structures. If an ethtool operation is dispatched after shutdown(), it will dereference freed or NULL pointers, leading to a kernel panic. While graceful shutdown normally quiesces userspace before invoking the reboot syscall, forced shutdowns (as observed on GCP VMs) can still trigger this path. Fix by calling netif_device_detach() in shutdown(). This marks the device as detached so the ethtool ioctl handler will skip dispatching operations to the driver.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: asix_devices: Fix PHY address mask in MDIO bus initialization Syzbot reported shift-out-of-bounds exception on MDIO bus initialization. The PHY address should be masked to 5 bits (0-31). Without this mask, invalid PHY addresses could be used, potentially causing issues with MDIO bus operations. Fix this by masking the PHY address with 0x1f (31 decimal) to ensure it stays within the valid range.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ppp: fix race conditions in ppp_fill_forward_path ppp_fill_forward_path() has two race conditions: 1. The ppp->channels list can change between list_empty() and list_first_entry(), as ppp_lock() is not held. If the only channel is deleted in ppp_disconnect_channel(), list_first_entry() may access an empty head or a freed entry, and trigger a panic. 2. pch->chan can be NULL. When ppp_unregister_channel() is called, pch->chan is set to NULL before pch is removed from ppp->channels. Fix these by using a lockless RCU approach: - Use list_first_or_null_rcu() to safely test and access the first list entry. - Convert list modifications on ppp->channels to their RCU variants and add synchronize_net() after removal. - Check for a NULL pch->chan before dereferencing it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Add null pointer check in mod_hdcp_hdcp1_create_session() The function mod_hdcp_hdcp1_create_session() calls the function get_first_active_display(), but does not check its return value. The return value is a null pointer if the display list is empty. This will lead to a null pointer dereference. Add a null pointer check for get_first_active_display() and return MOD_HDCP_STATUS_DISPLAY_NOT_FOUND if the function return null. This is similar to the commit c3e9826a2202 ("drm/amd/display: Add null pointer check for get_first_active_display()"). (cherry picked from commit 5e43eb3cd731649c4f8b9134f857be62a416c893)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Fix backlog accounting in qdisc_dequeue_internal This issue applies for the following qdiscs: hhf, fq, fq_codel, and fq_pie, and occurs in their change handlers when adjusting to the new limit. The problem is the following in the values passed to the subsequent qdisc_tree_reduce_backlog call given a tbf parent: When the tbf parent runs out of tokens, skbs of these qdiscs will be placed in gso_skb. Their peek handlers are qdisc_peek_dequeued, which accounts for both qlen and backlog. However, in the case of qdisc_dequeue_internal, ONLY qlen is accounted for when pulling from gso_skb. This means that these qdiscs are missing a qdisc_qstats_backlog_dec when dropping packets to satisfy the new limit in their change handlers. One can observe this issue with the following (with tc patched to support a limit of 0): export TARGET=fq tc qdisc del dev lo root tc qdisc add dev lo root handle 1: tbf rate 8bit burst 100b latency 1ms tc qdisc replace dev lo handle 3: parent 1:1 $TARGET limit 1000 echo ''; echo 'add child'; tc -s -d qdisc show dev lo ping -I lo -f -c2 -s32 -W0.001 127.0.0.1 2>&1 >/dev/null echo ''; echo 'after ping'; tc -s -d qdisc show dev lo tc qdisc change dev lo handle 3: parent 1:1 $TARGET limit 0 echo ''; echo 'after limit drop'; tc -s -d qdisc show dev lo tc qdisc replace dev lo handle 2: parent 1:1 sfq echo ''; echo 'post graft'; tc -s -d qdisc show dev lo The second to last show command shows 0 packets but a positive number (74) of backlog bytes. The problem becomes clearer in the last show command, where qdisc_purge_queue triggers qdisc_tree_reduce_backlog with the positive backlog and causes an underflow in the tbf parent's backlog (4096 Mb instead of 0). To fix this issue, the codepath for all clients of qdisc_dequeue_internal has been simplified: codel, pie, hhf, fq, fq_pie, and fq_codel. qdisc_dequeue_internal handles the backlog adjustments for all cases that do not directly use the dequeue handler. The old fq_codel_change limit adjustment loop accumulated the arguments to the subsequent qdisc_tree_reduce_backlog call through the cstats field. However, this is confusing and error prone as fq_codel_dequeue could also potentially mutate this field (which qdisc_dequeue_internal calls in the non gso_skb case), so we have unified the code here with other qdiscs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd/hsmp: Ensure sock->metric_tbl_addr is non-NULL If metric table address is not allocated, accessing metrics_bin will result in a NULL pointer dereference, so add a check.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/nvif: Fix potential memory leak in nvif_vmm_ctor(). When the nvif_vmm_type is invalid, we will return error directly without freeing the args in nvif_vmm_ctor(), which leading a memory leak. Fix it by setting the ret -EINVAL and goto done.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/cpu/hygon: Add missing resctrl_cpu_detect() in bsp_init helper Since 923f3a2b48bd ("x86/resctrl: Query LLC monitoring properties once during boot") resctrl_cpu_detect() has been moved from common CPU initialization code to the vendor-specific BSP init helper, while Hygon didn't put that call in their code. This triggers a division by zero fault during early booting stage on our machines with X86_FEATURE_CQM* supported, where get_rdt_mon_resources() tries to calculate mon_l3_config with uninitialized boot_cpu_data.x86_cache_occ_scale. Add the missing resctrl_cpu_detect() in the Hygon BSP init helper. [ bp: Massage commit message. ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of zero-length records on the rx_list Each recvmsg() call must process either - only contiguous DATA records (any number of them) - one non-DATA record If the next record has different type than what has already been processed we break out of the main processing loop. If the record has already been decrypted (which may be the case for TLS 1.3 where we don't know type until decryption) we queue the pending record to the rx_list. Next recvmsg() will pick it up from there. Queuing the skb to rx_list after zero-copy decrypt is not possible, since in that case we decrypted directly to the user space buffer, and we don't have an skb to queue (darg.skb points to the ciphertext skb for access to metadata like length). Only data records are allowed zero-copy, and we break the processing loop after each non-data record. So we should never zero-copy and then find out that the record type has changed. The corner case we missed is when the initial record comes from rx_list, and it's zero length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Limit access to parser->buffer when trace_get_user failed When the length of the string written to set_ftrace_filter exceeds FTRACE_BUFF_MAX, the following KASAN alarm will be triggered: BUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0 Read of size 1 at addr ffff0000d00bd5ba by task ash/165 CPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x34/0x50 (C) dump_stack_lvl+0xa0/0x158 print_address_description.constprop.0+0x88/0x398 print_report+0xb0/0x280 kasan_report+0xa4/0xf0 __asan_report_load1_noabort+0x20/0x30 strsep+0x18c/0x1b0 ftrace_process_regex.isra.0+0x100/0x2d8 ftrace_regex_release+0x484/0x618 __fput+0x364/0xa58 ____fput+0x28/0x40 task_work_run+0x154/0x278 do_notify_resume+0x1f0/0x220 el0_svc+0xec/0xf0 el0t_64_sync_handler+0xa0/0xe8 el0t_64_sync+0x1ac/0x1b0 The reason is that trace_get_user will fail when processing a string longer than FTRACE_BUFF_MAX, but not set the end of parser->buffer to 0. Then an OOB access will be triggered in ftrace_regex_release-> ftrace_process_regex->strsep->strpbrk. We can solve this problem by limiting access to parser->buffer when trace_get_user failed.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: Fix use of uninitialized memory in do_insn_ioctl() and do_insnlist_ioctl() syzbot reports a KMSAN kernel-infoleak in `do_insn_ioctl()`. A kernel buffer is allocated to hold `insn->n` samples (each of which is an `unsigned int`). For some instruction types, `insn->n` samples are copied back to user-space, unless an error code is being returned. The problem is that not all the instruction handlers that need to return data to userspace fill in the whole `insn->n` samples, so that there is an information leak. There is a similar syzbot report for `do_insnlist_ioctl()`, although it does not have a reproducer for it at the time of writing. One culprit is `insn_rw_emulate_bits()` which is used as the handler for `INSN_READ` or `INSN_WRITE` instructions for subdevices that do not have a specific handler for that instruction, but do have an `INSN_BITS` handler. For `INSN_READ` it only fills in at most 1 sample, so if `insn->n` is greater than 1, the remaining `insn->n - 1` samples copied to userspace will be uninitialized kernel data. Another culprit is `vm80xx_ai_insn_read()` in the "vm80xx" driver. It never returns an error, even if it fails to fill the buffer. Fix it in `do_insn_ioctl()` and `do_insnlist_ioctl()` by making sure that uninitialized parts of the allocated buffer are zeroed before handling each instruction. Thanks to Arnaud Lecomte for their fix to `do_insn_ioctl()`. That fix replaced the call to `kmalloc_array()` with `kcalloc()`, but it is not always necessary to clear the whole buffer.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: pcl726: Prevent invalid irq number The reproducer passed in an irq number(0x80008000) that was too large, which triggered the oob. Added an interrupt number check to prevent users from passing in an irq number that was too large. If `it->options[1]` is 31, then `1 << it->options[1]` is still invalid because it shifts a 1-bit into the sign bit (which is UB in C). Possible solutions include reducing the upper bound on the `it->options[1]` value to 30 or lower, or using `1U << it->options[1]`. The old code would just not attempt to request the IRQ if the `options[1]` value were invalid. And it would still configure the device without interrupts even if the call to `request_irq` returned an error. So it would be better to combine this test with the test below.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: comedi: Make insn_rw_emulate_bits() do insn->n samples The `insn_rw_emulate_bits()` function is used as a default handler for `INSN_READ` instructions for subdevices that have a handler for `INSN_BITS` but not for `INSN_READ`. Similarly, it is used as a default handler for `INSN_WRITE` instructions for subdevices that have a handler for `INSN_BITS` but not for `INSN_WRITE`. It works by emulating the `INSN_READ` or `INSN_WRITE` instruction handling with a constructed `INSN_BITS` instruction. However, `INSN_READ` and `INSN_WRITE` instructions are supposed to be able read or write multiple samples, indicated by the `insn->n` value, but `insn_rw_emulate_bits()` currently only handles a single sample. For `INSN_READ`, the comedi core will copy `insn->n` samples back to user-space. (That triggered KASAN kernel-infoleak errors when `insn->n` was greater than 1, but that is being fixed more generally elsewhere in the comedi core.) Make `insn_rw_emulate_bits()` either handle `insn->n` samples, or return an error, to conform to the general expectation for `INSN_READ` and `INSN_WRITE` handlers.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: light: as73211: Ensure buffer holes are zeroed Given that the buffer is copied to a kfifo that ultimately user space can read, ensure we zero it.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fs/buffer: fix use-after-free when call bh_read() helper There's issue as follows: BUG: KASAN: stack-out-of-bounds in end_buffer_read_sync+0xe3/0x110 Read of size 8 at addr ffffc9000168f7f8 by task swapper/3/0 CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted 6.16.0-862.14.0.6.x86_64 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) Call Trace: <IRQ> dump_stack_lvl+0x55/0x70 print_address_description.constprop.0+0x2c/0x390 print_report+0xb4/0x270 kasan_report+0xb8/0xf0 end_buffer_read_sync+0xe3/0x110 end_bio_bh_io_sync+0x56/0x80 blk_update_request+0x30a/0x720 scsi_end_request+0x51/0x2b0 scsi_io_completion+0xe3/0x480 ? scsi_device_unbusy+0x11e/0x160 blk_complete_reqs+0x7b/0x90 handle_softirqs+0xef/0x370 irq_exit_rcu+0xa5/0xd0 sysvec_apic_timer_interrupt+0x6e/0x90 </IRQ> Above issue happens when do ntfs3 filesystem mount, issue may happens as follows: mount IRQ ntfs_fill_super read_cache_page do_read_cache_folio filemap_read_folio mpage_read_folio do_mpage_readpage ntfs_get_block_vbo bh_read submit_bh wait_on_buffer(bh); blk_complete_reqs scsi_io_completion scsi_end_request blk_update_request end_bio_bh_io_sync end_buffer_read_sync __end_buffer_read_notouch unlock_buffer wait_on_buffer(bh);--> return will return to caller put_bh --> trigger stack-out-of-bounds In the mpage_read_folio() function, the stack variable 'map_bh' is passed to ntfs_get_block_vbo(). Once unlock_buffer() unlocks and wait_on_buffer() returns to continue processing, the stack variable is likely to be reclaimed. Consequently, during the end_buffer_read_sync() process, calling put_bh() may result in stack overrun. If the bh is not allocated on the stack, it belongs to a folio. Freeing a buffer head which belongs to a folio is done by drop_buffers() which will fail to free buffers which are still locked. So it is safe to call put_bh() before __end_buffer_read_notouch().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Avoid a NULL pointer dereference [WHY] Although unlikely drm_atomic_get_new_connector_state() or drm_atomic_get_old_connector_state() can return NULL. [HOW] Check returns before dereference. (cherry picked from commit 1e5e8d672fec9f2ab352be121be971877bff2af9)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/sclp: Fix SCCB present check Tracing code called by the SCLP interrupt handler contains early exits if the SCCB address associated with an interrupt is NULL. This check is performed after physical to virtual address translation. If the kernel identity mapping does not start at address zero, the resulting virtual address is never zero, so that the NULL checks won't work. Subsequently this may result in incorrect accesses to the first page of the identity mapping. Fix this by introducing a function that handles the NULL case before address translation.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Flush delayed SKBs while releasing RXE resources When skb packets are sent out, these skb packets still depends on the rxe resources, for example, QP, sk, when these packets are destroyed. If these rxe resources are released when the skb packets are destroyed, the call traces will appear. To avoid skb packets hang too long time in some network devices, a timestamp is added when these skb packets are created. If these skb packets hang too long time in network devices, these network devices can free these skb packets to release rxe resources.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFS: Fix a race when updating an existing write After nfs_lock_and_join_requests() tests for whether the request is still attached to the mapping, nothing prevents a call to nfs_inode_remove_request() from succeeding until we actually lock the page group. The reason is that whoever called nfs_inode_remove_request() doesn't necessarily have a lock on the page group head. So in order to avoid races, let's take the page group lock earlier in nfs_lock_and_join_requests(), and hold it across the removal of the request in nfs_inode_remove_request().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring/futex: ensure io_futex_wait() cleans up properly on failure The io_futex_data is allocated upfront and assigned to the io_kiocb async_data field, but the request isn't marked with REQ_F_ASYNC_DATA at that point. Those two should always go together, as the flag tells io_uring whether the field is valid or not. Additionally, on failure cleanup, the futex handler frees the data but does not clear ->async_data. Clear the data and the flag in the error path as well. Thanks to Trend Micro Zero Day Initiative and particularly ReDress for reporting this.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/damon/ops-common: ignore migration request to invalid nodes damon_migrate_pages() tries migration even if the target node is invalid. If users mistakenly make such invalid requests via DAMOS_MIGRATE_{HOT,COLD} action, the below kernel BUG can happen. [ 7831.883495] BUG: unable to handle page fault for address: 0000000000001f48 [ 7831.884160] #PF: supervisor read access in kernel mode [ 7831.884681] #PF: error_code(0x0000) - not-present page [ 7831.885203] PGD 0 P4D 0 [ 7831.885468] Oops: Oops: 0000 [#1] SMP PTI [ 7831.885852] CPU: 31 UID: 0 PID: 94202 Comm: kdamond.0 Not tainted 6.16.0-rc5-mm-new-damon+ #93 PREEMPT(voluntary) [ 7831.886913] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-4.el9 04/01/2014 [ 7831.887777] RIP: 0010:__alloc_frozen_pages_noprof (include/linux/mmzone.h:1724 include/linux/mmzone.h:1750 mm/page_alloc.c:4936 mm/page_alloc.c:5137) [...] [ 7831.895953] Call Trace: [ 7831.896195] <TASK> [ 7831.896397] __folio_alloc_noprof (mm/page_alloc.c:5183 mm/page_alloc.c:5192) [ 7831.896787] migrate_pages_batch (mm/migrate.c:1189 mm/migrate.c:1851) [ 7831.897228] ? __pfx_alloc_migration_target (mm/migrate.c:2137) [ 7831.897735] migrate_pages (mm/migrate.c:2078) [ 7831.898141] ? __pfx_alloc_migration_target (mm/migrate.c:2137) [ 7831.898664] damon_migrate_folio_list (mm/damon/ops-common.c:321 mm/damon/ops-common.c:354) [ 7831.899140] damon_migrate_pages (mm/damon/ops-common.c:405) [...] Add a target node validity check in damon_migrate_pages(). The validity check is stolen from that of do_pages_move(), which is being used for the move_pages() system call.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: pfr_update: Fix the driver update version check The security-version-number check should be used rather than the runtime version check for driver updates. Otherwise, the firmware update would fail when the update binary had a lower runtime version number than the current one. [ rjw: Changelog edits ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net, hsr: reject HSR frame if skb can't hold tag Receiving HSR frame with insufficient space to hold HSR tag in the skb can result in a crash (kernel BUG): [ 45.390915] skbuff: skb_under_panic: text:ffffffff86f32cac len:26 put:14 head:ffff888042418000 data:ffff888042417ff4 tail:0xe end:0x180 dev:bridge_slave_1 [ 45.392559] ------------[ cut here ]------------ [ 45.392912] kernel BUG at net/core/skbuff.c:211! [ 45.393276] Oops: invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN NOPTI [ 45.393809] CPU: 1 UID: 0 PID: 2496 Comm: reproducer Not tainted 6.15.0 #12 PREEMPT(undef) [ 45.394433] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 45.395273] RIP: 0010:skb_panic+0x15b/0x1d0 <snip registers, remove unreliable trace> [ 45.402911] Call Trace: [ 45.403105] <IRQ> [ 45.404470] skb_push+0xcd/0xf0 [ 45.404726] br_dev_queue_push_xmit+0x7c/0x6c0 [ 45.406513] br_forward_finish+0x128/0x260 [ 45.408483] __br_forward+0x42d/0x590 [ 45.409464] maybe_deliver+0x2eb/0x420 [ 45.409763] br_flood+0x174/0x4a0 [ 45.410030] br_handle_frame_finish+0xc7c/0x1bc0 [ 45.411618] br_handle_frame+0xac3/0x1230 [ 45.413674] __netif_receive_skb_core.constprop.0+0x808/0x3df0 [ 45.422966] __netif_receive_skb_one_core+0xb4/0x1f0 [ 45.424478] __netif_receive_skb+0x22/0x170 [ 45.424806] process_backlog+0x242/0x6d0 [ 45.425116] __napi_poll+0xbb/0x630 [ 45.425394] net_rx_action+0x4d1/0xcc0 [ 45.427613] handle_softirqs+0x1a4/0x580 [ 45.427926] do_softirq+0x74/0x90 [ 45.428196] </IRQ> This issue was found by syzkaller. The panic happens in br_dev_queue_push_xmit() once it receives a corrupted skb with ETH header already pushed in linear data. When it attempts the skb_push() call, there's not enough headroom and skb_push() panics. The corrupted skb is put on the queue by HSR layer, which makes a sequence of unintended transformations when it receives a specific corrupted HSR frame (with incomplete TAG). Fix it by dropping and consuming frames that are not long enough to contain both ethernet and hsr headers. Alternative fix would be to check for enough headroom before skb_push() in br_dev_queue_push_xmit(). In the reproducer, this is injected via AF_PACKET, but I don't easily see why it couldn't be sent over the wire from adjacent network. Further Details: In the reproducer, the following network interface chain is set up: ────────────────┐ ────────────────┐ | veth0_to_hsr ├───┤ hsr_slave0 ┼───┐ ────────────────┘ ────────────────┘ | | ──────┐ ├─┤ hsr0 ├───┐ | ──────┘ | ────────────────┐ ────────────────┐ | | ────────┐ | veth1_to_hsr ┼───┤ hsr_slave1 ├───┘ ┤ | ────────────────┘ ────────────────┘ ┼ bridge | || | | ────────┘ | ───────┐ | | ... ├──────┘ ───────┘ To trigger the events leading up to crash, reproducer sends a corrupted HSR fr ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: fix a Null pointer dereference vulnerability [Why] A null pointer dereference vulnerability exists in the AMD display driver's (DC module) cleanup function dc_destruct(). When display control context (dc->ctx) construction fails (due to memory allocation failure), this pointer remains NULL. During subsequent error handling when dc_destruct() is called, there's no NULL check before dereferencing the perf_trace member (dc->ctx->perf_trace), causing a kernel null pointer dereference crash. [How] Check if dc->ctx is non-NULL before dereferencing. (Updated commit text and removed unnecessary error message) (cherry picked from commit 9dd8e2ba268c636c240a918e0a31e6feaee19404)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Destroy KFD debugfs after destroy KFD wq Since KFD proc content was moved to kernel debugfs, we can't destroy KFD debugfs before kfd_process_destroy_wq. Move kfd_process_destroy_wq prior to kfd_debugfs_fini to fix a kernel NULL pointer problem. It happens when /sys/kernel/debug/kfd was already destroyed in kfd_debugfs_fini but kfd_process_destroy_wq calls kfd_debugfs_remove_process. This line debugfs_remove_recursive(entry->proc_dentry); tries to remove /sys/kernel/debug/kfd/proc/<pid> while /sys/kernel/debug/kfd is already gone. It hangs the kernel by kernel NULL pointer. (cherry picked from commit 0333052d90683d88531558dcfdbf2525cc37c233)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: check if hubbub is NULL in debugfs/amdgpu_dm_capabilities HUBBUB structure is not initialized on DCE hardware, so check if it is NULL to avoid null dereference while accessing amdgpu_dm_capabilities file in debugfs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: venus: protect against spurious interrupts during probe Make sure the interrupt handler is initialized before the interrupt is registered. If the IRQ is registered before hfi_create(), it's possible that an interrupt fires before the handler setup is complete, leading to a NULL dereference. This error condition has been observed during system boot on Rb3Gen2.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: venus: Add a check for packet size after reading from shared memory Add a check to ensure that the packet size does not exceed the number of available words after reading the packet header from shared memory. This ensures that the size provided by the firmware is safe to process and prevent potential out-of-bounds memory access.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls Both the ACE and CSI driver are missing a mei_cldev_disable() call in their remove() function. This causes the mei_cl client to stay part of the mei_device->file_list list even though its memory is freed by mei_cl_bus_dev_release() calling kfree(cldev->cl). This leads to a use-after-free when mei_vsc_remove() runs mei_stop() which first removes all mei bus devices calling mei_ace_remove() and mei_csi_remove() followed by mei_cl_bus_dev_release() and then calls mei_cl_all_disconnect() which walks over mei_device->file_list dereferecing the just freed cldev->cl. And mei_vsc_remove() it self is run at shutdown because of the platform_device_unregister(tp->pdev) in vsc_tp_shutdown() When building a kernel with KASAN this leads to the following KASAN report: [ 106.634504] ================================================================== [ 106.634623] BUG: KASAN: slab-use-after-free in mei_cl_set_disconnected (drivers/misc/mei/client.c:783) mei [ 106.634683] Read of size 4 at addr ffff88819cb62018 by task systemd-shutdow/1 [ 106.634729] [ 106.634767] Tainted: [E]=UNSIGNED_MODULE [ 106.634770] Hardware name: Dell Inc. XPS 16 9640/09CK4V, BIOS 1.12.0 02/10/2025 [ 106.634773] Call Trace: [ 106.634777] <TASK> ... [ 106.634871] kasan_report (mm/kasan/report.c:221 mm/kasan/report.c:636) [ 106.634901] mei_cl_set_disconnected (drivers/misc/mei/client.c:783) mei [ 106.634921] mei_cl_all_disconnect (drivers/misc/mei/client.c:2165 (discriminator 4)) mei [ 106.634941] mei_reset (drivers/misc/mei/init.c:163) mei ... [ 106.635042] mei_stop (drivers/misc/mei/init.c:348) mei [ 106.635062] mei_vsc_remove (drivers/misc/mei/mei_dev.h:784 drivers/misc/mei/platform-vsc.c:393) mei_vsc [ 106.635066] platform_remove (drivers/base/platform.c:1424) Add the missing mei_cldev_disable() calls so that the mei_cl gets removed from mei_device->file_list before it is freed to fix this.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: mt9m114: Fix deadlock in get_frame_interval/set_frame_interval Getting / Setting the frame interval using the V4L2 subdev pad ops get_frame_interval/set_frame_interval causes a deadlock, as the subdev state is locked in the [1] but also in the driver itself. In [2] it's described that the caller is responsible to acquire and release the lock in this case. Therefore, acquiring the lock in the driver is wrong. Remove the lock acquisitions/releases from mt9m114_ifp_get_frame_interval() and mt9m114_ifp_set_frame_interval(). [1] drivers/media/v4l2-core/v4l2-subdev.c - line 1129 [2] Documentation/driver-api/media/v4l2-subdev.rst


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rainshadow-cec: fix TOCTOU race condition in rain_interrupt() In the interrupt handler rain_interrupt(), the buffer full check on rain->buf_len is performed before acquiring rain->buf_lock. This creates a Time-of-Check to Time-of-Use (TOCTOU) race condition, as rain->buf_len is concurrently accessed and modified in the work handler rain_irq_work_handler() under the same lock. Multiple interrupt invocations can race, with each reading buf_len before it becomes full and then proceeding. This can lead to both interrupts attempting to write to the buffer, incrementing buf_len beyond its capacity (DATA_SIZE) and causing a buffer overflow. Fix this bug by moving the spin_lock() to before the buffer full check. This ensures that the check and the subsequent buffer modification are performed atomically, preventing the race condition. An corresponding spin_unlock() is added to the overflow path to correctly release the lock. This possible bug was found by an experimental static analysis tool developed by our team.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: usbtv: Lock resolution while streaming When an program is streaming (ffplay) and another program (qv4l2) changes the TV standard from NTSC to PAL, the kernel crashes due to trying to copy to unmapped memory. Changing from NTSC to PAL increases the resolution in the usbtv struct, but the video plane buffer isn't adjusted, so it overflows. [hverkuil: call vb2_is_busy instead of vb2_is_streaming]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: Validate length in packet header before skb_put() When receiving a vsock packet in the guest, only the virtqueue buffer size is validated prior to virtio_vsock_skb_rx_put(). Unfortunately, virtio_vsock_skb_rx_put() uses the length from the packet header as the length argument to skb_put(), potentially resulting in SKB overflow if the host has gone wonky. Validate the length as advertised by the packet header before calling virtio_vsock_skb_rx_put().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: imu: bno055: fix OOB access of hw_xlate array Fix a potential out-of-bounds array access of the hw_xlate array in bno055.c. In bno055_get_regmask(), hw_xlate was iterated over the length of the vals array instead of the length of the hw_xlate array. In the case of bno055_gyr_scale, the vals array is larger than the hw_xlate array, so this could result in an out-of-bounds access. In practice, this shouldn't happen though because a match should always be found which breaks out of the for loop before it iterates beyond the end of the hw_xlate array. By adding a new hw_xlate_len field to the bno055_sysfs_attr, we can be sure we are iterating over the correct length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: qat - flush misc workqueue during device shutdown Repeated loading and unloading of a device specific QAT driver, for example qat_4xxx, in a tight loop can lead to a crash due to a use-after-free scenario. This occurs when a power management (PM) interrupt triggers just before the device-specific driver (e.g., qat_4xxx.ko) is unloaded, while the core driver (intel_qat.ko) remains loaded. Since the driver uses a shared workqueue (`qat_misc_wq`) across all devices and owned by intel_qat.ko, a deferred routine from the device-specific driver may still be pending in the queue. If this routine executes after the driver is unloaded, it can dereference freed memory, resulting in a page fault and kernel crash like the following: BUG: unable to handle page fault for address: ffa000002e50a01c #PF: supervisor read access in kernel mode RIP: 0010:pm_bh_handler+0x1d2/0x250 [intel_qat] Call Trace: pm_bh_handler+0x1d2/0x250 [intel_qat] process_one_work+0x171/0x340 worker_thread+0x277/0x3a0 kthread+0xf0/0x120 ret_from_fork+0x2d/0x50 To prevent this, flush the misc workqueue during device shutdown to ensure that all pending work items are completed before the driver is unloaded. Note: This approach may slightly increase shutdown latency if the workqueue contains jobs from other devices, but it ensures correctness and stability.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: caam - Prevent crash on suspend with iMX8QM / iMX8ULP Since the CAAM on these SoCs is managed by another ARM core, called the SECO (Security Controller) on iMX8QM and Secure Enclave on iMX8ULP, which also reserves access to register page 0 suspend operations cannot touch this page. This is similar to when running OPTEE, where OPTEE will reserve page 0. Track this situation using a new state variable no_page0, reflecting if page 0 is reserved elsewhere, either by other management cores in SoC or by OPTEE. Replace the optee_en check in suspend/resume with the new check. optee_en cannot go away as it's needed elsewhere to gate OPTEE specific situations. Fixes the following splat at suspend: Internal error: synchronous external abort: 0000000096000010 [#1] SMP Hardware name: Freescale i.MX8QXP ACU6C (DT) pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : readl+0x0/0x18 lr : rd_reg32+0x18/0x3c sp : ffffffc08192ba20 x29: ffffffc08192ba20 x28: ffffff8025190000 x27: 0000000000000000 x26: ffffffc0808ae808 x25: ffffffc080922338 x24: ffffff8020e89090 x23: 0000000000000000 x22: ffffffc080922000 x21: ffffff8020e89010 x20: ffffffc080387ef8 x19: ffffff8020e89010 x18: 000000005d8000d5 x17: 0000000030f35963 x16: 000000008f785f3f x15: 000000003b8ef57c x14: 00000000c418aef8 x13: 00000000f5fea526 x12: 0000000000000001 x11: 0000000000000002 x10: 0000000000000001 x9 : 0000000000000000 x8 : ffffff8025190870 x7 : ffffff8021726880 x6 : 0000000000000002 x5 : ffffff80217268f0 x4 : ffffff8021726880 x3 : ffffffc081200000 x2 : 0000000000000001 x1 : ffffff8020e89010 x0 : ffffffc081200004 Call trace: readl+0x0/0x18 caam_ctrl_suspend+0x30/0xdc dpm_run_callback.constprop.0+0x24/0x5c device_suspend+0x170/0x2e8 dpm_suspend+0xa0/0x104 dpm_suspend_start+0x48/0x50 suspend_devices_and_enter+0x7c/0x45c pm_suspend+0x148/0x160 state_store+0xb4/0xf8 kobj_attr_store+0x14/0x24 sysfs_kf_write+0x38/0x48 kernfs_fop_write_iter+0xb4/0x178 vfs_write+0x118/0x178 ksys_write+0x6c/0xd0 __arm64_sys_write+0x14/0x1c invoke_syscall.constprop.0+0x64/0xb0 do_el0_svc+0x90/0xb0 el0_svc+0x18/0x44 el0t_64_sync_handler+0x88/0x124 el0t_64_sync+0x150/0x154 Code: 88dffc21 88dffc21 5ac00800 d65f03c0 (b9400000)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfs: Fix unbuffered write error handling If all the subrequests in an unbuffered write stream fail, the subrequest collector doesn't update the stream->transferred value and it retains its initial LONG_MAX value. Unfortunately, if all active streams fail, then we take the smallest value of { LONG_MAX, LONG_MAX, ... } as the value to set in wreq->transferred - which is then returned from ->write_iter(). LONG_MAX was chosen as the initial value so that all the streams can be quickly assessed by taking the smallest value of all stream->transferred - but this only works if we've set any of them. Fix this by adding a flag to indicate whether the value in stream->transferred is valid and checking that when we integrate the values. stream->transferred can then be initialised to zero. This was found by running the generic/750 xfstest against cifs with cache=none. It splices data to the target file. Once (if) it has used up all the available scratch space, the writes start failing with ENOSPC. This causes ->write_iter() to fail. However, it was returning wreq->transferred, i.e. LONG_MAX, rather than an error (because it thought the amount transferred was non-zero) and iter_file_splice_write() would then try to clean up that amount of pipe bufferage - leading to an oops when it overran. The kernel log showed: CIFS: VFS: Send error in write = -28 followed by: BUG: kernel NULL pointer dereference, address: 0000000000000008 with: RIP: 0010:iter_file_splice_write+0x3a4/0x520 do_splice+0x197/0x4e0 or: RIP: 0010:pipe_buf_release (include/linux/pipe_fs_i.h:282) iter_file_splice_write (fs/splice.c:755) Also put a warning check into splice to announce if ->write_iter() returned that it had written more than it was asked to.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: 8250: fix panic due to PSLVERR When the PSLVERR_RESP_EN parameter is set to 1, the device generates an error response if an attempt is made to read an empty RBR (Receive Buffer Register) while the FIFO is enabled. In serial8250_do_startup(), calling serial_port_out(port, UART_LCR, UART_LCR_WLEN8) triggers dw8250_check_lcr(), which invokes dw8250_force_idle() and serial8250_clear_and_reinit_fifos(). The latter function enables the FIFO via serial_out(p, UART_FCR, p->fcr). Execution proceeds to the serial_port_in(port, UART_RX). This satisfies the PSLVERR trigger condition. When another CPU (e.g., using printk()) is accessing the UART (UART is busy), the current CPU fails the check (value & ~UART_LCR_SPAR) == (lcr & ~UART_LCR_SPAR) in dw8250_check_lcr(), causing it to enter dw8250_force_idle(). Put serial_port_out(port, UART_LCR, UART_LCR_WLEN8) under the port->lock to fix this issue. Panic backtrace: [ 0.442336] Oops - unknown exception [#1] [ 0.442343] epc : dw8250_serial_in32+0x1e/0x4a [ 0.442351] ra : serial8250_do_startup+0x2c8/0x88e ... [ 0.442416] console_on_rootfs+0x26/0x70


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/ism: fix concurrency management in ism_cmd() The s390x ISM device data sheet clearly states that only one request-response sequence is allowable per ISM function at any point in time. Unfortunately as of today the s390/ism driver in Linux does not honor that requirement. This patch aims to rectify that. This problem was discovered based on Aliaksei's bug report which states that for certain workloads the ISM functions end up entering error state (with PEC 2 as seen from the logs) after a while and as a consequence connections handled by the respective function break, and for future connection requests the ISM device is not considered -- given it is in a dysfunctional state. During further debugging PEC 3A was observed as well. A kernel message like [ 1211.244319] zpci: 061a:00:00.0: Event 0x2 reports an error for PCI function 0x61a is a reliable indicator of the stated function entering error state with PEC 2. Let me also point out that a kernel message like [ 1211.244325] zpci: 061a:00:00.0: The ism driver bound to the device does not support error recovery is a reliable indicator that the ISM function won't be auto-recovered because the ISM driver currently lacks support for it. On a technical level, without this synchronization, commands (inputs to the FW) may be partially or fully overwritten (corrupted) by another CPU trying to issue commands on the same function. There is hard evidence that this can lead to DMB token values being used as DMB IOVAs, leading to PEC 2 PCI events indicating invalid DMA. But this is only one of the failure modes imaginable. In theory even completely losing one command and executing another one twice and then trying to interpret the outputs as if the command we intended to execute was actually executed and not the other one is also possible. Frankly, I don't feel confident about providing an exhaustive list of possible consequences.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm: swap: fix potential buffer overflow in setup_clusters() In setup_swap_map(), we only ensure badpages are in range (0, last_page]. As maxpages might be < last_page, setup_clusters() will encounter a buffer overflow when a badpage is >= maxpages. Only call inc_cluster_info_page() for badpage which is < maxpages to fix the issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFS: Fix filehandle bounds checking in nfs_fh_to_dentry() The function needs to check the minimal filehandle length before it can access the embedded filehandle.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix sleeping-in-atomic in ath11k_mac_op_set_bitrate_mask() ath11k_mac_disable_peer_fixed_rate() is passed as the iterator to ieee80211_iterate_stations_atomic(). Note in this case the iterator is required to be atomic, however ath11k_mac_disable_peer_fixed_rate() does not follow it as it might sleep. Consequently below warning is seen: BUG: sleeping function called from invalid context at wmi.c:304 Call Trace: <TASK> dump_stack_lvl __might_resched.cold ath11k_wmi_cmd_send ath11k_wmi_set_peer_param ath11k_mac_disable_peer_fixed_rate ieee80211_iterate_stations_atomic ath11k_mac_op_set_bitrate_mask.cold Change to ieee80211_iterate_stations_mtx() to fix this issue. Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: do not allow relocation of partially dropped subvolumes [BUG] There is an internal report that balance triggered transaction abort, with the following call trace: item 85 key (594509824 169 0) itemoff 12599 itemsize 33 extent refs 1 gen 197740 flags 2 ref#0: tree block backref root 7 item 86 key (594558976 169 0) itemoff 12566 itemsize 33 extent refs 1 gen 197522 flags 2 ref#0: tree block backref root 7 ... BTRFS error (device loop0): extent item not found for insert, bytenr 594526208 num_bytes 16384 parent 449921024 root_objectid 934 owner 1 offset 0 BTRFS error (device loop0): failed to run delayed ref for logical 594526208 num_bytes 16384 type 182 action 1 ref_mod 1: -117 ------------[ cut here ]------------ BTRFS: Transaction aborted (error -117) WARNING: CPU: 1 PID: 6963 at ../fs/btrfs/extent-tree.c:2168 btrfs_run_delayed_refs+0xfa/0x110 [btrfs] And btrfs check doesn't report anything wrong related to the extent tree. [CAUSE] The cause is a little complex, firstly the extent tree indeed doesn't have the backref for 594526208. The extent tree only have the following two backrefs around that bytenr on-disk: item 65 key (594509824 METADATA_ITEM 0) itemoff 13880 itemsize 33 refs 1 gen 197740 flags TREE_BLOCK tree block skinny level 0 (176 0x7) tree block backref root CSUM_TREE item 66 key (594558976 METADATA_ITEM 0) itemoff 13847 itemsize 33 refs 1 gen 197522 flags TREE_BLOCK tree block skinny level 0 (176 0x7) tree block backref root CSUM_TREE But the such missing backref item is not an corruption on disk, as the offending delayed ref belongs to subvolume 934, and that subvolume is being dropped: item 0 key (934 ROOT_ITEM 198229) itemoff 15844 itemsize 439 generation 198229 root_dirid 256 bytenr 10741039104 byte_limit 0 bytes_used 345571328 last_snapshot 198229 flags 0x1000000000001(RDONLY) refs 0 drop_progress key (206324 EXTENT_DATA 2711650304) drop_level 2 level 2 generation_v2 198229 And that offending tree block 594526208 is inside the dropped range of that subvolume. That explains why there is no backref item for that bytenr and why btrfs check is not reporting anything wrong. But this also shows another problem, as btrfs will do all the orphan subvolume cleanup at a read-write mount. So half-dropped subvolume should not exist after an RW mount, and balance itself is also exclusive to subvolume cleanup, meaning we shouldn't hit a subvolume half-dropped during relocation. The root cause is, there is no orphan item for this subvolume. In fact there are 5 subvolumes from around 2021 that have the same problem. It looks like the original report has some older kernels running, and caused those zombie subvolumes. Thankfully upstream commit 8d488a8c7ba2 ("btrfs: fix subvolume/snapshot deletion not triggered on mount") has long fixed the bug. [ENHANCEMENT] For repairing such old fs, btrfs-progs will be enhanced. Considering how delayed the problem will show up (at run delayed ref time) and at that time we have to abort transaction already, it is too late. Instead here we reject any half-dropped subvolume for reloc tree at the earliest time, preventing confusion and extra time wasted on debugging similar bugs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu-qcom: Add SM6115 MDSS compatible Add the SM6115 MDSS compatible to clients compatible list, as it also needs that workaround. Without this workaround, for example, QRB4210 RB2 which is based on SM4250/SM6115 generates a lot of smmu unhandled context faults during boot: arm_smmu_context_fault: 116854 callbacks suppressed arm-smmu c600000.iommu: Unhandled context fault: fsr=0x402, iova=0x5c0ec600, fsynr=0x320021, cbfrsynra=0x420, cb=5 arm-smmu c600000.iommu: FSR = 00000402 [Format=2 TF], SID=0x420 arm-smmu c600000.iommu: FSYNR0 = 00320021 [S1CBNDX=50 PNU PLVL=1] arm-smmu c600000.iommu: Unhandled context fault: fsr=0x402, iova=0x5c0d7800, fsynr=0x320021, cbfrsynra=0x420, cb=5 arm-smmu c600000.iommu: FSR = 00000402 [Format=2 TF], SID=0x420 and also failed initialisation of lontium lt9611uxc, gpu and dpu is observed: (binding MDSS components triggered by lt9611uxc have failed) ------------[ cut here ]------------ !aspace WARNING: CPU: 6 PID: 324 at drivers/gpu/drm/msm/msm_gem_vma.c:130 msm_gem_vma_init+0x150/0x18c [msm] Modules linked in: ... (long list of modules) CPU: 6 UID: 0 PID: 324 Comm: (udev-worker) Not tainted 6.15.0-03037-gaacc73ceeb8b #4 PREEMPT Hardware name: Qualcomm Technologies, Inc. QRB4210 RB2 (DT) pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : msm_gem_vma_init+0x150/0x18c [msm] lr : msm_gem_vma_init+0x150/0x18c [msm] sp : ffff80008144b280 ... Call trace: msm_gem_vma_init+0x150/0x18c [msm] (P) get_vma_locked+0xc0/0x194 [msm] msm_gem_get_and_pin_iova_range+0x4c/0xdc [msm] msm_gem_kernel_new+0x48/0x160 [msm] msm_gpu_init+0x34c/0x53c [msm] adreno_gpu_init+0x1b0/0x2d8 [msm] a6xx_gpu_init+0x1e8/0x9e0 [msm] adreno_bind+0x2b8/0x348 [msm] component_bind_all+0x100/0x230 msm_drm_bind+0x13c/0x3d0 [msm] try_to_bring_up_aggregate_device+0x164/0x1d0 __component_add+0xa4/0x174 component_add+0x14/0x20 dsi_dev_attach+0x20/0x34 [msm] dsi_host_attach+0x58/0x98 [msm] devm_mipi_dsi_attach+0x34/0x90 lt9611uxc_attach_dsi.isra.0+0x94/0x124 [lontium_lt9611uxc] lt9611uxc_probe+0x540/0x5fc [lontium_lt9611uxc] i2c_device_probe+0x148/0x2a8 really_probe+0xbc/0x2c0 __driver_probe_device+0x78/0x120 driver_probe_device+0x3c/0x154 __driver_attach+0x90/0x1a0 bus_for_each_dev+0x68/0xb8 driver_attach+0x24/0x30 bus_add_driver+0xe4/0x208 driver_register+0x68/0x124 i2c_register_driver+0x48/0xcc lt9611uxc_driver_init+0x20/0x1000 [lontium_lt9611uxc] do_one_initcall+0x60/0x1d4 do_init_module+0x54/0x1fc load_module+0x1748/0x1c8c init_module_from_file+0x74/0xa0 __arm64_sys_finit_module+0x130/0x2f8 invoke_syscall+0x48/0x104 el0_svc_common.constprop.0+0xc0/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x2c/0x80 el0t_64_sync_handler+0x10c/0x138 el0t_64_sync+0x198/0x19c ---[ end trace 0000000000000000 ]--- msm_dpu 5e01000.display-controller: [drm:msm_gpu_init [msm]] *ERROR* could not allocate memptrs: -22 msm_dpu 5e01000.display-controller: failed to load adreno gpu platform a400000.remoteproc:glink-edge:apr:service@7:dais: Adding to iommu group 19 msm_dpu 5e01000.display-controller: failed to bind 5900000.gpu (ops a3xx_ops [msm]): -22 msm_dpu 5e01000.display-controller: adev bind failed: -22 lt9611uxc 0-002b: failed to attach dsi to host lt9611uxc 0-002b: probe with driver lt9611uxc failed with error -22


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA: hfi1: fix possible divide-by-zero in find_hw_thread_mask() The function divides number of online CPUs by num_core_siblings, and later checks the divider by zero. This implies a possibility to get and divide-by-zero runtime error. Fix it by moving the check prior to division. This also helps to save one indentation level.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rcu: Fix rcu_read_unlock() deadloop due to IRQ work During rcu_read_unlock_special(), if this happens during irq_exit(), we can lockup if an IPI is issued. This is because the IPI itself triggers the irq_exit() path causing a recursive lock up. This is precisely what Xiongfeng found when invoking a BPF program on the trace_tick_stop() tracepoint As shown in the trace below. Fix by managing the irq_work state correctly. irq_exit() __irq_exit_rcu() /* in_hardirq() returns false after this */ preempt_count_sub(HARDIRQ_OFFSET) tick_irq_exit() tick_nohz_irq_exit() tick_nohz_stop_sched_tick() trace_tick_stop() /* a bpf prog is hooked on this trace point */ __bpf_trace_tick_stop() bpf_trace_run2() rcu_read_unlock_special() /* will send a IPI to itself */ irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu); A simple reproducer can also be obtained by doing the following in tick_irq_exit(). It will hang on boot without the patch: static inline void tick_irq_exit(void) { + rcu_read_lock(); + WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true); + rcu_read_unlock(); + [neeraj: Apply Frederic's suggested fix for PREEMPT_RT]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath10k: shutdown driver when hardware is unreliable In rare cases, ath10k may lose connection with the PCIe bus due to some unknown reasons, which could further lead to system crashes during resuming due to watchdog timeout: ath10k_pci 0000:01:00.0: wmi command 20486 timeout, restarting hardware ath10k_pci 0000:01:00.0: already restarting ath10k_pci 0000:01:00.0: failed to stop WMI vdev 0: -11 ath10k_pci 0000:01:00.0: failed to stop vdev 0: -11 ieee80211 phy0: PM: **** DPM device timeout **** Call Trace: panic+0x125/0x315 dpm_watchdog_set+0x54/0x54 dpm_watchdog_handler+0x57/0x57 call_timer_fn+0x31/0x13c At this point, all WMI commands will timeout and attempt to restart device. So set a threshold for consecutive restart failures. If the threshold is exceeded, consider the hardware is unreliable and all ath10k operations should be skipped to avoid system crash. fail_cont_count and pending_recovery are atomic variables, and do not involve complex conditional logic. Therefore, even if recovery check and reconfig complete are executed concurrently, the recovery mechanism will not be broken. Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00288-QCARMSWPZ-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm: Add error handling for krealloc in metadata setup Function msm_ioctl_gem_info_set_metadata() now checks for krealloc failure and returns -ENOMEM, avoiding potential NULL pointer dereference. Explicitly avoids __GFP_NOFAIL due to deadlock risks and allocation constraints. Patchwork: https://patchwork.freedesktop.org/patch/661235/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Forget ranges when refining tnum after JSET Syzbot reported a kernel warning due to a range invariant violation on the following BPF program. 0: call bpf_get_netns_cookie 1: if r0 == 0 goto <exit> 2: if r0 & Oxffffffff goto <exit> The issue is on the path where we fall through both jumps. That path is unreachable at runtime: after insn 1, we know r0 != 0, but with the sign extension on the jset, we would only fallthrough insn 2 if r0 == 0. Unfortunately, is_branch_taken() isn't currently able to figure this out, so the verifier walks all branches. The verifier then refines the register bounds using the second condition and we end up with inconsistent bounds on this unreachable path: 1: if r0 == 0 goto <exit> r0: u64=[0x1, 0xffffffffffffffff] var_off=(0, 0xffffffffffffffff) 2: if r0 & 0xffffffff goto <exit> r0 before reg_bounds_sync: u64=[0x1, 0xffffffffffffffff] var_off=(0, 0) r0 after reg_bounds_sync: u64=[0x1, 0] var_off=(0, 0) Improving the range refinement for JSET to cover all cases is tricky. We also don't expect many users to rely on JSET given LLVM doesn't generate those instructions. So instead of improving the range refinement for JSETs, Eduard suggested we forget the ranges whenever we're narrowing tnums after a JSET. This patch implements that approach.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rcu: Protect ->defer_qs_iw_pending from data race On kernels built with CONFIG_IRQ_WORK=y, when rcu_read_unlock() is invoked within an interrupts-disabled region of code [1], it will invoke rcu_read_unlock_special(), which uses an irq-work handler to force the system to notice when the RCU read-side critical section actually ends. That end won't happen until interrupts are enabled at the soonest. In some kernels, such as those booted with rcutree.use_softirq=y, the irq-work handler is used unconditionally. The per-CPU rcu_data structure's ->defer_qs_iw_pending field is updated by the irq-work handler and is both read and updated by rcu_read_unlock_special(). This resulted in the following KCSAN splat: ------------------------------------------------------------------------ BUG: KCSAN: data-race in rcu_preempt_deferred_qs_handler / rcu_read_unlock_special read to 0xffff96b95f42d8d8 of 1 bytes by task 90 on cpu 8: rcu_read_unlock_special+0x175/0x260 __rcu_read_unlock+0x92/0xa0 rt_spin_unlock+0x9b/0xc0 __local_bh_enable+0x10d/0x170 __local_bh_enable_ip+0xfb/0x150 rcu_do_batch+0x595/0xc40 rcu_cpu_kthread+0x4e9/0x830 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 write to 0xffff96b95f42d8d8 of 1 bytes by task 88 on cpu 8: rcu_preempt_deferred_qs_handler+0x1e/0x30 irq_work_single+0xaf/0x160 run_irq_workd+0x91/0xc0 smpboot_thread_fn+0x24d/0x3b0 kthread+0x3bd/0x410 ret_from_fork+0x35/0x40 ret_from_fork_asm+0x1a/0x30 no locks held by irq_work/8/88. irq event stamp: 200272 hardirqs last enabled at (200272): [<ffffffffb0f56121>] finish_task_switch+0x131/0x320 hardirqs last disabled at (200271): [<ffffffffb25c7859>] __schedule+0x129/0xd70 softirqs last enabled at (0): [<ffffffffb0ee093f>] copy_process+0x4df/0x1cc0 softirqs last disabled at (0): [<0000000000000000>] 0x0 ------------------------------------------------------------------------ The problem is that irq-work handlers run with interrupts enabled, which means that rcu_preempt_deferred_qs_handler() could be interrupted, and that interrupt handler might contain an RCU read-side critical section, which might invoke rcu_read_unlock_special(). In the strict KCSAN mode of operation used by RCU, this constitutes a data race on the ->defer_qs_iw_pending field. This commit therefore disables interrupts across the portion of the rcu_preempt_deferred_qs_handler() that updates the ->defer_qs_iw_pending field. This suffices because this handler is not a fast path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Correct tid cleanup when tid setup fails Currently, if any error occurs during ath12k_dp_rx_peer_tid_setup(), the tid value is already incremented, even though the corresponding TID is not actually allocated. Proceed to ath12k_dp_rx_peer_tid_delete() starting from unallocated tid, which might leads to freeing unallocated TID and cause potential crash or out-of-bounds access. Hence, fix by correctly decrementing tid before cleanup to match only the successfully allocated TIDs. Also, remove tid-- from failure case of ath12k_dp_rx_peer_frag_setup(), as decrementing the tid before cleanup in loop will take care of this. Compile tested only.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/smaps: fix race between smaps_hugetlb_range and migration smaps_hugetlb_range() handles the pte without holdling ptl, and may be concurrenct with migration, leaing to BUG_ON in pfn_swap_entry_to_page(). The race is as follows. smaps_hugetlb_range migrate_pages huge_ptep_get remove_migration_ptes folio_unlock pfn_swap_entry_folio BUG_ON To fix it, hold ptl lock in smaps_hugetlb_range().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Validate UAC3 cluster segment descriptors UAC3 class segment descriptors need to be verified whether their sizes match with the declared lengths and whether they fit with the allocated buffer sizes, too. Otherwise malicious firmware may lead to the unexpected OOB accesses.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/siw: Fix the sendmsg byte count in siw_tcp_sendpages Ever since commit c2ff29e99a76 ("siw: Inline do_tcp_sendpages()"), we have been doing this: static int siw_tcp_sendpages(struct socket *s, struct page **page, int offset, size_t size) [...] /* Calculate the number of bytes we need to push, for this page * specifically */ size_t bytes = min_t(size_t, PAGE_SIZE - offset, size); /* If we can't splice it, then copy it in, as normal */ if (!sendpage_ok(page[i])) msg.msg_flags &= ~MSG_SPLICE_PAGES; /* Set the bvec pointing to the page, with len $bytes */ bvec_set_page(&bvec, page[i], bytes, offset); /* Set the iter to $size, aka the size of the whole sendpages (!!!) */ iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, &bvec, 1, size); try_page_again: lock_sock(sk); /* Sendmsg with $size size (!!!) */ rv = tcp_sendmsg_locked(sk, &msg, size); This means we've been sending oversized iov_iters and tcp_sendmsg calls for a while. This has a been a benign bug because sendpage_ok() always returned true. With the recent slab allocator changes being slowly introduced into next (that disallow sendpage on large kmalloc allocations), we have recently hit out-of-bounds crashes, due to slight differences in iov_iter behavior between the MSG_SPLICE_PAGES and "regular" copy paths: (MSG_SPLICE_PAGES) skb_splice_from_iter iov_iter_extract_pages iov_iter_extract_bvec_pages uses i->nr_segs to correctly stop in its tracks before OoB'ing everywhere skb_splice_from_iter gets a "short" read (!MSG_SPLICE_PAGES) skb_copy_to_page_nocache copy=iov_iter_count [...] copy_from_iter /* this doesn't help */ if (unlikely(iter->count < len)) len = iter->count; iterate_bvec ... and we run off the bvecs Fix this by properly setting the iov_iter's byte count, plus sending the correct byte count to tcp_sendmsg_locked.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: qgroup: fix race between quota disable and quota rescan ioctl There's a race between a task disabling quotas and another running the rescan ioctl that can result in a use-after-free of qgroup records from the fs_info->qgroup_tree rbtree. This happens as follows: 1) Task A enters btrfs_ioctl_quota_rescan() -> btrfs_qgroup_rescan(); 2) Task B enters btrfs_quota_disable() and calls btrfs_qgroup_wait_for_completion(), which does nothing because at that point fs_info->qgroup_rescan_running is false (it wasn't set yet by task A); 3) Task B calls btrfs_free_qgroup_config() which starts freeing qgroups from fs_info->qgroup_tree without taking the lock fs_info->qgroup_lock; 4) Task A enters qgroup_rescan_zero_tracking() which starts iterating the fs_info->qgroup_tree tree while holding fs_info->qgroup_lock, but task B is freeing qgroup records from that tree without holding the lock, resulting in a use-after-free. Fix this by taking fs_info->qgroup_lock at btrfs_free_qgroup_config(). Also at btrfs_qgroup_rescan() don't start the rescan worker if quotas were already disabled.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: core: config: Prevent OOB read in SS endpoint companion parsing usb_parse_ss_endpoint_companion() checks descriptor type before length, enabling a potentially odd read outside of the buffer size. Fix this up by checking the size first before looking at any of the fields in the descriptor.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Decrement TID on RX peer frag setup error handling Currently, TID is not decremented before peer cleanup, during error handling path of ath12k_dp_rx_peer_frag_setup(). This could lead to out-of-bounds access in peer->rx_tid[]. Hence, add a decrement operation for TID, before peer cleanup to ensures proper cleanup and prevents out-of-bounds access issues when the RX peer frag setup fails. Found during code review. Compile tested only.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered If a synchronous error is detected as a result of user-space process triggering a 2-bit uncorrected error, the CPU will take a synchronous error exception such as Synchronous External Abort (SEA) on Arm64. The kernel will queue a memory_failure() work which poisons the related page, unmaps the page, and then sends a SIGBUS to the process, so that a system wide panic can be avoided. However, no memory_failure() work will be queued when abnormal synchronous errors occur. These errors can include situations like invalid PA, unexpected severity, no memory failure config support, invalid GUID section, etc. In such a case, the user-space process will trigger SEA again. This loop can potentially exceed the platform firmware threshold or even trigger a kernel hard lockup, leading to a system reboot. Fix it by performing a force kill if no memory_failure() work is queued for synchronous errors. [ rjw: Changelog edits ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: ctnetlink: remove refcounting in expectation dumpers Same pattern as previous patch: do not keep the expectation object alive via refcount, only store a cookie value and then use that as the skip hint for dump resumption. AFAICS this has the same issue as the one resolved in the conntrack dumper, when we do if (!refcount_inc_not_zero(&exp->use)) to increment the refcount, there is a chance that exp == last, which causes a double-increment of the refcount and subsequent memory leak.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: timer: fix ida_free call while not allocated In the snd_utimer_create() function, if the kasprintf() function return NULL, snd_utimer_put_id() will be called, finally use ida_free() to free the unallocated id 0. the syzkaller reported the following information: ------------[ cut here ]------------ ida_free called for id=0 which is not allocated. WARNING: CPU: 1 PID: 1286 at lib/idr.c:592 ida_free+0x1fd/0x2f0 lib/idr.c:592 Modules linked in: CPU: 1 UID: 0 PID: 1286 Comm: syz-executor164 Not tainted 6.15.8 #3 PREEMPT(lazy) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-4.fc42 04/01/2014 RIP: 0010:ida_free+0x1fd/0x2f0 lib/idr.c:592 Code: f8 fc 41 83 fc 3e 76 69 e8 70 b2 f8 (...) RSP: 0018:ffffc900007f79c8 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 1ffff920000fef3b RCX: ffffffff872176a5 RDX: ffff88800369d200 RSI: 0000000000000000 RDI: ffff88800369d200 RBP: 0000000000000000 R08: ffffffff87ba60a5 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000002 R14: 0000000000000000 R15: 0000000000000000 FS: 00007f6f1abc1740(0000) GS:ffff8880d76a0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f6f1ad7a784 CR3: 000000007a6e2000 CR4: 00000000000006f0 Call Trace: <TASK> snd_utimer_put_id sound/core/timer.c:2043 [inline] [snd_timer] snd_utimer_create+0x59b/0x6a0 sound/core/timer.c:2184 [snd_timer] snd_utimer_ioctl_create sound/core/timer.c:2202 [inline] [snd_timer] __snd_timer_user_ioctl.isra.0+0x724/0x1340 sound/core/timer.c:2287 [snd_timer] snd_timer_user_ioctl+0x75/0xc0 sound/core/timer.c:2298 [snd_timer] vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl fs/ioctl.c:893 [inline] __x64_sys_ioctl+0x198/0x200 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x7b/0x160 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x76/0x7e [...] The utimer->id should be set properly before the kasprintf() function, ensures the snd_utimer_put_id() function will free the allocated id.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: Make cake_enqueue return NET_XMIT_CN when past buffer_limit The following setup can trigger a WARNING in htb_activate due to the condition: !cl->leaf.q->q.qlen tc qdisc del dev lo root tc qdisc add dev lo root handle 1: htb default 1 tc class add dev lo parent 1: classid 1:1 \ htb rate 64bit tc qdisc add dev lo parent 1:1 handle f: \ cake memlimit 1b ping -I lo -f -c1 -s64 -W0.001 127.0.0.1 This is because the low memlimit leads to a low buffer_limit, which causes packet dropping. However, cake_enqueue still returns NET_XMIT_SUCCESS, causing htb_enqueue to call htb_activate with an empty child qdisc. We should return NET_XMIT_CN when packets are dropped from the same tin and flow. I do not believe return value of NET_XMIT_CN is necessary for packet drops in the case of ack filtering, as that is meant to optimize performance, not to signal congestion.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: gso: Forbid IPv6 TSO with extensions on devices with only IPV6_CSUM When performing Generic Segmentation Offload (GSO) on an IPv6 packet that contains extension headers, the kernel incorrectly requests checksum offload if the egress device only advertises NETIF_F_IPV6_CSUM feature, which has a strict contract: it supports checksum offload only for plain TCP or UDP over IPv6 and explicitly does not support packets with extension headers. The current GSO logic violates this contract by failing to disable the feature for packets with extension headers, such as those used in GREoIPv6 tunnels. This violation results in the device being asked to perform an operation it cannot support, leading to a `skb_warn_bad_offload` warning and a collapse of network throughput. While device TSO/USO is correctly bypassed in favor of software GSO for these packets, the GSO stack must be explicitly told not to request checksum offload. Mask NETIF_F_IPV6_CSUM, NETIF_F_TSO6 and NETIF_F_GSO_UDP_L4 in gso_features_check if the IPv6 header contains extension headers to compute checksum in software. The exception is a BIG TCP extension, which, as stated in commit 68e068cabd2c6c53 ("net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets"): "The feature is only enabled on devices that support BIG TCP TSO. The header is only present for PF_PACKET taps like tcpdump, and not transmitted by physical devices." kernel log output (truncated): WARNING: CPU: 1 PID: 5273 at net/core/dev.c:3535 skb_warn_bad_offload+0x81/0x140 ... Call Trace: <TASK> skb_checksum_help+0x12a/0x1f0 validate_xmit_skb+0x1a3/0x2d0 validate_xmit_skb_list+0x4f/0x80 sch_direct_xmit+0x1a2/0x380 __dev_xmit_skb+0x242/0x670 __dev_queue_xmit+0x3fc/0x7f0 ip6_finish_output2+0x25e/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_tnl_xmit+0x608/0xc00 [ip6_tunnel] ip6gre_tunnel_xmit+0x1c0/0x390 [ip6_gre] dev_hard_start_xmit+0x63/0x1c0 __dev_queue_xmit+0x6d0/0x7f0 ip6_finish_output2+0x214/0x5d0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 ip6_finish_output+0x1fc/0x3f0 ip6_xmit+0x2ca/0x6f0 inet6_csk_xmit+0xeb/0x150 __tcp_transmit_skb+0x555/0xa80 tcp_write_xmit+0x32a/0xe90 tcp_sendmsg_locked+0x437/0x1110 tcp_sendmsg+0x2f/0x50 ... skb linear: 00000000: e4 3d 1a 7d ec 30 e4 3d 1a 7e 5d 90 86 dd 60 0e skb linear: 00000010: 00 0a 1b 34 3c 40 20 11 00 00 00 00 00 00 00 00 skb linear: 00000020: 00 00 00 00 00 12 20 11 00 00 00 00 00 00 00 00 skb linear: 00000030: 00 00 00 00 00 11 2f 00 04 01 04 01 01 00 00 00 skb linear: 00000040: 86 dd 60 0e 00 0a 1b 00 06 40 20 23 00 00 00 00 skb linear: 00000050: 00 00 00 00 00 00 00 00 00 12 20 23 00 00 00 00 skb linear: 00000060: 00 00 00 00 00 00 00 00 00 11 bf 96 14 51 13 f9 skb linear: 00000070: ae 27 a0 a8 2b e3 80 18 00 40 5b 6f 00 00 01 01 skb linear: 00000080: 08 0a 42 d4 50 d5 4b 70 f8 1a


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/hisilicon/hibmc: fix the hibmc loaded failed bug When hibmc loaded failed, the driver use hibmc_unload to free the resource, but the mutexes in mode.config are not init, which will access an NULL pointer. Just change goto statement to return, because hibnc_hw_init() doesn't need to free anything.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: bridge: fix soft lockup in br_multicast_query_expired() When set multicast_query_interval to a large value, the local variable 'time' in br_multicast_send_query() may overflow. If the time is smaller than jiffies, the timer will expire immediately, and then call mod_timer() again, which creates a loop and may trigger the following soft lockup issue. watchdog: BUG: soft lockup - CPU#1 stuck for 221s! [rb_consumer:66] CPU: 1 UID: 0 PID: 66 Comm: rb_consumer Not tainted 6.16.0+ #259 PREEMPT(none) Call Trace: <IRQ> __netdev_alloc_skb+0x2e/0x3a0 br_ip6_multicast_alloc_query+0x212/0x1b70 __br_multicast_send_query+0x376/0xac0 br_multicast_send_query+0x299/0x510 br_multicast_query_expired.constprop.0+0x16d/0x1b0 call_timer_fn+0x3b/0x2a0 __run_timers+0x619/0x950 run_timer_softirq+0x11c/0x220 handle_softirqs+0x18e/0x560 __irq_exit_rcu+0x158/0x1a0 sysvec_apic_timer_interrupt+0x76/0x90 </IRQ> This issue can be reproduced with: ip link add br0 type bridge echo 1 > /sys/class/net/br0/bridge/multicast_querier echo 0xffffffffffffffff > /sys/class/net/br0/bridge/multicast_query_interval ip link set dev br0 up The multicast_startup_query_interval can also cause this issue. Similar to the commit 99b40610956a ("net: bridge: mcast: add and enforce query interval minimum"), add check for the query interval maximum to fix this issue.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/mremap: fix WARN with uffd that has remap events disabled Registering userfaultd on a VMA that spans at least one PMD and then mremap()'ing that VMA can trigger a WARN when recovering from a failed page table move due to a page table allocation error. The code ends up doing the right thing (recurse, avoiding moving actual page tables), but triggering that WARN is unpleasant: WARNING: CPU: 2 PID: 6133 at mm/mremap.c:357 move_normal_pmd mm/mremap.c:357 [inline] WARNING: CPU: 2 PID: 6133 at mm/mremap.c:357 move_pgt_entry mm/mremap.c:595 [inline] WARNING: CPU: 2 PID: 6133 at mm/mremap.c:357 move_page_tables+0x3832/0x44a0 mm/mremap.c:852 Modules linked in: CPU: 2 UID: 0 PID: 6133 Comm: syz.0.19 Not tainted 6.17.0-rc1-syzkaller-00004-g53e760d89498 #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:move_normal_pmd mm/mremap.c:357 [inline] RIP: 0010:move_pgt_entry mm/mremap.c:595 [inline] RIP: 0010:move_page_tables+0x3832/0x44a0 mm/mremap.c:852 Code: ... RSP: 0018:ffffc900037a76d8 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 0000000032930007 RCX: ffffffff820c6645 RDX: ffff88802e56a440 RSI: ffffffff820c7201 RDI: 0000000000000007 RBP: ffff888037728fc0 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000032930007 R11: 0000000000000000 R12: 0000000000000000 R13: ffffc900037a79a8 R14: 0000000000000001 R15: dffffc0000000000 FS: 000055556316a500(0000) GS:ffff8880d68bc000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b30863fff CR3: 0000000050171000 CR4: 0000000000352ef0 Call Trace: <TASK> copy_vma_and_data+0x468/0x790 mm/mremap.c:1215 move_vma+0x548/0x1780 mm/mremap.c:1282 mremap_to+0x1b7/0x450 mm/mremap.c:1406 do_mremap+0xfad/0x1f80 mm/mremap.c:1921 __do_sys_mremap+0x119/0x170 mm/mremap.c:1977 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x4c0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f00d0b8ebe9 Code: ... RSP: 002b:00007ffe5ea5ee98 EFLAGS: 00000246 ORIG_RAX: 0000000000000019 RAX: ffffffffffffffda RBX: 00007f00d0db5fa0 RCX: 00007f00d0b8ebe9 RDX: 0000000000400000 RSI: 0000000000c00000 RDI: 0000200000000000 RBP: 00007ffe5ea5eef0 R08: 0000200000c00000 R09: 0000000000000000 R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000002 R13: 00007f00d0db5fa0 R14: 00007f00d0db5fa0 R15: 0000000000000005 </TASK> The underlying issue is that we recurse during the original page table move, but not during the recovery move. Fix it by checking for both VMAs and performing the check before the pmd_none() sanity check. Add a new helper where we perform+document that check for the PMD and PUD level. Thanks to Harry for bisecting.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: jbd2: prevent softlockup in jbd2_log_do_checkpoint() Both jbd2_log_do_checkpoint() and jbd2_journal_shrink_checkpoint_list() periodically release j_list_lock after processing a batch of buffers to avoid long hold times on the j_list_lock. However, since both functions contend for j_list_lock, the combined time spent waiting and processing can be significant. jbd2_journal_shrink_checkpoint_list() explicitly calls cond_resched() when need_resched() is true to avoid softlockups during prolonged operations. But jbd2_log_do_checkpoint() only exits its loop when need_resched() is true, relying on potentially sleeping functions like __flush_batch() or wait_on_buffer() to trigger rescheduling. If those functions do not sleep, the kernel may hit a softlockup. watchdog: BUG: soft lockup - CPU#3 stuck for 156s! [kworker/u129:2:373] CPU: 3 PID: 373 Comm: kworker/u129:2 Kdump: loaded Not tainted 6.6.0+ #10 Hardware name: Huawei TaiShan 2280 /BC11SPCD, BIOS 1.27 06/13/2017 Workqueue: writeback wb_workfn (flush-7:2) pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : native_queued_spin_lock_slowpath+0x358/0x418 lr : jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] Call trace: native_queued_spin_lock_slowpath+0x358/0x418 jbd2_log_do_checkpoint+0x31c/0x438 [jbd2] __jbd2_log_wait_for_space+0xfc/0x2f8 [jbd2] add_transaction_credits+0x3bc/0x418 [jbd2] start_this_handle+0xf8/0x560 [jbd2] jbd2__journal_start+0x118/0x228 [jbd2] __ext4_journal_start_sb+0x110/0x188 [ext4] ext4_do_writepages+0x3dc/0x740 [ext4] ext4_writepages+0xa4/0x190 [ext4] do_writepages+0x94/0x228 __writeback_single_inode+0x48/0x318 writeback_sb_inodes+0x204/0x590 __writeback_inodes_wb+0x54/0xf8 wb_writeback+0x2cc/0x3d8 wb_do_writeback+0x2e0/0x2f8 wb_workfn+0x80/0x2a8 process_one_work+0x178/0x3e8 worker_thread+0x234/0x3b8 kthread+0xf0/0x108 ret_from_fork+0x10/0x20 So explicitly call cond_resched() in jbd2_log_do_checkpoint() to avoid softlockup.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: Fix configfs group list head handling Doing a list_del() on the epf_group field of struct pci_epf_driver in pci_epf_remove_cfs() is not correct as this field is a list head, not a list entry. This list_del() call triggers a KASAN warning when an endpoint function driver which has a configfs attribute group is torn down: ================================================================== BUG: KASAN: slab-use-after-free in pci_epf_remove_cfs+0x17c/0x198 Write of size 8 at addr ffff00010f4a0d80 by task rmmod/319 CPU: 3 UID: 0 PID: 319 Comm: rmmod Not tainted 6.16.0-rc2 #1 NONE Hardware name: Radxa ROCK 5B (DT) Call trace: show_stack+0x2c/0x84 (C) dump_stack_lvl+0x70/0x98 print_report+0x17c/0x538 kasan_report+0xb8/0x190 __asan_report_store8_noabort+0x20/0x2c pci_epf_remove_cfs+0x17c/0x198 pci_epf_unregister_driver+0x18/0x30 nvmet_pci_epf_cleanup_module+0x24/0x30 [nvmet_pci_epf] __arm64_sys_delete_module+0x264/0x424 invoke_syscall+0x70/0x260 el0_svc_common.constprop.0+0xac/0x230 do_el0_svc+0x40/0x58 el0_svc+0x48/0xdc el0t_64_sync_handler+0x10c/0x138 el0t_64_sync+0x198/0x19c ... Remove this incorrect list_del() call from pci_epf_remove_cfs().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: soc: qcom: mdt_loader: Ensure we don't read past the ELF header When the MDT loader is used in remoteproc, the ELF header is sanitized beforehand, but that's not necessary the case for other clients. Validate the size of the firmware buffer to ensure that we don't read past the end as we iterate over the header. e_phentsize and e_shentsize are validated as well, to ensure that the assumptions about step size in the traversal are valid.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: exynos: Fix programming of HCI_UTRL_NEXUS_TYPE On Google gs101, the number of UTP transfer request slots (nutrs) is 32, and in this case the driver ends up programming the UTRL_NEXUS_TYPE incorrectly as 0. This is because the left hand side of the shift is 1, which is of type int, i.e. 31 bits wide. Shifting by more than that width results in undefined behaviour. Fix this by switching to the BIT() macro, which applies correct type casting as required. This ensures the correct value is written to UTRL_NEXUS_TYPE (0xffffffff on gs101), and it also fixes a UBSAN shift warning: UBSAN: shift-out-of-bounds in drivers/ufs/host/ufs-exynos.c:1113:21 shift exponent 32 is too large for 32-bit type 'int' For consistency, apply the same change to the nutmrs / UTMRL_NEXUS_TYPE write.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bus: mhi: host: Detect events pointing to unexpected TREs When a remote device sends a completion event to the host, it contains a pointer to the consumed TRE. The host uses this pointer to process all of the TREs between it and the host's local copy of the ring's read pointer. This works when processing completion for chained transactions, but can lead to nasty results if the device sends an event for a single-element transaction with a read pointer that is multiple elements ahead of the host's read pointer. For instance, if the host accesses an event ring while the device is updating it, the pointer inside of the event might still point to an old TRE. If the host uses the channel's xfer_cb() to directly free the buffer pointed to by the TRE, the buffer will be double-freed. This behavior was observed on an ep that used upstream EP stack without 'commit 6f18d174b73d ("bus: mhi: ep: Update read pointer only after buffer is written")'. Where the device updated the events ring pointer before updating the event contents, so it left a window where the host was able to access the stale data the event pointed to, before the device had the chance to update them. The usual pattern was that the host received an event pointing to a TRE that is not immediately after the last processed one, so it got treated as if it was a chained transaction, processing all of the TREs in between the two read pointers. This commit aims to harden the host by ensuring transactions where the event points to a TRE that isn't local_rp + 1 are chained. [mani: added stable tag and reworded commit message]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm: dm-crypt: Do not partially accept write BIOs with zoned targets Read and write operations issued to a dm-crypt target may be split according to the dm-crypt internal limits defined by the max_read_size and max_write_size module parameters (default is 128 KB). The intent is to improve processing time of large BIOs by splitting them into smaller operations that can be parallelized on different CPUs. For zoned dm-crypt targets, this BIO splitting is still done but without the parallel execution to ensure that the issuing order of write operations to the underlying devices remains sequential. However, the splitting itself causes other problems: 1) Since dm-crypt relies on the block layer zone write plugging to handle zone append emulation using regular write operations, the reminder of a split write BIO will always be plugged into the target zone write plugged. Once the on-going write BIO finishes, this reminder BIO is unplugged and issued from the zone write plug work. If this reminder BIO itself needs to be split, the reminder will be re-issued and plugged again, but that causes a call to a blk_queue_enter(), which may block if a queue freeze operation was initiated. This results in a deadlock as DM submission still holds BIOs that the queue freeze side is waiting for. 2) dm-crypt relies on the emulation done by the block layer using regular write operations for processing zone append operations. This still requires to properly return the written sector as the BIO sector of the original BIO. However, this can be done correctly only and only if there is a single clone BIO used for processing the original zone append operation issued by the user. If the size of a zone append operation is larger than dm-crypt max_write_size, then the orginal BIO will be split and processed as a chain of regular write operations. Such chaining result in an incorrect written sector being returned to the zone append issuer using the original BIO sector. This in turn results in file system data corruptions using xfs or btrfs. Fix this by modifying get_max_request_size() to always return the size of the BIO to avoid it being split with dm_accpet_partial_bio() in crypt_map(). get_max_request_size() is renamed to get_max_request_sectors() to clarify the unit of the value returned and its interface is changed to take a struct dm_target pointer and a pointer to the struct bio being processed. In addition to this change, to ensure that crypt_alloc_buffer() works correctly, set the dm-crypt device max_hw_sectors limit to be at most BIO_MAX_VECS << PAGE_SECTORS_SHIFT (1 MB with a 4KB page architecture). This forces DM core to split write BIOs before passing them to crypt_map(), and thus guaranteeing that dm-crypt can always accept an entire write BIO without needing to split it. This change does not have any effect on the read path of dm-crypt. Read operations can still be split and the BIO fragments processed in parallel. There is also no impact on the performance of the write path given that all zone write BIOs were already processed inline instead of in parallel. This change also does not affect in any way regular dm-crypt block devices.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm: Always split write BIOs to zoned device limits Any zoned DM target that requires zone append emulation will use the block layer zone write plugging. In such case, DM target drivers must not split BIOs using dm_accept_partial_bio() as doing so can potentially lead to deadlocks with queue freeze operations. Regular write operations used to emulate zone append operations also cannot be split by the target driver as that would result in an invalid writen sector value return using the BIO sector. In order for zoned DM target drivers to avoid such incorrect BIO splitting, we must ensure that large BIOs are split before being passed to the map() function of the target, thus guaranteeing that the limits for the mapped device are not exceeded. dm-crypt and dm-flakey are the only target drivers supporting zoned devices and using dm_accept_partial_bio(). In the case of dm-crypt, this function is used to split BIOs to the internal max_write_size limit (which will be suppressed in a different patch). However, since crypt_alloc_buffer() uses a bioset allowing only up to BIO_MAX_VECS (256) vectors in a BIO. The dm-crypt device max_segments limit, which is not set and so default to BLK_MAX_SEGMENTS (128), must thus be respected and write BIOs split accordingly. In the case of dm-flakey, since zone append emulation is not required, the block layer zone write plugging is not used and no splitting of BIOs required. Modify the function dm_zone_bio_needs_split() to use the block layer helper function bio_needs_zone_write_plugging() to force a call to bio_split_to_limits() in dm_split_and_process_bio(). This allows DM target drivers to avoid using dm_accept_partial_bio() for write operations on zoned DM devices.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: Duplicate SPI Handling The issue originates when Strongswan initiates an XFRM_MSG_ALLOCSPI Netlink message, which triggers the kernel function xfrm_alloc_spi(). This function is expected to ensure uniqueness of the Security Parameter Index (SPI) for inbound Security Associations (SAs). However, it can return success even when the requested SPI is already in use, leading to duplicate SPIs assigned to multiple inbound SAs, differentiated only by their destination addresses. This behavior causes inconsistencies during SPI lookups for inbound packets. Since the lookup may return an arbitrary SA among those with the same SPI, packet processing can fail, resulting in packet drops. According to RFC 4301 section 4.4.2 , for inbound processing a unicast SA is uniquely identified by the SPI and optionally protocol. Reproducing the Issue Reliably: To consistently reproduce the problem, restrict the available SPI range in charon.conf : spi_min = 0x10000000 spi_max = 0x10000002 This limits the system to only 2 usable SPI values. Next, create more than 2 Child SA. each using unique pair of src/dst address. As soon as the 3rd Child SA is initiated, it will be assigned a duplicate SPI, since the SPI pool is already exhausted. With a narrow SPI range, the issue is consistently reproducible. With a broader/default range, it becomes rare and unpredictable. Current implementation: xfrm_spi_hash() lookup function computes hash using daddr, proto, and family. So if two SAs have the same SPI but different destination addresses, then they will: a. Hash into different buckets b. Be stored in different linked lists (byspi + h) c. Not be seen in the same hlist_for_each_entry_rcu() iteration. As a result, the lookup will result in NULL and kernel allows that Duplicate SPI Proposed Change: xfrm_state_lookup_spi_proto() does a truly global search - across all states, regardless of hash bucket and matches SPI and proto.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFS: Fix the setting of capabilities when automounting a new filesystem Capabilities cannot be inherited when we cross into a new filesystem. They need to be reset to the minimal defaults, and then probed for again.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: abort transaction on unexpected eb generation at btrfs_copy_root() If we find an unexpected generation for the extent buffer we are cloning at btrfs_copy_root(), we just WARN_ON() and don't error out and abort the transaction, meaning we allow to persist metadata with an unexpected generation. Instead of warning only, abort the transaction and return -EUCLEAN.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: Remove WARN_ON for device endpoint command timeouts This commit addresses a rarely observed endpoint command timeout which causes kernel panic due to warn when 'panic_on_warn' is enabled and unnecessary call trace prints when 'panic_on_warn' is disabled. It is seen during fast software-controlled connect/disconnect testcases. The following is one such endpoint command timeout that we observed: 1. Connect ======= ->dwc3_thread_interrupt ->dwc3_ep0_interrupt ->configfs_composite_setup ->composite_setup ->usb_ep_queue ->dwc3_gadget_ep0_queue ->__dwc3_gadget_ep0_queue ->__dwc3_ep0_do_control_data ->dwc3_send_gadget_ep_cmd 2. Disconnect ========== ->dwc3_thread_interrupt ->dwc3_gadget_disconnect_interrupt ->dwc3_ep0_reset_state ->dwc3_ep0_end_control_data ->dwc3_send_gadget_ep_cmd In the issue scenario, in Exynos platforms, we observed that control transfers for the previous connect have not yet been completed and end transfer command sent as a part of the disconnect sequence and processing of USB_ENDPOINT_HALT feature request from the host timeout. This maybe an expected scenario since the controller is processing EP commands sent as a part of the previous connect. It maybe better to remove WARN_ON in all places where device endpoint commands are sent to avoid unnecessary kernel panic due to warn.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: multitouch: fix slab out-of-bounds access in mt_report_fixup() A malicious HID device can trigger a slab out-of-bounds during mt_report_fixup() by passing in report descriptor smaller than 607 bytes. mt_report_fixup() attempts to patch byte offset 607 of the descriptor with 0x25 by first checking if byte offset 607 is 0x15 however it lacks bounds checks to verify if the descriptor is big enough before conducting this check. Fix this bug by ensuring the descriptor size is at least 608 bytes before accessing it. Below is the KASAN splat after the out of bounds access happens: [ 13.671954] ================================================================== [ 13.672667] BUG: KASAN: slab-out-of-bounds in mt_report_fixup+0x103/0x110 [ 13.673297] Read of size 1 at addr ffff888103df39df by task kworker/0:1/10 [ 13.673297] [ 13.673297] CPU: 0 UID: 0 PID: 10 Comm: kworker/0:1 Not tainted 6.15.0-00005-gec5d573d83f4-dirty #3 [ 13.673297] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/04 [ 13.673297] Call Trace: [ 13.673297] <TASK> [ 13.673297] dump_stack_lvl+0x5f/0x80 [ 13.673297] print_report+0xd1/0x660 [ 13.673297] kasan_report+0xe5/0x120 [ 13.673297] __asan_report_load1_noabort+0x18/0x20 [ 13.673297] mt_report_fixup+0x103/0x110 [ 13.673297] hid_open_report+0x1ef/0x810 [ 13.673297] mt_probe+0x422/0x960 [ 13.673297] hid_device_probe+0x2e2/0x6f0 [ 13.673297] really_probe+0x1c6/0x6b0 [ 13.673297] __driver_probe_device+0x24f/0x310 [ 13.673297] driver_probe_device+0x4e/0x220 [ 13.673297] __device_attach_driver+0x169/0x320 [ 13.673297] bus_for_each_drv+0x11d/0x1b0 [ 13.673297] __device_attach+0x1b8/0x3e0 [ 13.673297] device_initial_probe+0x12/0x20 [ 13.673297] bus_probe_device+0x13d/0x180 [ 13.673297] device_add+0xe3a/0x1670 [ 13.673297] hid_add_device+0x31d/0xa40 [...]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Add error handling for old state CRTC in atomic_disable Introduce error handling to address an issue where, after a hotplug event, the cursor continues to update. This situation can lead to a kernel panic due to accessing the NULL `old_state->crtc`. E,g. Unable to handle kernel NULL pointer dereference at virtual address Call trace: mtk_crtc_plane_disable+0x24/0x140 mtk_plane_atomic_update+0x8c/0xa8 drm_atomic_helper_commit_planes+0x114/0x2c8 drm_atomic_helper_commit_tail_rpm+0x4c/0x158 commit_tail+0xa0/0x168 drm_atomic_helper_commit+0x110/0x120 drm_atomic_commit+0x8c/0xe0 drm_atomic_helper_update_plane+0xd4/0x128 __setplane_atomic+0xcc/0x110 drm_mode_cursor_common+0x250/0x440 drm_mode_cursor_ioctl+0x44/0x70 drm_ioctl+0x264/0x5d8 __arm64_sys_ioctl+0xd8/0x510 invoke_syscall+0x6c/0xe0 do_el0_svc+0x68/0xe8 el0_svc+0x34/0x60 el0t_64_sync_handler+0x1c/0xf8 el0t_64_sync+0x180/0x188 Adding NULL pointer checks to ensure stability by preventing operations on an invalid CRTC state.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: hid-ntrig: fix unable to handle page fault in ntrig_report_version() in ntrig_report_version(), hdev parameter passed from hid_probe(). sending descriptor to /dev/uhid can make hdev->dev.parent->parent to null if hdev->dev.parent->parent is null, usb_dev has invalid address(0xffffffffffffff58) that hid_to_usb_dev(hdev) returned when usb_rcvctrlpipe() use usb_dev,it trigger page fault error for address(0xffffffffffffff58) add null check logic to ntrig_report_version() before calling hid_to_usb_dev()


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Fix memory corruption when FW resources change during ifdown bnxt_set_dflt_rings() assumes that it is always called before any TC has been created. So it doesn't take bp->num_tc into account and assumes that it is always 0 or 1. In the FW resource or capability change scenario, the FW will return flags in bnxt_hwrm_if_change() that will cause the driver to reinitialize and call bnxt_cancel_reservations(). This will lead to bnxt_init_dflt_ring_mode() calling bnxt_set_dflt_rings() and bp->num_tc may be greater than 1. This will cause bp->tx_ring[] to be sized too small and cause memory corruption in bnxt_alloc_cp_rings(). Fix it by properly scaling the TX rings by bp->num_tc in the code paths mentioned above. Add 2 helper functions to determine bp->tx_nr_rings and bp->tx_nr_rings_per_tc.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/vm: Clear the scratch_pt pointer on error Avoid triggering a dereference of an error pointer on cleanup in xe_vm_free_scratch() by clearing any scratch_pt error pointer. (cherry picked from commit 358ee50ab565f3c8ea32480e9d03127a81ba32f8)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix potential warning in trace_printk_seq during ftrace_dump When calling ftrace_dump_one() concurrently with reading trace_pipe, a WARN_ON_ONCE() in trace_printk_seq() can be triggered due to a race condition. The issue occurs because: CPU0 (ftrace_dump) CPU1 (reader) echo z > /proc/sysrq-trigger !trace_empty(&iter) trace_iterator_reset(&iter) <- len = size = 0 cat /sys/kernel/tracing/trace_pipe trace_find_next_entry_inc(&iter) __find_next_entry ring_buffer_empty_cpu <- all empty return NULL trace_printk_seq(&iter.seq) WARN_ON_ONCE(s->seq.len >= s->seq.size) In the context between trace_empty() and trace_find_next_entry_inc() during ftrace_dump, the ring buffer data was consumed by other readers. This caused trace_find_next_entry_inc to return NULL, failing to populate `iter.seq`. At this point, due to the prior trace_iterator_reset, both `iter.seq.len` and `iter.seq.size` were set to 0. Since they are equal, the WARN_ON_ONCE condition is triggered. Move the trace_printk_seq() into the if block that checks to make sure the return value of trace_find_next_entry_inc() is non-NULL in ftrace_dump_one(), ensuring the 'iter.seq' is properly populated before subsequent operations.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: io_uring/kbuf: always use READ_ONCE() to read ring provided buffer lengths Since the buffers are mapped from userspace, it is prudent to use READ_ONCE() to read the value into a local variable, and use that for any other actions taken. Having a stable read of the buffer length avoids worrying about it changing after checking, or being read multiple times. Similarly, the buffer may well change in between it being picked and being committed. Ensure the looping for incremental ring buffer commit stops if it hits a zero sized buffer, as no further progress can be made at that point.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: use array_index_nospec with indices that come from guest min and dest_id are guest-controlled indices. Using array_index_nospec() after the bounds checks clamps these values to mitigate speculative execution side-channels.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: asus: fix UAF via HID_CLAIMED_INPUT validation After hid_hw_start() is called hidinput_connect() will eventually be called to set up the device with the input layer since the HID_CONNECT_DEFAULT connect mask is used. During hidinput_connect() all input and output reports are processed and corresponding hid_inputs are allocated and configured via hidinput_configure_usages(). This process involves slot tagging report fields and configuring usages by setting relevant bits in the capability bitmaps. However it is possible that the capability bitmaps are not set at all leading to the subsequent hidinput_has_been_populated() check to fail leading to the freeing of the hid_input and the underlying input device. This becomes problematic because a malicious HID device like a ASUS ROG N-Key keyboard can trigger the above scenario via a specially crafted descriptor which then leads to a user-after-free when the name of the freed input device is written to later on after hid_hw_start(). Below, report 93 intentionally utilises the HID_UP_UNDEFINED Usage Page which is skipped during usage configuration, leading to the frees. 0x05, 0x0D, // Usage Page (Digitizer) 0x09, 0x05, // Usage (Touch Pad) 0xA1, 0x01, // Collection (Application) 0x85, 0x0D, // Report ID (13) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x09, 0xC5, // Usage (0xC5) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x04, // Report Count (4) 0xB1, 0x02, // Feature (Data,Var,Abs) 0x85, 0x5D, // Report ID (93) 0x06, 0x00, 0x00, // Usage Page (Undefined) 0x09, 0x01, // Usage (0x01) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x1B, // Report Count (27) 0x81, 0x02, // Input (Data,Var,Abs) 0xC0, // End Collection Below is the KASAN splat after triggering the UAF: [ 21.672709] ================================================================== [ 21.673700] BUG: KASAN: slab-use-after-free in asus_probe+0xeeb/0xf80 [ 21.673700] Write of size 8 at addr ffff88810a0ac000 by task kworker/1:2/54 [ 21.673700] [ 21.673700] CPU: 1 UID: 0 PID: 54 Comm: kworker/1:2 Not tainted 6.16.0-rc4-g9773391cf4dd-dirty #36 PREEMPT(voluntary) [ 21.673700] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 21.673700] Call Trace: [ 21.673700] <TASK> [ 21.673700] dump_stack_lvl+0x5f/0x80 [ 21.673700] print_report+0xd1/0x660 [ 21.673700] kasan_report+0xe5/0x120 [ 21.673700] __asan_report_store8_noabort+0x1b/0x30 [ 21.673700] asus_probe+0xeeb/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Allocated by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_alloc_info+0x3b/0x50 [ 21.673700] __kasan_kmalloc+0x9c/0xa0 [ 21.673700] __kmalloc_cache_noprof+0x139/0x340 [ 21.673700] input_allocate_device+0x44/0x370 [ 21.673700] hidinput_connect+0xcb6/0x2630 [ 21.673700] hid_connect+0xf74/0x1d60 [ 21.673700] hid_hw_start+0x8c/0x110 [ 21.673700] asus_probe+0x5a3/0xf80 [ 21.673700] hid_device_probe+0x2ee/0x700 [ 21.673700] really_probe+0x1c6/0x6b0 [ 21.673700] __driver_probe_device+0x24f/0x310 [ 21.673700] driver_probe_device+0x4e/0x220 [...] [ 21.673700] [ 21.673700] Freed by task 54: [ 21.673700] kasan_save_stack+0x3d/0x60 [ 21.673700] kasan_save_track+0x18/0x40 [ 21.673700] kasan_save_free_info+0x3f/0x60 [ 21.673700] __kasan_slab_free+0x3c/0x50 [ 21.673700] kfre ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix race with concurrent opens in rename(2) Besides sending the rename request to the server, the rename process also involves closing any deferred close, waiting for outstanding I/O to complete as well as marking all existing open handles as deleted to prevent them from deferring closes, which increases the race window for potential concurrent opens on the target file. Fix this by unhashing the dentry in advance to prevent any concurrent opens on the target.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: rose: convert 'use' field to refcount_t The 'use' field in struct rose_neigh is used as a reference counter but lacks atomicity. This can lead to race conditions where a rose_neigh structure is freed while still being referenced by other code paths. For example, when rose_neigh->use becomes zero during an ioctl operation via rose_rt_ioctl(), the structure may be removed while its timer is still active, potentially causing use-after-free issues. This patch changes the type of 'use' from unsigned short to refcount_t and updates all code paths to use rose_neigh_hold() and rose_neigh_put() which operate reference counts atomically.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: rose: include node references in rose_neigh refcount Current implementation maintains two separate reference counting mechanisms: the 'count' field in struct rose_neigh tracks references from rose_node structures, while the 'use' field (now refcount_t) tracks references from rose_sock. This patch merges these two reference counting systems using 'use' field for proper reference management. Specifically, this patch adds incrementing and decrementing of rose_neigh->use when rose_neigh->count is incremented or decremented. This patch also modifies rose_rt_free(), rose_rt_device_down() and rose_clear_route() to properly release references to rose_neigh objects before freeing a rose_node through rose_remove_node(). These changes ensure rose_neigh structures are properly freed only when all references, including those from rose_node structures, are released. As a result, this resolves a slab-use-after-free issue reported by Syzbot.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). syzbot reported the splat below. [0] When atmtcp_v_open() or atmtcp_v_close() is called via connect() or close(), atmtcp_send_control() is called to send an in-kernel special message. The message has ATMTCP_HDR_MAGIC in atmtcp_control.hdr.length. Also, a pointer of struct atm_vcc is set to atmtcp_control.vcc. The notable thing is struct atmtcp_control is uAPI but has a space for an in-kernel pointer. struct atmtcp_control { struct atmtcp_hdr hdr; /* must be first */ ... atm_kptr_t vcc; /* both directions */ ... } __ATM_API_ALIGN; typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; The special message is processed in atmtcp_recv_control() called from atmtcp_c_send(). atmtcp_c_send() is vcc->dev->ops->send() and called from 2 paths: 1. .ndo_start_xmit() (vcc->send() == atm_send_aal0()) 2. vcc_sendmsg() The problem is sendmsg() does not validate the message length and userspace can abuse atmtcp_recv_control() to overwrite any kptr by atmtcp_control. Let's add a new ->pre_send() hook to validate messages from sendmsg(). [0]: Oops: general protection fault, probably for non-canonical address 0xdffffc00200000ab: 0000 [#1] SMP KASAN PTI KASAN: probably user-memory-access in range [0x0000000100000558-0x000000010000055f] CPU: 0 UID: 0 PID: 5865 Comm: syz-executor331 Not tainted 6.17.0-rc1-syzkaller-00215-gbab3ce404553 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:atmtcp_recv_control drivers/atm/atmtcp.c:93 [inline] RIP: 0010:atmtcp_c_send+0x1da/0x950 drivers/atm/atmtcp.c:297 Code: 4d 8d 75 1a 4c 89 f0 48 c1 e8 03 42 0f b6 04 20 84 c0 0f 85 15 06 00 00 41 0f b7 1e 4d 8d b7 60 05 00 00 4c 89 f0 48 c1 e8 03 <42> 0f b6 04 20 84 c0 0f 85 13 06 00 00 66 41 89 1e 4d 8d 75 1c 4c RSP: 0018:ffffc90003f5f810 EFLAGS: 00010203 RAX: 00000000200000ab RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88802a510000 RSI: 00000000ffffffff RDI: ffff888030a6068c RBP: ffff88802699fb40 R08: ffff888030a606eb R09: 1ffff1100614c0dd R10: dffffc0000000000 R11: ffffffff8718fc40 R12: dffffc0000000000 R13: ffff888030a60680 R14: 000000010000055f R15: 00000000ffffffff FS: 00007f8d7e9236c0(0000) GS:ffff888125c1c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000045ad50 CR3: 0000000075bde000 CR4: 00000000003526f0 Call Trace: <TASK> vcc_sendmsg+0xa10/0xc60 net/atm/common.c:645 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x219/0x270 net/socket.c:729 ____sys_sendmsg+0x505/0x830 net/socket.c:2614 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2668 __sys_sendmsg net/socket.c:2700 [inline] __do_sys_sendmsg net/socket.c:2705 [inline] __se_sys_sendmsg net/socket.c:2703 [inline] __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2703 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f8d7e96a4a9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f8d7e923198 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f8d7e9f4308 RCX: 00007f8d7e96a4a9 RDX: 0000000000000000 RSI: 0000200000000240 RDI: 0000000000000005 RBP: 00007f8d7e9f4300 R08: 65732f636f72702f R09: 65732f636f72702f R10: 65732f636f72702f R11: 0000000000000246 R12: 00007f8d7e9c10ac R13: 00007f8d7e9231a0 R14: 0000200000000200 R15: 0000200000000250 </TASK> Modules linked in:


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: HWS, Fix memory leak in hws_pool_buddy_init error path In the error path of hws_pool_buddy_init(), the buddy allocator cleanup doesn't free the allocator structure itself, causing a memory leak. Add the missing kfree() to properly release all allocated memory.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: Fix lockdep assertion on sync reset unload event Fix lockdep assertion triggered during sync reset unload event. When the sync reset flow is initiated using the devlink reload fw_activate option, the PF already holds the devlink lock while handling unload event. In this case, delegate sync reset unload event handling back to the devlink callback process to avoid double-locking and resolve the lockdep warning. Kernel log: WARNING: CPU: 9 PID: 1578 at devl_assert_locked+0x31/0x40 [...] Call Trace: <TASK> mlx5_unload_one_devl_locked+0x2c/0xc0 [mlx5_core] mlx5_sync_reset_unload_event+0xaf/0x2f0 [mlx5_core] process_one_work+0x222/0x640 worker_thread+0x199/0x350 kthread+0x10b/0x230 ? __pfx_worker_thread+0x10/0x10 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x8e/0x100 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mISDN: hfcpci: Fix warning when deleting uninitialized timer With CONFIG_DEBUG_OBJECTS_TIMERS unloading hfcpci module leads to the following splat: [ 250.215892] ODEBUG: assert_init not available (active state 0) object: ffffffffc01a3dc0 object type: timer_list hint: 0x0 [ 250.217520] WARNING: CPU: 0 PID: 233 at lib/debugobjects.c:612 debug_print_object+0x1b6/0x2c0 [ 250.218775] Modules linked in: hfcpci(-) mISDN_core [ 250.219537] CPU: 0 UID: 0 PID: 233 Comm: rmmod Not tainted 6.17.0-rc2-g6f713187ac98 #2 PREEMPT(voluntary) [ 250.220940] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 250.222377] RIP: 0010:debug_print_object+0x1b6/0x2c0 [ 250.223131] Code: fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 75 4f 41 56 48 8b 14 dd a0 4e 01 9f 48 89 ee 48 c7 c7 20 46 01 9f e8 cb 84d [ 250.225805] RSP: 0018:ffff888015ea7c08 EFLAGS: 00010286 [ 250.226608] RAX: 0000000000000000 RBX: 0000000000000005 RCX: ffffffff9be93a95 [ 250.227708] RDX: 1ffff1100d945138 RSI: 0000000000000008 RDI: ffff88806ca289c0 [ 250.228993] RBP: ffffffff9f014a00 R08: 0000000000000001 R09: ffffed1002bd4f39 [ 250.230043] R10: ffff888015ea79cf R11: 0000000000000001 R12: 0000000000000001 [ 250.231185] R13: ffffffff9eea0520 R14: 0000000000000000 R15: ffff888015ea7cc8 [ 250.232454] FS: 00007f3208f01540(0000) GS:ffff8880caf5a000(0000) knlGS:0000000000000000 [ 250.233851] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 250.234856] CR2: 00007f32090a7421 CR3: 0000000004d63000 CR4: 00000000000006f0 [ 250.236117] Call Trace: [ 250.236599] <TASK> [ 250.236967] ? trace_irq_enable.constprop.0+0xd4/0x130 [ 250.237920] debug_object_assert_init+0x1f6/0x310 [ 250.238762] ? __pfx_debug_object_assert_init+0x10/0x10 [ 250.239658] ? __lock_acquire+0xdea/0x1c70 [ 250.240369] __try_to_del_timer_sync+0x69/0x140 [ 250.241172] ? __pfx___try_to_del_timer_sync+0x10/0x10 [ 250.242058] ? __timer_delete_sync+0xc6/0x120 [ 250.242842] ? lock_acquire+0x30/0x80 [ 250.243474] ? __timer_delete_sync+0xc6/0x120 [ 250.244262] __timer_delete_sync+0x98/0x120 [ 250.245015] HFC_cleanup+0x10/0x20 [hfcpci] [ 250.245704] __do_sys_delete_module+0x348/0x510 [ 250.246461] ? __pfx___do_sys_delete_module+0x10/0x10 [ 250.247338] do_syscall_64+0xc1/0x360 [ 250.247924] entry_SYSCALL_64_after_hwframe+0x77/0x7f Fix this by initializing hfc_tl timer with DEFINE_TIMER macro. Also, use mod_timer instead of manual timeout update.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5: HWS, Fix memory leak in hws_action_get_shared_stc_nic error flow When an invalid stc_type is provided, the function allocates memory for shared_stc but jumps to unlock_and_out without freeing it, causing a memory leak. Fix by jumping to free_shared_stc label instead to ensure proper cleanup.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfs: do not propagate ENODATA disk errors into xattr code ENODATA (aka ENOATTR) has a very specific meaning in the xfs xattr code; namely, that the requested attribute name could not be found. However, a medium error from disk may also return ENODATA. At best, this medium error may escape to userspace as "attribute not found" when in fact it's an IO (disk) error. At worst, we may oops in xfs_attr_leaf_get() when we do: error = xfs_attr_leaf_hasname(args, &bp); if (error == -ENOATTR) { xfs_trans_brelse(args->trans, bp); return error; } because an ENODATA/ENOATTR error from disk leaves us with a null bp, and the xfs_trans_brelse will then null-deref it. As discussed on the list, we really need to modify the lower level IO functions to trap all disk errors and ensure that we don't let unique errors like this leak up into higher xfs functions - many like this should be remapped to EIO. However, this patch directly addresses a reported bug in the xattr code, and should be safe to backport to stable kernels. A larger-scope patch to handle more unique errors at lower levels can follow later. (Note, prior to 07120f1abdff we did not oops, but we did return the wrong error code to userspace.)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: efi: stmm: Fix incorrect buffer allocation method The communication buffer allocated by setup_mm_hdr() is later on passed to tee_shm_register_kernel_buf(). The latter expects those buffers to be contiguous pages, but setup_mm_hdr() just uses kmalloc(). That can cause various corruptions or BUGs, specifically since commit 9aec2fb0fd5e ("slab: allocate frozen pages"), though it was broken before as well. Fix this by using alloc_pages_exact() instead of kmalloc().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cifs: prevent NULL pointer dereference in UTF16 conversion There can be a NULL pointer dereference bug here. NULL is passed to __cifs_sfu_make_node without checks, which passes it unchecked to cifs_strndup_to_utf16, which in turn passes it to cifs_local_to_utf16_bytes where '*from' is dereferenced, causing a crash. This patch adds a check for NULL 'src' in cifs_strndup_to_utf16 and returns NULL early to prevent dereferencing NULL pointer. Found by Linux Verification Center (linuxtesting.org) with SVACE


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix OOB read/write in network-coding decode batadv_nc_skb_decode_packet() trusts coded_len and checks only against skb->len. XOR starts at sizeof(struct batadv_unicast_packet), reducing payload headroom, and the source skb length is not verified, allowing an out-of-bounds read and a small out-of-bounds write. Validate that coded_len fits within the payload area of both destination and source sk_buffs before XORing.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Fix buffer free/clear order in deferred receive path Fix a use-after-free window by correcting the buffer release sequence in the deferred receive path. The code freed the RQ buffer first and only then cleared the context pointer under the lock. Concurrent paths (e.g., ABTS and the repost path) also inspect and release the same pointer under the lock, so the old order could lead to double-free/UAF. Note that the repost path already uses the correct pattern: detach the pointer under the lock, then free it after dropping the lock. The deferred path should do the same.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: prevent release journal inode after journal shutdown Before calling ocfs2_delete_osb(), ocfs2_journal_shutdown() has already been executed in ocfs2_dismount_volume(), so osb->journal must be NULL. Therefore, the following calltrace will inevitably fail when it reaches jbd2_journal_release_jbd_inode(). ocfs2_dismount_volume()-> ocfs2_delete_osb()-> ocfs2_free_slot_info()-> __ocfs2_free_slot_info()-> evict()-> ocfs2_evict_inode()-> ocfs2_clear_inode()-> jbd2_journal_release_jbd_inode(osb->journal->j_journal, Adding osb->journal checks will prevent null-ptr-deref during the above execution path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm: move page table sync declarations to linux/pgtable.h During our internal testing, we started observing intermittent boot failures when the machine uses 4-level paging and has a large amount of persistent memory: BUG: unable to handle page fault for address: ffffe70000000034 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] SMP NOPTI RIP: 0010:__init_single_page+0x9/0x6d Call Trace: <TASK> __init_zone_device_page+0x17/0x5d memmap_init_zone_device+0x154/0x1bb pagemap_range+0x2e0/0x40f memremap_pages+0x10b/0x2f0 devm_memremap_pages+0x1e/0x60 dev_dax_probe+0xce/0x2ec [device_dax] dax_bus_probe+0x6d/0xc9 [... snip ...] </TASK> It turns out that the kernel panics while initializing vmemmap (struct page array) when the vmemmap region spans two PGD entries, because the new PGD entry is only installed in init_mm.pgd, but not in the page tables of other tasks. And looking at __populate_section_memmap(): if (vmemmap_can_optimize(altmap, pgmap)) // does not sync top level page tables r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap); else // sync top level page tables in x86 r = vmemmap_populate(start, end, nid, altmap); In the normal path, vmemmap_populate() in arch/x86/mm/init_64.c synchronizes the top level page table (See commit 9b861528a801 ("x86-64, mem: Update all PGDs for direct mapping and vmemmap mapping changes")) so that all tasks in the system can see the new vmemmap area. However, when vmemmap_can_optimize() returns true, the optimized path skips synchronization of top-level page tables. This is because vmemmap_populate_compound_pages() is implemented in core MM code, which does not handle synchronization of the top-level page tables. Instead, the core MM has historically relied on each architecture to perform this synchronization manually. We're not the first party to encounter a crash caused by not-sync'd top level page tables: earlier this year, Gwan-gyeong Mun attempted to address the issue [1] [2] after hitting a kernel panic when x86 code accessed the vmemmap area before the corresponding top-level entries were synced. At that time, the issue was believed to be triggered only when struct page was enlarged for debugging purposes, and the patch did not get further updates. It turns out that current approach of relying on each arch to handle the page table sync manually is fragile because 1) it's easy to forget to sync the top level page table, and 2) it's also easy to overlook that the kernel should not access the vmemmap and direct mapping areas before the sync. # The solution: Make page table sync more code robust and harder to miss To address this, Dave Hansen suggested [3] [4] introducing {pgd,p4d}_populate_kernel() for updating kernel portion of the page tables and allow each architecture to explicitly perform synchronization when installing top-level entries. With this approach, we no longer need to worry about missing the sync step, reducing the risk of future regressions. The new interface reuses existing ARCH_PAGE_TABLE_SYNC_MASK, PGTBL_P*D_MODIFIED and arch_sync_kernel_mappings() facility used by vmalloc and ioremap to synchronize page tables. pgd_populate_kernel() looks like this: static inline void pgd_populate_kernel(unsigned long addr, pgd_t *pgd, p4d_t *p4d) { pgd_populate(&init_mm, pgd, p4d); if (ARCH_PAGE_TABLE_SYNC_MASK & PGTBL_PGD_MODIFIED) arch_sync_kernel_mappings(addr, addr); } It is worth noting that vmalloc() and apply_to_range() carefully synchronizes page tables by calling p*d_alloc_track() and arch_sync_kernel_mappings(), and thus they are not affected by ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/mm/64: define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() Define ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() to ensure page tables are properly synchronized when calling p*d_populate_kernel(). For 5-level paging, synchronization is performed via pgd_populate_kernel(). In 4-level paging, pgd_populate() is a no-op, so synchronization is instead performed at the P4D level via p4d_populate_kernel(). This fixes intermittent boot failures on systems using 4-level paging and a large amount of persistent memory: BUG: unable to handle page fault for address: ffffe70000000034 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: 0002 [#1] SMP NOPTI RIP: 0010:__init_single_page+0x9/0x6d Call Trace: <TASK> __init_zone_device_page+0x17/0x5d memmap_init_zone_device+0x154/0x1bb pagemap_range+0x2e0/0x40f memremap_pages+0x10b/0x2f0 devm_memremap_pages+0x1e/0x60 dev_dax_probe+0xce/0x2ec [device_dax] dax_bus_probe+0x6d/0xc9 [... snip ...] </TASK> It also fixes a crash in vmemmap_set_pmd() caused by accessing vmemmap before sync_global_pgds() [1]: BUG: unable to handle page fault for address: ffffeb3ff1200000 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 0 P4D 0 Oops: Oops: 0002 [#1] PREEMPT SMP NOPTI Tainted: [W]=WARN RIP: 0010:vmemmap_set_pmd+0xff/0x230 <TASK> vmemmap_populate_hugepages+0x176/0x180 vmemmap_populate+0x34/0x80 __populate_section_memmap+0x41/0x90 sparse_add_section+0x121/0x3e0 __add_pages+0xba/0x150 add_pages+0x1d/0x70 memremap_pages+0x3dc/0x810 devm_memremap_pages+0x1c/0x60 xe_devm_add+0x8b/0x100 [xe] xe_tile_init_noalloc+0x6a/0x70 [xe] xe_device_probe+0x48c/0x740 [xe] [... snip ...]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ppp: fix memory leak in pad_compress_skb If alloc_skb() fails in pad_compress_skb(), it returns NULL without releasing the old skb. The caller does: skb = pad_compress_skb(ppp, skb); if (!skb) goto drop; drop: kfree_skb(skb); When pad_compress_skb() returns NULL, the reference to the old skb is lost and kfree_skb(skb) ends up doing nothing, leading to a memory leak. Align pad_compress_skb() semantics with realloc(): only free the old skb if allocation and compression succeed. At the call site, use the new_skb variable so the original skb is not lost when pad_compress_skb() fails.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ax25: properly unshare skbs in ax25_kiss_rcv() Bernard Pidoux reported a regression apparently caused by commit c353e8983e0d ("net: introduce per netns packet chains"). skb->dev becomes NULL and we crash in __netif_receive_skb_core(). Before above commit, different kind of bugs or corruptions could happen without a major crash. But the root cause is that ax25_kiss_rcv() can queue/mangle input skb without checking if this skb is shared or not. Many thanks to Bernard Pidoux for his help, diagnosis and tests. We had a similar issue years ago fixed with commit 7aaed57c5c28 ("phonet: properly unshare skbs in phonet_rcv()").


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result() If the ssid->datalen is more than IEEE80211_MAX_SSID_LEN (32) it would lead to memory corruption so add some bounds checking.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vxlan: Fix NPD in {arp,neigh}_reduce() when using nexthop objects When the "proxy" option is enabled on a VXLAN device, the device will suppress ARP requests and IPv6 Neighbor Solicitation messages if it is able to reply on behalf of the remote host. That is, if a matching and valid neighbor entry is configured on the VXLAN device whose MAC address is not behind the "any" remote (0.0.0.0 / ::). The code currently assumes that the FDB entry for the neighbor's MAC address points to a valid remote destination, but this is incorrect if the entry is associated with an FDB nexthop group. This can result in a NPD [1][3] which can be reproduced using [2][4]. Fix by checking that the remote destination exists before dereferencing it. [1] BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] CPU: 4 UID: 0 PID: 365 Comm: arping Not tainted 6.17.0-rc2-virtme-g2a89cb21162c #2 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc41 04/01/2014 RIP: 0010:vxlan_xmit+0xb58/0x15f0 [...] Call Trace: <TASK> dev_hard_start_xmit+0x5d/0x1c0 __dev_queue_xmit+0x246/0xfd0 packet_sendmsg+0x113a/0x1850 __sock_sendmsg+0x38/0x70 __sys_sendto+0x126/0x180 __x64_sys_sendto+0x24/0x30 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x4b/0x53 [2] #!/bin/bash ip address add 192.0.2.1/32 dev lo ip nexthop add id 1 via 192.0.2.2 fdb ip nexthop add id 10 group 1 fdb ip link add name vx0 up type vxlan id 10010 local 192.0.2.1 dstport 4789 proxy ip neigh add 192.0.2.3 lladdr 00:11:22:33:44:55 nud perm dev vx0 bridge fdb add 00:11:22:33:44:55 dev vx0 self static nhid 10 arping -b -c 1 -s 192.0.2.1 -I vx0 192.0.2.3 [3] BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] CPU: 13 UID: 0 PID: 372 Comm: ndisc6 Not tainted 6.17.0-rc2-virtmne-g6ee90cb26014 #3 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1v996), BIOS 1.17.0-4.fc41 04/01/2x014 RIP: 0010:vxlan_xmit+0x803/0x1600 [...] Call Trace: <TASK> dev_hard_start_xmit+0x5d/0x1c0 __dev_queue_xmit+0x246/0xfd0 ip6_finish_output2+0x210/0x6c0 ip6_finish_output+0x1af/0x2b0 ip6_mr_output+0x92/0x3e0 ip6_send_skb+0x30/0x90 rawv6_sendmsg+0xe6e/0x12e0 __sock_sendmsg+0x38/0x70 __sys_sendto+0x126/0x180 __x64_sys_sendto+0x24/0x30 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f383422ec77 [4] #!/bin/bash ip address add 2001:db8:1::1/128 dev lo ip nexthop add id 1 via 2001:db8:1::1 fdb ip nexthop add id 10 group 1 fdb ip link add name vx0 up type vxlan id 10010 local 2001:db8:1::1 dstport 4789 proxy ip neigh add 2001:db8:1::3 lladdr 00:11:22:33:44:55 nud perm dev vx0 bridge fdb add 00:11:22:33:44:55 dev vx0 self static nhid 10 ndisc6 -r 1 -s 2001:db8:1::1 -w 1 2001:db8:1::3 vx0


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vxlan: Fix NPD when refreshing an FDB entry with a nexthop object VXLAN FDB entries can point to either a remote destination or an FDB nexthop group. The latter is usually used in EVPN deployments where learning is disabled. However, when learning is enabled, an incoming packet might try to refresh an FDB entry that points to an FDB nexthop group and therefore does not have a remote. Such packets should be dropped, but they are only dropped after dereferencing the non-existent remote, resulting in a NPD [1] which can be reproduced using [2]. Fix by dropping such packets earlier. Remove the misleading comment from first_remote_rcu(). [1] BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] CPU: 13 UID: 0 PID: 361 Comm: mausezahn Not tainted 6.17.0-rc1-virtme-g9f6b606b6b37 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc41 04/01/2014 RIP: 0010:vxlan_snoop+0x98/0x1e0 [...] Call Trace: <TASK> vxlan_encap_bypass+0x209/0x240 encap_bypass_if_local+0xb1/0x100 vxlan_xmit_one+0x1375/0x17e0 vxlan_xmit+0x6b4/0x15f0 dev_hard_start_xmit+0x5d/0x1c0 __dev_queue_xmit+0x246/0xfd0 packet_sendmsg+0x113a/0x1850 __sock_sendmsg+0x38/0x70 __sys_sendto+0x126/0x180 __x64_sys_sendto+0x24/0x30 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x4b/0x53 [2] #!/bin/bash ip address add 192.0.2.1/32 dev lo ip address add 192.0.2.2/32 dev lo ip nexthop add id 1 via 192.0.2.3 fdb ip nexthop add id 10 group 1 fdb ip link add name vx0 up type vxlan id 10010 local 192.0.2.1 dstport 12345 localbypass ip link add name vx1 up type vxlan id 10020 local 192.0.2.2 dstport 54321 learning bridge fdb add 00:11:22:33:44:55 dev vx0 self static dst 192.0.2.2 port 54321 vni 10020 bridge fdb add 00:aa:bb:cc:dd:ee dev vx1 self static nhid 10 mausezahn vx0 -a 00:aa:bb:cc:dd:ee -b 00:11:22:33:44:55 -c 1 -q


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/tcp: Fix socket memory leak in TCP-AO failure handling for IPv6 When tcp_ao_copy_all_matching() fails in tcp_v6_syn_recv_sock() it just exits the function. This ends up causing a memory-leak: unreferenced object 0xffff0000281a8200 (size 2496): comm "softirq", pid 0, jiffies 4295174684 hex dump (first 32 bytes): 7f 00 00 06 7f 00 00 06 00 00 00 00 cb a8 88 13 ................ 0a 00 03 61 00 00 00 00 00 00 00 00 00 00 00 00 ...a............ backtrace (crc 5ebdbe15): kmemleak_alloc+0x44/0xe0 kmem_cache_alloc_noprof+0x248/0x470 sk_prot_alloc+0x48/0x120 sk_clone_lock+0x38/0x3b0 inet_csk_clone_lock+0x34/0x150 tcp_create_openreq_child+0x3c/0x4a8 tcp_v6_syn_recv_sock+0x1c0/0x620 tcp_check_req+0x588/0x790 tcp_v6_rcv+0x5d0/0xc18 ip6_protocol_deliver_rcu+0x2d8/0x4c0 ip6_input_finish+0x74/0x148 ip6_input+0x50/0x118 ip6_sublist_rcv+0x2fc/0x3b0 ipv6_list_rcv+0x114/0x170 __netif_receive_skb_list_core+0x16c/0x200 netif_receive_skb_list_internal+0x1f0/0x2d0 This is because in tcp_v6_syn_recv_sock (and the IPv4 counterpart), when exiting upon error, inet_csk_prepare_forced_close() and tcp_done() need to be called. They make sure the newsk will end up being correctly free'd. tcp_v4_syn_recv_sock() makes this very clear by having the put_and_exit label that takes care of things. So, this patch here makes sure tcp_v4_syn_recv_sock and tcp_v6_syn_recv_sock have similar error-handling and thus fixes the leak for TCP-AO.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i40e: Fix potential invalid access when MAC list is empty list_first_entry() never returns NULL - if the list is empty, it still returns a pointer to an invalid object, leading to potential invalid memory access when dereferenced. Fix this by using list_first_entry_or_null instead of list_first_entry.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ice: fix NULL access of tx->in_use in ice_ll_ts_intr Recent versions of the E810 firmware have support for an extra interrupt to handle report of the "low latency" Tx timestamps coming from the specialized low latency firmware interface. Instead of polling the registers, software can wait until the low latency interrupt is fired. This logic makes use of the Tx timestamp tracking structure, ice_ptp_tx, as it uses the same "ready" bitmap to track which Tx timestamps complete. Unfortunately, the ice_ll_ts_intr() function does not check if the tracker is initialized before its first access. This results in NULL dereference or use-after-free bugs similar to the issues fixed in the ice_ptp_ts_irq() function. Fix this by only checking the in_use bitmap (and other fields) if the tracker is marked as initialized. The reset flow will clear the init field under lock before it tears the tracker down, thus preventing any use-after-free or NULL access.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/smc: fix one NULL pointer dereference in smc_ib_is_sg_need_sync() BUG: kernel NULL pointer dereference, address: 00000000000002ec PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 28 UID: 0 PID: 343 Comm: kworker/28:1 Kdump: loaded Tainted: G OE 6.17.0-rc2+ #9 NONE Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 Workqueue: smc_hs_wq smc_listen_work [smc] RIP: 0010:smc_ib_is_sg_need_sync+0x9e/0xd0 [smc] ... Call Trace: <TASK> smcr_buf_map_link+0x211/0x2a0 [smc] __smc_buf_create+0x522/0x970 [smc] smc_buf_create+0x3a/0x110 [smc] smc_find_rdma_v2_device_serv+0x18f/0x240 [smc] ? smc_vlan_by_tcpsk+0x7e/0xe0 [smc] smc_listen_find_device+0x1dd/0x2b0 [smc] smc_listen_work+0x30f/0x580 [smc] process_one_work+0x18c/0x340 worker_thread+0x242/0x360 kthread+0xe7/0x220 ret_from_fork+0x13a/0x160 ret_from_fork_asm+0x1a/0x30 </TASK> If the software RoCE device is used, ibdev->dma_device is a null pointer. As a result, the problem occurs. Null pointer detection is added to prevent problems.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen() syzbot reported the splat below without a repro. In the splat, a single thread calling bt_accept_dequeue() freed sk and touched it after that. The root cause would be the racy l2cap_sock_cleanup_listen() call added by the cited commit. bt_accept_dequeue() is called under lock_sock() except for l2cap_sock_release(). Two threads could see the same socket during the list iteration in bt_accept_dequeue(): CPU1 CPU2 (close()) ---- ---- sock_hold(sk) sock_hold(sk); lock_sock(sk) <-- block close() sock_put(sk) bt_accept_unlink(sk) sock_put(sk) <-- refcnt by bt_accept_enqueue() release_sock(sk) lock_sock(sk) sock_put(sk) bt_accept_unlink(sk) sock_put(sk) <-- last refcnt bt_accept_unlink(sk) <-- UAF Depending on the timing, the other thread could show up in the "Freed by task" part. Let's call l2cap_sock_cleanup_listen() under lock_sock() in l2cap_sock_release(). [0]: BUG: KASAN: slab-use-after-free in debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] BUG: KASAN: slab-use-after-free in do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 Read of size 4 at addr ffff88803b7eb1c4 by task syz.5.3276/16995 CPU: 3 UID: 0 PID: 16995 Comm: syz.5.3276 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcd/0x630 mm/kasan/report.c:482 kasan_report+0xe0/0x110 mm/kasan/report.c:595 debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 spin_lock_bh include/linux/spinlock.h:356 [inline] release_sock+0x21/0x220 net/core/sock.c:3746 bt_accept_dequeue+0x505/0x600 net/bluetooth/af_bluetooth.c:312 l2cap_sock_cleanup_listen+0x5c/0x2a0 net/bluetooth/l2cap_sock.c:1451 l2cap_sock_release+0x5c/0x210 net/bluetooth/l2cap_sock.c:1425 __sock_release+0xb3/0x270 net/socket.c:649 sock_close+0x1c/0x30 net/socket.c:1439 __fput+0x3ff/0xb70 fs/file_table.c:468 task_work_run+0x14d/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xeb/0x110 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x3f6/0x4c0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f2accf8ebe9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffdb6cb1378 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00000000000426fb RCX: 00007f2accf8ebe9 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007f2acd1b7da0 R08: 0000000000000001 R09: 00000012b6cb166f R10: 0000001b30e20000 R11: 0000000000000246 R12: 00007f2acd1b609c R13: 00007f2acd1b6090 R14: ffffffffffffffff R15: 00007ffdb6cb1490 </TASK> Allocated by task 5326: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:388 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:405 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4365 [inline] __kmalloc_nopro ---truncated---


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: vhci: Prevent use-after-free by removing debugfs files early Move the creation of debugfs files into a dedicated function, and ensure they are explicitly removed during vhci_release(), before associated data structures are freed. Previously, debugfs files such as "force_suspend", "force_wakeup", and others were created under hdev->debugfs but not removed in vhci_release(). Since vhci_release() frees the backing vhci_data structure, any access to these files after release would result in use-after-free errors. Although hdev->debugfs is later freed in hci_release_dev(), user can access files after vhci_data is freed but before hdev->debugfs is released.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix use-after-free when rescheduling brcmf_btcoex_info work The brcmf_btcoex_detach() only shuts down the btcoex timer, if the flag timer_on is false. However, the brcmf_btcoex_timerfunc(), which runs as timer handler, sets timer_on to false. This creates critical race conditions: 1.If brcmf_btcoex_detach() is called while brcmf_btcoex_timerfunc() is executing, it may observe timer_on as false and skip the call to timer_shutdown_sync(). 2.The brcmf_btcoex_timerfunc() may then reschedule the brcmf_btcoex_info worker after the cancel_work_sync() has been executed, resulting in use-after-free bugs. The use-after-free bugs occur in two distinct scenarios, depending on the timing of when the brcmf_btcoex_info struct is freed relative to the execution of its worker thread. Scenario 1: Freed before the worker is scheduled The brcmf_btcoex_info is deallocated before the worker is scheduled. A race condition can occur when schedule_work(&bt_local->work) is called after the target memory has been freed. The sequence of events is detailed below: CPU0 | CPU1 brcmf_btcoex_detach | brcmf_btcoex_timerfunc | bt_local->timer_on = false; if (cfg->btcoex->timer_on) | ... | cancel_work_sync(); | ... | kfree(cfg->btcoex); // FREE | | schedule_work(&bt_local->work); // USE Scenario 2: Freed after the worker is scheduled The brcmf_btcoex_info is freed after the worker has been scheduled but before or during its execution. In this case, statements within the brcmf_btcoex_handler() - such as the container_of macro and subsequent dereferences of the brcmf_btcoex_info object will cause a use-after-free access. The following timeline illustrates this scenario: CPU0 | CPU1 brcmf_btcoex_detach | brcmf_btcoex_timerfunc | bt_local->timer_on = false; if (cfg->btcoex->timer_on) | ... | cancel_work_sync(); | ... | schedule_work(); // Reschedule | kfree(cfg->btcoex); // FREE | brcmf_btcoex_handler() // Worker /* | btci = container_of(....); // USE The kfree() above could | ... also occur at any point | btci-> // USE during the worker's execution| */ | To resolve the race conditions, drop the conditional check and call timer_shutdown_sync() directly. It can deactivate the timer reliably, regardless of its current state. Once stopped, the timer_on state is then set to false.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: fix use-after-free in cmp_bss() Following bss_free() quirk introduced in commit 776b3580178f ("cfg80211: track hidden SSID networks properly"), adjust cfg80211_update_known_bss() to free the last beacon frame elements only if they're not shared via the corresponding 'hidden_beacon_bss' pointer.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer dereference in tee_shm_put tee_shm_put have NULL pointer dereference: __optee_disable_shm_cache --> shm = reg_pair_to_ptr(...);//shm maybe return NULL tee_shm_free(shm); --> tee_shm_put(shm);//crash Add check in tee_shm_put to fix it. panic log: Unable to handle kernel paging request at virtual address 0000000000100cca Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=0000002049d07000 [0000000000100cca] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP CPU: 2 PID: 14442 Comm: systemd-sleep Tainted: P OE ------- ---- 6.6.0-39-generic #38 Source Version: 938b255f6cb8817c95b0dd5c8c2944acfce94b07 Hardware name: greatwall GW-001Y1A-FTH, BIOS Great Wall BIOS V3.0 10/26/2022 pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : tee_shm_put+0x24/0x188 lr : tee_shm_free+0x14/0x28 sp : ffff001f98f9faf0 x29: ffff001f98f9faf0 x28: ffff0020df543cc0 x27: 0000000000000000 x26: ffff001f811344a0 x25: ffff8000818dac00 x24: ffff800082d8d048 x23: ffff001f850fcd18 x22: 0000000000000001 x21: ffff001f98f9fb88 x20: ffff001f83e76218 x19: ffff001f83e761e0 x18: 000000000000ffff x17: 303a30303a303030 x16: 0000000000000000 x15: 0000000000000003 x14: 0000000000000001 x13: 0000000000000000 x12: 0101010101010101 x11: 0000000000000001 x10: 0000000000000001 x9 : ffff800080e08d0c x8 : ffff001f98f9fb88 x7 : 0000000000000000 x6 : 0000000000000000 x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 x2 : ffff001f83e761e0 x1 : 00000000ffff001f x0 : 0000000000100cca Call trace: tee_shm_put+0x24/0x188 tee_shm_free+0x14/0x28 __optee_disable_shm_cache+0xa8/0x108 optee_shutdown+0x28/0x38 platform_shutdown+0x28/0x40 device_shutdown+0x144/0x2b0 kernel_power_off+0x3c/0x80 hibernate+0x35c/0x388 state_store+0x64/0x80 kobj_attr_store+0x14/0x28 sysfs_kf_write+0x48/0x60 kernfs_fop_write_iter+0x128/0x1c0 vfs_write+0x270/0x370 ksys_write+0x6c/0x100 __arm64_sys_write+0x20/0x30 invoke_syscall+0x4c/0x120 el0_svc_common.constprop.0+0x44/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x24/0x88 el0t_64_sync_handler+0x134/0x150 el0t_64_sync+0x14c/0x15


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma: Fix memory allocation size for queue_priority_map Fix a critical memory allocation bug in edma_setup_from_hw() where queue_priority_map was allocated with insufficient memory. The code declared queue_priority_map as s8 (*)[2] (pointer to array of 2 s8), but allocated memory using sizeof(s8) instead of the correct size. This caused out-of-bounds memory writes when accessing: queue_priority_map[i][0] = i; queue_priority_map[i][1] = i; The bug manifested as kernel crashes with "Oops - undefined instruction" on ARM platforms (BeagleBoard-X15) during EDMA driver probe, as the memory corruption triggered kernel hardening features on Clang. Change the allocation to use sizeof(*queue_priority_map) which automatically gets the correct size for the 2D array structure.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix double free in idxd_setup_wqs() The clean up in idxd_setup_wqs() has had a couple bugs because the error handling is a bit subtle. It's simpler to just re-write it in a cleaner way. The issues here are: 1) If "idxd->max_wqs" is <= 0 then we call put_device(conf_dev) when "conf_dev" hasn't been initialized. 2) If kzalloc_node() fails then again "conf_dev" is invalid. It's either uninitialized or it points to the "conf_dev" from the previous iteration so it leads to a double free. It's better to free partial loop iterations within the loop and then the unwinding at the end can handle whole loop iterations. I also renamed the labels to describe what the goto does and not where the goto was located.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Remove improper idxd_free The call to idxd_free() introduces a duplicate put_device() leading to a reference count underflow: refcount_t: underflow; use-after-free. WARNING: CPU: 15 PID: 4428 at lib/refcount.c:28 refcount_warn_saturate+0xbe/0x110 ... Call Trace: <TASK> idxd_remove+0xe4/0x120 [idxd] pci_device_remove+0x3f/0xb0 device_release_driver_internal+0x197/0x200 driver_detach+0x48/0x90 bus_remove_driver+0x74/0xf0 pci_unregister_driver+0x2e/0xb0 idxd_exit_module+0x34/0x7a0 [idxd] __do_sys_delete_module.constprop.0+0x183/0x280 do_syscall_64+0x54/0xd70 entry_SYSCALL_64_after_hwframe+0x76/0x7e The idxd_unregister_devices() which is invoked at the very beginning of idxd_remove(), already takes care of the necessary put_device() through the following call path: idxd_unregister_devices() -> device_unregister() -> put_device() In addition, when CONFIG_DEBUG_KOBJECT_RELEASE is enabled, put_device() may trigger asynchronous cleanup via schedule_delayed_work(). If idxd_free() is called immediately after, it can result in a use-after-free. Remove the improper idxd_free() to avoid both the refcount underflow and potential memory corruption during module unload.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can: xcan_write_frame(): fix use-after-free of transmitted SKB can_put_echo_skb() takes ownership of the SKB and it may be freed during or after the call. However, xilinx_can xcan_write_frame() keeps using SKB after the call. Fix that by only calling can_put_echo_skb() after the code is done touching the SKB. The tx_lock is held for the entire xcan_write_frame() execution and also on the can_get_echo_skb() side so the order of operations does not matter. An earlier fix commit 3d3c817c3a40 ("can: xilinx_can: Fix usage of skb memory") did not move the can_put_echo_skb() call far enough. [mkl: add "commit" in front of sha1 in patch description] [mkl: fix indention]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: igb: Fix NULL pointer dereference in ethtool loopback test The igb driver currently causes a NULL pointer dereference when executing the ethtool loopback test. This occurs because there is no associated q_vector for the test ring when it is set up, as interrupts are typically not added to the test rings. Since commit 5ef44b3cb43b removed the napi_id assignment in __xdp_rxq_info_reg(), there is no longer a need to pass a napi_id to it. Therefore, simply use 0 as the last parameter.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs: fix use-after-free in state_show() state_show() reads kdamond->damon_ctx without holding damon_sysfs_lock. This allows a use-after-free race: CPU 0 CPU 1 ----- ----- state_show() damon_sysfs_turn_damon_on() ctx = kdamond->damon_ctx; mutex_lock(&damon_sysfs_lock); damon_destroy_ctx(kdamond->damon_ctx); kdamond->damon_ctx = NULL; mutex_unlock(&damon_sysfs_lock); damon_is_running(ctx); /* ctx is freed */ mutex_lock(&ctx->kdamond_lock); /* UAF */ (The race can also occur with damon_sysfs_kdamonds_rm_dirs() and damon_sysfs_kdamond_release(), which free or replace the context under damon_sysfs_lock.) Fix by taking damon_sysfs_lock before dereferencing the context, mirroring the locking used in pid_show(). The bug has existed since state_show() first accessed kdamond->damon_ctx.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: fix potential OF node use-after-free The for_each_child_of_node() helper drops the reference it takes to each node as it iterates over children and an explicit of_node_put() is only needed when exiting the loop early. Drop the recently introduced bogus additional reference count decrement at each iteration that could potentially lead to a use-after-free.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix subvolume deletion lockup caused by inodes xarray race There is a race condition between inode eviction and inode caching that can cause a live struct btrfs_inode to be missing from the root->inodes xarray. Specifically, there is a window during evict() between the inode being unhashed and deleted from the xarray. If btrfs_iget() is called for the same inode in that window, it will be recreated and inserted into the xarray, but then eviction will delete the new entry, leaving nothing in the xarray: Thread 1 Thread 2 --------------------------------------------------------------- evict() remove_inode_hash() btrfs_iget_path() btrfs_iget_locked() btrfs_read_locked_inode() btrfs_add_inode_to_root() destroy_inode() btrfs_destroy_inode() btrfs_del_inode_from_root() __xa_erase In turn, this can cause issues for subvolume deletion. Specifically, if an inode is in this lost state, and all other inodes are evicted, then btrfs_del_inode_from_root() will call btrfs_add_dead_root() prematurely. If the lost inode has a delayed_node attached to it, then when btrfs_clean_one_deleted_snapshot() calls btrfs_kill_all_delayed_nodes(), it will loop forever because the delayed_nodes xarray will never become empty (unless memory pressure forces the inode out). We saw this manifest as soft lockups in production. Fix it by only deleting the xarray entry if it matches the given inode (using __xa_cmpxchg()).


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive semaphore deadlock in fiemap call syzbot detected a OCFS2 hang due to a recursive semaphore on a FS_IOC_FIEMAP of the extent list on a specially crafted mmap file. context_switch kernel/sched/core.c:5357 [inline] __schedule+0x1798/0x4cc0 kernel/sched/core.c:6961 __schedule_loop kernel/sched/core.c:7043 [inline] schedule+0x165/0x360 kernel/sched/core.c:7058 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7115 rwsem_down_write_slowpath+0x872/0xfe0 kernel/locking/rwsem.c:1185 __down_write_common kernel/locking/rwsem.c:1317 [inline] __down_write kernel/locking/rwsem.c:1326 [inline] down_write+0x1ab/0x1f0 kernel/locking/rwsem.c:1591 ocfs2_page_mkwrite+0x2ff/0xc40 fs/ocfs2/mmap.c:142 do_page_mkwrite+0x14d/0x310 mm/memory.c:3361 wp_page_shared mm/memory.c:3762 [inline] do_wp_page+0x268d/0x5800 mm/memory.c:3981 handle_pte_fault mm/memory.c:6068 [inline] __handle_mm_fault+0x1033/0x5440 mm/memory.c:6195 handle_mm_fault+0x40a/0x8e0 mm/memory.c:6364 do_user_addr_fault+0x764/0x1390 arch/x86/mm/fault.c:1387 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x76/0xf0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0010:copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline] RIP: 0010:raw_copy_to_user arch/x86/include/asm/uaccess_64.h:147 [inline] RIP: 0010:_inline_copy_to_user include/linux/uaccess.h:197 [inline] RIP: 0010:_copy_to_user+0x85/0xb0 lib/usercopy.c:26 Code: e8 00 bc f7 fc 4d 39 fc 72 3d 4d 39 ec 77 38 e8 91 b9 f7 fc 4c 89 f7 89 de e8 47 25 5b fd 0f 01 cb 4c 89 ff 48 89 d9 4c 89 f6 <f3> a4 0f 1f 00 48 89 cb 0f 01 ca 48 89 d8 5b 41 5c 41 5d 41 5e 41 RSP: 0018:ffffc9000403f950 EFLAGS: 00050256 RAX: ffffffff84c7f101 RBX: 0000000000000038 RCX: 0000000000000038 RDX: 0000000000000000 RSI: ffffc9000403f9e0 RDI: 0000200000000060 RBP: ffffc9000403fa90 R08: ffffc9000403fa17 R09: 1ffff92000807f42 R10: dffffc0000000000 R11: fffff52000807f43 R12: 0000200000000098 R13: 00007ffffffff000 R14: ffffc9000403f9e0 R15: 0000200000000060 copy_to_user include/linux/uaccess.h:225 [inline] fiemap_fill_next_extent+0x1c0/0x390 fs/ioctl.c:145 ocfs2_fiemap+0x888/0xc90 fs/ocfs2/extent_map.c:806 ioctl_fiemap fs/ioctl.c:220 [inline] do_vfs_ioctl+0x1173/0x1430 fs/ioctl.c:532 __do_sys_ioctl fs/ioctl.c:596 [inline] __se_sys_ioctl+0x82/0x170 fs/ioctl.c:584 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f5f13850fd9 RSP: 002b:00007ffe3b3518b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000200000000000 RCX: 00007f5f13850fd9 RDX: 0000200000000040 RSI: 00000000c020660b RDI: 0000000000000004 RBP: 6165627472616568 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe3b3518f0 R13: 00007ffe3b351b18 R14: 431bde82d7b634db R15: 00007f5f1389a03b ocfs2_fiemap() takes a read lock of the ip_alloc_sem semaphore (since v2.6.22-527-g7307de80510a) and calls fiemap_fill_next_extent() to read the extent list of this running mmap executable. The user supplied buffer to hold the fiemap information page faults calling ocfs2_page_mkwrite() which will take a write lock (since v2.6.27-38-g00dc417fa3e7) of the same semaphore. This recursive semaphore will hold filesystem locks and causes a hang of the fileystem. The ip_alloc_sem protects the inode extent list and size. Release the read semphore before calling fiemap_fill_next_extent() in ocfs2_fiemap() and ocfs2_fiemap_inline(). This does an unnecessary semaphore lock/unlock on the last extent but simplifies the error path.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: l2cap: Check encryption key size on incoming connection This is required for passing GAP/SEC/SEM/BI-04-C PTS test case: Security Mode 4 Level 4, Responder - Invalid Encryption Key Size - 128 bit This tests the security key with size from 1 to 15 bytes while the Security Mode 4 Level 4 requests 16 bytes key size. Currently PTS fails with the following logs: - expected:Connection Response: Code: [3 (0x03)] Code Identifier: (lt)WildCard: Exists(gt) Length: [8 (0x0008)] Destination CID: (lt)WildCard: Exists(gt) Source CID: [64 (0x0040)] Result: [3 (0x0003)] Connection refused - Security block Status: (lt)WildCard: Exists(gt), but received:Connection Response: Code: [3 (0x03)] Code Identifier: [1 (0x01)] Length: [8 (0x0008)] Destination CID: [64 (0x0040)] Source CID: [64 (0x0040)] Result: [0 (0x0000)] Connection Successful Status: [0 (0x0000)] No further information available And HCI logs: < HCI Command: Read Encrypti.. (0x05|0x0008) plen 2 Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.) > HCI Event: Command Complete (0x0e) plen 7 Read Encryption Key Size (0x05|0x0008) ncmd 1 Status: Success (0x00) Handle: 14 Address: 00:1B:DC:F2:24:10 (Vencer Co., Ltd.) Key size: 7 > ACL Data RX: Handle 14 flags 0x02 dlen 12 L2CAP: Connection Request (0x02) ident 1 len 4 PSM: 4097 (0x1001) Source CID: 64 < ACL Data TX: Handle 14 flags 0x00 dlen 16 L2CAP: Connection Response (0x03) ident 1 len 8 Destination CID: 64 Source CID: 64 Result: Connection successful (0x0000) Status: No further information available (0x0000)


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix memory leak in ath12k_service_ready_ext_event Currently, in ath12k_service_ready_ext_event(), svc_rdy_ext.mac_phy_caps is not freed in the failure case, causing a memory leak. The following trace is observed in kmemleak: unreferenced object 0xffff8b3eb5789c00 (size 1024): comm "softirq", pid 0, jiffies 4294942577 hex dump (first 32 bytes): 00 00 00 00 01 00 00 00 00 00 00 00 7b 00 00 10 ............{... 01 00 00 00 00 00 00 00 01 00 00 00 1f 38 00 00 .............8.. backtrace (crc 44e1c357): __kmalloc_noprof+0x30b/0x410 ath12k_wmi_mac_phy_caps_parse+0x84/0x100 [ath12k] ath12k_wmi_tlv_iter+0x5e/0x140 [ath12k] ath12k_wmi_svc_rdy_ext_parse+0x308/0x4c0 [ath12k] ath12k_wmi_tlv_iter+0x5e/0x140 [ath12k] ath12k_service_ready_ext_event.isra.0+0x44/0xd0 [ath12k] ath12k_wmi_op_rx+0x2eb/0xd70 [ath12k] ath12k_htc_rx_completion_handler+0x1f4/0x330 [ath12k] ath12k_ce_recv_process_cb+0x218/0x300 [ath12k] ath12k_pci_ce_workqueue+0x1b/0x30 [ath12k] process_one_work+0x219/0x680 bh_worker+0x198/0x1f0 tasklet_action+0x13/0x30 handle_softirqs+0xca/0x460 __irq_exit_rcu+0xbe/0x110 irq_exit_rcu+0x9/0x30 Free svc_rdy_ext.mac_phy_caps in the error case to fix this memory leak. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: Initialize the chan_stats array to zero The adapter->chan_stats[] array is initialized in mwifiex_init_channel_scan_gap() with vmalloc(), which doesn't zero out memory. The array is filled in mwifiex_update_chan_statistics() and then the user can query the data in mwifiex_cfg80211_dump_survey(). There are two potential issues here. What if the user calls mwifiex_cfg80211_dump_survey() before the data has been filled in. Also the mwifiex_update_chan_statistics() function doesn't necessarily initialize the whole array. Since the array was not initialized at the start that could result in an information leak. Also this array is pretty small. It's a maximum of 900 bytes so it's more appropriate to use kcalloc() instead vmalloc().


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Prevent recovery work from being queued during device removal Use disable_work_sync() instead of cancel_work_sync() in ivpu_dev_fini() to ensure that no new recovery work items can be queued after device removal has started. Previously, recovery work could be scheduled even after canceling existing work, potentially leading to use-after-free bugs if recovery accessed freed resources. Rename ivpu_pm_cancel_recovery() to ivpu_pm_disable_recovery() to better reflect its new behavior.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/userfaultfd: fix kmap_local LIFO ordering for CONFIG_HIGHPTE With CONFIG_HIGHPTE on 32-bit ARM, move_pages_pte() maps PTE pages using kmap_local_page(), which requires unmapping in Last-In-First-Out order. The current code maps dst_pte first, then src_pte, but unmaps them in the same order (dst_pte, src_pte), violating the LIFO requirement. This causes the warning in kunmap_local_indexed(): WARNING: CPU: 0 PID: 604 at mm/highmem.c:622 kunmap_local_indexed+0x178/0x17c addr \!= __fix_to_virt(FIX_KMAP_BEGIN + idx) Fix this by reversing the unmap order to respect LIFO ordering. This issue follows the same pattern as similar fixes: - commit eca6828403b8 ("crypto: skcipher - fix mismatch between mapping and unmapping order") - commit 8cf57c6df818 ("nilfs2: eliminate staggered calls to kunmap in nilfs_rename") Both of which addressed the same fundamental requirement that kmap_local operations must follow LIFO ordering.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: gen_estimator: fix est_timer() vs CONFIG_PREEMPT_RT=y syzbot reported a WARNING in est_timer() [1] Problem here is that with CONFIG_PREEMPT_RT=y, timer callbacks can be preempted. Adopt preempt_disable_nested()/preempt_enable_nested() to fix this. [1] WARNING: CPU: 0 PID: 16 at ./include/linux/seqlock.h:221 __seqprop_assert include/linux/seqlock.h:221 [inline] WARNING: CPU: 0 PID: 16 at ./include/linux/seqlock.h:221 est_timer+0x6dc/0x9f0 net/core/gen_estimator.c:93 Modules linked in: CPU: 0 UID: 0 PID: 16 Comm: ktimers/0 Not tainted syzkaller #0 PREEMPT_{RT,(full)} Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:__seqprop_assert include/linux/seqlock.h:221 [inline] RIP: 0010:est_timer+0x6dc/0x9f0 net/core/gen_estimator.c:93 Call Trace: <TASK> call_timer_fn+0x17e/0x5f0 kernel/time/timer.c:1747 expire_timers kernel/time/timer.c:1798 [inline] __run_timers kernel/time/timer.c:2372 [inline] __run_timer_base+0x648/0x970 kernel/time/timer.c:2384 run_timer_base kernel/time/timer.c:2393 [inline] run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2403 handle_softirqs+0x22c/0x710 kernel/softirq.c:579 __do_softirq kernel/softirq.c:613 [inline] run_ktimerd+0xcf/0x190 kernel/softirq.c:1043 smpboot_thread_fn+0x53f/0xa60 kernel/smpboot.c:160 kthread+0x70e/0x8a0 kernel/kthread.c:463 ret_from_fork+0x3fc/0x770 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK>


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/slub: avoid accessing metadata when pointer is invalid in object_err() object_err() reports details of an object for further debugging, such as the freelist pointer, redzone, etc. However, if the pointer is invalid, attempting to access object metadata can lead to a crash since it does not point to a valid object. One known path to the crash is when alloc_consistency_checks() determines the pointer to the allocated object is invalid because of a freelist corruption, and calls object_err() to report it. The debug code should report and handle the corruption gracefully and not crash in the process. In case the pointer is NULL or check_valid_pointer() returns false for the pointer, only print the pointer value and skip accessing metadata.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: stm32_fmc2: avoid overlapping mappings on ECC buffer Avoid below overlapping mappings by using a contiguous non-cacheable buffer. [ 4.077708] DMA-API: stm32_fmc2_nfc 48810000.nand-controller: cacheline tracking EEXIST, overlapping mappings aren't supported [ 4.089103] WARNING: CPU: 1 PID: 44 at kernel/dma/debug.c:568 add_dma_entry+0x23c/0x300 [ 4.097071] Modules linked in: [ 4.100101] CPU: 1 PID: 44 Comm: kworker/u4:2 Not tainted 6.1.82 #1 [ 4.106346] Hardware name: STMicroelectronics STM32MP257F VALID1 SNOR / MB1704 (LPDDR4 Power discrete) + MB1703 + MB1708 (SNOR MB1730) (DT) [ 4.118824] Workqueue: events_unbound deferred_probe_work_func [ 4.124674] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 4.131624] pc : add_dma_entry+0x23c/0x300 [ 4.135658] lr : add_dma_entry+0x23c/0x300 [ 4.139792] sp : ffff800009dbb490 [ 4.143016] x29: ffff800009dbb4a0 x28: 0000000004008022 x27: ffff8000098a6000 [ 4.150174] x26: 0000000000000000 x25: ffff8000099e7000 x24: ffff8000099e7de8 [ 4.157231] x23: 00000000ffffffff x22: 0000000000000000 x21: ffff8000098a6a20 [ 4.164388] x20: ffff000080964180 x19: ffff800009819ba0 x18: 0000000000000006 [ 4.171545] x17: 6361727420656e69 x16: 6c6568636163203a x15: 72656c6c6f72746e [ 4.178602] x14: 6f632d646e616e2e x13: ffff800009832f58 x12: 00000000000004ec [ 4.185759] x11: 00000000000001a4 x10: ffff80000988af58 x9 : ffff800009832f58 [ 4.192916] x8 : 00000000ffffefff x7 : ffff80000988af58 x6 : 80000000fffff000 [ 4.199972] x5 : 000000000000bff4 x4 : 0000000000000000 x3 : 0000000000000000 [ 4.207128] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff0000812d2c40 [ 4.214185] Call trace: [ 4.216605] add_dma_entry+0x23c/0x300 [ 4.220338] debug_dma_map_sg+0x198/0x350 [ 4.224373] __dma_map_sg_attrs+0xa0/0x110 [ 4.228411] dma_map_sg_attrs+0x10/0x2c [ 4.232247] stm32_fmc2_nfc_xfer.isra.0+0x1c8/0x3fc [ 4.237088] stm32_fmc2_nfc_seq_read_page+0xc8/0x174 [ 4.242127] nand_read_oob+0x1d4/0x8e0 [ 4.245861] mtd_read_oob_std+0x58/0x84 [ 4.249596] mtd_read_oob+0x90/0x150 [ 4.253231] mtd_read+0x68/0xac


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/damon/lru_sort: avoid divide-by-zero in damon_lru_sort_apply_parameters() Patch series "mm/damon: avoid divide-by-zero in DAMON module's parameters application". DAMON's RECLAIM and LRU_SORT modules perform no validation on user-configured parameters during application, which may lead to division-by-zero errors. Avoid the divide-by-zero by adding validation checks when DAMON modules attempt to apply the parameters. This patch (of 2): During the calculation of 'hot_thres' and 'cold_thres', either 'sample_interval' or 'aggr_interval' is used as the divisor, which may lead to division-by-zero errors. Fix it by directly returning -EINVAL when such a case occurs. Additionally, since 'aggr_interval' is already required to be set no smaller than 'sample_interval' in damon_set_attrs(), only the case where 'sample_interval' is zero needs to be checked.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mm/damon/reclaim: avoid divide-by-zero in damon_reclaim_apply_parameters() When creating a new scheme of DAMON_RECLAIM, the calculation of 'min_age_region' uses 'aggr_interval' as the divisor, which may lead to division-by-zero errors. Fix it by directly returning -EINVAL when such a case occurs.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: fix linked list corruption Never leave scheduled wcid entries on the temporary on-stack list


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ixgbe: fix incorrect map used in eee linkmode incorrectly used ixgbe_lp_map in loops intended to populate the supported and advertised EEE linkmode bitmaps based on ixgbe_ls_map. This results in incorrect bit setting and potential out-of-bounds access, since ixgbe_lp_map and ixgbe_ls_map have different sizes and purposes. ixgbe_lp_map[i] -> ixgbe_ls_map[i] Use ixgbe_ls_map for supported and advertised linkmodes, and keep ixgbe_lp_map usage only for link partner (lp_advertised) mapping.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: qcom: bam_dma: Fix DT error handling for num-channels/ees When we don't have a clock specified in the device tree, we have no way to ensure the BAM is on. This is often the case for remotely-controlled or remotely-powered BAM instances. In this case, we need to read num-channels from the DT to have all the necessary information to complete probing. However, at the moment invalid device trees without clock and without num-channels still continue probing, because the error handling is missing return statements. The driver will then later try to read the number of channels from the registers. This is unsafe, because it relies on boot firmware and lucky timing to succeed. Unfortunately, the lack of proper error handling here has been abused for several Qualcomm SoCs upstream, causing early boot crashes in several situations [1, 2]. Avoid these early crashes by erroring out when any of the required DT properties are missing. Note that this will break some of the existing DTs upstream (mainly BAM instances related to the crypto engine). However, clearly these DTs have never been tested properly, since the error in the kernel log was just ignored. It's safer to disable the crypto engine for these broken DTBs. [1]: https://lore.kernel.org/r/CY01EKQVWE36.B9X5TDXAREPF@fairphone.com/ [2]: https://lore.kernel.org/r/20230626145959.646747-1-krzysztof.kozlowski@linaro.org/


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: j1939: implement NETDEV_UNREGISTER notification handler syzbot is reporting unregister_netdevice: waiting for vcan0 to become free. Usage count = 2 problem, for j1939 protocol did not have NETDEV_UNREGISTER notification handler for undoing changes made by j1939_sk_bind(). Commit 25fe97cb7620 ("can: j1939: move j1939_priv_put() into sk_destruct callback") expects that a call to j1939_priv_put() can be unconditionally delayed until j1939_sk_sock_destruct() is called. But we need to call j1939_priv_put() against an extra ref held by j1939_sk_bind() call (as a part of undoing changes made by j1939_sk_bind()) as soon as NETDEV_UNREGISTER notification fires (i.e. before j1939_sk_sock_destruct() is called via j1939_sk_release()). Otherwise, the extra ref on "struct j1939_priv" held by j1939_sk_bind() call prevents "struct net_device" from dropping the usage count to 1; making it impossible for unregister_netdevice() to continue. [mkl: remove space in front of label]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: genetlink: fix genl_bind() invoking bind() after -EPERM Per family bind/unbind callbacks were introduced to allow families to track multicast group consumer presence, e.g. to start or stop producing events depending on listeners. However, in genl_bind() the bind() callback was invoked even if capability checks failed and ret was set to -EPERM. This means that callbacks could run on behalf of unauthorized callers while the syscall still returned failure to user space. Fix this by only invoking bind() after "if (ret) break;" check i.e. after permission checks have succeeded.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Set merge to zero early in af_alg_sendmsg If an error causes af_alg_sendmsg to abort, ctx->merge may contain a garbage value from the previous loop. This may then trigger a crash on the next entry into af_alg_sendmsg when it attempts to do a merge that can't be done. Fix this by setting ctx->merge to zero near the start of the loop.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm: bridge: anx7625: Fix NULL pointer dereference with early IRQ If the interrupt occurs before resource initialization is complete, the interrupt handler/worker may access uninitialized data such as the I2C tcpc_client device, potentially leading to NULL pointer dereference.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: rfkill: gpio: Fix crash due to dereferencering uninitialized pointer Since commit 7d5e9737efda ("net: rfkill: gpio: get the name and type from device property") rfkill_find_type() gets called with the possibly uninitialized "const char *type_name;" local variable. On x86 systems when rfkill-gpio binds to a "BCM4752" or "LNV4752" acpi_device, the rfkill->type is set based on the ACPI acpi_device_id: rfkill->type = (unsigned)id->driver_data; and there is no "type" property so device_property_read_string() will fail and leave type_name uninitialized, leading to a potential crash. rfkill_find_type() does accept a NULL pointer, fix the potential crash by initializing type_name to NULL. Note likely sofar this has not been caught because: 1. Not many x86 machines actually have a "BCM4752"/"LNV4752" acpi_device 2. The stack happened to contain NULL where type_name is stored


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm-lpass-dais: Fix NULL pointer dereference if source graph failed If earlier opening of source graph fails (e.g. ADSP rejects due to incorrect audioreach topology), the graph is closed and "dai_data->graph[dai->id]" is assigned NULL. Preparing the DAI for sink graph continues though and next call to q6apm_lpass_dai_prepare() receives dai_data->graph[dai->id]=NULL leading to NULL pointer exception: qcom-apm gprsvc:service:2:1: Error (1) Processing 0x01001002 cmd qcom-apm gprsvc:service:2:1: DSP returned error[1001002] 1 q6apm-lpass-dais 30000000.remoteproc:glink-edge:gpr:service@1:bedais: fail to start APM port 78 q6apm-lpass-dais 30000000.remoteproc:glink-edge:gpr:service@1:bedais: ASoC: error at snd_soc_pcm_dai_prepare on TX_CODEC_DMA_TX_3: -22 Unable to handle kernel NULL pointer dereference at virtual address 00000000000000a8 ... Call trace: q6apm_graph_media_format_pcm+0x48/0x120 (P) q6apm_lpass_dai_prepare+0x110/0x1b4 snd_soc_pcm_dai_prepare+0x74/0x108 __soc_pcm_prepare+0x44/0x160 dpcm_be_dai_prepare+0x124/0x1c0


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cnic: Fix use-after-free bugs in cnic_delete_task The original code uses cancel_delayed_work() in cnic_cm_stop_bnx2x_hw(), which does not guarantee that the delayed work item 'delete_task' has fully completed if it was already running. Additionally, the delayed work item is cyclic, the flush_workqueue() in cnic_cm_stop_bnx2x_hw() only blocks and waits for work items that were already queued to the workqueue prior to its invocation. Any work items submitted after flush_workqueue() is called are not included in the set of tasks that the flush operation awaits. This means that after the cyclic work items have finished executing, a delayed work item may still exist in the workqueue. This leads to use-after-free scenarios where the cnic_dev is deallocated by cnic_free_dev(), while delete_task remains active and attempt to dereference cnic_dev in cnic_delete_task(). A typical race condition is illustrated below: CPU 0 (cleanup) | CPU 1 (delayed work callback) cnic_netdev_event() | cnic_stop_hw() | cnic_delete_task() cnic_cm_stop_bnx2x_hw() | ... cancel_delayed_work() | /* the queue_delayed_work() flush_workqueue() | executes after flush_workqueue()*/ | queue_delayed_work() cnic_free_dev(dev)//free | cnic_delete_task() //new instance | dev = cp->dev; //use Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure that the cyclic delayed work item is properly canceled and that any ongoing execution of the work item completes before the cnic_dev is deallocated. Furthermore, since cancel_delayed_work_sync() uses __flush_work(work, true) to synchronously wait for any currently executing instance of the work item to finish, the flush_workqueue() becomes redundant and should be removed. This bug was identified through static analysis. To reproduce the issue and validate the fix, I simulated the cnic PCI device in QEMU and introduced intentional delays - such as inserting calls to ssleep() within the cnic_delete_task() function - to increase the likelihood of triggering the bug.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tls: make sure to abort the stream if headers are bogus Normally we wait for the socket to buffer up the whole record before we service it. If the socket has a tiny buffer, however, we read out the data sooner, to prevent connection stalls. Make sure that we abort the connection when we find out late that the record is actually invalid. Retrying the parsing is fine in itself but since we copy some more data each time before we parse we can overflow the allocated skb space. Constructing a scenario in which we're under pressure without enough data in the socket to parse the length upfront is quite hard. syzbot figured out a way to do this by serving us the header in small OOB sends, and then filling in the recvbuf with a large normal send. Make sure that tls_rx_msg_size() aborts strp, if we reach an invalid record there's really no way to recover.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wilc1000: avoid buffer overflow in WID string configuration Fix the following copy overflow warning identified by Smatch checker. drivers/net/wireless/microchip/wilc1000/wlan_cfg.c:184 wilc_wlan_parse_response_frame() error: '__memcpy()' 'cfg->s[i]->str' copy overflow (512 vs 65537) This patch introduces size check before accessing the memory buffer. The checks are base on the WID type of received data from the firmware. For WID string configuration, the size limit is determined by individual element size in 'struct wilc_cfg_str_vals' that is maintained in 'len' field of 'struct wilc_cfg_str'.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: increase scan_ies_len for S1G Currently the S1G capability element is not taken into account for the scan_ies_len, which leads to a buffer length validation failure in ieee80211_prep_hw_scan() and subsequent WARN in __ieee80211_start_scan(). This prevents hw scanning from functioning. To fix ensure we accommodate for the S1G capability length.


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/vmscape: Add conditional IBPB mitigation VMSCAPE is a vulnerability that exploits insufficient branch predictor isolation between a guest and a userspace hypervisor (like QEMU). Existing mitigations already protect kernel/KVM from a malicious guest. Userspace can additionally be protected by flushing the branch predictors after a VMexit. Since it is the userspace that consumes the poisoned branch predictors, conditionally issue an IBPB after a VMexit and before returning to userspace. Workloads that frequently switch between hypervisor and userspace will incur the most overhead from the new IBPB. This new IBPB is not integrated with the existing IBPB sites. For instance, a task can use the existing speculation control prctl() to get an IBPB at context switch time. With this implementation, the IBPB is doubled up: one at context switch and another before running userspace. The intent is to integrate and optimize these cases post-embargo. [ dhansen: elaborate on suboptimal IBPB solution ]


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки

Описание

unknown


Затронутые продукты
openSUSE Leap 16.0:cluster-md-kmp-64kb-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-default-6.12.0-160000.6.1
openSUSE Leap 16.0:cluster-md-kmp-rt-6.12.0-160000.6.1
openSUSE Leap 16.0:dlm-kmp-64kb-6.12.0-160000.6.1

Ссылки