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

exploitDog

suse-cvrf логотип

SUSE-SU-2025:02335-1

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

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise 15 SP6 RT kernel was updated to receive various security bugfixes.

The following security bugs were fixed:

  • CVE-2023-52888: media: mediatek: vcodec: Only free buffer VA that is not NULL (bsc#1228557).
  • CVE-2024-49568: net/smc: check v2_ext_offset/eid_cnt/ism_gid_cnt when receiving proposal msg (bsc#1235728).
  • CVE-2024-57982: xfrm: state: fix out-of-bounds read during lookup (bsc#1237913).
  • CVE-2024-58053: rxrpc: Fix handling of received connection abort (bsc#1238982).
  • CVE-2025-21720: xfrm: delete intermediate secpath entry in packet offload mode (bsc#1238859).
  • CVE-2025-21868: kABI workaround for adding an header (bsc#1240180).
  • CVE-2025-21898: ftrace: Avoid potential division by zero in function_stat_show() (bsc#1240610).
  • CVE-2025-21899: tracing: Fix bad hist from corrupting named_triggers list (bsc#1240577).
  • CVE-2025-21920: vlan: enforce underlying device type (bsc#1240686).
  • CVE-2025-21938: mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr (bsc#1240723).
  • CVE-2025-21959: netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree() (bsc#1240814).
  • CVE-2025-21997: xsk: fix an integer overflow in xp_create_and_assign_umem() (bsc#1240823).
  • CVE-2025-22035: tracing: Fix use-after-free in print_graph_function_flags during tracer switching (bsc#1241544).
  • CVE-2025-22111: kABI fix for net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF (bsc#1241572).
  • CVE-2025-22113: ext4: define ext4_journal_destroy wrapper (bsc#1241617).
  • CVE-2025-23155: net: stmmac: Fix accessing freed irq affinity_hint (bsc#1242573).
  • CVE-2025-37738: ext4: ignore xattrs past end (bsc#1242846).
  • CVE-2025-37743: wifi: ath12k: Avoid memory leak while enabling statistics (bsc#1242163).
  • CVE-2025-37752: net_sched: sch_sfq: move the limit validation (bsc#1242504).
  • CVE-2025-37756: net: tls: explicitly disallow disconnect (bsc#1242515).
  • CVE-2025-37757: tipc: fix memory leak in tipc_link_xmit (bsc#1242521).
  • CVE-2025-37786: net: dsa: free routing table on probe failure (bsc#1242725).
  • CVE-2025-37800: driver core: fix potential NULL pointer dereference in dev_uevent() (bsc#1242849).
  • CVE-2025-37801: spi: spi-imx: Add check for spi_imx_setupxfer() (bsc#1242850).
  • CVE-2025-37811: usb: chipidea: ci_hdrc_imx: fix usbmisc handling (bsc#1242907).
  • CVE-2025-37844: cifs: avoid NULL pointer dereference in dbg call (bsc#1242946).
  • CVE-2025-37859: page_pool: avoid infinite loop to schedule delayed worker (bsc#1243051).
  • CVE-2025-37862: HID: pidff: Fix null pointer dereference in pidff_find_fields (bsc#1242982).
  • CVE-2025-37865: net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported (bsc#1242954).
  • CVE-2025-37874: net: ngbe: fix memory leak in ngbe_probe() error path (bsc#1242940).
  • CVE-2025-37884: bpf: Fix deadlock between rcu_tasks_trace and event_mutex (bsc#1243060).
  • CVE-2025-37909: net: lan743x: Fix memleak issue when GSO enabled (bsc#1243467).
  • CVE-2025-37917: net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll (bsc#1243475).
  • CVE-2025-37921: vxlan: vnifilter: Fix unlocked deletion of default FDB entry (bsc#1243480).
  • CVE-2025-37923: tracing: Fix oob write in trace_seq_to_buffer() (bsc#1243551).
  • CVE-2025-37927: iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid (bsc#1243620).
  • CVE-2025-37933: octeon_ep: Fix host hang issue during device reboot (bsc#1243628).
  • CVE-2025-37936: perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value (bsc#1243537).
  • CVE-2025-37938: tracing: Verify event formats that have '%*p..' (bsc#1243544).
  • CVE-2025-37945: net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY (bsc#1243538).
  • CVE-2025-37961: ipvs: fix uninit-value for saddr in do_output_route4 (bsc#1243523).
  • CVE-2025-37967: usb: typec: ucsi: displayport: Fix deadlock (bsc#1243572).
  • CVE-2025-37968: iio: light: opt3001: fix deadlock due to concurrent flag access (bsc#1243571).
  • CVE-2025-37987: pds_core: Prevent possible adminq overflow/stuck condition (bsc#1243542).
  • CVE-2025-37992: net_sched: Flush gso_skb list too during ->change() (bsc#1243698).
  • CVE-2025-37995: module: ensure that kobject_put() is safe for module type kobjects (bsc#1243827).
  • CVE-2025-37997: netfilter: ipset: fix region locking in hash types (bsc#1243832).
  • CVE-2025-37998: openvswitch: Fix unsafe attribute parsing in output_userspace() (bsc#1243836).
  • CVE-2025-38000: sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue() (bsc#1244277).
  • CVE-2025-38001: net_sched: hfsc: Address reentrant enqueue adding class to eltree twice (bsc#1244234).
  • CVE-2025-38011: drm/amdgpu: csa unmap use uninterruptible lock (bsc#1244729).
  • CVE-2025-38018: net/tls: fix kernel panic when alloc_page failed (bsc#1244999).
  • CVE-2025-38053: idpf: fix null-ptr-deref in idpf_features_check (bsc#1244746).
  • CVE-2025-38057: espintcp: fix skb leaks (bsc#1244862).
  • CVE-2025-38060: bpf: abort verification if env->cur_state->loop_entry != NULL (bsc#1245155).
  • CVE-2025-38072: libnvdimm/labels: Fix divide error in nd_label_data_init() (bsc#1244743).

The following non-security bugs were fixed:

  • ACPI: CPPC: Fix NULL pointer dereference when nosmp is used (git-fixes).
  • ACPI: HED: Always initialize before evged (stable-fixes).
  • ACPI: OSI: Stop advertising support for '3.0 _SCP Extensions' (git-fixes).
  • ACPI: PNP: Add Intel OC Watchdog IDs to non-PNP device list (stable-fixes).
  • ACPI: battery: negate current when discharging (stable-fixes).
  • ACPI: bus: Bail out if acpi_kobj registration fails (stable-fixes).
  • ACPICA: Avoid sequence overread in call to strncmp() (stable-fixes).
  • ACPICA: Utilities: Fix spelling mistake 'Incremement' -> 'Increment' (git-fixes).
  • ACPICA: exserial: do not forget to handle FFixedHW opregions for reading (git-fixes).
  • ACPICA: fix acpi operand cache leak in dswstate.c (stable-fixes).
  • ACPICA: fix acpi parse and parseext cache leaks (stable-fixes).
  • ACPICA: utilities: Fix overflow check in vsnprintf() (stable-fixes).
  • ALSA: hda/intel: Add Thinkpad E15 to PM deny list (stable-fixes).
  • ALSA: hda/realtek: Add quirk for HP Spectre x360 15-df1xxx (stable-fixes).
  • ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14ASP10 (stable-fixes).
  • ALSA: hda/realtek: Enable PC beep passthrough for HP EliteBook 855 G7 (stable-fixes).
  • ALSA: hda/realtek: Fix built-in mic on ASUS VivoBook X507UAR (git-fixes).
  • ALSA: hda/realtek: Fix built-in mic on ASUS VivoBook X513EA (git-fixes).
  • ALSA: hda/realtek: enable headset mic on Latitude 5420 Rugged (stable-fixes).
  • ALSA: pcm: Fix race of buffer access at PCM OSS layer (stable-fixes).
  • ALSA: seq: Improve data consistency at polling (stable-fixes).
  • ALSA: usb-audio: Accept multiple protocols in GTBs (stable-fixes).
  • ALSA: usb-audio: Add Pioneer DJ DJM-V10 support (stable-fixes).
  • ALSA: usb-audio: Add a quirk for Lenovo Thinkpad Thunderbolt 3 dock (stable-fixes).
  • ALSA: usb-audio: Add implicit feedback quirk for RODE AI-1 (stable-fixes).
  • ALSA: usb-audio: Add name for HP Engage Go dock (stable-fixes).
  • ALSA: usb-audio: Check shutdown at endpoint_set_interface() (stable-fixes).
  • ALSA: usb-audio: Fix NULL pointer deref in snd_usb_power_domain_set() (git-fixes).
  • ALSA: usb-audio: Fix duplicated name in MIDI substream names (stable-fixes).
  • ALSA: usb-audio: Fix out-of-bounds read in snd_usb_get_audioformat_uac3() (git-fixes).
  • ALSA: usb-audio: Rename ALSA kcontrol PCM and PCM1 for the KTMicro sound card (stable-fixes).
  • ALSA: usb-audio: Rename Pioneer mixer channel controls (git-fixes).
  • ALSA: usb-audio: Set MIDI1 flag appropriately for GTB MIDI 1.0 entry (stable-fixes).
  • ALSA: usb-audio: Skip setting clock selector for single connections (stable-fixes).
  • ALSA: usb-audio: Support multiple control interfaces (stable-fixes).
  • ALSA: usb-audio: Support read-only clock selector control (stable-fixes).
  • ALSA: usb-audio: enable support for Presonus Studio 1824c within 1810c file (stable-fixes).
  • ALSA: usb-audio: mixer: Remove temporary string use in parse_clock_source_unit (stable-fixes).
  • ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX (git-fixes).
  • ASoC: Intel: avs: Verify content returned by parse_int_array() (git-fixes).
  • ASoC: Intel: bytcr_rt5640: Add DMI quirk for Acer Aspire SW3-013 (stable-fixes).
  • ASoC: SOF: ipc4-pcm: Adjust pipeline_list->pipelines allocation type (git-fixes).
  • ASoC: amd: yc: Add quirk for Lenovo Yoga Pro 7 14ASP9 (stable-fixes).
  • ASoC: apple: mca: Constrain channels according to TDM mask (git-fixes).
  • ASoC: codecs: hda: Fix RPM usage count underflow (git-fixes).
  • ASoC: codecs: pcm3168a: Allow for 24-bit in provider mode (stable-fixes).
  • ASoC: imx-card: Adjust over allocation of memory in imx_card_parse_of() (stable-fixes).
  • ASoC: mediatek: mt6359: Add stub for mt6359_accdet_enable_jack_detect (stable-fixes).
  • ASoC: mediatek: mt8188: Add reference for dmic clocks (stable-fixes).
  • ASoC: mediatek: mt8188: Treat DMIC_GAINx_CUR as non-volatile (stable-fixes).
  • ASoC: meson: meson-card-utils: use of_property_present() for DT parsing (git-fixes).
  • ASoC: ops: Enforce platform maximum on initial value (stable-fixes).
  • ASoC: qcom: sdm845: Add error handling in sdm845_slim_snd_hw_params() (git-fixes).
  • ASoC: qcom: sm8250: explicitly set format in sm8250_be_hw_params_fixup() (stable-fixes).
  • ASoC: rt722-sdca: Add some missing readable registers (stable-fixes).
  • ASoC: soc-dai: check return value at snd_soc_dai_set_tdm_slot() (stable-fixes).
  • ASoC: sun4i-codec: support hp-det-gpios property (stable-fixes).
  • ASoC: tas2764: Add reg defaults for TAS2764_INT_CLK_CFG (stable-fixes).
  • ASoC: tas2764: Enable main IRQs (git-fixes).
  • ASoC: tas2764: Mark SW_RESET as volatile (stable-fixes).
  • ASoC: tas2764: Power up/down amp on mute ops (stable-fixes).
  • ASoC: tas2764: Reinit cache on part reset (git-fixes).
  • ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change (stable-fixes).
  • ASoC: tegra210_ahub: Add check to of_device_get_match_data() (stable-fixes).
  • Bluetooth: Fix NULL pointer deference on eir_get_service_data (git-fixes).
  • Bluetooth: L2CAP: Fix not responding with L2CAP_CR_LE_ENCRYPTION (git-fixes).
  • Bluetooth: MGMT: Fix UAF on mgmt_remove_adv_monitor_complete (git-fixes).
  • Bluetooth: MGMT: Fix sparse errors (git-fixes).
  • Bluetooth: MGMT: Remove unused mgmt_pending_find_data (stable-fixes).
  • Bluetooth: MGMT: iterate over mesh commands in mgmt_mesh_foreach() (git-fixes).
  • Bluetooth: Remove pending ACL connection attempts (stable-fixes).
  • Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync (git-fixes).
  • Bluetooth: hci_conn: Only do ACL connections sequentially (stable-fixes).
  • Bluetooth: hci_core: fix list_for_each_entry_rcu usage (git-fixes).
  • Bluetooth: hci_event: Fix not using key encryption size when its known (git-fixes).
  • Bluetooth: hci_qca: move the SoC type check to the right place (git-fixes).
  • Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync (git-fixes).
  • Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync (git-fixes).
  • Bluetooth: hci_sync: Fix broadcast/PA when using an existing instance (git-fixes).
  • Documentation/rtla: Fix duplicate text about timerlat tracer (git-fixes).
  • Documentation/rtla: Fix typo in common_timerlat_description.rst (git-fixes).
  • Documentation/rtla: Fix typo in rtla-timerlat.rst (git-fixes).
  • Documentation: fix typo in root= kernel parameter description (git-fixes).
  • HID: lenovo: Restrict F7/9/11 mode to compact keyboards only (git-fixes).
  • HID: quirks: Add ADATA XPG alpha wireless mouse support (stable-fixes).
  • HID: usbkbd: Fix the bit shift number for LED_KANA (stable-fixes).
  • HID: wacom: fix kobject reference count leak (git-fixes).
  • HID: wacom: fix memory leak on kobject creation failure (git-fixes).
  • HID: wacom: fix memory leak on sysfs attribute creation failure (git-fixes).
  • Input: gpio-keys - fix possible concurrent access in gpio_keys_irq_timer() (git-fixes).
  • Input: ims-pcu - check record size in ims_pcu_flash_firmware() (git-fixes).
  • Input: sparcspkr - avoid unannotated fall-through (stable-fixes).
  • Input: xpad - add more controllers (stable-fixes).
  • KVM: powerpc: Enable commented out BUILD_BUG_ON() assertion (bsc#1215199).
  • KVM: s390: rename PROT_NONE to PROT_TYPE_DUMMY (git-fixes bsc#1245225).
  • Merge branch 'SLE15-SP6' (dee422c0c737) into 'SLE15-SP6-RT'
  • MyBS: Correctly generate build flags for non-multibuild package limit (bsc# 1244241) Fixes: 0999112774fc ('MyBS: Use buildflags to set which package to build')
  • MyBS: Do not build kernel-obs-qa with limit_packages Fixes: 58e3f8c34b2b ('bs-upload-kernel: Pass limit_packages also on multibuild')
  • MyBS: Simplify qa_expr generation Start with a 0 which makes the expression valid even if there are no QA repositories (currently does not happen). Then separator is always needed.
  • NFC: nci: uart: Set tty->disc_data only in success path (git-fixes).
  • NFS: Do not allow waiting for exiting tasks (git-fixes).
  • NFSD: Insulate nfsd4_encode_read_plus() from page boundaries in the encode buffer (git-fixes).
  • NFSv4: Check for delegation validity in nfs_start_delegation_return_locked() (git-fixes).
  • NFSv4: Treat ENETUNREACH errors as fatal for state recovery (git-fixes).
  • No -rt specific changes this merge.
  • PCI/DPC: Initialize aer_err_info before using it (git-fixes).
  • PCI/DPC: Log Error Source ID only when valid (git-fixes).
  • PCI/DPC: Use defines with DPC reason fields (git-fixes).
  • PCI/MSI: Size device MSI domain with the maximum number of vectors (git-fixes).
  • PCI/PM: Set up runtime PM even for devices without PCI PM (git-fixes).
  • PCI: Explicitly put devices into D0 when initializing (git-fixes).
  • PCI: Fix lock symmetry in pci_slot_unlock() (git-fixes).
  • PCI: Fix old_size lower bound in calculate_iosize() too (stable-fixes).
  • PCI: apple: Set only available ports up (git-fixes).
  • PCI: apple: Use gpiod_set_value_cansleep in probe flow (git-fixes).
  • PCI: brcmstb: Add a softdep to MIP MSI-X driver (stable-fixes).
  • PCI: brcmstb: Expand inbound window size up to 64GB (stable-fixes).
  • PCI: cadence-ep: Correct PBA offset in .set_msix() callback (git-fixes).
  • PCI: cadence: Fix runtime atomic count underflow (git-fixes).
  • PCI: dw-rockchip: Fix PHY function call sequence in rockchip_pcie_phy_deinit() (git-fixes).
  • PCI: dw-rockchip: Remove PCIE_L0S_ENTRY check from rockchip_pcie_link_up() (git-fixes).
  • PCI: dwc: ep: Correct PBA offset in .set_msix() callback (git-fixes).
  • PCI: dwc: ep: Ensure proper iteration over outbound map windows (stable-fixes).
  • PCI: endpoint: Retain fixed-size BAR size as well as aligned size (git-fixes).
  • PCI: vmd: Disable MSI remapping bypass under Xen (stable-fixes).
  • PM: runtime: fix denying of auto suspend in pm_suspend_timer_fn() (stable-fixes).
  • PM: sleep: Fix power.is_suspended cleanup for direct-complete devices (git-fixes).
  • PM: sleep: Print PM debug messages during hibernation (git-fixes).
  • PM: wakeup: Delete space in the end of string shown by pm_show_wakelocks() (git-fixes).
  • RDMA/core: Fix best page size finding when it can cross SG entries (git-fixes)
  • RDMA/uverbs: Propagate errors from rdma_lookup_get_uobject() (git-fixes)
  • Remove compress-vmlinux.sh /usr/lib/rpm/brp-suse.d/brp-99-compress-vmlinux was added in pesign-obs-integration during SLE12 RC. This workaround can be removed.
  • Remove host-memcpy-hack.h This might have been usefult at some point but we have more things that depend on specific library versions today.
  • Remove try-disable-staging-driver The config for linux-next is autogenerated from master config, and defaults filled for missing options. This is unlikely to enable any staging driver in the first place.
  • Revert 'ALSA: usb-audio: Skip setting clock selector for single connections' (stable-fixes).
  • Revert 'arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC (git-fixes)
  • Revert 'bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first' (stable-fixes).
  • Revert 'drm/amdgpu: do not allow userspace to create a doorbell BO' (stable-fixes).
  • Revert 'ipv6: save dontfrag in cork (git-fixes).'
  • Revert 'kABI: ipv6: save dontfrag in cork (git-fixes).'
  • Revert 'wifi: mt76: mt7996: fill txd by host driver' (stable-fixes).
  • SUNRPC: Do not allow waiting for exiting tasks (git-fixes).
  • SUNRPC: Prevent hang on NFS mount with xprtsec=[m]tls (git-fixes).
  • SUNRPC: rpc_clnt_set_transport() must not change the autobind setting (git-fixes).
  • SUNRPC: rpcbind should never reset the port to the value '0' (git-fixes).
  • USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB (stable-fixes).
  • VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify (git-fixes).
  • accel/qaic: Mask out SR-IOV PCI resources (stable-fixes).
  • acpi-cpufreq: Fix nominal_freq units to KHz in get_max_boost_ratio() (git-fixes).
  • add bug reference to existing hv_storvsc change (bsc#1245455).
  • arm64: dts: marvell: uDPU: define pinctrl state for alarm LEDs (git-fixes)
  • ata: libata-eh: Do not use ATAPI DMA for a device limited to PIO mode (stable-fixes).
  • ata: pata_via: Force PIO for ATAPI devices on VT6415/VT6330 (stable-fixes).
  • ath10k: snoc: fix unbalanced IRQ enable in crash recovery (git-fixes).
  • backlight: pm8941: Add NULL check in wled_configure() (git-fixes).
  • bnxt: properly flush XDP redirect lists (git-fixes).
  • bpf: Force uprobe bpf program to always return 0 (git-fixes).
  • bs-upload-kernel: Pass limit_packages also on multibuild Fixes: 0999112774fc ('MyBS: Use buildflags to set which package to build') Fixes: 747f601d4156 ('bs-upload-kernel, MyBS, Buildresults: Support multibuild (JSC-SLE#5501, boo#1211226, bsc#1218184)')
  • btrfs: fix fsync of files with no hard links not persisting deletion (git-fixes).
  • btrfs: fix invalid data space release when truncating block in NOCOW mode (git-fixes).
  • btrfs: fix qgroup reservation leak on failure to allocate ordered extent (git-fixes).
  • btrfs: fix wrong start offset for delalloc space release during mmap write (git-fixes).
  • btrfs: remove end_no_trans label from btrfs_log_inode_parent() (git-fixes).
  • btrfs: simplify condition for logging new dentries at btrfs_log_inode_parent() (git-fixes).
  • bus: fsl-mc: do not add a device-link for the UAPI used DPMCP device (git-fixes).
  • bus: fsl-mc: fix GET/SET_TAILDROP command ids (git-fixes).
  • bus: fsl-mc: fix double-free on mc_dev (git-fixes).
  • bus: fsl-mc: increase MC_CMD_COMPLETION_TIMEOUT_MS value (stable-fixes).
  • bus: mhi: host: Fix conflict between power_up and SYSERR (git-fixes).
  • calipso: Fix null-ptr-deref in calipso_req_{set,del}attr() (git-fixes).
  • can: c_can: Use of_property_present() to test existence of DT property (stable-fixes).
  • can: tcan4x5x: fix power regulator retrieval during probe (git-fixes).
  • ceph: Fix incorrect flush end position calculation (git-fixes).
  • ceph: allocate sparse_ext map only for sparse reads (git-fixes).
  • ceph: fix memory leaks in __ceph_sync_read() (git-fixes).
  • cgroup/cpuset: Fix race between newly created partition and dying one (bsc#1241166).
  • clocksource: Fix brown-bag boolean thinko in (git-fixes)
  • clocksource: Make watchdog and suspend-timing multiplication (git-fixes)
  • crypto: lrw - Only add ecb if it is not already there (git-fixes).
  • crypto: lzo - Fix compression buffer overrun (stable-fixes).
  • crypto: marvell/cesa - Avoid empty transfer descriptor (git-fixes).
  • crypto: marvell/cesa - Do not chain submitted requests (git-fixes).
  • crypto: marvell/cesa - Handle zero-length skcipher requests (git-fixes).
  • crypto: octeontx2 - suppress auth failure screaming due to negative tests (stable-fixes).
  • crypto: qat - add shutdown handler to qat_420xx (git-fixes).
  • crypto: qat - add shutdown handler to qat_4xxx (git-fixes).
  • crypto: skcipher - Zap type in crypto_alloc_sync_skcipher (stable-fixes).
  • crypto: sun8i-ce - move fallback ahash_request to the end of the struct (git-fixes).
  • crypto: sun8i-ce-cipher - fix error handling in sun8i_ce_cipher_prepare() (git-fixes).
  • crypto: sun8i-ss - do not use sg_dma_len before calling DMA functions (git-fixes).
  • crypto: xts - Only add ecb if it is not already there (git-fixes).
  • devlink: Fix referring to hw_addr attribute during state validation (git-fixes).
  • devlink: fix port dump cmd type (git-fixes).
  • dlm: mask sk_shutdown value (bsc#1228854).
  • dlm: use SHUT_RDWR for SCTP shutdown (bsc#1228854).
  • dmaengine: idxd: cdev: Fix uninitialized use of sva in idxd_cdev_open (stable-fixes).
  • dmaengine: ti: Add NULL check in udma_probe() (git-fixes).
  • drivers/rapidio/rio_cm.c: prevent possible heap overwrite (stable-fixes).
  • drm/amd/display/dm: drop hw_support check in amdgpu_dm_i2c_xfer() (stable-fixes).
  • drm/amd/display: Add null pointer check for get_first_active_display() (git-fixes).
  • drm/amd/display: Do not try AUX transactions on disconnected link (stable-fixes).
  • drm/amd/display: Fix incorrect DPCD configs while Replay/PSR switch (stable-fixes).
  • drm/amd/display: Guard against setting dispclk low for dcn31x (stable-fixes).
  • drm/amd/display: Increase block_sequence array size (stable-fixes).
  • drm/amd/display: Initial psr_version with correct setting (stable-fixes).
  • drm/amd/display: Skip checking FRL_MODE bit for PCON BW determination (stable-fixes).
  • drm/amd/display: Update CR AUX RD interval interpretation (stable-fixes).
  • drm/amd/display: fix link_set_dpms_off multi-display MST corner case (stable-fixes).
  • drm/amd/display: remove minimum Dispclk and apply oem panel timing (stable-fixes).
  • drm/amd/pp: Fix potential NULL pointer dereference in atomctrl_initialize_mc_reg_table (git-fixes).
  • drm/amdgpu: Do not program AGP BAR regs under SRIOV in gfxhub_v1_0.c (stable-fixes).
  • drm/amdgpu: Set snoop bit for SDMA for MI series (stable-fixes).
  • drm/amdgpu: Update SRIOV video codec caps (stable-fixes).
  • drm/amdgpu: enlarge the VBIOS binary size limit (stable-fixes).
  • drm/amdgpu: reset psp->cmd to NULL after releasing the buffer (stable-fixes).
  • drm/amdgpu: switch job hw_fence to amdgpu_fence (git-fixes).
  • drm/amdkfd: KFD release_work possible circular locking (stable-fixes).
  • drm/amdkfd: Set per-process flags only once cik/vi (stable-fixes).
  • drm/ast: Find VBIOS mode from regular display size (stable-fixes).
  • drm/ast: Fix comment on modeset lock (git-fixes).
  • drm/atomic: clarify the rules around drm_atomic_state->allow_modeset (stable-fixes).
  • drm/bridge: cdns-dsi: Check return value when getting default PHY config (git-fixes).
  • drm/bridge: cdns-dsi: Fix connecting to next bridge (git-fixes).
  • drm/bridge: cdns-dsi: Fix phy de-init and flag it so (git-fixes).
  • drm/bridge: cdns-dsi: Fix the clock variable for mode_valid() (git-fixes).
  • drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready (git-fixes).
  • drm/bridge: lt9611uxc: Fix an error handling path in lt9611uxc_probe() (git-fixes).
  • drm/etnaviv: Protect the scheduler's pending list with its lock (git-fixes).
  • drm/i915/gem: Allow EXEC_CAPTURE on recoverable contexts on DG1 (git-fixes).
  • drm/i915/pmu: Fix build error with GCOV and AutoFDO enabled (git-fixes).
  • drm/i915: fix build error some more (git-fixes).
  • drm/mediatek: Fix kobject put for component sub-drivers (git-fixes).
  • drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence (stable-fixes).
  • drm/mediatek: mtk_drm_drv: Fix kobject put for mtk_mutex device ptr (git-fixes).
  • drm/mediatek: mtk_drm_drv: Unbind secondary mmsys components on err (git-fixes).
  • drm/msm/disp: Correct porch timing for SDM845 (git-fixes).
  • drm/msm/dsi/dsi_phy_10nm: Fix missing initial VCO rate (git-fixes).
  • drm/msm/gpu: Fix crash when throttling GPU immediately during boot (git-fixes).
  • drm/nouveau/bl: increase buffer size to avoid truncate warning (git-fixes).
  • drm/panel-edp: Add Starry 116KHD024006 (stable-fixes).
  • drm/panel: samsung-sofef00: Drop s6e3fc2x01 support (git-fixes).
  • drm/rockchip: vop2: Add uv swap for cluster window (stable-fixes).
  • drm/ssd130x: fix ssd132x_clear_screen() columns (git-fixes).
  • drm/tegra: Assign plane type before registration (git-fixes).
  • drm/tegra: Fix a possible null pointer dereference (git-fixes).
  • drm/tegra: rgb: Fix the unbound reference count (git-fixes).
  • drm/udl: Unregister device before cleaning up on disconnect (git-fixes).
  • drm/v3d: Add clock handling (stable-fixes).
  • drm/vc4: tests: Use return instead of assert (git-fixes).
  • drm/vkms: Adjust vkms_state->active_planes allocation type (git-fixes).
  • drm/vmwgfx: Add seqno waiter for sync_files (git-fixes).
  • drm: Add valid clones check (stable-fixes).
  • drm: bridge: adv7511: fill stream capabilities (stable-fixes).
  • drm: rcar-du: Fix memory leak in rcar_du_vsps_init() (git-fixes).
  • e1000e: set fixed clock frequency indication for Nahum 11 and Nahum 13 (git-fixes).
  • fbcon: Make sure modelist not set on unregistered console (stable-fixes).
  • fbcon: Use correct erase colour for clearing in fbcon (stable-fixes).
  • fbdev/efifb: Remove PM for parent device (bsc#1244261).
  • fbdev: Fix do_register_framebuffer to prevent null-ptr-deref in fb_videomode_to_var (git-fixes).
  • fbdev: Fix fb_set_var to prevent null-ptr-deref in fb_videomode_to_var (git-fixes).
  • fbdev: core: fbcvt: avoid division by 0 in fb_cvt_hperiod() (git-fixes).
  • fbdev: core: tileblit: Implement missing margin clearing for tileblit (stable-fixes).
  • fbdev: fsl-diu-fb: add missing device_remove_file() (stable-fixes).
  • fgraph: Still initialize idle shadow stacks when starting (git-fixes).
  • firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES (git-fixes).
  • firmware: arm_ffa: Reject higher major version as incompatible (stable-fixes).
  • firmware: arm_ffa: Set dma_mask for ffa devices (stable-fixes).
  • firmware: arm_scmi: Relax duplicate name constraint across protocol ids (stable-fixes).
  • firmware: psci: Fix refcount leak in psci_dt_init (git-fixes).
  • fpga: altera-cvp: Increase credit timeout (stable-fixes).
  • fs/nfs/read: fix double-unlock bug in nfs_return_empty_folio() (git-fixes).
  • gpio: mlxbf3: only get IRQ for device instance 0 (git-fixes).
  • gpio: pca953x: Simplify code with cleanup helpers (stable-fixes).
  • gpio: pca953x: Split pca953x_restore_context() and pca953x_save_context() (stable-fixes).
  • gpio: pca953x: fix IRQ storm on system wake up (git-fixes).
  • gpiolib: Revert 'Do not WARN on gpiod_put() for optional GPIO' (stable-fixes).
  • gve: Fix RX_BUFFERS_POSTED stat to report per-queue fill_cnt (git-fixes).
  • gve: add missing NULL check for gve_alloc_pending_packet() in TX DQO (git-fixes).
  • hwmon: (asus-ec-sensors) check sensor index in read_string() (git-fixes).
  • hwmon: (dell-smm) Increment the number of fans (stable-fixes).
  • hwmon: (ftsteutates) Fix TOCTOU race in fts_read() (git-fixes).
  • hwmon: (gpio-fan) Add missing mutex locks (stable-fixes).
  • hwmon: (nct6775): Actually make use of the HWMON_NCT6775 symbol namespace (git-fixes).
  • hwmon: (occ) Rework attribute registration for stack usage (git-fixes).
  • hwmon: (occ) fix unaligned accesses (git-fixes).
  • hwmon: (peci/dimmtemp) Do not provide fake thresholds data (git-fixes).
  • hwmon: (xgene-hwmon) use appropriate type for the latency value (stable-fixes).
  • hwmon: corsair-psu: add USB id of HX1200i Series 2023 psu (git-fixes).
  • i2c: designware: Invoke runtime suspend on quick slave re-registration (stable-fixes).
  • i2c: npcm: Add clock toggle recovery (stable-fixes).
  • i2c: pxa: fix call balance of i2c->clk handling routines (stable-fixes).
  • i2c: qup: Vote for interconnect bandwidth to DRAM (stable-fixes).
  • i2c: robotfuzz-osif: disable zero-length read messages (git-fixes).
  • i2c: tegra: check msg length in SMBUS block read (bsc#1242086)
  • i2c: tiny-usb: disable zero-length read messages (git-fixes).
  • i3c: master: svc: Fix implicit fallthrough in svc_i3c_master_ibi_work() (git-fixes).
  • i3c: master: svc: Fix missing STOP for master request (stable-fixes).
  • i3c: master: svc: Flush FIFO before sending Dynamic Address Assignment(DAA) (stable-fixes).
  • i40e: retry VFLR handling if there is ongoing VF reset (git-fixes).
  • i40e: return false from i40e_reset_vf if reset is in progress (git-fixes).
  • ice: Fix LACP bonds without SRIOV environment (git-fixes).
  • ice: create new Tx scheduler nodes for new queues only (git-fixes).
  • ice: fix Tx scheduler error handling in XDP callback (git-fixes).
  • ice: fix rebuilding the Tx scheduler tree for large queue counts (git-fixes).
  • ice: fix vf->num_mac count with port representors (git-fixes).
  • ieee802154: ca8210: Use proper setters and getters for bitwise types (stable-fixes).
  • iio: accel: fxls8962af: Fix temperature scan element sign (git-fixes).
  • iio: adc: ad7124: Fix 3dB filter frequency reading (git-fixes).
  • iio: adc: ad7606_spi: fix reg write value mask (git-fixes).
  • iio: filter: admv8818: Support frequencies >= 2^32 (git-fixes).
  • iio: filter: admv8818: fix band 4, state 15 (git-fixes).
  • iio: filter: admv8818: fix integer overflow (git-fixes).
  • iio: filter: admv8818: fix range calculation (git-fixes).
  • iio: imu: inv_icm42600: Fix temperature calculation (git-fixes).
  • ima: Suspend PCR extends and log appends when rebooting (bsc#1210025 ltc#196650).
  • ima: process_measurement() needlessly takes inode_lock() on MAY_READ (stable-fixes).
  • intel_th: avoid using deprecated page->mapping, index fields (stable-fixes).
  • iommu: Protect against overflow in iommu_pgsize() (git-fixes).
  • iommu: Skip PASID validation for devices without PASID capability (bsc#1244100)
  • iommu: Validate the PASID in iommu_attach_device_pasid() (bsc#1244100)
  • ip6mr: fix tables suspicious RCU usage (git-fixes).
  • ip_tunnel: annotate data-races around t->parms.link (git-fixes).
  • ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function (git-fixes).
  • ipmr: fix tables suspicious RCU usage (git-fixes).
  • ipv4: Convert ip_route_input() to dscp_t (git-fixes).
  • ipv4: Correct/silence an endian warning in __ip_do_redirect (git-fixes).
  • ipv6: save dontfrag in cork (git-fixes).
  • ipvs: Always clear ipvs_property flag in skb_scrub_packet() (git-fixes).
  • isolcpus: fix bug in returning number of allocated cpumask (bsc#1243774).
  • jffs2: check jffs2_prealloc_raw_node_refs() result in few other places (git-fixes).
  • jffs2: check that raw node were preallocated before writing summary (git-fixes).
  • kABI workaround for hda_codec.beep_just_power_on flag (git-fixes).
  • kABI: PCI: endpoint: Retain fixed-size BAR size as well as aligned size (git-fixes).
  • kABI: ipv6: save dontfrag in cork (git-fixes).
  • kABI: serial: mctrl_gpio: split disable_ms into sync and no_sync APIs (git-fixes).
  • kabi: restore layout of struct cgroup_subsys (bsc#1241166).
  • kabi: restore layout of struct mem_control (jsc#PED-12551).
  • kabi: restore layout of struct page_counter (jsc#PED-12551).
  • kernel-source: Remove log.sh from sources
  • leds: pwm-multicolor: Add check for fwnode_property_read_u32 (stable-fixes).
  • loop: add file_start_write() and file_end_write() (git-fixes).
  • mailbox: use error ret code of of_parse_phandle_with_args() (stable-fixes).
  • md/raid1,raid10: do not handle IO error for REQ_RAHEAD and REQ_NOWAIT (git-fixes).
  • media: adv7180: Disable test-pattern control on adv7180 (stable-fixes).
  • media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe() (stable-fixes).
  • media: ccs-pll: Check for too high VT PLL multiplier in dual PLL case (git-fixes).
  • media: ccs-pll: Correct the upper limit of maximum op_pre_pll_clk_div (git-fixes).
  • media: ccs-pll: Start OP pre-PLL multiplier search from correct value (git-fixes).
  • media: ccs-pll: Start VT pre-PLL multiplier search from correct value (git-fixes).
  • media: cx231xx: set device_caps for 417 (stable-fixes).
  • media: cxusb: no longer judge rbuf when the write fails (git-fixes).
  • media: davinci: vpif: Fix memory leak in probe error path (git-fixes).
  • media: gspca: Add error handling for stv06xx_read_sensor() (git-fixes).
  • media: i2c: imx219: Correct the minimum vblanking value (stable-fixes).
  • media: imx-jpeg: Cleanup after an allocation error (git-fixes).
  • media: imx-jpeg: Drop the first error frames (git-fixes).
  • media: imx-jpeg: Move mxc_jpeg_free_slot_data() ahead (git-fixes).
  • media: imx-jpeg: Reset slot data pointers when freed (git-fixes).
  • media: nxp: imx8-isi: better handle the m2m usage_count (git-fixes).
  • media: omap3isp: use sgtable-based scatterlist wrappers (git-fixes).
  • media: ov5675: suppress probe deferral errors (git-fixes).
  • media: ov8856: suppress probe deferral errors (git-fixes).
  • media: qcom: camss: csid: Only add TPG v4l2 ctrl if TPG hardware is available (stable-fixes).
  • media: rkvdec: Fix frame size enumeration (git-fixes).
  • media: tc358746: improve calculation of the D-PHY timing registers (stable-fixes).
  • media: test-drivers: vivid: do not call schedule in loop (stable-fixes).
  • media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map (stable-fixes).
  • media: uvcvideo: Fix deferred probing error (git-fixes).
  • media: uvcvideo: Handle uvc menu translation inside uvc_get_le_value (stable-fixes).
  • media: uvcvideo: Return the number of processed controls (git-fixes).
  • media: v4l2-dev: fix error handling in __video_register_device() (git-fixes).
  • media: v4l: Memset argument to 0 before calling get_mbus_config pad op (stable-fixes).
  • media: venus: Fix probe error handling (git-fixes).
  • media: videobuf2: use sgtable-based scatterlist wrappers (git-fixes).
  • media: vidtv: Terminating the subsequent process of initialization failure (git-fixes).
  • media: vivid: Change the siize of the composing (git-fixes).
  • mfd: exynos-lpass: Avoid calling exynos_lpass_disable() twice in exynos_lpass_remove() (git-fixes).
  • mfd: stmpe-spi: Correct the name used in MODULE_DEVICE_TABLE (git-fixes).
  • mfd: tps65219: Remove TPS65219_REG_TI_DEV_ID check (stable-fixes).
  • mkspec: Exclude rt flavor from kernel-syms dependencies (bsc#1244337).
  • mm, memcg: cg2 memory{.swap,}.peak write handlers (jsc#PED-12551).
  • mm/hugetlb: fix huge_pmd_unshare() vs GUP-fast race (bsc#1245431).
  • mm/hugetlb: unshare page tables during VMA split, not before (bsc#1245431).
  • mm/memcontrol: export memcg.swap watermark via sysfs for v2 memcg (jsc#PED-12551).
  • mmc: Add quirk to disable DDR50 tuning (stable-fixes).
  • mmc: dw_mmc: add exynos7870 DW MMC support (stable-fixes).
  • mmc: host: Wait for Vdd to settle on card power off (stable-fixes).
  • mmc: sdhci: Disable SD card clock before changing parameters (stable-fixes).
  • mtd: nand: ecc-mxic: Fix use of uninitialized variable ret (git-fixes).
  • mtd: nand: sunxi: Add randomizer configuration before randomizer enable (git-fixes).
  • mtd: rawnand: sunxi: Add randomizer configuration in sunxi_nfc_hw_ecc_write_chunk (git-fixes).
  • neighbour: Do not let neigh_forced_gc() disable preemption for long (git-fixes).
  • net/mdiobus: Fix potential out-of-bounds clause 45 read/write access (git-fixes).
  • net/mdiobus: Fix potential out-of-bounds read/write access (git-fixes).
  • net/mlx4_en: Prevent potential integer overflow calculating Hz (git-fixes).
  • net/mlx5: Add error handling in mlx5_query_nic_vport_node_guid() (git-fixes).
  • net/mlx5: Ensure fw pages are always allocated on same NUMA (git-fixes).
  • net/mlx5: Fix ECVF vports unload on shutdown flow (git-fixes).
  • net/mlx5: Fix return value when searching for existing flow group (git-fixes).
  • net/mlx5_core: Add error handling inmlx5_query_nic_vport_qkey_viol_cntr() (git-fixes).
  • net/mlx5e: Fix leak of Geneve TLV option object (git-fixes).
  • net/neighbor: clear error in case strict check is not set (git-fixes).
  • net/sched: fix use-after-free in taprio_dev_notifier (git-fixes).
  • net: Fix TOCTOU issue in sk_is_readable() (git-fixes).
  • net: Implement missing getsockopt(SO_TIMESTAMPING_NEW) (git-fixes).
  • net: add rcu safety to rtnl_prop_list_size() (git-fixes).
  • net: fix udp gso skb_segment after pull from frag_list (git-fixes).
  • net: give more chances to rcu in netdev_wait_allrefs_any() (git-fixes).
  • net: ice: Perform accurate aRFS flow match (git-fixes).
  • net: ipv4: fix a memleak in ip_setup_cork (git-fixes).
  • net: linkwatch: use system_unbound_wq (git-fixes).
  • net: mana: Add support for Multi Vports on Bare metal (bsc#1244229).
  • net: mana: Record doorbell physical address in PF mode (bsc#1244229).
  • net: page_pool: fix warning code (git-fixes).
  • net: phy: clear phydev->devlink when the link is deleted (git-fixes).
  • net: phy: fix up const issues in to_mdio_device() and to_phy_device() (git-fixes).
  • net: phy: move phy_link_change() prior to mdio_bus_phy_may_suspend() (bsc#1243538)
  • net: phy: mscc: Fix memory leak when using one step timestamping (git-fixes).
  • net: phy: mscc: Stop clearing the the UDPv4 checksum for L2 frames (git-fixes).
  • net: sched: cls_u32: Fix allocation size in u32_init() (git-fixes).
  • net: sched: consistently use rcu_replace_pointer() in taprio_change() (git-fixes).
  • net: sched: em_text: fix possible memory leak in em_text_destroy() (git-fixes).
  • net: sched: fix erspan_opt settings in cls_flower (git-fixes).
  • net: usb: aqc111: debug info before sanitation (git-fixes).
  • net: usb: aqc111: fix error handling of usbnet read calls (git-fixes).
  • net: wwan: t7xx: Fix napi rx poll issue (git-fixes).
  • net_sched: ets: fix a race in ets_qdisc_change() (git-fixes).
  • net_sched: prio: fix a race in prio_tune() (git-fixes).
  • net_sched: red: fix a race in __red_change() (git-fixes).
  • net_sched: sch_fifo: implement lockless __fifo_dump() (bsc#1237312)
  • net_sched: sch_sfq: reject invalid perturb period (git-fixes).
  • net_sched: sch_sfq: use a temporary work area for validating configuration (bsc#1232504)
  • net_sched: tbf: fix a race in tbf_change() (git-fixes).
  • netdev-genl: Hold rcu_read_lock in napi_get (git-fixes).
  • netlink: fix potential sleeping issue in mqueue_flush_file (git-fixes).
  • netlink: specs: dpll: replace underscores with dashes in names (git-fixes).
  • netpoll: Use rcu_access_pointer() in __netpoll_setup (git-fixes).
  • netpoll: hold rcu read lock in __netpoll_send_skb() (git-fixes).
  • nfsd: Initialize ssc before laundromat_work to prevent NULL dereference (git-fixes).
  • nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request (git-fixes).
  • nfsd: validate the nfsd_serv pointer before calling svc_wake_up (git-fixes).
  • ntp: Clamp maxerror and esterror to operating range (git-fixes)
  • ntp: Remove invalid cast in time offset math (git-fixes)
  • ntp: Safeguard against time_constant overflow (git-fixes)
  • nvme-fc: do not reference lsrsp after failure (bsc#1245193).
  • nvme-pci: add NVME_QUIRK_NO_DEEPEST_PS quirk for SOLIDIGM P44 Pro (git-fixes).
  • nvme-pci: add quirks for WDC Blue SN550 15b7:5009 (git-fixes).
  • nvme-pci: add quirks for device 126f:1001 (git-fixes).
  • nvme: always punt polled uring_cmd end_io work to task_work (git-fixes).
  • nvme: fix command limits status code (git-fixes).
  • nvme: fix implicit bool to flags conversion (git-fixes).
  • nvmet-fc: free pending reqs on tgtport unregister (bsc#1245193).
  • nvmet-fc: take tgtport refs for portentry (bsc#1245193).
  • nvmet-fcloop: access fcpreq only when holding reqlock (bsc#1245193).
  • nvmet-fcloop: add missing fcloop_callback_host_done (bsc#1245193).
  • nvmet-fcloop: allocate/free fcloop_lsreq directly (bsc#1245193).
  • nvmet-fcloop: do not wait for lport cleanup (bsc#1245193).
  • nvmet-fcloop: drop response if targetport is gone (bsc#1245193).
  • nvmet-fcloop: prevent double port deletion (bsc#1245193).
  • nvmet-fcloop: refactor fcloop_delete_local_port (bsc#1245193).
  • nvmet-fcloop: refactor fcloop_nport_alloc and track lport (bsc#1245193).
  • nvmet-fcloop: remove nport from list on last user (bsc#1245193).
  • nvmet-fcloop: track ref counts for nports (bsc#1245193).
  • nvmet-fcloop: update refs on tfcp_req (bsc#1245193).
  • orangefs: Do not truncate file size (git-fixes).
  • pNFS/flexfiles: Report ENETDOWN as a connection error (git-fixes).
  • page_pool: Fix use-after-free in page_pool_recycle_in_ring (git-fixes).
  • phy: core: do not require set_mode() callback for phy_get_mode() to work (stable-fixes).
  • phy: qcom-qmp-usb: Fix an NULL vs IS_ERR() bug (git-fixes).
  • phy: renesas: rcar-gen3-usb2: Add support to initialize the bus (stable-fixes).
  • phy: renesas: rcar-gen3-usb2: Assert PLL reset on PHY power off (git-fixes).
  • phy: renesas: rcar-gen3-usb2: Lock around hardware registers and driver data (git-fixes).
  • phy: renesas: rcar-gen3-usb2: Move IRQ request in probe (stable-fixes).
  • pinctrl-tegra: Restore SFSEL bit when freeing pins (stable-fixes).
  • pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get() (stable-fixes).
  • pinctrl: armada-37xx: propagate error from armada_37xx_gpio_get_direction() (stable-fixes).
  • pinctrl: armada-37xx: propagate error from armada_37xx_pmx_gpio_set_direction() (stable-fixes).
  • pinctrl: armada-37xx: propagate error from armada_37xx_pmx_set_by_name() (stable-fixes).
  • pinctrl: armada-37xx: set GPIO output value before setting direction (git-fixes).
  • pinctrl: armada-37xx: use correct OUTPUT_VAL register for GPIOs > 31 (git-fixes).
  • pinctrl: at91: Fix possible out-of-boundary access (git-fixes).
  • pinctrl: bcm281xx: Use 'unsigned int' instead of bare 'unsigned' (stable-fixes).
  • pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map (stable-fixes).
  • pinctrl: mcp23s08: Reset all pins to input at probe (stable-fixes).
  • pinctrl: meson: define the pull up/down resistor value as 60 kOhm (stable-fixes).
  • pinctrl: qcom: pinctrl-qcm2290: Add missing pins (git-fixes).
  • pinctrl: st: Drop unused st_gpio_bank() function (git-fixes).
  • pinctrl: tegra: Fix off by one in tegra_pinctrl_get_group() (git-fixes).
  • platform/x86/amd: pmc: Clear metrics table at start of cycle (git-fixes).
  • platform/x86/intel-uncore-freq: Fail module load when plat_info is NULL (git-fixes).
  • platform/x86: dell_rbu: Fix list usage (git-fixes).
  • platform/x86: dell_rbu: Stop overwriting data buffer (git-fixes).
  • platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys (git-fixes).
  • platform/x86: fujitsu-laptop: Support Lifebook S2110 hotkeys (stable-fixes).
  • platform/x86: ideapad-laptop: use usleep_range() for EC polling (git-fixes).
  • platform/x86: thinkpad_acpi: Ignore battery threshold change event notification (stable-fixes).
  • platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS (git-fixes).
  • platform/x86: thinkpad_acpi: Support also NEC Lavie X1475JAS (stable-fixes).
  • power: reset: at91-reset: Optimize at91_reset() (git-fixes).
  • power: supply: bq27xxx: Retrieve again when busy (stable-fixes).
  • power: supply: collie: Fix wakeup source leaks on device unbind (stable-fixes).
  • powerpc/eeh: Fix missing PE bridge reconfiguration during VFIO EEH recovery (bsc#1215199).
  • powerpc/powernv/memtrace: Fix out of bounds issue in memtrace mmap (bsc#1244309 ltc#213790).
  • powerpc/pseries/msi: Avoid reading PCI device registers in reduced power states (bsc#1215199).
  • powerpc/vas: Return -EINVAL if the offset is non-zero in mmap() (bsc#1244309 ltc#213790).
  • pstore: Change kmsg_bytes storage size to u32 (git-fixes).
  • ptp: remove ptp->n_vclocks check logic in ptp_vclock_in_use() (git-fixes).
  • r8152: add vendor/device ID pair for Dell Alienware AW1022z (git-fixes).
  • regulator: ad5398: Add device tree support (stable-fixes).
  • regulator: max14577: Add error check for max14577_read_reg() (git-fixes).
  • regulator: max20086: Change enable gpio to optional (git-fixes).
  • regulator: max20086: Fix MAX200086 chip id (git-fixes).
  • regulator: max20086: Fix refcount leak in max20086_parse_regulators_dt() (git-fixes).
  • rpm/check-for-config-changes: add more to IGNORED_CONFIGS_RE Useful when someone tries (needs) to build the kernel with clang.
  • rpm/kernel-source.changes.old: Drop bogus bugzilla reference (bsc#1244725)
  • rpm: Stop using is_kotd_qa macro This macro is set by bs-upload-kernel, and a conditional in each spec file is used to determine when to build the spec file. This logic should not really be in the spec file. Previously this was done with package links and package meta for the individula links. However, the use of package links is rejected for packages in git based release projects (nothing to do with git actually, new policy). An alternative to package links is multibuild. However, for multibuild packages package meta cannot be used to set which spec file gets built. Use prjcon buildflags instead, and remove this conditional. Depends on bs-upload-kernel adding the build flag.
  • rtc: Fix offset calculation for .start_secs < 0 (git-fixes).
  • rtc: Make rtc_time64_to_tm() support dates before 1970 (stable-fixes).
  • rtc: at91rm9200: drop unused module alias (git-fixes).
  • rtc: cmos: use spin_lock_irqsave in cmos_interrupt (git-fixes).
  • rtc: cpcap: drop unused module alias (git-fixes).
  • rtc: da9063: drop unused module alias (git-fixes).
  • rtc: ds1307: stop disabling alarms on probe (stable-fixes).
  • rtc: jz4740: drop unused module alias (git-fixes).
  • rtc: pm8xxx: drop unused module alias (git-fixes).
  • rtc: rv3032: fix EERD location (stable-fixes).
  • rtc: s3c: drop unused module alias (git-fixes).
  • rtc: sh: assign correct interrupts with DT (git-fixes).
  • rtc: stm32: drop unused module alias (git-fixes).
  • s390/pci: Allow re-add of a reserved but not yet removed device (bsc#1244145).
  • s390/pci: Fix __pcilg_mio_inuser() inline assembly (git-fixes bsc#1245226).
  • s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs (git-fixes bsc#1244145).
  • s390/pci: Fix potential double remove of hotplug slot (bsc#1244145).
  • s390/pci: Prevent self deletion in disable_slot() (bsc#1244145).
  • s390/pci: Remove redundant bus removal and disable from zpci_release_device() (bsc#1244145).
  • s390/pci: Serialize device addition and removal (bsc#1244145).
  • s390/pci: introduce lock to synchronize state of zpci_dev's (jsc#PED-10253 bsc#1244145).
  • s390/pci: remove hotplug slot when releasing the device (bsc#1244145).
  • s390/pci: rename lock member in struct zpci_dev (jsc#PED-10253 bsc#1244145).
  • s390/tty: Fix a potential memory leak bug (git-fixes bsc#1245228).
  • scsi: dc395x: Remove DEBUG conditional compilation (git-fixes).
  • scsi: dc395x: Remove leftover if statement in reselect() (git-fixes).
  • scsi: elx: efct: Fix memory leak in efct_hw_parse_filter() (git-fixes).
  • scsi: hisi_sas: Call I_T_nexus after soft reset for SATA disk (git-fixes).
  • scsi: iscsi: Fix incorrect error path labels for flashnode operations (git-fixes).
  • scsi: mpi3mr: Add level check to control event logging (git-fixes).
  • scsi: mpt3sas: Send a diag reset if target reset fails (git-fixes).
  • scsi: qedf: Use designated initializer for struct qed_fcoe_cb_ops (git-fixes).
  • scsi: sd_zbc: block: Respect bio vector limits for REPORT ZONES buffer (git-fixes).
  • scsi: st: ERASE does not change tape location (git-fixes).
  • scsi: st: Restore some drive settings after reset (git-fixes).
  • scsi: st: Tighten the page format heuristics with MODE SELECT (git-fixes).
  • scsi: storvsc: Do not report the host packet status as the hv status (git-fixes).
  • scsi: storvsc: Increase the timeouts to storvsc_timeout (git-fixes).
  • selftests/bpf: Fix bpf_nf selftest failure (git-fixes).
  • selftests/mm: restore default nr_hugepages value during cleanup in hugetlb_reparenting_test.sh (git-fixes).
  • selftests/net: have gro.sh -t return a correct exit code (stable-fixes).
  • selftests/seccomp: fix syscall_restart test for arm compat (git-fixes).
  • serial: Fix potential null-ptr-deref in mlb_usio_probe() (git-fixes).
  • serial: imx: Restore original RXTL for console to fix data loss (git-fixes).
  • serial: mctrl_gpio: split disable_ms into sync and no_sync APIs (git-fixes).
  • serial: sh-sci: Move runtime PM enable to sci_probe_single() (stable-fixes).
  • serial: sh-sci: Save and restore more registers (git-fixes).
  • serial: sh-sci: Update the suspend/resume support (stable-fixes).
  • soc: aspeed: Add NULL check in aspeed_lpc_enable_snoop() (git-fixes).
  • soc: aspeed: lpc: Fix impossible judgment condition (git-fixes).
  • soc: qcom: smp2p: Fix fallback to qcom,ipc parse (git-fixes).
  • soc: ti: k3-socinfo: Do not use syscon helper to build regmap (stable-fixes).
  • software node: Correct a OOB check in software_node_get_reference_args() (stable-fixes).
  • soundwire: amd: change the soundwire wake enable/disable sequence (stable-fixes).
  • spi-rockchip: Fix register out of bounds access (stable-fixes).
  • spi: bcm63xx-hsspi: fix shared reset (git-fixes).
  • spi: bcm63xx-spi: fix shared reset (git-fixes).
  • spi: sh-msiof: Fix maximum DMA transfer size (git-fixes).
  • spi: spi-sun4i: fix early activation (stable-fixes).
  • spi: tegra210-quad: Fix X1_X2_X4 encoding and support x4 transfers (git-fixes).
  • spi: tegra210-quad: modify chip select (CS) deactivation (git-fixes).
  • spi: tegra210-quad: remove redundant error handling code (git-fixes).
  • spi: zynqmp-gqspi: Always acknowledge interrupts (stable-fixes).
  • staging: iio: ad5933: Correct settling cycles encoding per datasheet (git-fixes).
  • staging: rtl8723bs: Avoid memset() in aes_cipher() and aes_decipher() (git-fixes).
  • struct usci: hide additional member (git-fixes).
  • sunrpc: handle SVC_GARBAGE during svc auth processing as auth error (git-fixes).
  • tcp/dccp: allow a connection when sk_max_ack_backlog is zero (git-fixes).
  • tcp/dccp: bypass empty buckets in inet_twsk_purge() (git-fixes).
  • tcp/dccp: complete lockless accesses to sk->sk_max_ack_backlog (git-fixes).
  • tcp: bring back NUMA dispersion in inet_ehash_locks_alloc() (git-fixes).
  • tcp_metrics: optimize tcp_metrics_flush_all() (git-fixes).
  • thermal/drivers/qoriq: Power down TMU on system suspend (stable-fixes).
  • thunderbolt: Do not add non-active NVM if NVM upgrade is disabled for retimer (stable-fixes).
  • thunderbolt: Do not double dequeue a configuration request (stable-fixes).
  • thunderbolt: Fix a logic error in wake on connect (git-fixes).
  • timekeeping: Fix bogus clock_was_set() invocation in (git-fixes)
  • timekeeping: Fix cross-timestamp interpolation corner case (git-fixes)
  • timekeeping: Fix cross-timestamp interpolation for non-x86 (git-fixes)
  • timekeeping: Fix cross-timestamp interpolation on counter (git-fixes)
  • trace/trace_event_perf: remove duplicate samples on the first tracepoint event (git-fixes).
  • tracing/eprobe: Fix to release eprobe when failed to add dyn_event (git-fixes).
  • tracing: Add __print_dynamic_array() helper (bsc#1243544).
  • tracing: Add __string_len() example (bsc#1243544).
  • tracing: Fix cmp_entries_dup() to respect sort() comparison rules (git-fixes).
  • tracing: Fix compilation warning on arm32 (bsc#1243551).
  • tracing: Use atomic64_inc_return() in trace_clock_counter() (git-fixes).
  • truct dwc3 hide new member wakeup_pending_funcs (git-fixes).
  • ucsi_debugfs_entry: hide signedness change (git-fixes).
  • udp: annotate data-races around up->pending (git-fixes).
  • udp: fix incorrect parameter validation in the udp_lib_getsockopt() function (git-fixes).
  • udp: fix receiving fraglist GSO packets (git-fixes).
  • udp: preserve the connected status if only UDP cmsg (git-fixes).
  • uprobes: Use kzalloc to allocate xol area (git-fixes).
  • usb: Flush altsetting 0 endpoints before reinitializating them after reset (git-fixes).
  • usb: cdnsp: Fix issue with detecting USB 3.2 speed (git-fixes).
  • usb: cdnsp: Fix issue with detecting command completion event (git-fixes).
  • usb: dwc3: gadget: Make gadget_wakeup asynchronous (git-fixes).
  • usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE (stable-fixes).
  • usb: renesas_usbhs: Reorder clock handling and power management in probe (git-fixes).
  • usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device (stable-fixes).
  • usb: typec: tcpm/tcpci_maxim: Fix bounds check in process_rx() (git-fixes).
  • usb: typec: ucsi: Only enable supported notifications (git-fixes).
  • usb: typec: ucsi: allow non-partner GET_PDOS for Qualcomm devices (git-fixes).
  • usb: typec: ucsi: fix Clang -Wsign-conversion warning (git-fixes).
  • usb: typec: ucsi: fix UCSI on buggy Qualcomm devices (git-fixes).
  • usb: typec: ucsi: limit the UCSI_NO_PARTNER_PDOS even further (git-fixes).
  • usb: usbtmc: Fix read_stb function and get_stb ioctl (git-fixes).
  • usb: usbtmc: Fix timeout value in get_stb (git-fixes).
  • usb: xhci: Do not change the status of stalled TDs on failed Stop EP (stable-fixes).
  • usbnet: asix AX88772: leave the carrier control to phylink (stable-fixes).
  • vgacon: Add check for vc_origin address range in vgacon_scroll() (git-fixes).
  • vmxnet3: correctly report gso type for UDP tunnels (bsc#1244626).
  • vmxnet3: support higher link speeds from vmxnet3 v9 (bsc#1244626).
  • vmxnet3: update MTU after device quiesce (bsc#1244626).
  • vt: remove VT_RESIZE and VT_RESIZEX from vt_compat_ioctl() (git-fixes).
  • watchdog: da9052_wdt: respect TWDMIN (stable-fixes).
  • watchdog: exar: Shorten identity name to fit correctly (git-fixes).
  • watchdog: fix watchdog may detect false positive of softlockup (stable-fixes).
  • watchdog: it87_wdt: add PWRGD enable quirk for Qotom QCML04 (git-fixes).
  • watchdog: mediatek: Add support for MT6735 TOPRGU/WDT (git-fixes).
  • wifi: ath11k: Fix QMI memory reuse logic (stable-fixes).
  • wifi: ath11k: avoid burning CPU in ath11k_debugfs_fw_stats_request() (git-fixes).
  • wifi: ath11k: convert timeouts to secs_to_jiffies() (stable-fixes).
  • wifi: ath11k: do not use static variables in ath11k_debugfs_fw_stats_process() (git-fixes).
  • wifi: ath11k: do not wait when there is no vdev started (git-fixes).
  • wifi: ath11k: fix node corruption in ar->arvifs list (git-fixes).
  • wifi: ath11k: fix ring-buffer corruption (git-fixes).
  • wifi: ath11k: fix rx completion meta data corruption (git-fixes).
  • wifi: ath11k: fix soc_dp_stats debugfs file permission (stable-fixes).
  • wifi: ath11k: move some firmware stats related functions outside of debugfs (git-fixes).
  • wifi: ath11k: update channel list in worker when wait flag is set (bsc#1243847).
  • wifi: ath11k: validate ath11k_crypto_mode on top of ath11k_core_qmi_firmware_ready (git-fixes).
  • wifi: ath12k: Add MSDU length validation for TKIP MIC error (git-fixes).
  • wifi: ath12k: Avoid napi_sync() before napi_enable() (stable-fixes).
  • wifi: ath12k: Fix WMI tag for EHT rate in peer assoc (git-fixes).
  • wifi: ath12k: Fix end offset bit definition in monitor ring descriptor (stable-fixes).
  • wifi: ath12k: Fix invalid memory access while forming 802.11 header (git-fixes).
  • wifi: ath12k: Fix memory leak during vdev_id mismatch (git-fixes).
  • wifi: ath12k: Fix the QoS control field offset to build QoS header (git-fixes).
  • wifi: ath12k: Improve BSS discovery with hidden SSID in 6 GHz band (stable-fixes).
  • wifi: ath12k: Pass correct values of center freq1 and center freq2 for 160 MHz (stable-fixes).
  • wifi: ath12k: Report proper tx completion status to mac80211 (stable-fixes).
  • wifi: ath12k: fix a possible dead lock caused by ab->base_lock (stable-fixes).
  • wifi: ath12k: fix ath12k_hal_tx_cmd_ext_desc_setup() info1 override (stable-fixes).
  • wifi: ath12k: fix cleanup path after mhi init (git-fixes).
  • wifi: ath12k: fix failed to set mhi state error during reboot with hardware grouping (stable-fixes).
  • wifi: ath12k: fix incorrect CE addresses (stable-fixes).
  • wifi: ath12k: fix invalid access to memory (git-fixes).
  • wifi: ath12k: fix link valid field initialization in the monitor Rx (stable-fixes).
  • wifi: ath12k: fix macro definition HAL_RX_MSDU_PKT_LENGTH_GET (stable-fixes).
  • wifi: ath12k: fix node corruption in ar->arvifs list (git-fixes).
  • wifi: ath12k: fix ring-buffer corruption (git-fixes).
  • wifi: ath9k: return by of_get_mac_address (stable-fixes).
  • wifi: ath9k_htc: Abort software beacon handling if disabled (git-fixes).
  • wifi: carl9170: do not ping device which has failed to load firmware (git-fixes).
  • wifi: iwlfiwi: mvm: Fix the rate reporting (git-fixes).
  • wifi: iwlwifi: Add missing MODULE_FIRMWARE for Qu-c0-jf-b0 (stable-fixes).
  • wifi: iwlwifi: add support for Killer on MTL (stable-fixes).
  • wifi: iwlwifi: fix debug actions order (stable-fixes).
  • wifi: iwlwifi: pcie: make sure to lock rxq->read (stable-fixes).
  • wifi: mac80211: VLAN traffic in multicast path (stable-fixes).
  • wifi: mac80211: do not offer a mesh path if forwarding is disabled (stable-fixes).
  • wifi: mac80211: do not unconditionally call drv_mgd_complete_tx() (stable-fixes).
  • wifi: mac80211: fix beacon interval calculation overflow (git-fixes).
  • wifi: mac80211: remove misplaced drv_mgd_complete_tx() call (stable-fixes).
  • wifi: mac80211_hwsim: Prevent tsf from setting if beacon is disabled (stable-fixes).
  • wifi: mt76: mt76x2: Add support for LiteOn WN4516R,WN4519R (stable-fixes).
  • wifi: mt76: mt7915: Fix null-ptr-deref in mt7915_mmio_wed_init() (git-fixes).
  • wifi: mt76: mt7921: add 160 MHz AP for mt7922 device (stable-fixes).
  • wifi: mt76: mt7925: ensure all MCU commands wait for response (git-fixes).
  • wifi: mt76: mt7925: fix host interrupt register initialization (git-fixes).
  • wifi: mt76: mt7925: prevent multiple scan commands (git-fixes).
  • wifi: mt76: mt7925: refine the sniffer commnad (git-fixes).
  • wifi: mt76: mt7996: drop fragments with multicast or broadcast RA (stable-fixes).
  • wifi: mt76: mt7996: fix RX buffer size of MCU event (git-fixes).
  • wifi: mt76: mt7996: revise TXS size (stable-fixes).
  • wifi: mt76: mt7996: set EHT max ampdu length capability (git-fixes).
  • wifi: mt76: only mark tx-status-failed frames as ACKed on mt76x0/2 (stable-fixes).
  • wifi: p54: prevent buffer-overflow in p54_rx_eeprom_readback() (git-fixes).
  • wifi: rtlwifi: disable ASPM for RTL8723BE with subsystem ID 11ad:1723 (git-fixes).
  • wifi: rtw88: Do not use static local variable in rtw8822b_set_tx_power_index_by_rate (stable-fixes).
  • wifi: rtw88: Fix __rtw_download_firmware() for RTL8814AU (stable-fixes).
  • wifi: rtw88: Fix download_firmware_validate() for RTL8814AU (stable-fixes).
  • wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 (stable-fixes).
  • wifi: rtw88: Fix rtw_init_ht_cap() for RTL8814AU (stable-fixes).
  • wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU (stable-fixes).
  • wifi: rtw88: do not ignore hardware read error during DPK (git-fixes).
  • wifi: rtw88: fix the 'para' buffer size to avoid reading out of bounds (git-fixes).
  • wifi: rtw88: sdio: call rtw_sdio_indicate_tx_status unconditionally (git-fixes).
  • wifi: rtw88: sdio: map mgmt frames to queue TX_DESC_QSEL_MGMT (git-fixes).
  • wifi: rtw88: usb: Reduce control message timeout to 500 ms (git-fixes).
  • wifi: rtw89: add wiphy_lock() to work that isn't held wiphy_lock() yet (stable-fixes).
  • wifi: rtw89: fw: propagate error code from rtw89_h2c_tx() (stable-fixes).
  • wifi: rtw89: leave idle mode when setting WEP encryption for AP mode (stable-fixes).
  • wifi: rtw89: pci: enlarge retry times of RX tag to 1000 (git-fixes).
  • x86/idle: Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR in mwait_idle_with_hints() and prefer_mwait_c1_over_halt() (git-fixes).
  • x86/kaslr: Reduce KASLR entropy on most x86 systems (git-fixes).
  • x86/microcode/AMD: Add get_patch_level() (git-fixes).
  • x86/microcode/AMD: Do not return error when microcode update is not necessary (git-fixes).
  • x86/microcode/AMD: Get rid of the _load_microcode_amd() forward declaration (git-fixes).
  • x86/microcode/AMD: Have __apply_microcode_amd() return bool (git-fixes).
  • x86/microcode/AMD: Make __verify_patch_size() return bool (git-fixes).
  • x86/microcode/AMD: Merge early_apply_microcode() into its single callsite (git-fixes).
  • x86/microcode/AMD: Remove ugly linebreak in __verify_patch_section() signature (git-fixes).
  • x86/microcode/AMD: Return bool from find_blobs_in_containers() (git-fixes).
  • x86/microcode: Consolidate the loader enablement checking (git-fixes).
  • x86/mm/init: Handle the special case of device private pages in add_pages(), to not increase max_pfn and trigger dma_addressing_limited() bounce buffers (git-fixes).
  • x86/xen: fix balloon target initialization for PVH dom0 (git-fixes).
  • xen/arm: call uaccess_ttbr0_enable for dm_op hypercall (git-fixes)
  • xen/x86: fix initial memory balloon target (git-fixes).
  • xsk: always clear DMA mapping information when unmapping the pool (git-fixes).

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

SUSE Linux Enterprise Live Patching 15 SP6
kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6
cluster-md-kmp-rt-6.4.0-150600.10.44.1
dlm-kmp-rt-6.4.0-150600.10.44.1
gfs2-kmp-rt-6.4.0-150600.10.44.1
kernel-devel-rt-6.4.0-150600.10.44.1
kernel-rt-6.4.0-150600.10.44.1
kernel-rt-devel-6.4.0-150600.10.44.1
kernel-rt_debug-6.4.0-150600.10.44.1
kernel-rt_debug-devel-6.4.0-150600.10.44.1
kernel-source-rt-6.4.0-150600.10.44.1
kernel-syms-rt-6.4.0-150600.10.44.1
ocfs2-kmp-rt-6.4.0-150600.10.44.1
openSUSE Leap 15.6
cluster-md-kmp-rt-6.4.0-150600.10.44.1
dlm-kmp-rt-6.4.0-150600.10.44.1
gfs2-kmp-rt-6.4.0-150600.10.44.1
kernel-devel-rt-6.4.0-150600.10.44.1
kernel-rt-6.4.0-150600.10.44.1
kernel-rt-devel-6.4.0-150600.10.44.1
kernel-rt-extra-6.4.0-150600.10.44.1
kernel-rt-livepatch-devel-6.4.0-150600.10.44.1
kernel-rt-optional-6.4.0-150600.10.44.1
kernel-rt-vdso-6.4.0-150600.10.44.1
kernel-rt_debug-6.4.0-150600.10.44.1
kernel-rt_debug-devel-6.4.0-150600.10.44.1
kernel-rt_debug-vdso-6.4.0-150600.10.44.1
kernel-source-rt-6.4.0-150600.10.44.1
kernel-syms-rt-6.4.0-150600.10.44.1
kselftests-kmp-rt-6.4.0-150600.10.44.1
ocfs2-kmp-rt-6.4.0-150600.10.44.1
reiserfs-kmp-rt-6.4.0-150600.10.44.1

Описание

In the Linux kernel, the following vulnerability has been resolved: media: mediatek: vcodec: Only free buffer VA that is not NULL In the MediaTek vcodec driver, while mtk_vcodec_mem_free() is mostly called only when the buffer to free exists, there are some instances that didn't do the check and triggered warnings in practice. We believe those checks were forgotten unintentionally. Add the checks back to fix the warnings.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/handshake: Fix handshake_req_destroy_test1 Recently, handshake_req_destroy_test1 started failing: Expected handshake_req_destroy_test == req, but handshake_req_destroy_test == 0000000000000000 req == 0000000060f99b40 not ok 11 req_destroy works This is because "sock_release(sock)" was replaced with "fput(filp)" to address a memory leak. Note that sock_release() is synchronous but fput() usually delays the final close and clean-up. The delay is not consequential in the other cases that were changed but handshake_req_destroy_test1 is testing that handshake_req_cancel() followed by closing the file actually does call the ->hp_destroy method. Thus the PTR_EQ test at the end has to be sure that the final close is complete before it checks the pointer. We cannot use a completion here because if ->hp_destroy is never called (ie, there is an API bug) then the test will hang. Reported by: Guenter Roeck <linux@roeck-us.net>


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/smc: check v2_ext_offset/eid_cnt/ism_gid_cnt when receiving proposal msg When receiving proposal msg in server, the fields v2_ext_offset/ eid_cnt/ism_gid_cnt in proposal msg are from the remote client and can not be fully trusted. Especially the field v2_ext_offset, once exceed the max value, there has the chance to access wrong address, and crash may happen. This patch checks the fields v2_ext_offset/eid_cnt/ism_gid_cnt before using them.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix race between laundromat and free_stateid There is a race between laundromat handling of revoked delegations and a client sending free_stateid operation. Laundromat thread finds that delegation has expired and needs to be revoked so it marks the delegation stid revoked and it puts it on a reaper list but then it unlock the state lock and the actual delegation revocation happens without the lock. Once the stid is marked revoked a racing free_stateid processing thread does the following (1) it calls list_del_init() which removes it from the reaper list and (2) frees the delegation stid structure. The laundromat thread ends up not calling the revoke_delegation() function for this particular delegation but that means it will no release the lock lease that exists on the file. Now, a new open for this file comes in and ends up finding that lease list isn't empty and calls nfsd_breaker_owns_lease() which ends up trying to derefence a freed delegation stateid. Leading to the followint use-after-free KASAN warning: kernel: ================================================================== kernel: BUG: KASAN: slab-use-after-free in nfsd_breaker_owns_lease+0x140/0x160 [nfsd] kernel: Read of size 8 at addr ffff0000e73cd0c8 by task nfsd/6205 kernel: kernel: CPU: 2 UID: 0 PID: 6205 Comm: nfsd Kdump: loaded Not tainted 6.11.0-rc7+ #9 kernel: Hardware name: Apple Inc. Apple Virtualization Generic Platform, BIOS 2069.0.0.0.0 08/03/2024 kernel: Call trace: kernel: dump_backtrace+0x98/0x120 kernel: show_stack+0x1c/0x30 kernel: dump_stack_lvl+0x80/0xe8 kernel: print_address_description.constprop.0+0x84/0x390 kernel: print_report+0xa4/0x268 kernel: kasan_report+0xb4/0xf8 kernel: __asan_report_load8_noabort+0x1c/0x28 kernel: nfsd_breaker_owns_lease+0x140/0x160 [nfsd] kernel: nfsd_file_do_acquire+0xb3c/0x11d0 [nfsd] kernel: nfsd_file_acquire_opened+0x84/0x110 [nfsd] kernel: nfs4_get_vfs_file+0x634/0x958 [nfsd] kernel: nfsd4_process_open2+0xa40/0x1a40 [nfsd] kernel: nfsd4_open+0xa08/0xe80 [nfsd] kernel: nfsd4_proc_compound+0xb8c/0x2130 [nfsd] kernel: nfsd_dispatch+0x22c/0x718 [nfsd] kernel: svc_process_common+0x8e8/0x1960 [sunrpc] kernel: svc_process+0x3d4/0x7e0 [sunrpc] kernel: svc_handle_xprt+0x828/0xe10 [sunrpc] kernel: svc_recv+0x2cc/0x6a8 [sunrpc] kernel: nfsd+0x270/0x400 [nfsd] kernel: kthread+0x288/0x310 kernel: ret_from_fork+0x10/0x20 This patch proposes a fixed that's based on adding 2 new additional stid's sc_status values that help coordinate between the laundromat and other operations (nfsd4_free_stateid() and nfsd4_delegreturn()). First to make sure, that once the stid is marked revoked, it is not removed by the nfsd4_free_stateid(), the laundromat take a reference on the stateid. Then, coordinating whether the stid has been put on the cl_revoked list or we are processing FREE_STATEID and need to make sure to remove it from the list, each check that state and act accordingly. If laundromat has added to the cl_revoke list before the arrival of FREE_STATEID, then nfsd4_free_stateid() knows to remove it from the list. If nfsd4_free_stateid() finds that operations arrived before laundromat has placed it on cl_revoke list, it marks the state freed and then laundromat will no longer add it to the list. Also, for nfsd4_delegreturn() when looking for the specified stid, we need to access stid that are marked removed or freeable, it means the laundromat has started processing it but hasn't finished and this delegreturn needs to return nfserr_deleg_revoked and not nfserr_bad_stateid. The latter will not trigger a FREE_STATEID and the lack of it will leave this stid on the cl_revoked list indefinitely.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sched/numa: fix memory leak due to the overwritten vma->numab_state [Problem Description] When running the hackbench program of LTP, the following memory leak is reported by kmemleak. # /opt/ltp/testcases/bin/hackbench 20 thread 1000 Running with 20*40 (== 800) tasks. # dmesg | grep kmemleak ... kmemleak: 480 new suspected memory leaks (see /sys/kernel/debug/kmemleak) kmemleak: 665 new suspected memory leaks (see /sys/kernel/debug/kmemleak) # cat /sys/kernel/debug/kmemleak unreferenced object 0xffff888cd8ca2c40 (size 64): comm "hackbench", pid 17142, jiffies 4299780315 hex dump (first 32 bytes): ac 74 49 00 01 00 00 00 4c 84 49 00 01 00 00 00 .tI.....L.I..... 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc bff18fd4): [<ffffffff81419a89>] __kmalloc_cache_noprof+0x2f9/0x3f0 [<ffffffff8113f715>] task_numa_work+0x725/0xa00 [<ffffffff8110f878>] task_work_run+0x58/0x90 [<ffffffff81ddd9f8>] syscall_exit_to_user_mode+0x1c8/0x1e0 [<ffffffff81dd78d5>] do_syscall_64+0x85/0x150 [<ffffffff81e0012b>] entry_SYSCALL_64_after_hwframe+0x76/0x7e ... This issue can be consistently reproduced on three different servers: * a 448-core server * a 256-core server * a 192-core server [Root Cause] Since multiple threads are created by the hackbench program (along with the command argument 'thread'), a shared vma might be accessed by two or more cores simultaneously. When two or more cores observe that vma->numab_state is NULL at the same time, vma->numab_state will be overwritten. Although current code ensures that only one thread scans the VMAs in a single 'numa_scan_period', there might be a chance for another thread to enter in the next 'numa_scan_period' while we have not gotten till numab_state allocation [1]. Note that the command `/opt/ltp/testcases/bin/hackbench 50 process 1000` cannot the reproduce the issue. It is verified with 200+ test runs. [Solution] Use the cmpxchg atomic operation to ensure that only one thread executes the vma->numab_state assignment. [1] https://lore.kernel.org/lkml/1794be3c-358c-4cdc-a43d-a1f841d91ef7@amd.com/


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/pci: Fix potential double remove of hotplug slot In commit 6ee600bfbe0f ("s390/pci: remove hotplug slot when releasing the device") the zpci_exit_slot() was moved from zpci_device_reserved() to zpci_release_device() with the intention of keeping the hotplug slot around until the device is actually removed. Now zpci_release_device() is only called once all references are dropped. Since the zPCI subsystem only drops its reference once the device is in the reserved state it follows that zpci_release_device() must only deal with devices in the reserved state. Despite that it contains code to tear down from both configured and standby state. For the standby case this already includes the removal of the hotplug slot so would cause a double removal if a device was ever removed in either configured or standby state. Instead of causing a potential double removal in a case that should never happen explicitly WARN_ON() if a device in non-reserved state is released and get rid of the dead code cases.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: state: fix out-of-bounds read during lookup lookup and resize can run in parallel. The xfrm_state_hash_generation seqlock ensures a retry, but the hash functions can observe a hmask value that is too large for the new hlist array. rehash does: rcu_assign_pointer(net->xfrm.state_bydst, ndst) [..] net->xfrm.state_hmask = nhashmask; While state lookup does: h = xfrm_dst_hash(net, daddr, saddr, tmpl->reqid, encap_family); hlist_for_each_entry_rcu(x, net->xfrm.state_bydst + h, bydst) { This is only safe in case the update to state_bydst is larger than net->xfrm.xfrm_state_hmask (or if the lookup function gets serialized via state spinlock again). Fix this by prefetching state_hmask and the associated pointers. The xfrm_state_hash_generation seqlock retry will ensure that the pointer and the hmask will be consistent. The existing helpers, like xfrm_dst_hash(), are now unsafe for RCU side, add lockdep assertions to document that they are only safe for insert side. xfrm_state_lookup_byaddr() uses the spinlock rather than RCU. AFAICS this is an oversight from back when state lookup was converted to RCU, this lock should be replaced with RCU in a future patch.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix handling of received connection abort Fix the handling of a connection abort that we've received. Though the abort is at the connection level, it needs propagating to the calls on that connection. Whilst the propagation bit is performed, the calls aren't then woken up to go and process their termination, and as no further input is forthcoming, they just hang. Also add some tracing for the logging of connection aborts.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: avoid NULL pointer dereference if no valid extent tree [BUG] Syzbot reported a crash with the following call trace: BTRFS info (device loop0): scrub: started on devid 1 BUG: kernel NULL pointer dereference, address: 0000000000000208 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 106e70067 P4D 106e70067 PUD 107143067 PMD 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 1 UID: 0 PID: 689 Comm: repro Kdump: loaded Tainted: G O 6.13.0-rc4-custom+ #206 Tainted: [O]=OOT_MODULE Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS unknown 02/02/2022 RIP: 0010:find_first_extent_item+0x26/0x1f0 [btrfs] Call Trace: <TASK> scrub_find_fill_first_stripe+0x13d/0x3b0 [btrfs] scrub_simple_mirror+0x175/0x260 [btrfs] scrub_stripe+0x5d4/0x6c0 [btrfs] scrub_chunk+0xbb/0x170 [btrfs] scrub_enumerate_chunks+0x2f4/0x5f0 [btrfs] btrfs_scrub_dev+0x240/0x600 [btrfs] btrfs_ioctl+0x1dc8/0x2fa0 [btrfs] ? do_sys_openat2+0xa5/0xf0 __x64_sys_ioctl+0x97/0xc0 do_syscall_64+0x4f/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> [CAUSE] The reproducer is using a corrupted image where extent tree root is corrupted, thus forcing to use "rescue=all,ro" mount option to mount the image. Then it triggered a scrub, but since scrub relies on extent tree to find where the data/metadata extents are, scrub_find_fill_first_stripe() relies on an non-empty extent root. But unfortunately scrub_find_fill_first_stripe() doesn't really expect an NULL pointer for extent root, it use extent_root to grab fs_info and triggered a NULL pointer dereference. [FIX] Add an extra check for a valid extent root at the beginning of scrub_find_fill_first_stripe(). The new error path is introduced by 42437a6386ff ("btrfs: introduce mount option rescue=ignorebadroots"), but that's pretty old, and later commit b979547513ff ("btrfs: scrub: introduce helper to find and fill sector info for a scrub_stripe") changed how we do scrub. So for kernels older than 6.6, the fix will need manual backport.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: delete intermediate secpath entry in packet offload mode Packets handled by hardware have added secpath as a way to inform XFRM core code that this path was already handled. That secpath is not needed at all after policy is checked and it is removed later in the stack. However, in the case of IP forwarding is enabled (/proc/sys/net/ipv4/ip_forward), that secpath is not removed and packets which already were handled are reentered to the driver TX path with xfrm_offload set. The following kernel panic is observed in mlx5 in such case: mlx5_core 0000:04:00.0 enp4s0f0np0: Link up mlx5_core 0000:04:00.1 enp4s0f1np1: Link up Initializing XFRM netlink socket IPsec XFRM device driver BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor instruction fetch in kernel mode #PF: error_code(0x0010) - not-present page PGD 0 P4D 0 Oops: Oops: 0010 [#1] PREEMPT SMP CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.13.0-rc1-alex #3 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.13.0-1ubuntu1.1 04/01/2014 RIP: 0010:0x0 Code: Unable to access opcode bytes at 0xffffffffffffffd6. RSP: 0018:ffffb87380003800 EFLAGS: 00010206 RAX: ffff8df004e02600 RBX: ffffb873800038d8 RCX: 00000000ffff98cf RDX: ffff8df00733e108 RSI: ffff8df00521fb80 RDI: ffff8df001661f00 RBP: ffffb87380003850 R08: ffff8df013980000 R09: 0000000000000010 R10: 0000000000000002 R11: 0000000000000002 R12: ffff8df001661f00 R13: ffff8df00521fb80 R14: ffff8df00733e108 R15: ffff8df011faf04e FS: 0000000000000000(0000) GS:ffff8df46b800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffd6 CR3: 0000000106384000 CR4: 0000000000350ef0 Call Trace: <IRQ> ? show_regs+0x63/0x70 ? __die_body+0x20/0x60 ? __die+0x2b/0x40 ? page_fault_oops+0x15c/0x550 ? do_user_addr_fault+0x3ed/0x870 ? exc_page_fault+0x7f/0x190 ? asm_exc_page_fault+0x27/0x30 mlx5e_ipsec_handle_tx_skb+0xe7/0x2f0 [mlx5_core] mlx5e_xmit+0x58e/0x1980 [mlx5_core] ? __fib_lookup+0x6a/0xb0 dev_hard_start_xmit+0x82/0x1d0 sch_direct_xmit+0xfe/0x390 __dev_queue_xmit+0x6d8/0xee0 ? __fib_lookup+0x6a/0xb0 ? internal_add_timer+0x48/0x70 ? mod_timer+0xe2/0x2b0 neigh_resolve_output+0x115/0x1b0 __neigh_update+0x26a/0xc50 neigh_update+0x14/0x20 arp_process+0x2cb/0x8e0 ? __napi_build_skb+0x5e/0x70 arp_rcv+0x11e/0x1c0 ? dev_gro_receive+0x574/0x820 __netif_receive_skb_list_core+0x1cf/0x1f0 netif_receive_skb_list_internal+0x183/0x2a0 napi_complete_done+0x76/0x1c0 mlx5e_napi_poll+0x234/0x7a0 [mlx5_core] __napi_poll+0x2d/0x1f0 net_rx_action+0x1a6/0x370 ? atomic_notifier_call_chain+0x3b/0x50 ? irq_int_handler+0x15/0x20 [mlx5_core] handle_softirqs+0xb9/0x2f0 ? handle_irq_event+0x44/0x60 irq_exit_rcu+0xdb/0x100 common_interrupt+0x98/0xc0 </IRQ> <TASK> asm_common_interrupt+0x27/0x40 RIP: 0010:pv_native_safe_halt+0xb/0x10 Code: 09 c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 0f 22 0f 1f 84 00 00 00 00 00 90 eb 07 0f 00 2d 7f e9 36 00 fb 40 00 83 ff 07 77 21 89 ff ff 24 fd 88 3d a1 bd 0f 21 f8 RSP: 0018:ffffffffbe603de8 EFLAGS: 00000202 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000f92f46680 RDX: 0000000000000037 RSI: 00000000ffffffff RDI: 00000000000518d4 RBP: ffffffffbe603df0 R08: 000000cd42e4dffb R09: ffffffffbe603d70 R10: 0000004d80d62680 R11: 0000000000000001 R12: ffffffffbe60bf40 R13: 0000000000000000 R14: 0000000000000000 R15: ffffffffbe60aff8 ? default_idle+0x9/0x20 arch_cpu_idle+0x9/0x10 default_idle_call+0x29/0xf0 do_idle+0x1f2/0x240 cpu_startup_entry+0x2c/0x30 rest_init+0xe7/0x100 start_kernel+0x76b/0xb90 x86_64_start_reservations+0x18/0x30 x86_64_start_kernel+0xc0/0x110 ? setup_ghcb+0xe/0x130 common_startup_64+0x13e/0x141 </TASK> Modules linked in: esp4_offload esp4 xfrm_interface xfrm6_tunnel tunnel4 tunnel6 xfrm_user xfrm_algo binf ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: allow small head cache usage with large MAX_SKB_FRAGS values Sabrina reported the following splat: WARNING: CPU: 0 PID: 1 at net/core/dev.c:6935 netif_napi_add_weight_locked+0x8f2/0xba0 Modules linked in: CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.14.0-rc1-net-00092-g011b03359038 #996 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014 RIP: 0010:netif_napi_add_weight_locked+0x8f2/0xba0 Code: e8 c3 e6 6a fe 48 83 c4 28 5b 5d 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc c7 44 24 10 ff ff ff ff e9 8f fb ff ff e8 9e e6 6a fe <0f> 0b e9 d3 fe ff ff e8 92 e6 6a fe 48 8b 04 24 be ff ff ff ff 48 RSP: 0000:ffffc9000001fc60 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff88806ce48128 RCX: 1ffff11001664b9e RDX: ffff888008f00040 RSI: ffffffff8317ca42 RDI: ffff88800b325cb6 RBP: ffff88800b325c40 R08: 0000000000000001 R09: ffffed100167502c R10: ffff88800b3a8163 R11: 0000000000000000 R12: ffff88800ac1c168 R13: ffff88800ac1c168 R14: ffff88800ac1c168 R15: 0000000000000007 FS: 0000000000000000(0000) GS:ffff88806ce00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffff888008201000 CR3: 0000000004c94001 CR4: 0000000000370ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> gro_cells_init+0x1ba/0x270 xfrm_input_init+0x4b/0x2a0 xfrm_init+0x38/0x50 ip_rt_init+0x2d7/0x350 ip_init+0xf/0x20 inet_init+0x406/0x590 do_one_initcall+0x9d/0x2e0 do_initcalls+0x23b/0x280 kernel_init_freeable+0x445/0x490 kernel_init+0x20/0x1d0 ret_from_fork+0x46/0x80 ret_from_fork_asm+0x1a/0x30 </TASK> irq event stamp: 584330 hardirqs last enabled at (584338): [<ffffffff8168bf87>] __up_console_sem+0x77/0xb0 hardirqs last disabled at (584345): [<ffffffff8168bf6c>] __up_console_sem+0x5c/0xb0 softirqs last enabled at (583242): [<ffffffff833ee96d>] netlink_insert+0x14d/0x470 softirqs last disabled at (583754): [<ffffffff8317c8cd>] netif_napi_add_weight_locked+0x77d/0xba0 on kernel built with MAX_SKB_FRAGS=45, where SKB_WITH_OVERHEAD(1024) is smaller than GRO_MAX_HEAD. Such built additionally contains the revert of the single page frag cache so that napi_get_frags() ends up using the page frag allocator, triggering the splat. Note that the underlying issue is independent from the mentioned revert; address it ensuring that the small head cache will fit either TCP and GRO allocation and updating napi_alloc_skb() and __netdev_alloc_skb() to select kmalloc() usage for any allocation fitting such cache.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ftrace: Avoid potential division by zero in function_stat_show() Check whether denominator expression x * (x - 1) * 1000 mod {2^32, 2^64} produce zero and skip stddev computation in that case. For now don't care about rec->counter * rec->counter overflow because rec->time * rec->time overflow will likely happen earlier.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix bad hist from corrupting named_triggers list The following commands causes a crash: ~# cd /sys/kernel/tracing/events/rcu/rcu_callback ~# echo 'hist:name=bad:keys=common_pid:onmax(bogus).save(common_pid)' > trigger bash: echo: write error: Invalid argument ~# echo 'hist:name=bad:keys=common_pid' > trigger Because the following occurs: event_trigger_write() { trigger_process_regex() { event_hist_trigger_parse() { data = event_trigger_alloc(..); event_trigger_register(.., data) { cmd_ops->reg(.., data, ..) [hist_register_trigger()] { data->ops->init() [event_hist_trigger_init()] { save_named_trigger(name, data) { list_add(&data->named_list, &named_triggers); } } } } ret = create_actions(); (return -EINVAL) if (ret) goto out_unreg; [..] ret = hist_trigger_enable(data, ...) { list_add_tail_rcu(&data->list, &file->triggers); <<<---- SKIPPED!!! (this is important!) [..] out_unreg: event_hist_unregister(.., data) { cmd_ops->unreg(.., data, ..) [hist_unregister_trigger()] { list_for_each_entry(iter, &file->triggers, list) { if (!hist_trigger_match(data, iter, named_data, false)) <- never matches continue; [..] test = iter; } if (test && test->ops->free) <<<-- test is NULL test->ops->free(test) [event_hist_trigger_free()] { [..] if (data->name) del_named_trigger(data) { list_del(&data->named_list); <<<<-- NEVER gets removed! } } } } [..] kfree(data); <<<-- frees item but it is still on list The next time a hist with name is registered, it causes an u-a-f bug and the kernel can crash. Move the code around such that if event_trigger_register() succeeds, the next thing called is hist_trigger_enable() which adds it to the list. A bunch of actions is called if get_named_trigger_data() returns false. But that doesn't need to be called after event_trigger_register(), so it can be moved up, allowing event_trigger_register() to be called just before hist_trigger_enable() keeping them together and allowing the file->triggers to be properly populated.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vlan: enforce underlying device type Currently, VLAN devices can be created on top of non-ethernet devices. Besides the fact that it doesn't make much sense, this also causes a bug which leaks the address of a kernel function to usermode. When creating a VLAN device, we initialize GARP (garp_init_applicant) and MRP (mrp_init_applicant) for the underlying device. As part of the initialization process, we add the multicast address of each applicant to the underlying device, by calling dev_mc_add. __dev_mc_add uses dev->addr_len to determine the length of the new multicast address. This causes an out-of-bounds read if dev->addr_len is greater than 6, since the multicast addresses provided by GARP and MRP are only 6 bytes long. This behaviour can be reproduced using the following commands: ip tunnel add gretest mode ip6gre local ::1 remote ::2 dev lo ip l set up dev gretest ip link add link gretest name vlantest type vlan id 100 Then, the following command will display the address of garp_pdu_rcv: ip maddr show | grep 01:80:c2:00:00:21 Fix the bug by enforcing the type of the underlying device during VLAN device initialization.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr If multiple connection requests attempt to create an implicit mptcp endpoint in parallel, more than one caller may end up in mptcp_pm_nl_append_new_local_addr because none found the address in local_addr_list during their call to mptcp_pm_nl_get_local_id. In this case, the concurrent new_local_addr calls may delete the address entry created by the previous caller. These deletes use synchronize_rcu, but this is not permitted in some of the contexts where this function may be called. During packet recv, the caller may be in a rcu read critical section and have preemption disabled. An example stack: BUG: scheduling while atomic: swapper/2/0/0x00000302 Call Trace: <IRQ> dump_stack_lvl (lib/dump_stack.c:117 (discriminator 1)) dump_stack (lib/dump_stack.c:124) __schedule_bug (kernel/sched/core.c:5943) schedule_debug.constprop.0 (arch/x86/include/asm/preempt.h:33 kernel/sched/core.c:5970) __schedule (arch/x86/include/asm/jump_label.h:27 include/linux/jump_label.h:207 kernel/sched/features.h:29 kernel/sched/core.c:6621) schedule (arch/x86/include/asm/preempt.h:84 kernel/sched/core.c:6804 kernel/sched/core.c:6818) schedule_timeout (kernel/time/timer.c:2160) wait_for_completion (kernel/sched/completion.c:96 kernel/sched/completion.c:116 kernel/sched/completion.c:127 kernel/sched/completion.c:148) __wait_rcu_gp (include/linux/rcupdate.h:311 kernel/rcu/update.c:444) synchronize_rcu (kernel/rcu/tree.c:3609) mptcp_pm_nl_append_new_local_addr (net/mptcp/pm_netlink.c:966 net/mptcp/pm_netlink.c:1061) mptcp_pm_nl_get_local_id (net/mptcp/pm_netlink.c:1164) mptcp_pm_get_local_id (net/mptcp/pm.c:420) subflow_check_req (net/mptcp/subflow.c:98 net/mptcp/subflow.c:213) subflow_v4_route_req (net/mptcp/subflow.c:305) tcp_conn_request (net/ipv4/tcp_input.c:7216) subflow_v4_conn_request (net/mptcp/subflow.c:651) tcp_rcv_state_process (net/ipv4/tcp_input.c:6709) tcp_v4_do_rcv (net/ipv4/tcp_ipv4.c:1934) tcp_v4_rcv (net/ipv4/tcp_ipv4.c:2334) ip_protocol_deliver_rcu (net/ipv4/ip_input.c:205 (discriminator 1)) ip_local_deliver_finish (include/linux/rcupdate.h:813 net/ipv4/ip_input.c:234) ip_local_deliver (include/linux/netfilter.h:314 include/linux/netfilter.h:308 net/ipv4/ip_input.c:254) ip_sublist_rcv_finish (include/net/dst.h:461 net/ipv4/ip_input.c:580) ip_sublist_rcv (net/ipv4/ip_input.c:640) ip_list_rcv (net/ipv4/ip_input.c:675) __netif_receive_skb_list_core (net/core/dev.c:5583 net/core/dev.c:5631) netif_receive_skb_list_internal (net/core/dev.c:5685 net/core/dev.c:5774) napi_complete_done (include/linux/list.h:37 include/net/gro.h:449 include/net/gro.h:444 net/core/dev.c:6114) igb_poll (drivers/net/ethernet/intel/igb/igb_main.c:8244) igb __napi_poll (net/core/dev.c:6582) net_rx_action (net/core/dev.c:6653 net/core/dev.c:6787) handle_softirqs (kernel/softirq.c:553) __irq_exit_rcu (kernel/softirq.c:588 kernel/softirq.c:427 kernel/softirq.c:636) irq_exit_rcu (kernel/softirq.c:651) common_interrupt (arch/x86/kernel/irq.c:247 (discriminator 14)) </IRQ> This problem seems particularly prevalent if the user advertises an endpoint that has a different external vs internal address. In the case where the external address is advertised and multiple connections already exist, multiple subflow SYNs arrive in parallel which tends to trigger the race during creation of the first local_addr_list entries which have the internal address instead. Fix by skipping the replacement of an existing implicit local address if called via mptcp_pm_nl_get_local_id.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree() Since commit b36e4523d4d5 ("netfilter: nf_conncount: fix garbage collection confirm race"), `cpu` and `jiffies32` were introduced to the struct nf_conncount_tuple. The commit made nf_conncount_add() initialize `conn->cpu` and `conn->jiffies32` when allocating the struct. In contrast, count_tree() was not changed to initialize them. By commit 34848d5c896e ("netfilter: nf_conncount: Split insert and traversal"), count_tree() was split and the relevant allocation code now resides in insert_tree(). Initialize `conn->cpu` and `conn->jiffies32` in insert_tree(). BUG: KMSAN: uninit-value in find_or_evict net/netfilter/nf_conncount.c:117 [inline] BUG: KMSAN: uninit-value in __nf_conncount_add+0xd9c/0x2850 net/netfilter/nf_conncount.c:143 find_or_evict net/netfilter/nf_conncount.c:117 [inline] __nf_conncount_add+0xd9c/0x2850 net/netfilter/nf_conncount.c:143 count_tree net/netfilter/nf_conncount.c:438 [inline] nf_conncount_count+0x82f/0x1e80 net/netfilter/nf_conncount.c:521 connlimit_mt+0x7f6/0xbd0 net/netfilter/xt_connlimit.c:72 __nft_match_eval net/netfilter/nft_compat.c:403 [inline] nft_match_eval+0x1a5/0x300 net/netfilter/nft_compat.c:433 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x426/0x2290 net/netfilter/nf_tables_core.c:288 nft_do_chain_ipv4+0x1a5/0x230 net/netfilter/nft_chain_filter.c:23 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook_slow_list+0x24d/0x860 net/netfilter/core.c:663 NF_HOOK_LIST include/linux/netfilter.h:350 [inline] ip_sublist_rcv+0x17b7/0x17f0 net/ipv4/ip_input.c:633 ip_list_rcv+0x9ef/0xa40 net/ipv4/ip_input.c:669 __netif_receive_skb_list_ptype net/core/dev.c:5936 [inline] __netif_receive_skb_list_core+0x15c5/0x1670 net/core/dev.c:5983 __netif_receive_skb_list net/core/dev.c:6035 [inline] netif_receive_skb_list_internal+0x1085/0x1700 net/core/dev.c:6126 netif_receive_skb_list+0x5a/0x460 net/core/dev.c:6178 xdp_recv_frames net/bpf/test_run.c:280 [inline] xdp_test_run_batch net/bpf/test_run.c:361 [inline] bpf_test_run_xdp_live+0x2e86/0x3480 net/bpf/test_run.c:390 bpf_prog_test_run_xdp+0xf1d/0x1ae0 net/bpf/test_run.c:1316 bpf_prog_test_run+0x5e5/0xa30 kernel/bpf/syscall.c:4407 __sys_bpf+0x6aa/0xd90 kernel/bpf/syscall.c:5813 __do_sys_bpf kernel/bpf/syscall.c:5902 [inline] __se_sys_bpf kernel/bpf/syscall.c:5900 [inline] __ia32_sys_bpf+0xa0/0xe0 kernel/bpf/syscall.c:5900 ia32_sys_call+0x394d/0x4180 arch/x86/include/generated/asm/syscalls_32.h:358 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0xb0/0x110 arch/x86/entry/common.c:387 do_fast_syscall_32+0x38/0x80 arch/x86/entry/common.c:412 do_SYSENTER_32+0x1f/0x30 arch/x86/entry/common.c:450 entry_SYSENTER_compat_after_hwframe+0x84/0x8e Uninit was created at: slab_post_alloc_hook mm/slub.c:4121 [inline] slab_alloc_node mm/slub.c:4164 [inline] kmem_cache_alloc_noprof+0x915/0xe10 mm/slub.c:4171 insert_tree net/netfilter/nf_conncount.c:372 [inline] count_tree net/netfilter/nf_conncount.c:450 [inline] nf_conncount_count+0x1415/0x1e80 net/netfilter/nf_conncount.c:521 connlimit_mt+0x7f6/0xbd0 net/netfilter/xt_connlimit.c:72 __nft_match_eval net/netfilter/nft_compat.c:403 [inline] nft_match_eval+0x1a5/0x300 net/netfilter/nft_compat.c:433 expr_call_ops_eval net/netfilter/nf_tables_core.c:240 [inline] nft_do_chain+0x426/0x2290 net/netfilter/nf_tables_core.c:288 nft_do_chain_ipv4+0x1a5/0x230 net/netfilter/nft_chain_filter.c:23 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf4/0x400 net/netfilter/core.c:626 nf_hook_slow_list+0x24d/0x860 net/netfilter/core.c:663 NF_HOOK_LIST include/linux/netfilter.h:350 [inline] ip_sublist_rcv+0x17b7/0x17f0 net/ipv4/ip_input.c:633 ip_list_rcv+0x9ef/0xa40 net/ip ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xsk: fix an integer overflow in xp_create_and_assign_umem() Since the i and pool->chunk_size variables are of type 'u32', their product can wrap around and then be cast to 'u64'. This can lead to two different XDP buffers pointing to the same memory area. Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix use-after-free in print_graph_function_flags during tracer switching Kairui reported a UAF issue in print_graph_function_flags() during ftrace stress testing [1]. This issue can be reproduced if puting a 'mdelay(10)' after 'mutex_unlock(&trace_types_lock)' in s_start(), and executing the following script: $ echo function_graph > current_tracer $ cat trace > /dev/null & $ sleep 5 # Ensure the 'cat' reaches the 'mdelay(10)' point $ echo timerlat > current_tracer The root cause lies in the two calls to print_graph_function_flags within print_trace_line during each s_show(): * One through 'iter->trace->print_line()'; * Another through 'event->funcs->trace()', which is hidden in print_trace_fmt() before print_trace_line returns. Tracer switching only updates the former, while the latter continues to use the print_line function of the old tracer, which in the script above is print_graph_function_flags. Moreover, when switching from the 'function_graph' tracer to the 'timerlat' tracer, s_start only calls graph_trace_close of the 'function_graph' tracer to free 'iter->private', but does not set it to NULL. This provides an opportunity for 'event->funcs->trace()' to use an invalid 'iter->private'. To fix this issue, set 'iter->private' to NULL immediately after freeing it in graph_trace_close(), ensuring that an invalid pointer is not passed to other tracers. Additionally, clean up the unnecessary 'iter->private = NULL' during each 'cat trace' when using wakeup and irqsoff tracers. [1] https://lore.kernel.org/all/20231112150030.84609-1-ryncsn@gmail.com/


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vhost-scsi: Fix handling of multiple calls to vhost_scsi_set_endpoint If vhost_scsi_set_endpoint is called multiple times without a vhost_scsi_clear_endpoint between them, we can hit multiple bugs found by Haoran Zhang: 1. Use-after-free when no tpgs are found: This fixes a use after free that occurs when vhost_scsi_set_endpoint is called more than once and calls after the first call do not find any tpgs to add to the vs_tpg. When vhost_scsi_set_endpoint first finds tpgs to add to the vs_tpg array match=true, so we will do: vhost_vq_set_backend(vq, vs_tpg); ... kfree(vs->vs_tpg); vs->vs_tpg = vs_tpg; If vhost_scsi_set_endpoint is called again and no tpgs are found match=false so we skip the vhost_vq_set_backend call leaving the pointer to the vs_tpg we then free via: kfree(vs->vs_tpg); vs->vs_tpg = vs_tpg; If a scsi request is then sent we do: vhost_scsi_handle_vq -> vhost_scsi_get_req -> vhost_vq_get_backend which sees the vs_tpg we just did a kfree on. 2. Tpg dir removal hang: This patch fixes an issue where we cannot remove a LIO/target layer tpg (and structs above it like the target) dir due to the refcount dropping to -1. The problem is that if vhost_scsi_set_endpoint detects a tpg is already in the vs->vs_tpg array or if the tpg has been removed so target_depend_item fails, the undepend goto handler will do target_undepend_item on all tpgs in the vs_tpg array dropping their refcount to 0. At this time vs_tpg contains both the tpgs we have added in the current vhost_scsi_set_endpoint call as well as tpgs we added in previous calls which are also in vs->vs_tpg. Later, when vhost_scsi_clear_endpoint runs it will do target_undepend_item on all the tpgs in the vs->vs_tpg which will drop their refcount to -1. Userspace will then not be able to remove the tpg and will hang when it tries to do rmdir on the tpg dir. 3. Tpg leak: This fixes a bug where we can leak tpgs and cause them to be un-removable because the target name is overwritten when vhost_scsi_set_endpoint is called multiple times but with different target names. The bug occurs if a user has called VHOST_SCSI_SET_ENDPOINT and setup a vhost-scsi device to target/tpg mapping, then calls VHOST_SCSI_SET_ENDPOINT again with a new target name that has tpgs we haven't seen before (target1 has tpg1 but target2 has tpg2). When this happens we don't teardown the old target tpg mapping and just overwrite the target name and the vs->vs_tpg array. Later when we do vhost_scsi_clear_endpoint, we are passed in either target1 or target2's name and we will only match that target's tpgs when we loop over the vs->vs_tpg. We will then return from the function without doing target_undepend_item on the tpgs. Because of all these bugs, it looks like being able to call vhost_scsi_set_endpoint multiple times was never supported. The major user, QEMU, already has checks to prevent this use case. So to fix the issues, this patch prevents vhost_scsi_set_endpoint from being called if it's already successfully added tpgs. To add, remove or change the tpg config or target name, you must do a vhost_scsi_clear_endpoint first.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF. SIOCBRDELIF is passed to dev_ioctl() first and later forwarded to br_ioctl_call(), which causes unnecessary RTNL dance and the splat below [0] under RTNL pressure. Let's say Thread A is trying to detach a device from a bridge and Thread B is trying to remove the bridge. In dev_ioctl(), Thread A bumps the bridge device's refcnt by netdev_hold() and releases RTNL because the following br_ioctl_call() also re-acquires RTNL. In the race window, Thread B could acquire RTNL and try to remove the bridge device. Then, rtnl_unlock() by Thread B will release RTNL and wait for netdev_put() by Thread A. Thread A, however, must hold RTNL after the unlock in dev_ifsioc(), which may take long under RTNL pressure, resulting in the splat by Thread B. Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---> |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | May take long | `- br_dev_delete(dev, ...) | | | under RTNL pressure | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock <-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) <----------------' Wait refcnt decrement and log splat below To avoid blocking SIOCBRDELBR unnecessarily, let's not call dev_ioctl() for SIOCBRADDIF and SIOCBRDELIF. In the dev_ioctl() path, we do the following: 1. Copy struct ifreq by get_user_ifreq in sock_do_ioctl() 2. Check CAP_NET_ADMIN in dev_ioctl() 3. Call dev_load() in dev_ioctl() 4. Fetch the master dev from ifr.ifr_name in dev_ifsioc() 3. can be done by request_module() in br_ioctl_call(), so we move 1., 2., and 4. to br_ioctl_stub(). Note that 2. is also checked later in add_del_if(), but it's better performed before RTNL. SIOCBRADDIF and SIOCBRDELIF have been processed in dev_ioctl() since the pre-git era, and there seems to be no specific reason to process them there. [0]: unregister_netdevice: waiting for wpan3 to become free. Usage count = 2 ref_tracker: wpan3@ffff8880662d8608 has 1/1 users at __netdev_tracker_alloc include/linux/netdevice.h:4282 [inline] netdev_hold include/linux/netdevice.h:4311 [inline] dev_ifsioc+0xc6a/0x1160 net/core/dev_ioctl.c:624 dev_ioctl+0x255/0x10c0 net/core/dev_ioctl.c:826 sock_do_ioctl+0x1ca/0x260 net/socket.c:1213 sock_ioctl+0x23a/0x6c0 net/socket.c:1318 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x1a4/0x210 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: avoid journaling sb update on error if journal is destroying Presently we always BUG_ON if trying to start a transaction on a journal marked with JBD2_UNMOUNT, since this should never happen. However, while ltp running stress tests, it was observed that in case of some error handling paths, it is possible for update_super_work to start a transaction after the journal is destroyed eg: (umount) ext4_kill_sb kill_block_super generic_shutdown_super sync_filesystem /* commits all txns */ evict_inodes /* might start a new txn */ ext4_put_super flush_work(&sbi->s_sb_upd_work) /* flush the workqueue */ jbd2_journal_destroy journal_kill_thread journal->j_flags |= JBD2_UNMOUNT; jbd2_journal_commit_transaction jbd2_journal_get_descriptor_buffer jbd2_journal_bmap ext4_journal_bmap ext4_map_blocks ... ext4_inode_error ext4_handle_error schedule_work(&sbi->s_sb_upd_work) /* work queue kicks in */ update_super_work jbd2_journal_start start_this_handle BUG_ON(journal->j_flags & JBD2_UNMOUNT) Hence, introduce a new mount flag to indicate journal is destroying and only do a journaled (and deferred) update of sb if this flag is not set. Otherwise, just fallback to an un-journaled commit. Further, in the journal destroy path, we have the following sequence: 1. Set mount flag indicating journal is destroying 2. force a commit and wait for it 3. flush pending sb updates This sequence is important as it ensures that, after this point, there is no sb update that might be journaled so it is safe to update the sb outside the journal. (To avoid race discussed in 2d01ddc86606) Also, we don't need a similar check in ext4_grp_locked_error since it is only called from mballoc and AFAICT it would be always valid to schedule work here.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: goto right label 'out_mmap_sem' in ext4_setattr() Otherwise, if ext4_inode_attach_jinode() fails, a hung task will happen because filemap_invalidate_unlock() isn't called to unlock mapping->invalidate_lock. Like this: EXT4-fs error (device sda) in ext4_setattr:5557: Out of memory INFO: task fsstress:374 blocked for more than 122 seconds. Not tainted 6.14.0-rc1-next-20250206-xfstests-dirty #726 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:fsstress state:D stack:0 pid:374 tgid:374 ppid:373 task_flags:0x440140 flags:0x00000000 Call Trace: <TASK> __schedule+0x2c9/0x7f0 schedule+0x27/0xa0 schedule_preempt_disabled+0x15/0x30 rwsem_down_read_slowpath+0x278/0x4c0 down_read+0x59/0xb0 page_cache_ra_unbounded+0x65/0x1b0 filemap_get_pages+0x124/0x3e0 filemap_read+0x114/0x3d0 vfs_read+0x297/0x360 ksys_read+0x6c/0xe0 do_syscall_64+0x4b/0x110 entry_SYSCALL_64_after_hwframe+0x76/0x7e


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: stmmac: Fix accessing freed irq affinity_hint The cpumask should not be a local variable, since its pointer is saved to irq_desc and may be accessed from procfs. To fix it, use the persistent mask cpumask_of(cpu#).


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: ignore xattrs past end Once inside 'ext4_xattr_inode_dec_ref_all' we should ignore xattrs entries past the 'end' entry. This fixes the following KASAN reported issue: ================================================================== BUG: KASAN: slab-use-after-free in ext4_xattr_inode_dec_ref_all+0xb8c/0xe90 Read of size 4 at addr ffff888012c120c4 by task repro/2065 CPU: 1 UID: 0 PID: 2065 Comm: repro Not tainted 6.13.0-rc2+ #11 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x1fd/0x300 ? tcp_gro_dev_warn+0x260/0x260 ? _printk+0xc0/0x100 ? read_lock_is_recursive+0x10/0x10 ? irq_work_queue+0x72/0xf0 ? __virt_addr_valid+0x17b/0x4b0 print_address_description+0x78/0x390 print_report+0x107/0x1f0 ? __virt_addr_valid+0x17b/0x4b0 ? __virt_addr_valid+0x3ff/0x4b0 ? __phys_addr+0xb5/0x160 ? ext4_xattr_inode_dec_ref_all+0xb8c/0xe90 kasan_report+0xcc/0x100 ? ext4_xattr_inode_dec_ref_all+0xb8c/0xe90 ext4_xattr_inode_dec_ref_all+0xb8c/0xe90 ? ext4_xattr_delete_inode+0xd30/0xd30 ? __ext4_journal_ensure_credits+0x5f0/0x5f0 ? __ext4_journal_ensure_credits+0x2b/0x5f0 ? inode_update_timestamps+0x410/0x410 ext4_xattr_delete_inode+0xb64/0xd30 ? ext4_truncate+0xb70/0xdc0 ? ext4_expand_extra_isize_ea+0x1d20/0x1d20 ? __ext4_mark_inode_dirty+0x670/0x670 ? ext4_journal_check_start+0x16f/0x240 ? ext4_inode_is_fast_symlink+0x2f2/0x3a0 ext4_evict_inode+0xc8c/0xff0 ? ext4_inode_is_fast_symlink+0x3a0/0x3a0 ? do_raw_spin_unlock+0x53/0x8a0 ? ext4_inode_is_fast_symlink+0x3a0/0x3a0 evict+0x4ac/0x950 ? proc_nr_inodes+0x310/0x310 ? trace_ext4_drop_inode+0xa2/0x220 ? _raw_spin_unlock+0x1a/0x30 ? iput+0x4cb/0x7e0 do_unlinkat+0x495/0x7c0 ? try_break_deleg+0x120/0x120 ? 0xffffffff81000000 ? __check_object_size+0x15a/0x210 ? strncpy_from_user+0x13e/0x250 ? getname_flags+0x1dc/0x530 __x64_sys_unlinkat+0xc8/0xf0 do_syscall_64+0x65/0x110 entry_SYSCALL_64_after_hwframe+0x67/0x6f RIP: 0033:0x434ffd Code: 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 8 RSP: 002b:00007ffc50fa7b28 EFLAGS: 00000246 ORIG_RAX: 0000000000000107 RAX: ffffffffffffffda RBX: 00007ffc50fa7e18 RCX: 0000000000434ffd RDX: 0000000000000000 RSI: 0000000020000240 RDI: 0000000000000005 RBP: 00007ffc50fa7be0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 R13: 00007ffc50fa7e08 R14: 00000000004bbf30 R15: 0000000000000001 </TASK> The buggy address belongs to the object at ffff888012c12000 which belongs to the cache filp of size 360 The buggy address is located 196 bytes inside of freed 360-byte region [ffff888012c12000, ffff888012c12168) The buggy address belongs to the physical page: page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x12c12 head: order:1 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x40(head|node=0|zone=0) page_type: f5(slab) raw: 0000000000000040 ffff888000ad7640 ffffea0000497a00 dead000000000004 raw: 0000000000000000 0000000000100010 00000001f5000000 0000000000000000 head: 0000000000000040 ffff888000ad7640 ffffea0000497a00 dead000000000004 head: 0000000000000000 0000000000100010 00000001f5000000 0000000000000000 head: 0000000000000001 ffffea00004b0481 ffffffffffffffff 0000000000000000 head: 0000000000000002 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888012c11f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ffff888012c12000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb > ffff888012c12080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888012c12100: fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc ffff888012c12180: fc fc fc fc fc fc fc fc fc ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Avoid memory leak while enabling statistics Driver uses monitor destination rings for extended statistics mode and standalone monitor mode. In extended statistics mode, TLVs are parsed from the buffer received from the monitor destination ring and assigned to the ppdu_info structure to update per-packet statistics. In standalone monitor mode, along with per-packet statistics, the packet data (payload) is captured, and the driver updates per MSDU to mac80211. When the AP interface is enabled, only extended statistics mode is activated. As part of enabling monitor rings for collecting statistics, the driver subscribes to HAL_RX_MPDU_START TLV in the filter configuration. This TLV is received from the monitor destination ring, and kzalloc for the mon_mpdu object occurs, which is not freed, leading to a memory leak. The kzalloc for the mon_mpdu object is only required while enabling the standalone monitor interface. This causes a memory leak while enabling extended statistics mode in the driver. Fix this memory leak by removing the kzalloc for the mon_mpdu object in the HAL_RX_MPDU_START TLV handling. Additionally, remove the standalone monitor mode handlings in the HAL_MON_BUF_ADDR and HAL_RX_MSDU_END TLVs. These TLV tags will be handled properly when enabling standalone monitor mode in the future. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: sch_sfq: move the limit validation It is not sufficient to directly validate the limit on the data that the user passes as it can be updated based on how the other parameters are changed. Move the check at the end of the configuration update process to also catch scenarios where the limit is indirectly updated, for example with the following configurations: tc qdisc add dev dummy0 handle 1: root sfq limit 2 flows 1 depth 1 tc qdisc add dev dummy0 handle 1: root sfq limit 2 flows 1 divisor 1 This fixes the following syzkaller reported crash: ------------[ cut here ]------------ UBSAN: array-index-out-of-bounds in net/sched/sch_sfq.c:203:6 index 65535 is out of range for type 'struct sfq_head[128]' CPU: 1 UID: 0 PID: 3037 Comm: syz.2.16 Not tainted 6.14.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x201/0x300 lib/dump_stack.c:120 ubsan_epilogue lib/ubsan.c:231 [inline] __ubsan_handle_out_of_bounds+0xf5/0x120 lib/ubsan.c:429 sfq_link net/sched/sch_sfq.c:203 [inline] sfq_dec+0x53c/0x610 net/sched/sch_sfq.c:231 sfq_dequeue+0x34e/0x8c0 net/sched/sch_sfq.c:493 sfq_reset+0x17/0x60 net/sched/sch_sfq.c:518 qdisc_reset+0x12e/0x600 net/sched/sch_generic.c:1035 tbf_reset+0x41/0x110 net/sched/sch_tbf.c:339 qdisc_reset+0x12e/0x600 net/sched/sch_generic.c:1035 dev_reset_queue+0x100/0x1b0 net/sched/sch_generic.c:1311 netdev_for_each_tx_queue include/linux/netdevice.h:2590 [inline] dev_deactivate_many+0x7e5/0xe70 net/sched/sch_generic.c:1375


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: tls: explicitly disallow disconnect syzbot discovered that it can disconnect a TLS socket and then run into all sort of unexpected corner cases. I have a vague recollection of Eric pointing this out to us a long time ago. Supporting disconnect is really hard, for one thing if offload is enabled we'd need to wait for all packets to be _acked_. Disconnect is not commonly used, disallow it. The immediate problem syzbot run into is the warning in the strp, but that's just the easiest bug to trigger: WARNING: CPU: 0 PID: 5834 at net/tls/tls_strp.c:486 tls_strp_msg_load+0x72e/0xa80 net/tls/tls_strp.c:486 RIP: 0010:tls_strp_msg_load+0x72e/0xa80 net/tls/tls_strp.c:486 Call Trace: <TASK> tls_rx_rec_wait+0x280/0xa60 net/tls/tls_sw.c:1363 tls_sw_recvmsg+0x85c/0x1c30 net/tls/tls_sw.c:2043 inet6_recvmsg+0x2c9/0x730 net/ipv6/af_inet6.c:678 sock_recvmsg_nosec net/socket.c:1023 [inline] sock_recvmsg+0x109/0x280 net/socket.c:1045 __sys_recvfrom+0x202/0x380 net/socket.c:2237


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tipc: fix memory leak in tipc_link_xmit In case the backlog transmit queue for system-importance messages is overloaded, tipc_link_xmit() returns -ENOBUFS but the skb list is not purged. This leads to memory leak and failure when a skb is allocated. This commit fixes this issue by purging the skb list before tipc_link_xmit() returns.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: dsa: free routing table on probe failure If complete = true in dsa_tree_setup(), it means that we are the last switch of the tree which is successfully probing, and we should be setting up all switches from our probe path. After "complete" becomes true, dsa_tree_setup_cpu_ports() or any subsequent function may fail. If that happens, the entire tree setup is in limbo: the first N-1 switches have successfully finished probing (doing nothing but having allocated persistent memory in the tree's dst->ports, and maybe dst->rtable), and switch N failed to probe, ending the tree setup process before anything is tangible from the user's PoV. If switch N fails to probe, its memory (ports) will be freed and removed from dst->ports. However, the dst->rtable elements pointing to its ports, as created by dsa_link_touch(), will remain there, and will lead to use-after-free if dereferenced. If dsa_tree_setup_switches() returns -EPROBE_DEFER, which is entirely possible because that is where ds->ops->setup() is, we get a kasan report like this: ================================================================== BUG: KASAN: slab-use-after-free in mv88e6xxx_setup_upstream_port+0x240/0x568 Read of size 8 at addr ffff000004f56020 by task kworker/u8:3/42 Call trace: __asan_report_load8_noabort+0x20/0x30 mv88e6xxx_setup_upstream_port+0x240/0x568 mv88e6xxx_setup+0xebc/0x1eb0 dsa_register_switch+0x1af4/0x2ae0 mv88e6xxx_register_switch+0x1b8/0x2a8 mv88e6xxx_probe+0xc4c/0xf60 mdio_probe+0x78/0xb8 really_probe+0x2b8/0x5a8 __driver_probe_device+0x164/0x298 driver_probe_device+0x78/0x258 __device_attach_driver+0x274/0x350 Allocated by task 42: __kasan_kmalloc+0x84/0xa0 __kmalloc_cache_noprof+0x298/0x490 dsa_switch_touch_ports+0x174/0x3d8 dsa_register_switch+0x800/0x2ae0 mv88e6xxx_register_switch+0x1b8/0x2a8 mv88e6xxx_probe+0xc4c/0xf60 mdio_probe+0x78/0xb8 really_probe+0x2b8/0x5a8 __driver_probe_device+0x164/0x298 driver_probe_device+0x78/0x258 __device_attach_driver+0x274/0x350 Freed by task 42: __kasan_slab_free+0x48/0x68 kfree+0x138/0x418 dsa_register_switch+0x2694/0x2ae0 mv88e6xxx_register_switch+0x1b8/0x2a8 mv88e6xxx_probe+0xc4c/0xf60 mdio_probe+0x78/0xb8 really_probe+0x2b8/0x5a8 __driver_probe_device+0x164/0x298 driver_probe_device+0x78/0x258 __device_attach_driver+0x274/0x350 The simplest way to fix the bug is to delete the routing table in its entirety. dsa_tree_setup_routing_table() has no problem in regenerating it even if we deleted links between ports other than those of switch N, because dsa_link_touch() first checks whether the port pair already exists in dst->rtable, allocating if not. The deletion of the routing table in its entirety already exists in dsa_tree_teardown(), so refactor that into a function that can also be called from the tree setup error path. In my analysis of the commit to blame, it is the one which added dsa_link elements to dst->rtable. Prior to that, each switch had its own ds->rtable which is freed when the switch fails to probe. But the tree is potentially persistent memory.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: driver core: fix potential NULL pointer dereference in dev_uevent() If userspace reads "uevent" device attribute at the same time as another threads unbinds the device from its driver, change to dev->driver from a valid pointer to NULL may result in crash. Fix this by using READ_ONCE() when fetching the pointer, and take bus' drivers klist lock to make sure driver instance will not disappear while we access it. Use WRITE_ONCE() when setting the driver pointer to ensure there is no tearing.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: spi-imx: Add check for spi_imx_setupxfer() Add check for the return value of spi_imx_setupxfer(). spi_imx->rx and spi_imx->tx function pointer can be NULL when spi_imx_setupxfer() return error, and make NULL pointer dereference. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: 0x0 spi_imx_pio_transfer+0x50/0xd8 spi_imx_transfer_one+0x18c/0x858 spi_transfer_one_message+0x43c/0x790 __spi_pump_transfer_message+0x238/0x5d4 __spi_sync+0x2b0/0x454 spi_write_then_read+0x11c/0x200


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: chipidea: ci_hdrc_imx: fix usbmisc handling usbmisc is an optional device property so it is totally valid for the corresponding data->usbmisc_data to have a NULL value. Check that before dereferencing the pointer. Found by Linux Verification Center (linuxtesting.org) with Svace static analysis tool.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cifs: avoid NULL pointer dereference in dbg call cifs_server_dbg() implies server to be non-NULL so move call under condition to avoid NULL pointer dereference. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: page_pool: avoid infinite loop to schedule delayed worker We noticed the kworker in page_pool_release_retry() was waken up repeatedly and infinitely in production because of the buggy driver causing the inflight less than 0 and warning us in page_pool_inflight()[1]. Since the inflight value goes negative, it means we should not expect the whole page_pool to get back to work normally. This patch mitigates the adverse effect by not rescheduling the kworker when detecting the inflight negative in page_pool_release_retry(). [1] [Mon Feb 10 20:36:11 2025] ------------[ cut here ]------------ [Mon Feb 10 20:36:11 2025] Negative(-51446) inflight packet-pages ... [Mon Feb 10 20:36:11 2025] Call Trace: [Mon Feb 10 20:36:11 2025] page_pool_release_retry+0x23/0x70 [Mon Feb 10 20:36:11 2025] process_one_work+0x1b1/0x370 [Mon Feb 10 20:36:11 2025] worker_thread+0x37/0x3a0 [Mon Feb 10 20:36:11 2025] kthread+0x11a/0x140 [Mon Feb 10 20:36:11 2025] ? process_one_work+0x370/0x370 [Mon Feb 10 20:36:11 2025] ? __kthread_cancel_work+0x40/0x40 [Mon Feb 10 20:36:11 2025] ret_from_fork+0x35/0x40 [Mon Feb 10 20:36:11 2025] ---[ end trace ebffe800f33e7e34 ]--- Note: before this patch, the above calltrace would flood the dmesg due to repeated reschedule of release_dw kworker.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: pidff: Fix null pointer dereference in pidff_find_fields This function triggered a null pointer dereference if used to search for a report that isn't implemented on the device. This happened both for optional and required reports alike. The same logic was applied to pidff_find_special_field and although pidff_init_fields should return an error earlier if one of the required reports is missing, future modifications could change this logic and resurface this possible null pointer dereference again. LKML bug report: https://lore.kernel.org/all/CAL-gK7f5=R0nrrQdPtaZZr1fd-cdAMbDMuZ_NLA8vM0SX+nGSw@mail.gmail.com


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: dsa: mv88e6xxx: fix -ENOENT when deleting VLANs and MST is unsupported Russell King reports that on the ZII dev rev B, deleting a bridge VLAN from a user port fails with -ENOENT: https://lore.kernel.org/netdev/Z_lQXNP0s5-IiJzd@shell.armlinux.org.uk/ This comes from mv88e6xxx_port_vlan_leave() -> mv88e6xxx_mst_put(), which tries to find an MST entry in &chip->msts associated with the SID, but fails and returns -ENOENT as such. But we know that this chip does not support MST at all, so that is not surprising. The question is why does the guard in mv88e6xxx_mst_put() not exit early: if (!sid) return 0; And the answer seems to be simple: the sid comes from vlan.sid which supposedly was previously populated by mv88e6xxx_vtu_get(). But some chip->info->ops->vtu_getnext() implementations do not populate vlan.sid, for example see mv88e6185_g1_vtu_getnext(). In that case, later in mv88e6xxx_port_vlan_leave() we are using a garbage sid which is just residual stack memory. Testing for sid == 0 covers all cases of a non-bridge VLAN or a bridge VLAN mapped to the default MSTI. For some chips, SID 0 is valid and installed by mv88e6xxx_stu_setup(). A chip which does not support the STU would implicitly only support mapping all VLANs to the default MSTI, so although SID 0 is not valid, it would be sufficient, if we were to zero-initialize the vlan structure, to fix the bug, due to the coincidence that a test for vlan.sid == 0 already exists and leads to the same (correct) behavior. Another option which would be sufficient would be to add a test for mv88e6xxx_has_stu() inside mv88e6xxx_mst_put(), symmetric to the one which already exists in mv88e6xxx_mst_get(). But that placement means the caller will have to dereference vlan.sid, which means it will access uninitialized memory, which is not nice even if it ignores it later. So we end up making both modifications, in order to not rely just on the sid == 0 coincidence, but also to avoid having uninitialized structure fields which might get temporarily accessed.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: ngbe: fix memory leak in ngbe_probe() error path When ngbe_sw_init() is called, memory is allocated for wx->rss_key in wx_init_rss_key(). However, in ngbe_probe() function, the subsequent error paths after ngbe_sw_init() don't free the rss_key. Fix that by freeing it in error path along with wx->mac_table. Also change the label to which execution jumps when ngbe_sw_init() fails, because otherwise, it could lead to a double free for rss_key, when the mac_table allocation fails in wx_sw_init().


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix deadlock between rcu_tasks_trace and event_mutex. Fix the following deadlock: CPU A _free_event() perf_kprobe_destroy() mutex_lock(&event_mutex) perf_trace_event_unreg() synchronize_rcu_tasks_trace() There are several paths where _free_event() grabs event_mutex and calls sync_rcu_tasks_trace. Above is one such case. CPU B bpf_prog_test_run_syscall() rcu_read_lock_trace() bpf_prog_run_pin_on_cpu() bpf_prog_load() bpf_tracing_func_proto() trace_set_clr_event() mutex_lock(&event_mutex) Delegate trace_set_clr_event() to workqueue to avoid such lock dependency.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: lan743x: Fix memleak issue when GSO enabled Always map the `skb` to the LS descriptor. Previously skb was mapped to EXT descriptor when the number of fragments is zero with GSO enabled. Mapping the skb to EXT descriptor prevents it from being freed, leading to a memory leak


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: ethernet: mtk-star-emac: fix spinlock recursion issues on rx/tx poll Use spin_lock_irqsave and spin_unlock_irqrestore instead of spin_lock and spin_unlock in mtk_star_emac driver to avoid spinlock recursion occurrence that can happen when enabling the DMA interrupts again in rx/tx poll. ``` BUG: spinlock recursion on CPU#0, swapper/0/0 lock: 0xffff00000db9cf20, .magic: dead4ead, .owner: swapper/0/0, .owner_cpu: 0 CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.15.0-rc2-next-20250417-00001-gf6a27738686c-dirty #28 PREEMPT Hardware name: MediaTek MT8365 Open Platform EVK (DT) Call trace: show_stack+0x18/0x24 (C) dump_stack_lvl+0x60/0x80 dump_stack+0x18/0x24 spin_dump+0x78/0x88 do_raw_spin_lock+0x11c/0x120 _raw_spin_lock+0x20/0x2c mtk_star_handle_irq+0xc0/0x22c [mtk_star_emac] __handle_irq_event_percpu+0x48/0x140 handle_irq_event+0x4c/0xb0 handle_fasteoi_irq+0xa0/0x1bc handle_irq_desc+0x34/0x58 generic_handle_domain_irq+0x1c/0x28 gic_handle_irq+0x4c/0x120 do_interrupt_handler+0x50/0x84 el1_interrupt+0x34/0x68 el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x6c/0x70 regmap_mmio_read32le+0xc/0x20 (P) _regmap_bus_reg_read+0x6c/0xac _regmap_read+0x60/0xdc regmap_read+0x4c/0x80 mtk_star_rx_poll+0x2f4/0x39c [mtk_star_emac] __napi_poll+0x38/0x188 net_rx_action+0x164/0x2c0 handle_softirqs+0x100/0x244 __do_softirq+0x14/0x20 ____do_softirq+0x10/0x20 call_on_irq_stack+0x24/0x64 do_softirq_own_stack+0x1c/0x40 __irq_exit_rcu+0xd4/0x10c irq_exit_rcu+0x10/0x1c el1_interrupt+0x38/0x68 el1h_64_irq_handler+0x18/0x24 el1h_64_irq+0x6c/0x70 cpuidle_enter_state+0xac/0x320 (P) cpuidle_enter+0x38/0x50 do_idle+0x1e4/0x260 cpu_startup_entry+0x34/0x3c rest_init+0xdc/0xe0 console_on_rootfs+0x0/0x6c __primary_switched+0x88/0x90 ```


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vxlan: vnifilter: Fix unlocked deletion of default FDB entry When a VNI is deleted from a VXLAN device in 'vnifilter' mode, the FDB entry associated with the default remote (assuming one was configured) is deleted without holding the hash lock. This is wrong and will result in a warning [1] being generated by the lockdep annotation that was added by commit ebe642067455 ("vxlan: Create wrappers for FDB lookup"). Reproducer: # ip link add vx0 up type vxlan dstport 4789 external vnifilter local 192.0.2.1 # bridge vni add vni 10010 remote 198.51.100.1 dev vx0 # bridge vni del vni 10010 dev vx0 Fix by acquiring the hash lock before the deletion and releasing it afterwards. Blame the original commit that introduced the issue rather than the one that exposed it. [1] WARNING: CPU: 3 PID: 392 at drivers/net/vxlan/vxlan_core.c:417 vxlan_find_mac+0x17f/0x1a0 [...] RIP: 0010:vxlan_find_mac+0x17f/0x1a0 [...] Call Trace: <TASK> __vxlan_fdb_delete+0xbe/0x560 vxlan_vni_delete_group+0x2ba/0x940 vxlan_vni_del.isra.0+0x15f/0x580 vxlan_process_vni_filter+0x38b/0x7b0 vxlan_vnifilter_process+0x3bb/0x510 rtnetlink_rcv_msg+0x2f7/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


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix oob write in trace_seq_to_buffer() syzbot reported this bug: ================================================================== BUG: KASAN: slab-out-of-bounds in trace_seq_to_buffer kernel/trace/trace.c:1830 [inline] BUG: KASAN: slab-out-of-bounds in tracing_splice_read_pipe+0x6be/0xdd0 kernel/trace/trace.c:6822 Write of size 4507 at addr ffff888032b6b000 by task syz.2.320/7260 CPU: 1 UID: 0 PID: 7260 Comm: syz.2.320 Not tainted 6.15.0-rc1-syzkaller-00301-g3bde70a2c827 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/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+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 __asan_memcpy+0x3c/0x60 mm/kasan/shadow.c:106 trace_seq_to_buffer kernel/trace/trace.c:1830 [inline] tracing_splice_read_pipe+0x6be/0xdd0 kernel/trace/trace.c:6822 .... ================================================================== It has been reported that trace_seq_to_buffer() tries to copy more data than PAGE_SIZE to buf. Therefore, to prevent this, we should use the smaller of trace_seq_used(&iter->seq) and PAGE_SIZE as an argument.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Fix potential buffer overflow in parse_ivrs_acpihid There is a string parsing logic error which can lead to an overflow of hid or uid buffers. Comparing ACPIID_LEN against a total string length doesn't take into account the lengths of individual hid and uid buffers so the check is insufficient in some cases. For example if the length of hid string is 4 and the length of the uid string is 260, the length of str will be equal to ACPIID_LEN + 1 but uid string will overflow uid buffer which size is 256. The same applies to the hid string with length 13 and uid string with length 250. Check the length of hid and uid strings separately to prevent buffer overflow. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: octeon_ep: Fix host hang issue during device reboot When the host loses heartbeat messages from the device, the driver calls the device-specific ndo_stop function, which frees the resources. If the driver is unloaded in this scenario, it calls ndo_stop again, attempting to free resources that have already been freed, leading to a host hang issue. To resolve this, dev_close should be called instead of the device-specific stop function.dev_close internally calls ndo_stop to stop the network interface and performs additional cleanup tasks. During the driver unload process, if the device is already down, ndo_stop is not called.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: KVM: Mask PEBS_ENABLE loaded for guest with vCPU's value. When generating the MSR_IA32_PEBS_ENABLE value that will be loaded on VM-Entry to a KVM guest, mask the value with the vCPU's desired PEBS_ENABLE value. Consulting only the host kernel's host vs. guest masks results in running the guest with PEBS enabled even when the guest doesn't want to use PEBS. Because KVM uses perf events to proxy the guest virtual PMU, simply looking at exclude_host can't differentiate between events created by host userspace, and events created by KVM on behalf of the guest. Running the guest with PEBS unexpectedly enabled typically manifests as crashes due to a near-infinite stream of #PFs. E.g. if the guest hasn't written MSR_IA32_DS_AREA, the CPU will hit page faults on address '0' when trying to record PEBS events. The issue is most easily reproduced by running `perf kvm top` from before commit 7b100989b4f6 ("perf evlist: Remove __evlist__add_default") (after which, `perf kvm top` effectively stopped using PEBS). The userspace side of perf creates a guest-only PEBS event, which intel_guest_get_msrs() misconstrues a guest-*owned* PEBS event. Arguably, this is a userspace bug, as enabling PEBS on guest-only events simply cannot work, and userspace can kill VMs in many other ways (there is no danger to the host). However, even if this is considered to be bad userspace behavior, there's zero downside to perf/KVM restricting PEBS to guest-owned events. Note, commit 854250329c02 ("KVM: x86/pmu: Disable guest PEBS temporarily in two rare situations") fixed the case where host userspace is profiling KVM *and* userspace, but missed the case where userspace is profiling only KVM.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tracing: Verify event formats that have "%*p.." The trace event verifier checks the formats of trace events to make sure that they do not point at memory that is not in the trace event itself or in data that will never be freed. If an event references data that was allocated when the event triggered and that same data is freed before the event is read, then the kernel can crash by reading freed memory. The verifier runs at boot up (or module load) and scans the print formats of the events and checks their arguments to make sure that dereferenced pointers are safe. If the format uses "%*p.." the verifier will ignore it, and that could be dangerous. Cover this case as well. Also add to the sample code a use case of "%*pbl".


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: phy: allow MDIO bus PM ops to start/stop state machine for phylink-controlled PHY DSA has 2 kinds of drivers: 1. Those who call dsa_switch_suspend() and dsa_switch_resume() from their device PM ops: qca8k-8xxx, bcm_sf2, microchip ksz 2. Those who don't: all others. The above methods should be optional. For type 1, dsa_switch_suspend() calls dsa_user_suspend() -> phylink_stop(), and dsa_switch_resume() calls dsa_user_resume() -> phylink_start(). These seem good candidates for setting mac_managed_pm = true because that is essentially its definition [1], but that does not seem to be the biggest problem for now, and is not what this change focuses on. Talking strictly about the 2nd category of DSA drivers here (which do not have MAC managed PM, meaning that for their attached PHYs, mdio_bus_phy_suspend() and mdio_bus_phy_resume() should run in full), I have noticed that the following warning from mdio_bus_phy_resume() is triggered: WARN_ON(phydev->state != PHY_HALTED && phydev->state != PHY_READY && phydev->state != PHY_UP); because the PHY state machine is running. It's running as a result of a previous dsa_user_open() -> ... -> phylink_start() -> phy_start() having been initiated by the user. The previous mdio_bus_phy_suspend() was supposed to have called phy_stop_machine(), but it didn't. So this is why the PHY is in state PHY_NOLINK by the time mdio_bus_phy_resume() runs. mdio_bus_phy_suspend() did not call phy_stop_machine() because for phylink, the phydev->adjust_link function pointer is NULL. This seems a technicality introduced by commit fddd91016d16 ("phylib: fix PAL state machine restart on resume"). That commit was written before phylink existed, and was intended to avoid crashing with consumer drivers which don't use the PHY state machine - phylink always does, when using a PHY. But phylink itself has historically not been developed with suspend/resume in mind, and apparently not tested too much in that scenario, allowing this bug to exist unnoticed for so long. Plus, prior to the WARN_ON(), it would have likely been invisible. This issue is not in fact restricted to type 2 DSA drivers (according to the above ad-hoc classification), but can be extrapolated to any MAC driver with phylink and MDIO-bus-managed PHY PM ops. DSA is just where the issue was reported. Assuming mac_managed_pm is set correctly, a quick search indicates the following other drivers might be affected: $ grep -Zlr PHYLINK_NETDEV drivers/ | xargs -0 grep -L mac_managed_pm drivers/net/ethernet/atheros/ag71xx.c drivers/net/ethernet/microchip/sparx5/sparx5_main.c drivers/net/ethernet/microchip/lan966x/lan966x_main.c drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c drivers/net/ethernet/freescale/dpaa/dpaa_eth.c drivers/net/ethernet/freescale/ucc_geth.c drivers/net/ethernet/freescale/enetc/enetc_pf_common.c drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c drivers/net/ethernet/marvell/mvneta.c drivers/net/ethernet/marvell/prestera/prestera_main.c drivers/net/ethernet/mediatek/mtk_eth_soc.c drivers/net/ethernet/altera/altera_tse_main.c drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c drivers/net/ethernet/meta/fbnic/fbnic_phylink.c drivers/net/ethernet/tehuti/tn40_phy.c drivers/net/ethernet/mscc/ocelot_net.c Make the existing conditions dependent on the PHY device having a phydev->phy_link_change() implementation equal to the default phy_link_change() provided by phylib. Otherwise, we implicitly know that the phydev has the phylink-provided phylink_phy_change() callback, and when phylink is used, the PHY state machine always needs to be stopped/ started on the suspend/resume path. The code is structured as such that if phydev->phy_link_change() is absent, it is a matter of time until the kernel will crash - no need to further complicate the test. Thus, for the situation where the PM is not managed b ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: s390/pci: Fix duplicate pci_dev_put() in disable_slot() when PF has child VFs With commit bcb5d6c76903 ("s390/pci: introduce lock to synchronize state of zpci_dev's") the code to ignore power off of a PF that has child VFs was changed from a direct return to a goto to the unlock and pci_dev_put() section. The change however left the existing pci_dev_put() untouched resulting in a doubple put. This can subsequently cause a use after free if the struct pci_dev is released in an unexpected state. Fix this by removing the extra pci_dev_put().


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipvs: fix uninit-value for saddr in do_output_route4 syzbot reports for uninit-value for the saddr argument [1]. commit 4754957f04f5 ("ipvs: do not use random local source address for tunnels") already implies that the input value of saddr should be ignored but the code is still reading it which can prevent to connect the route. Fix it by changing the argument to ret_saddr. [1] BUG: KMSAN: uninit-value in do_output_route4+0x42c/0x4d0 net/netfilter/ipvs/ip_vs_xmit.c:147 do_output_route4+0x42c/0x4d0 net/netfilter/ipvs/ip_vs_xmit.c:147 __ip_vs_get_out_rt+0x403/0x21d0 net/netfilter/ipvs/ip_vs_xmit.c:330 ip_vs_tunnel_xmit+0x205/0x2380 net/netfilter/ipvs/ip_vs_xmit.c:1136 ip_vs_in_hook+0x1aa5/0x35b0 net/netfilter/ipvs/ip_vs_core.c:2063 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf7/0x400 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] __ip_local_out+0x758/0x7e0 net/ipv4/ip_output.c:118 ip_local_out net/ipv4/ip_output.c:127 [inline] ip_send_skb+0x6a/0x3c0 net/ipv4/ip_output.c:1501 udp_send_skb+0xfda/0x1b70 net/ipv4/udp.c:1195 udp_sendmsg+0x2fe3/0x33c0 net/ipv4/udp.c:1483 inet_sendmsg+0x1fc/0x280 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x267/0x380 net/socket.c:727 ____sys_sendmsg+0x91b/0xda0 net/socket.c:2566 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2620 __sys_sendmmsg+0x41d/0x880 net/socket.c:2702 __compat_sys_sendmmsg net/compat.c:360 [inline] __do_compat_sys_sendmmsg net/compat.c:367 [inline] __se_compat_sys_sendmmsg net/compat.c:364 [inline] __ia32_compat_sys_sendmmsg+0xc8/0x140 net/compat.c:364 ia32_sys_call+0x3ffa/0x41f0 arch/x86/include/generated/asm/syscalls_32.h:346 do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline] __do_fast_syscall_32+0xb0/0x110 arch/x86/entry/syscall_32.c:306 do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331 do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:369 entry_SYSENTER_compat_after_hwframe+0x84/0x8e Uninit was created at: slab_post_alloc_hook mm/slub.c:4167 [inline] slab_alloc_node mm/slub.c:4210 [inline] __kmalloc_cache_noprof+0x8fa/0xe00 mm/slub.c:4367 kmalloc_noprof include/linux/slab.h:905 [inline] ip_vs_dest_dst_alloc net/netfilter/ipvs/ip_vs_xmit.c:61 [inline] __ip_vs_get_out_rt+0x35d/0x21d0 net/netfilter/ipvs/ip_vs_xmit.c:323 ip_vs_tunnel_xmit+0x205/0x2380 net/netfilter/ipvs/ip_vs_xmit.c:1136 ip_vs_in_hook+0x1aa5/0x35b0 net/netfilter/ipvs/ip_vs_core.c:2063 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xf7/0x400 net/netfilter/core.c:626 nf_hook include/linux/netfilter.h:269 [inline] __ip_local_out+0x758/0x7e0 net/ipv4/ip_output.c:118 ip_local_out net/ipv4/ip_output.c:127 [inline] ip_send_skb+0x6a/0x3c0 net/ipv4/ip_output.c:1501 udp_send_skb+0xfda/0x1b70 net/ipv4/udp.c:1195 udp_sendmsg+0x2fe3/0x33c0 net/ipv4/udp.c:1483 inet_sendmsg+0x1fc/0x280 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg+0x267/0x380 net/socket.c:727 ____sys_sendmsg+0x91b/0xda0 net/socket.c:2566 ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2620 __sys_sendmmsg+0x41d/0x880 net/socket.c:2702 __compat_sys_sendmmsg net/compat.c:360 [inline] __do_compat_sys_sendmmsg net/compat.c:367 [inline] __se_compat_sys_sendmmsg net/compat.c:364 [inline] __ia32_compat_sys_sendmmsg+0xc8/0x140 net/compat.c:364 ia32_sys_call+0x3ffa/0x41f0 arch/x86/include/generated/asm/syscalls_32.h:346 do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline] __do_fast_syscall_32+0xb0/0x110 arch/x86/entry/syscall_32.c:306 do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331 do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:369 entry_SYSENTER_compat_after_hwframe+0x84/0x8e CPU: 0 UID: 0 PID: 22408 Comm: syz.4.5165 Not tainted 6.15.0-rc3-syzkaller-00019-gbc3372351d0c #0 PREEMPT(undef) Hardware name: Google Google Compute Engi ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: displayport: Fix deadlock This patch introduces the ucsi_con_mutex_lock / ucsi_con_mutex_unlock functions to the UCSI driver. ucsi_con_mutex_lock ensures the connector mutex is only locked if a connection is established and the partner pointer is valid. This resolves a deadlock scenario where ucsi_displayport_remove_partner holds con->mutex waiting for dp_altmode_work to complete while dp_altmode_work attempts to acquire it.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: light: opt3001: fix deadlock due to concurrent flag access The threaded IRQ function in this driver is reading the flag twice: once to lock a mutex and once to unlock it. Even though the code setting the flag is designed to prevent it, there are subtle cases where the flag could be true at the mutex_lock stage and false at the mutex_unlock stage. This results in the mutex not being unlocked, resulting in a deadlock. Fix it by making the opt3001_irq() code generally more robust, reading the flag into a variable and using the variable value at both stages.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: fix out-of-bounds access during multi-link element defragmentation Currently during the multi-link element defragmentation process, the multi-link element length added to the total IEs length when calculating the length of remaining IEs after the multi-link element in cfg80211_defrag_mle(). This could lead to out-of-bounds access if the multi-link element or its corresponding fragment elements are the last elements in the IEs buffer. To address this issue, correctly calculate the remaining IEs length by deducting the multi-link element end offset from total IEs end offset.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pds_core: Prevent possible adminq overflow/stuck condition The pds_core's adminq is protected by the adminq_lock, which prevents more than 1 command to be posted onto it at any one time. This makes it so the client drivers cannot simultaneously post adminq commands. However, the completions happen in a different context, which means multiple adminq commands can be posted sequentially and all waiting on completion. On the FW side, the backing adminq request queue is only 16 entries long and the retry mechanism and/or overflow/stuck prevention is lacking. This can cause the adminq to get stuck, so commands are no longer processed and completions are no longer sent by the FW. As an initial fix, prevent more than 16 outstanding adminq commands so there's no way to cause the adminq from getting stuck. This works because the backing adminq request queue will never have more than 16 pending adminq commands, so it will never overflow. This is done by reducing the adminq depth to 16.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: Flush gso_skb list too during ->change() Previously, when reducing a qdisc's limit via the ->change() operation, only the main skb queue was trimmed, potentially leaving packets in the gso_skb list. This could result in NULL pointer dereference when we only check sch->limit against sch->q.qlen. This patch introduces a new helper, qdisc_dequeue_internal(), which ensures both the gso_skb list and the main queue are properly flushed when trimming excess packets. All relevant qdiscs (codel, fq, fq_codel, fq_pie, hhf, pie) are updated to use this helper in their ->change() routines.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: displayport: Fix NULL pointer access This patch ensures that the UCSI driver waits for all pending tasks in the ucsi_displayport_work workqueue to finish executing before proceeding with the partner removal.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: module: ensure that kobject_put() is safe for module type kobjects In 'lookup_or_create_module_kobject()', an internal kobject is created using 'module_ktype'. So call to 'kobject_put()' on error handling path causes an attempt to use an uninitialized completion pointer in 'module_kobject_release()'. In this scenario, we just want to release kobject without an extra synchronization required for a regular module unloading process, so adding an extra check whether 'complete()' is actually required makes 'kobject_put()' safe.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: fix region locking in hash types Region locking introduced in v5.6-rc4 contained three macros to handle the region locks: ahash_bucket_start(), ahash_bucket_end() which gave back the start and end hash bucket values belonging to a given region lock and ahash_region() which should give back the region lock belonging to a given hash bucket. The latter was incorrect which can lead to a race condition between the garbage collector and adding new elements when a hash type of set is defined with timeouts.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: openvswitch: Fix unsafe attribute parsing in output_userspace() This patch replaces the manual Netlink attribute iteration in output_userspace() with nla_for_each_nested(), which ensures that only well-formed attributes are processed.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sch_hfsc: Fix qlen accounting bug when using peek in hfsc_enqueue() When enqueuing the first packet to an HFSC class, hfsc_enqueue() calls the child qdisc's peek() operation before incrementing sch->q.qlen and sch->qstats.backlog. If the child qdisc uses qdisc_peek_dequeued(), this may trigger an immediate dequeue and potential packet drop. In such cases, qdisc_tree_reduce_backlog() is called, but the HFSC qdisc's qlen and backlog have not yet been updated, leading to inconsistent queue accounting. This can leave an empty HFSC class in the active list, causing further consequences like use-after-free. This patch fixes the bug by moving the increment of sch->q.qlen and sch->qstats.backlog before the call to the child qdisc's peek() operation. This ensures that queue length and backlog are always accurate when packet drops or dequeues are triggered during the peek.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: hfsc: Address reentrant enqueue adding class to eltree twice Savino says: "We are writing to report that this recent patch (141d34391abbb315d68556b7c67ad97885407547) [1] can be bypassed, and a UAF can still occur when HFSC is utilized with NETEM. The patch only checks the cl->cl_nactive field to determine whether it is the first insertion or not [2], but this field is only incremented by init_vf [3]. By using HFSC_RSC (which uses init_ed) [4], it is possible to bypass the check and insert the class twice in the eltree. Under normal conditions, this would lead to an infinite loop in hfsc_dequeue for the reasons we already explained in this report [5]. However, if TBF is added as root qdisc and it is configured with a very low rate, it can be utilized to prevent packets from being dequeued. This behavior can be exploited to perform subsequent insertions in the HFSC eltree and cause a UAF." To fix both the UAF and the infinite loop, with netem as an hfsc child, check explicitly in hfsc_enqueue whether the class is already in the eltree whenever the HFSC_RSC flag is set. [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=141d34391abbb315d68556b7c67ad97885407547 [2] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1572 [3] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L677 [4] https://elixir.bootlin.com/linux/v6.15-rc5/source/net/sched/sch_hfsc.c#L1574 [5] https://lore.kernel.org/netdev/8DuRWwfqjoRDLDmBMlIfbrsZg9Gx50DHJc1ilxsEBNe2D6NMoigR_eIRIG0LOjMc3r10nUUZtArXx4oZBIdUfZQrwjcQhdinnMis_0G7VEk=@willsroot.io/T/#u


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: bcm: add missing rcu read protection for procfs content When the procfs content is generated for a bcm_op which is in the process to be removed the procfs output might show unreliable data (UAF). As the removal of bcm_op's is already implemented with rcu handling this patch adds the missing rcu_read_lock() and makes sure the list entries are properly removed under rcu protection.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: bcm: add locking for bcm_op runtime updates The CAN broadcast manager (CAN BCM) can send a sequence of CAN frames via hrtimer. The content and also the length of the sequence can be changed resp reduced at runtime where the 'currframe' counter is then set to zero. Although this appeared to be a safe operation the updates of 'currframe' can be triggered from user space and hrtimer context in bcm_can_tx(). Anderson Nascimento created a proof of concept that triggered a KASAN slab-out-of-bounds read access which can be prevented with a spin_lock_bh. At the rework of bcm_can_tx() the 'count' variable has been moved into the protected section as this variable can be modified from both contexts too.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: k3-udma: Add missing locking Recent kernels complain about a missing lock in k3-udma.c when the lock validator is enabled: [ 4.128073] WARNING: CPU: 0 PID: 746 at drivers/dma/ti/../virt-dma.h:169 udma_start.isra.0+0x34/0x238 [ 4.137352] CPU: 0 UID: 0 PID: 746 Comm: kworker/0:3 Not tainted 6.12.9-arm64 #28 [ 4.144867] Hardware name: pp-v12 (DT) [ 4.148648] Workqueue: events udma_check_tx_completion [ 4.153841] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 4.160834] pc : udma_start.isra.0+0x34/0x238 [ 4.165227] lr : udma_start.isra.0+0x30/0x238 [ 4.169618] sp : ffffffc083cabcf0 [ 4.172963] x29: ffffffc083cabcf0 x28: 0000000000000000 x27: ffffff800001b005 [ 4.180167] x26: ffffffc0812f0000 x25: 0000000000000000 x24: 0000000000000000 [ 4.187370] x23: 0000000000000001 x22: 00000000e21eabe9 x21: ffffff8000fa0670 [ 4.194571] x20: ffffff8001b6bf00 x19: ffffff8000fa0430 x18: ffffffc083b95030 [ 4.201773] x17: 0000000000000000 x16: 00000000f0000000 x15: 0000000000000048 [ 4.208976] x14: 0000000000000048 x13: 0000000000000000 x12: 0000000000000001 [ 4.216179] x11: ffffffc08151a240 x10: 0000000000003ea1 x9 : ffffffc08046ab68 [ 4.223381] x8 : ffffffc083cabac0 x7 : ffffffc081df3718 x6 : 0000000000029fc8 [ 4.230583] x5 : ffffffc0817ee6d8 x4 : 0000000000000bc0 x3 : 0000000000000000 [ 4.237784] x2 : 0000000000000000 x1 : 00000000001fffff x0 : 0000000000000000 [ 4.244986] Call trace: [ 4.247463] udma_start.isra.0+0x34/0x238 [ 4.251509] udma_check_tx_completion+0xd0/0xdc [ 4.256076] process_one_work+0x244/0x3fc [ 4.260129] process_scheduled_works+0x6c/0x74 [ 4.264610] worker_thread+0x150/0x1dc [ 4.268398] kthread+0xd8/0xe8 [ 4.271492] ret_from_fork+0x10/0x20 [ 4.275107] irq event stamp: 220 [ 4.278363] hardirqs last enabled at (219): [<ffffffc080a27c7c>] _raw_spin_unlock_irq+0x38/0x50 [ 4.287183] hardirqs last disabled at (220): [<ffffffc080a1c154>] el1_dbg+0x24/0x50 [ 4.294879] softirqs last enabled at (182): [<ffffffc080037e68>] handle_softirqs+0x1c0/0x3cc [ 4.303437] softirqs last disabled at (177): [<ffffffc080010170>] __do_softirq+0x1c/0x28 [ 4.311559] ---[ end trace 0000000000000000 ]--- This commit adds the missing locking.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

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


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: disable napi on driver removal A warning on driver removal started occurring after commit 9dd05df8403b ("net: warn if NAPI instance wasn't shut down"). Disable tx napi before deleting it in mt76_dma_cleanup(). WARNING: CPU: 4 PID: 18828 at net/core/dev.c:7288 __netif_napi_del_locked+0xf0/0x100 CPU: 4 UID: 0 PID: 18828 Comm: modprobe Not tainted 6.15.0-rc4 #4 PREEMPT(lazy) Hardware name: ASUS System Product Name/PRIME X670E-PRO WIFI, BIOS 3035 09/05/2024 RIP: 0010:__netif_napi_del_locked+0xf0/0x100 Call Trace: <TASK> mt76_dma_cleanup+0x54/0x2f0 [mt76] mt7921_pci_remove+0xd5/0x190 [mt7921e] pci_device_remove+0x47/0xc0 device_release_driver_internal+0x19e/0x200 driver_detach+0x48/0x90 bus_remove_driver+0x6d/0xf0 pci_unregister_driver+0x2e/0xb0 __do_sys_delete_module.isra.0+0x197/0x2e0 do_syscall_64+0x7b/0x160 entry_SYSCALL_64_after_hwframe+0x76/0x7e Tested with mt7921e but the same pattern can be actually applied to other mt76 drivers calling mt76_dma_cleanup() during removal. Tx napi is enabled in their *_dma_init() functions and only toggled off and on again inside their suspend/resume/reset paths. So it should be okay to disable tx napi in such a generic way. Found by Linux Verification Center (linuxtesting.org).


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: phy: tegra: xusb: Use a bitmask for UTMI pad power state tracking The current implementation uses bias_pad_enable as a reference count to manage the shared bias pad for all UTMI PHYs. However, during system suspension with connected USB devices, multiple power-down requests for the UTMI pad result in a mismatch in the reference count, which in turn produces warnings such as: [ 237.762967] WARNING: CPU: 10 PID: 1618 at tegra186_utmi_pad_power_down+0x160/0x170 [ 237.763103] Call trace: [ 237.763104] tegra186_utmi_pad_power_down+0x160/0x170 [ 237.763107] tegra186_utmi_phy_power_off+0x10/0x30 [ 237.763110] phy_power_off+0x48/0x100 [ 237.763113] tegra_xusb_enter_elpg+0x204/0x500 [ 237.763119] tegra_xusb_suspend+0x48/0x140 [ 237.763122] platform_pm_suspend+0x2c/0xb0 [ 237.763125] dpm_run_callback.isra.0+0x20/0xa0 [ 237.763127] __device_suspend+0x118/0x330 [ 237.763129] dpm_suspend+0x10c/0x1f0 [ 237.763130] dpm_suspend_start+0x88/0xb0 [ 237.763132] suspend_devices_and_enter+0x120/0x500 [ 237.763135] pm_suspend+0x1ec/0x270 The root cause was traced back to the dynamic power-down changes introduced in commit a30951d31b25 ("xhci: tegra: USB2 pad power controls"), where the UTMI pad was being powered down without verifying its current state. This unbalanced behavior led to discrepancies in the reference count. To rectify this issue, this patch replaces the single reference counter with a bitmask, renamed to utmi_pad_enabled. Each bit in the mask corresponds to one of the four USB2 PHYs, allowing us to track each pad's enablement status individually. With this change: - The bias pad is powered on only when the mask is clear. - Each UTMI pad is powered on or down based on its corresponding bit in the mask, preventing redundant operations. - The overall power state of the shared bias pad is maintained correctly during suspend/resume cycles. The mutex used to prevent race conditions during UTMI pad enable/disable operations has been moved from the tegra186_utmi_bias_pad_power_on/off functions to the parent functions tegra186_utmi_pad_power_on/down. This change ensures that there are no race conditions when updating the bitmask.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: csa unmap use uninterruptible lock After process exit to unmap csa and free GPU vm, if signal is accepted and then waiting to take vm lock is interrupted and return, it causes memory leaking and below warning backtrace. Change to use uninterruptible wait lock fix the issue. WARNING: CPU: 69 PID: 167800 at amd/amdgpu/amdgpu_kms.c:1525 amdgpu_driver_postclose_kms+0x294/0x2a0 [amdgpu] Call Trace: <TASK> drm_file_free.part.0+0x1da/0x230 [drm] drm_close_helper.isra.0+0x65/0x70 [drm] drm_release+0x6a/0x120 [drm] amdgpu_drm_release+0x51/0x60 [amdgpu] __fput+0x9f/0x280 ____fput+0xe/0x20 task_work_run+0x67/0xa0 do_exit+0x217/0x3c0 do_group_exit+0x3b/0xb0 get_signal+0x14a/0x8d0 arch_do_signal_or_restart+0xde/0x100 exit_to_user_mode_loop+0xc1/0x1a0 exit_to_user_mode_prepare+0xf4/0x100 syscall_exit_to_user_mode+0x17/0x40 do_syscall_64+0x69/0xc0 (cherry picked from commit 7dbbfb3c171a6f63b01165958629c9c26abf38ab)


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: Set n_channels after allocating struct cfg80211_scan_request Make sure that n_channels is set after allocating the struct cfg80211_registered_device::int_scan_req member. Seen with syzkaller: UBSAN: array-index-out-of-bounds in net/mac80211/scan.c:1208:5 index 0 is out of range for type 'struct ieee80211_channel *[] __counted_by(n_channels)' (aka 'struct ieee80211_channel *[]') This was missed in the initial conversions because I failed to locate the allocation likely due to the "sizeof(void *)" not matching the "channels" array type.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Refactor remove call with idxd_cleanup() helper The idxd_cleanup() helper cleans up perfmon, interrupts, internals and so on. Refactor remove call with the idxd_cleanup() helper to avoid code duplication. Note, this also fixes the missing put_device() for idxd groups, enginces and wqs.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix memory leak in error handling path of idxd_alloc Memory allocated for idxd is not freed if an error occurs during idxd_alloc(). To fix it, free the allocated memory in the reverse order of allocation before exiting the function in case of an error.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/tls: fix kernel panic when alloc_page failed We cannot set frag_list to NULL pointer when alloc_page failed. It will be used in tls_strp_check_queue_ok when the next time tls_strp_read_sock is called. This is because we don't reset full_len in tls_strp_flush_anchor_copy() so the recv path will try to continue handling the partial record on the next call but we dettached the rcvq from the frag list. Alternative fix would be to reset full_len. Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028 Call trace: tls_strp_check_rcv+0x128/0x27c tls_strp_data_ready+0x34/0x44 tls_data_ready+0x3c/0x1f0 tcp_data_ready+0x9c/0xe4 tcp_data_queue+0xf6c/0x12d0 tcp_rcv_established+0x52c/0x798


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Disable MACsec offload for uplink representor profile MACsec offload is not supported in switchdev mode for uplink representors. When switching to the uplink representor profile, the MACsec offload feature must be cleared from the netdevice's features. If left enabled, attempts to add offloads result in a null pointer dereference, as the uplink representor does not support MACsec offload even though the feature bit remains set. Clear NETIF_F_HW_MACSEC in mlx5e_fix_uplink_rep_features(). Kernel log: Oops: general protection fault, probably for non-canonical address 0xdffffc000000000f: 0000 [#1] SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000078-0x000000000000007f] CPU: 29 UID: 0 PID: 4714 Comm: ip Not tainted 6.14.0-rc4_for_upstream_debug_2025_03_02_17_35 #1 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 RIP: 0010:__mutex_lock+0x128/0x1dd0 Code: d0 7c 08 84 d2 0f 85 ad 15 00 00 8b 35 91 5c fe 03 85 f6 75 29 49 8d 7e 60 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 a6 15 00 00 4d 3b 76 60 0f 85 fd 0b 00 00 65 ff RSP: 0018:ffff888147a4f160 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000001 RDX: 000000000000000f RSI: 0000000000000000 RDI: 0000000000000078 RBP: ffff888147a4f2e0 R08: ffffffffa05d2c19 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000 R13: dffffc0000000000 R14: 0000000000000018 R15: ffff888152de0000 FS: 00007f855e27d800(0000) GS:ffff88881ee80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000004e5768 CR3: 000000013ae7c005 CR4: 0000000000372eb0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 Call Trace: <TASK> ? die_addr+0x3d/0xa0 ? exc_general_protection+0x144/0x220 ? asm_exc_general_protection+0x22/0x30 ? mlx5e_macsec_add_secy+0xf9/0x700 [mlx5_core] ? __mutex_lock+0x128/0x1dd0 ? lockdep_set_lock_cmp_fn+0x190/0x190 ? mlx5e_macsec_add_secy+0xf9/0x700 [mlx5_core] ? mutex_lock_io_nested+0x1ae0/0x1ae0 ? lock_acquire+0x1c2/0x530 ? macsec_upd_offload+0x145/0x380 ? lockdep_hardirqs_on_prepare+0x400/0x400 ? kasan_save_stack+0x30/0x40 ? kasan_save_stack+0x20/0x40 ? kasan_save_track+0x10/0x30 ? __kasan_kmalloc+0x77/0x90 ? __kmalloc_noprof+0x249/0x6b0 ? genl_family_rcv_msg_attrs_parse.constprop.0+0xb5/0x240 ? mlx5e_macsec_add_secy+0xf9/0x700 [mlx5_core] mlx5e_macsec_add_secy+0xf9/0x700 [mlx5_core] ? mlx5e_macsec_add_rxsa+0x11a0/0x11a0 [mlx5_core] macsec_update_offload+0x26c/0x820 ? macsec_set_mac_address+0x4b0/0x4b0 ? lockdep_hardirqs_on_prepare+0x284/0x400 ? _raw_spin_unlock_irqrestore+0x47/0x50 macsec_upd_offload+0x2c8/0x380 ? macsec_update_offload+0x820/0x820 ? __nla_parse+0x22/0x30 ? genl_family_rcv_msg_attrs_parse.constprop.0+0x15e/0x240 genl_family_rcv_msg_doit+0x1cc/0x2a0 ? genl_family_rcv_msg_attrs_parse.constprop.0+0x240/0x240 ? cap_capable+0xd4/0x330 genl_rcv_msg+0x3ea/0x670 ? genl_family_rcv_msg_dumpit+0x2a0/0x2a0 ? lockdep_set_lock_cmp_fn+0x190/0x190 ? macsec_update_offload+0x820/0x820 netlink_rcv_skb+0x12b/0x390 ? genl_family_rcv_msg_dumpit+0x2a0/0x2a0 ? netlink_ack+0xd80/0xd80 ? rwsem_down_read_slowpath+0xf90/0xf90 ? netlink_deliver_tap+0xcd/0xac0 ? netlink_deliver_tap+0x155/0xac0 ? _copy_from_iter+0x1bb/0x12c0 genl_rcv+0x24/0x40 netlink_unicast+0x440/0x700 ? netlink_attachskb+0x760/0x760 ? lock_acquire+0x1c2/0x530 ? __might_fault+0xbb/0x170 netlink_sendmsg+0x749/0xc10 ? netlink_unicast+0x700/0x700 ? __might_fault+0xbb/0x170 ? netlink_unicast+0x700/0x700 __sock_sendmsg+0xc5/0x190 ____sys_sendmsg+0x53f/0x760 ? import_iovec+0x7/0x10 ? kernel_sendmsg+0x30/0x30 ? __copy_msghdr+0x3c0/0x3c0 ? filter_irq_stacks+0x90/0x90 ? stack_depot_save_flags+0x28/0xa30 ___sys_sen ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem Call Trace: __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 strlen+0x93/0xa0 lib/string.c:420 __fortify_strlen include/linux/fortify-string.h:268 [inline] get_kobj_path_length lib/kobject.c:118 [inline] kobject_get_path+0x3f/0x2a0 lib/kobject.c:158 kobject_uevent_env+0x289/0x1870 lib/kobject_uevent.c:545 ib_register_device drivers/infiniband/core/device.c:1472 [inline] ib_register_device+0x8cf/0xe00 drivers/infiniband/core/device.c:1393 rxe_register_device+0x275/0x320 drivers/infiniband/sw/rxe/rxe_verbs.c:1552 rxe_net_add+0x8e/0xe0 drivers/infiniband/sw/rxe/rxe_net.c:550 rxe_newlink+0x70/0x190 drivers/infiniband/sw/rxe/rxe.c:225 nldev_newlink+0x3a3/0x680 drivers/infiniband/core/nldev.c:1796 rdma_nl_rcv_msg+0x387/0x6e0 drivers/infiniband/core/netlink.c:195 rdma_nl_rcv_skb.constprop.0.isra.0+0x2e5/0x450 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline] netlink_unicast+0x53a/0x7f0 net/netlink/af_netlink.c:1339 netlink_sendmsg+0x8d1/0xdd0 net/netlink/af_netlink.c:1883 sock_sendmsg_nosec net/socket.c:712 [inline] __sock_sendmsg net/socket.c:727 [inline] ____sys_sendmsg+0xa95/0xc70 net/socket.c:2566 ___sys_sendmsg+0x134/0x1d0 net/socket.c:2620 __sys_sendmsg+0x16d/0x220 net/socket.c:2652 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xcd/0x260 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f This problem is similar to the problem that the commit 1d6a9e7449e2 ("RDMA/core: Fix use-after-free when rename device name") fixes. The root cause is: the function ib_device_rename() renames the name with lock. But in the function kobject_uevent(), this name is accessed without lock protection at the same time. The solution is to add the lock protection when this name is accessed in the function kobject_uevent().


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfs: handle failure of nfs_get_lock_context in unlock path When memory is insufficient, the allocation of nfs_lock_context in nfs_get_lock_context() fails and returns -ENOMEM. If we mistakenly treat an nfs4_unlockdata structure (whose l_ctx member has been set to -ENOMEM) as valid and proceed to execute rpc_run_task(), this will trigger a NULL pointer dereference in nfs4_locku_prepare. For example: BUG: kernel NULL pointer dereference, address: 000000000000000c PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 15 UID: 0 PID: 12 Comm: kworker/u64:0 Not tainted 6.15.0-rc2-dirty #60 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 Workqueue: rpciod rpc_async_schedule RIP: 0010:nfs4_locku_prepare+0x35/0xc2 Code: 89 f2 48 89 fd 48 c7 c7 68 69 ef b5 53 48 8b 8e 90 00 00 00 48 89 f3 RSP: 0018:ffffbbafc006bdb8 EFLAGS: 00010246 RAX: 000000000000004b RBX: ffff9b964fc1fa00 RCX: 0000000000000000 RDX: 0000000000000000 RSI: fffffffffffffff4 RDI: ffff9ba53fddbf40 RBP: ffff9ba539934000 R08: 0000000000000000 R09: ffffbbafc006bc38 R10: ffffffffb6b689c8 R11: 0000000000000003 R12: ffff9ba539934030 R13: 0000000000000001 R14: 0000000004248060 R15: ffffffffb56d1c30 FS: 0000000000000000(0000) GS:ffff9ba5881f0000(0000) knlGS:00000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000000000c CR3: 000000093f244000 CR4: 00000000000006f0 Call Trace: <TASK> __rpc_execute+0xbc/0x480 rpc_async_schedule+0x2f/0x40 process_one_work+0x232/0x5d0 worker_thread+0x1da/0x3d0 ? __pfx_worker_thread+0x10/0x10 kthread+0x10d/0x240 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> Modules linked in: CR2: 000000000000000c ---[ end trace 0000000000000000 ]--- Free the allocated nfs4_unlockdata when nfs_get_lock_context() fails and return NULL to terminate subsequent rpc_run_task, preventing NULL pointer dereference.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix slab-use-after-free Read in rxe_queue_cleanup bug Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x7d/0xa0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcf/0x610 mm/kasan/report.c:489 kasan_report+0xb5/0xe0 mm/kasan/report.c:602 rxe_queue_cleanup+0xd0/0xe0 drivers/infiniband/sw/rxe/rxe_queue.c:195 rxe_cq_cleanup+0x3f/0x50 drivers/infiniband/sw/rxe/rxe_cq.c:132 __rxe_cleanup+0x168/0x300 drivers/infiniband/sw/rxe/rxe_pool.c:232 rxe_create_cq+0x22e/0x3a0 drivers/infiniband/sw/rxe/rxe_verbs.c:1109 create_cq+0x658/0xb90 drivers/infiniband/core/uverbs_cmd.c:1052 ib_uverbs_create_cq+0xc7/0x120 drivers/infiniband/core/uverbs_cmd.c:1095 ib_uverbs_write+0x969/0xc90 drivers/infiniband/core/uverbs_main.c:679 vfs_write fs/read_write.c:677 [inline] vfs_write+0x26a/0xcc0 fs/read_write.c:659 ksys_write+0x1b8/0x200 fs/read_write.c:731 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xaa/0x1b0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f In the function rxe_create_cq, when rxe_cq_from_init fails, the function rxe_cleanup will be called to handle the allocated resources. In fact, some memory resources have already been freed in the function rxe_cq_from_init. Thus, this problem will occur. The solution is to let rxe_cleanup do all the work.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: max20086: fix invalid memory access max20086_parse_regulators_dt() calls of_regulator_match() using an array of struct of_regulator_match allocated on the stack for the matches argument. of_regulator_match() calls devm_of_regulator_put_matches(), which calls devres_alloc() to allocate a struct devm_of_regulator_matches which will be de-allocated using devm_of_regulator_put_matches(). struct devm_of_regulator_matches is populated with the stack allocated matches array. If the device fails to probe, devm_of_regulator_put_matches() will be called and will try to call of_node_put() on that stack pointer, generating the following dmesg entries: max20086 6-0028: Failed to read DEVICE_ID reg: -121 kobject: '\xc0$\xa5\x03' (000000002cebcb7a): is not initialized, yet kobject_put() is being called. Followed by a stack trace matching the call flow described above. Switch to allocating the matches array using devm_kcalloc() to avoid accessing the stack pointer long after it's out of scope. This also has the advantage of allowing multiple max20086 to probe without overriding the data stored inside the global of_regulator_match.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: padata: do not leak refcount in reorder_work A recent patch that addressed a UAF introduced a reference count leak: the parallel_data refcount is incremented unconditionally, regardless of the return value of queue_work(). If the work item is already queued, the incremented refcount is never decremented. Fix this by checking the return value of queue_work() and decrementing the refcount when necessary. Resolves: Unreferenced object 0xffff9d9f421e3d80 (size 192): comm "cryptomgr_probe", pid 157, jiffies 4294694003 hex dump (first 32 bytes): 80 8b cf 41 9f 9d ff ff b8 97 e0 89 ff ff ff ff ...A............ d0 97 e0 89 ff ff ff ff 19 00 00 00 1f 88 23 00 ..............#. backtrace (crc 838fb36): __kmalloc_cache_noprof+0x284/0x320 padata_alloc_pd+0x20/0x1e0 padata_alloc_shell+0x3b/0xa0 0xffffffffc040a54d cryptomgr_probe+0x43/0xc0 kthread+0xf6/0x1f0 ret_from_fork+0x2f/0x50 ret_from_fork_asm+0x1a/0x30


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: mctrl_gpio: split disable_ms into sync and no_sync APIs The following splat has been observed on a SAMA5D27 platform using atmel_serial: BUG: sleeping function called from invalid context at kernel/irq/manage.c:738 in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 27, name: kworker/u5:0 preempt_count: 1, expected: 0 INFO: lockdep is turned off. irq event stamp: 0 hardirqs last enabled at (0): [<00000000>] 0x0 hardirqs last disabled at (0): [<c01588f0>] copy_process+0x1c4c/0x7bec softirqs last enabled at (0): [<c0158944>] copy_process+0x1ca0/0x7bec softirqs last disabled at (0): [<00000000>] 0x0 CPU: 0 UID: 0 PID: 27 Comm: kworker/u5:0 Not tainted 6.13.0-rc7+ #74 Hardware name: Atmel SAMA5 Workqueue: hci0 hci_power_on [bluetooth] Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x44/0x70 dump_stack_lvl from __might_resched+0x38c/0x598 __might_resched from disable_irq+0x1c/0x48 disable_irq from mctrl_gpio_disable_ms+0x74/0xc0 mctrl_gpio_disable_ms from atmel_disable_ms.part.0+0x80/0x1f4 atmel_disable_ms.part.0 from atmel_set_termios+0x764/0x11e8 atmel_set_termios from uart_change_line_settings+0x15c/0x994 uart_change_line_settings from uart_set_termios+0x2b0/0x668 uart_set_termios from tty_set_termios+0x600/0x8ec tty_set_termios from ttyport_set_flow_control+0x188/0x1e0 ttyport_set_flow_control from wilc_setup+0xd0/0x524 [hci_wilc] wilc_setup [hci_wilc] from hci_dev_open_sync+0x330/0x203c [bluetooth] hci_dev_open_sync [bluetooth] from hci_dev_do_open+0x40/0xb0 [bluetooth] hci_dev_do_open [bluetooth] from hci_power_on+0x12c/0x664 [bluetooth] hci_power_on [bluetooth] from process_one_work+0x998/0x1a38 process_one_work from worker_thread+0x6e0/0xfb4 worker_thread from kthread+0x3d4/0x484 kthread from ret_from_fork+0x14/0x28 This warning is emitted when trying to toggle, at the highest level, some flow control (with serdev_device_set_flow_control) in a device driver. At the lowest level, the atmel_serial driver is using serial_mctrl_gpio lib to enable/disable the corresponding IRQs accordingly. The warning emitted by CONFIG_DEBUG_ATOMIC_SLEEP is due to disable_irq (called in mctrl_gpio_disable_ms) being possibly called in some atomic context (some tty drivers perform modem lines configuration in regions protected by port lock). Split mctrl_gpio_disable_ms into two differents APIs, a non-blocking one and a blocking one. Replace mctrl_gpio_disable_ms calls with the relevant version depending on whether the call is protected by some port lock.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_ffa: Set dma_mask for ffa devices Set dma_mask for FFA devices, otherwise DMA allocation using the device pointer lead to following warning: WARNING: CPU: 1 PID: 1 at kernel/dma/mapping.c:597 dma_alloc_attrs+0xe0/0x124


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cx231xx: set device_caps for 417 The video_device for the MPEG encoder did not set device_caps. Add this, otherwise the video device can't be registered (you get a WARN_ON instead). Not seen before since currently 417 support is disabled, but I found this while experimenting with it.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: fix debug actions order The order of actions taken for debug was implemented incorrectly. Now we implemented the dump split and do the FW reset only in the middle of the dump (rather than the FW killing itself on error.) As a result, some of the actions taken when applying the config will now crash the device, so we need to fix the order.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: idpf: fix null-ptr-deref in idpf_features_check idpf_features_check is used to validate the TX packet. skb header length is compared with the hardware supported value received from the device control plane. The value is stored in the adapter structure and to access it, vport pointer is used. During reset all the vports are released and the vport pointer that the netdev private structure points to is NULL. To avoid null-ptr-deref, store the max header length value in netdev private structure. This also helps to cache the value and avoid accessing adapter pointer in hot path. BUG: kernel NULL pointer dereference, address: 0000000000000068 ... RIP: 0010:idpf_features_check+0x6d/0xe0 [idpf] Call Trace: <TASK> ? __die+0x23/0x70 ? page_fault_oops+0x154/0x520 ? exc_page_fault+0x76/0x190 ? asm_exc_page_fault+0x26/0x30 ? idpf_features_check+0x6d/0xe0 [idpf] netif_skb_features+0x88/0x310 validate_xmit_skb+0x2a/0x2b0 validate_xmit_skb_list+0x4c/0x70 sch_direct_xmit+0x19d/0x3a0 __dev_queue_xmit+0xb74/0xe70 ...


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: espintcp: fix skb leaks A few error paths are missing a kfree_skb.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: avoid NULL pointer dereference if no valid csum tree [BUG] When trying read-only scrub on a btrfs with rescue=idatacsums mount option, it will crash with the following call trace: BUG: kernel NULL pointer dereference, address: 0000000000000208 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page CPU: 1 UID: 0 PID: 835 Comm: btrfs Tainted: G O 6.15.0-rc3-custom+ #236 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS unknown 02/02/2022 RIP: 0010:btrfs_lookup_csums_bitmap+0x49/0x480 [btrfs] Call Trace: <TASK> scrub_find_fill_first_stripe+0x35b/0x3d0 [btrfs] scrub_simple_mirror+0x175/0x290 [btrfs] scrub_stripe+0x5f7/0x6f0 [btrfs] scrub_chunk+0x9a/0x150 [btrfs] scrub_enumerate_chunks+0x333/0x660 [btrfs] btrfs_scrub_dev+0x23e/0x600 [btrfs] btrfs_ioctl+0x1dcf/0x2f80 [btrfs] __x64_sys_ioctl+0x97/0xc0 do_syscall_64+0x4f/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e [CAUSE] Mount option "rescue=idatacsums" will completely skip loading the csum tree, so that any data read will not find any data csum thus we will ignore data checksum verification. Normally call sites utilizing csum tree will check the fs state flag NO_DATA_CSUMS bit, but unfortunately scrub does not check that bit at all. This results in scrub to call btrfs_search_slot() on a NULL pointer and triggered above crash. [FIX] Check both extent and csum tree root before doing any tree search.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: copy_verifier_state() should copy 'loop_entry' field The bpf_verifier_state.loop_entry state should be copied by copy_verifier_state(). Otherwise, .loop_entry values from unrelated states would poison env->cur_state. Additionally, env->stack should not contain any states with .loop_entry != NULL. The states in env->stack are yet to be verified, while .loop_entry is set for states that reached an equivalent state. This means that env->cur_state->loop_entry should always be NULL after pop_stack(). See the selftest in the next commit for an example of the program that is not safe yet is accepted by verifier w/o this fix. This change has some verification performance impact for selftests: File Program Insns (A) Insns (B) Insns (DIFF) States (A) States (B) States (DIFF) ---------------------------------- ---------------------------- --------- --------- -------------- ---------- ---------- ------------- arena_htab.bpf.o arena_htab_llvm 717 426 -291 (-40.59%) 57 37 -20 (-35.09%) arena_htab_asm.bpf.o arena_htab_asm 597 445 -152 (-25.46%) 47 37 -10 (-21.28%) arena_list.bpf.o arena_list_del 309 279 -30 (-9.71%) 23 14 -9 (-39.13%) iters.bpf.o iter_subprog_check_stacksafe 155 141 -14 (-9.03%) 15 14 -1 (-6.67%) iters.bpf.o iter_subprog_iters 1094 1003 -91 (-8.32%) 88 83 -5 (-5.68%) iters.bpf.o loop_state_deps2 479 725 +246 (+51.36%) 46 63 +17 (+36.96%) kmem_cache_iter.bpf.o open_coded_iter 63 59 -4 (-6.35%) 7 6 -1 (-14.29%) verifier_bits_iter.bpf.o max_words 92 84 -8 (-8.70%) 8 7 -1 (-12.50%) verifier_iterating_callbacks.bpf.o cond_break2 113 107 -6 (-5.31%) 12 12 +0 (+0.00%) And significant negative impact for sched_ext: File Program Insns (A) Insns (B) Insns (DIFF) States (A) States (B) States (DIFF) ----------------- ---------------------- --------- --------- -------------------- ---------- ---------- ------------------ bpf.bpf.o lavd_init 7039 14723 +7684 (+109.16%) 490 1139 +649 (+132.45%) bpf.bpf.o layered_dispatch 11485 10548 -937 (-8.16%) 848 762 -86 (-10.14%) bpf.bpf.o layered_dump 7422 1000001 +992579 (+13373.47%) 681 31178 +30497 (+4478.27%) bpf.bpf.o layered_enqueue 16854 71127 +54273 (+322.02%) 1611 6450 +4839 (+300.37%) bpf.bpf.o p2dq_dispatch 665 791 +126 (+18.95%) 68 78 +10 (+14.71%) bpf.bpf.o p2dq_init 2343 2980 +637 (+27.19%) 201 237 +36 (+17.91%) bpf.bpf.o refresh_layer_cpumasks 16487 674760 +658273 (+3992.68%) 1770 65370 +63600 (+3593.22%) bpf.bpf.o rusty_select_cpu 1937 40872 +38935 (+2010.07%) 177 3210 +3033 (+1713.56%) scx_central.bpf.o central_dispatch 636 2687 +2051 (+322.48%) 63 227 +164 (+260.32%) scx_nest.bpf.o nest_init 636 815 +179 (+28.14%) 60 73 +13 (+21.67%) scx_qmap.bpf.o qmap_dispatch ---truncated---


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: orangefs: Do not truncate file size 'len' is used to store the result of i_size_read(), so making 'len' a size_t results in truncation to 4GiB on 32-bit systems.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: lzo - Fix compression buffer overrun Unlike the decompression code, the compression code in LZO never checked for output overruns. It instead assumes that the caller always provides enough buffer space, disregarding the buffer length provided by the caller. Add a safe compression interface that checks for the end of buffer before each write. Use the safe interface in crypto/lzo.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: libnvdimm/labels: Fix divide error in nd_label_data_init() If a faulty CXL memory device returns a broken zero LSA size in its memory device information (Identify Memory Device (Opcode 4000h), CXL spec. 3.1, 8.2.9.9.1.1), a divide error occurs in the libnvdimm driver: Oops: divide error: 0000 [#1] PREEMPT SMP NOPTI RIP: 0010:nd_label_data_init+0x10e/0x800 [libnvdimm] Code and flow: 1) CXL Command 4000h returns LSA size = 0 2) config_size is assigned to zero LSA size (CXL pmem driver): drivers/cxl/pmem.c: .config_size = mds->lsa_size, 3) max_xfer is set to zero (nvdimm driver): drivers/nvdimm/label.c: max_xfer = min_t(size_t, ndd->nsarea.max_xfer, config_size); 4) A subsequent DIV_ROUND_UP() causes a division by zero: drivers/nvdimm/label.c: /* Make our initial read size a multiple of max_xfer size */ drivers/nvdimm/label.c: read_size = min(DIV_ROUND_UP(read_size, max_xfer) * max_xfer, drivers/nvdimm/label.c- config_size); Fix this by checking the config size parameter by extending an existing check.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-wmi-sysman: Avoid buffer overflow in current_password_store() If the 'buf' array received from the user contains an empty string, the 'length' variable will be zero. Accessing the 'buf' array element with index 'length - 1' will result in a buffer overflow. Add a check for an empty string. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Fix race of buffer access at PCM OSS layer The PCM OSS layer tries to clear the buffer with the silence data at initialization (or reconfiguration) of a stream with the explicit call of snd_pcm_format_set_silence() with runtime->dma_area. But this may lead to a UAF because the accessed runtime->dma_area might be freed concurrently, as it's performed outside the PCM ops. For avoiding it, move the code into the PCM core and perform it inside the buffer access lock, so that it won't be changed during the operation.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: algif_hash - fix double free in hash_accept If accept(2) is called on socket type algif_hash with MSG_MORE flag set and crypto_ahash_import fails, sk2 is freed. However, it is also freed in af_alg_release, leading to slab-use-after-free error.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Increase block_sequence array size [Why] It's possible to generate more than 50 steps in hwss_build_fast_sequence, for example with a 6-pipe asic where all pipes are in one MPC chain. This overflows the block_sequence buffer and corrupts block_sequence_steps, causing a crash. [How] Expand block_sequence to 100 items. A naive upper bound on the possible number of steps for a 6-pipe asic, ignoring the potential for steps to be mutually exclusive, is 91 with current code, therefore 100 is sufficient.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi-rockchip: Fix register out of bounds access Do not write native chip select stuff for GPIO chip selects. GPIOs can be numbered much higher than native CS. Also, it makes no sense.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net_sched: prio: fix a race in prio_tune() Gerrard Tai reported a race condition in PRIO, 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.


Затронутые продукты
SUSE Linux Enterprise Live Patching 15 SP6:kernel-livepatch-6_4_0-150600_10_44-rt-1-150600.1.5.1
SUSE Real Time Module 15 SP6:cluster-md-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:dlm-kmp-rt-6.4.0-150600.10.44.1
SUSE Real Time Module 15 SP6:gfs2-kmp-rt-6.4.0-150600.10.44.1

Ссылки