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

exploitDog

suse-cvrf логотип

SUSE-SU-2026:5091-1

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

Описание

Security update for the Linux Kernel

The SUSE Linux Enterprise 15 SP7 kernel was updated to fix various security issues:

The following security issues were fixed:

  • CVE-2025-68219: cifs: fix memory leak in smb3_fs_context_parse_param error path (bsc#1255222).
  • CVE-2026-31708: smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path (bsc#1264022).
  • CVE-2026-31709: smb: client: validate the whole DACL before rewriting it in cifsacl (bsc#1264024).
  • CVE-2026-43350: smb: client: require a full NFS mode SID before reading mode bits (bsc#1264985).
  • CVE-2026-46155: smb/client: fix out-of-bounds read in smb2_compound_op() (bsc#1267720).
  • CVE-2026-64370: posix-cpu-timers: Fix pid refcount leak in do_cpu_nanosleep() error path (bsc#1273805).
  • CVE-2026-64380: smb: client: harden POSIX SID length parsing (bsc#1273557).
  • CVE-2026-64430: NTB: epf: Avoid calling pci_irq_vector() from hardirq context (bsc#1274257).
  • CVE-2026-64435: audit: Fix data races of skb_queue_len() readers on audit_queue (bsc#1274080).
  • CVE-2026-68186: binfmt_misc: set have_execfd only once the interpreter is opened (bsc#1274949).
  • CVE-2026-68436: drm/amd/display: use kvzalloc to allocate struct dc (bsc#1276275).
  • CVE-2026-68447: drm/amdkfd: clamp v9 CRIU control stack checkpoint copy to BO size (bsc#1276280).
  • CVE-2026-68460: f2fs: fix potential deadlock in f2fs_balance_fs() (bsc#1276774).
  • CVE-2026-72010: cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed (bsc#1276776).
  • CVE-2026-72073: mmc: vub300: fix use-after-free on probe failure (bsc#1277157).
  • CVE-2026-72110: bpf,fork: wipe ->bpf_storage before bailouts that access it (bsc#1277357).
  • CVE-2026-72111: bpf: Reset register bounds before narrowing retval range in check_mem_access() (bsc#1277389).
  • CVE-2026-72250: netfilter: nf_conntrack_reasm: guard mac_header adjustment after IPv6 defrag (bsc#1277663).
  • CVE-2026-72253: netfilter: nf_conntrack_sip: validate skb_dst() before accessing it (bsc#1277665).
  • CVE-2026-72318: cifs: validate DFS referral string offsets (bsc#1275939).
  • CVE-2026-72405: net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync (bsc#1278033).
  • CVE-2026-72416: netfilter: nft_compat: ebtables emulation must reject non-bridge targets (bsc#1278041).
  • CVE-2026-72428: bpf: Fix stack slot index in nospec checks (bsc#1278050).
  • CVE-2026-74368: wifi: ath12k: fix memory leak in ath12k_wifi7_dp_rx_h_verify_tkip_mic() (bsc#1277103).
  • CVE-2026-74472: ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev() (bsc#1277785).
  • CVE-2026-74613: vsock/virtio: avoid refilling the RX queue after teardown (bsc#1277903).
  • CVE-2026-74620: net/sched: act_gact, act_police: range check the fallback control action (bsc#1277044).
  • CVE-2026-74624: netfilter: nf_conntrack: defer invalid log until after unlock (bsc#1277599).
  • CVE-2026-74715: net: netfilter: Make ct zone opts configurable for bpf ct helpers (bsc#1277890).
  • CVE-2026-74746: netfilter: flowtable: publish GC-visible tuple last (bsc#1278101).
  • CVE-2026-74748: netfilter: ipset: fix refcount race between list:set GC and swap (bsc#1277578).
  • CVE-2026-80572: Input: byd - synchronize timer deletion before freeing private data (bsc#1277338).
  • CVE-2026-80602: perf/x86/amd/lbr: Fix kernel address leakage (bsc#1278123).
  • CVE-2026-80637: netfilter: synproxy: fix unaligned memory access in timestamp adjustment (bsc#1278343).
  • CVE-2026-80717: sctp: validate Adaptation Indication parameter length (bsc#1277836).
  • CVE-2026-80755: selinux: reject a permission value exceeding the class permission count (bsc#1278415).
  • CVE-2026-80757: selinux: reject a class permission count below its inherited common (bsc#1278711).
  • CVE-2026-80808: ext4: stop retrying saturated xattr cache entries (bsc#1279795).
  • CVE-2026-80809: ocfs2: fix missing metadata reservation for large xattrs (bsc#1279606).
  • CVE-2026-80855: fuse: fix invalidate lock leak on open O_TRUNC DAX failure (bsc#1279564).
  • CVE-2026-80879: ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write (bsc#1279494).
  • CVE-2026-80881: ocfs2: fix buffer head management in ocfs2_read_blocks() (bsc#1279496).
  • CVE-2026-80978: ip6_gre: fix hardware header length for NBMA tunnels (bsc#1280253).
  • CVE-2026-89491: ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin() (bsc#1280472).
  • CVE-2026-89494: ocfs2: validate lengths in dlm_mig_lockres_handler (bsc#1280520).
  • CVE-2026-89495: ocfs2: bound namelen in dlm_migrate_request_handler (bsc#1280569).
  • CVE-2026-89537: SUNRPC: Reject short RFC 4121 MIC tokens in gss_krb5_verify_mic_v2 (bsc#1280713).
  • CVE-2026-89560: landlock: Require LANDLOCK_ACCESS_FS_MAKE_REG for whiteout creation (bsc#1280806).
  • CVE-2026-89595: fsnotify: Fix stale object mask after concurrent mark updates (bsc#1280834).
  • CVE-2026-89608: ecryptfs: pass packet set buffer size to parser (bsc#1280826).
  • CVE-2026-89637: smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2 (bsc#1280492).
  • CVE-2026-89649: ceph: bound xattr value length in __build_xattrs() (bsc#1280434).
  • CVE-2026-89654: ceph: fix UAF in check_new_map() on session freed during unlock (bsc#1280415).
  • CVE-2026-89655: ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock (bsc#1280398).
  • CVE-2026-89656: libceph: reject buckets with mismatched CRUSH ids (bsc#1280563).
  • CVE-2026-89657: libceph: validate OSD extent maps before cursor advance (bsc#1280545).
  • CVE-2026-89751: x86/tdx: Fix off-by-one in port I/O handling (bsc#1280822).
  • CVE-2026-89761: apparmor: fix out-of-bounds write when null terminating a label vec (bsc#1280745).
  • CVE-2026-89786: ext4: fix out-of-bounds read in ext4_read_inline_dir() (bsc#1280976).
  • CVE-2026-89787: ext4: check dir entry fits before reading the hash trailer in ext4_search_dir() (bsc#1280977).
  • CVE-2026-90042: ceph: properly decrypt filenames in vmalloc() buffers (bsc#1280948).
  • CVE-2026-90092: Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN (bsc#1281384).
  • CVE-2026-90128: vdpa/mlx5: fix wrong list iterated in add_direct_chain error path (bsc#1281577).
  • CVE-2026-90148: NFSv4: Fix incorrect argument passed to nfs4_delete_lease() in nfs4_add_lease() (bsc#1281551).
  • CVE-2026-90227: nvme/ioctl: check SUBMIT_IO with nvme_cmd_allowed() (bsc#1281705).
  • CVE-2026-90393: bpf: Fix potential UAF in bpf_netns_link_update_prog (bsc#1282289).
  • CVE-2026-93054: uio: Fix stale info pointer in failed registration path (bsc#1282276).
  • CVE-2026-93228: svcrdma: Reject Write/Reply chunks with segcount 0 (bsc#1282697).
  • CVE-2026-93262: md/raid5-ppl: fix use-after-free in ppl_do_flush() (bsc#1283004).
  • CVE-2026-93795: blk-cgroup: fix leaks and online flag on radix_tree_insert failure (bsc#1283155).
  • CVE-2026-93798: btrfs: fix reloc root cleanup in merge_reloc_roots() (bsc#1282769).
  • CVE-2026-93817: perf: Fix addr_filter_ranges lifetime (bsc#1283017).
  • CVE-2026-97575: media: v4l2-ctrls: validate AV1 tile counts (bsc#1283337).
  • CVE-2026-97605: erofs: preserve LZMA decoders on resize failure (bsc#1283173).
  • CVE-2026-97926: ufs: validate cylinder group metadata before caching it (bsc#1283887).
  • CVE-2026-98041: bpf: Don't predict JMP32 pointer vs zero comparisons (bsc#1284064).
  • CVE-2026-98086: ALSA: ump: do not touch legacy_rmidi before it exists (bsc#1283785).
  • CVE-2026-98264: ALSA: virtio: reset device before deleting virtqueues (bsc#1284363).
  • CVE-2026-98306: seg6: set IPSKB_L3SLAVE from IP6SKB_L3SLAVE on IPIP decapsulation (bsc#1284505).
  • CVE-2026-98368: esp: downgrade zerocopy managed frags before mutating skb frags (bsc#1284498).
  • CVE-2026-98374: tcp: fix use-after-free of retransmit_skb_hint in tcp_send_synack() (bsc#1284740).
  • CVE-2026-98432: ipv4: free inet_opt and ireq_opt after an RCU grace period (bsc#1285685).
  • CVE-2026-98471: KVM: SEV: Do cache maintenance on the source VM during intra-host migration (bsc#1286240).

The following non security issues were fixed:

  • accel/qaic: reject BO sizes that overflow page count (git-fixes).
  • ACPI: CPPC: Validate the _CPC package header (git-fixes).
  • ACPI: extlog: Validate elog record length before walking sections (git-fixes).
  • ACPI: PCI: pci_link: clear driver_data before free (git-fixes).
  • ACPI: pfr_update: zero-initialize capability query result (git-fixes).
  • ACPI: PM: Drop parent state update from acpi_device_get_power() (git-fixes).
  • ACPI: tables: handle failed initrd override mappings (git-fixes).
  • ACPI: TAD: Rearrange RT data validation checking (stable-fixes).
  • ACPI: video: Fix backlight unregistration ordering (git-fixes).
  • ACPICA: Fix memory leak in acpi_ds_create_field() (git-fixes).
  • ACPICA: Fix PCC OperationRegion command offsets (git-fixes).
  • ALSA: 6fire: take stream_mutex in the Digital Thru control (git-fixes).
  • ALSA: aloop: Keep the timer source alive until card release (git-fixes).
  • ALSA: caiaq: Allow zero-length packet handling for EP1 (git-fixes).
  • ALSA: caiaq: Fix races at MIDI URB and trigger accesses (git-fixes).
  • ALSA: caiaq: Fix the Kore controller key map (git-fixes).
  • ALSA: caiaq: Register card at the final step (git-fixes).
  • ALSA: caiaq: Serialize access to the EP1 command buffer (git-fixes).
  • ALSA: compress: add missing OPEN-state gate to SET_METADATA (git-fixes).
  • ALSA: compress: fix buffer leak on failed SET_PARAMS (git-fixes).
  • ALSA: compress: reject buffer geometry change on gapless next_track (git-fixes).
  • ALSA: control: Fix virtual master creation reference in kernel-doc (git-fixes).
  • ALSA: cs46xx: fix unit mismatch in DSP code area bounds check (git-fixes).
  • ALSA: hda/hdmi: clamp num_cvts against cvt_nids in hdmi_read_pin_conn (git-fixes).
  • ALSA: hda/hdmi: clamp sad_count in ELD proc write handler (git-fixes).
  • ALSA: hda: Add NULL check for the driver pointer at unsol event work (git-fixes).
  • ALSA: hda: Avoid non-operational GPU warning at regular device removal (git-fixes).
  • ALSA: hda: Fix potential UAF for gating jack (git-fixes).
  • ALSA: hda: intel: Cancel delayed work at shutdown, too (git-fixes).
  • ALSA: info: Fix memory leak at card removal (git-fixes).
  • ALSA: jack: Fix kctl free at error in snd_jack_kctl_new() (git-fixes).
  • ALSA: jack: Remove debugfs before freeing unregistered jacks (git-fixes).
  • ALSA: line6: Clear prev_fbuf on capture buffer release (git-fixes).
  • ALSA: line6: Fix potential OOB write in line6_capture_copy() (git-fixes).
  • ALSA: line6: Reject too small max packet sizes (git-fixes).
  • ALSA: line6: Use kzalloc() for PCM buffer allocation (git-fixes).
  • ALSA: pcm: Fix driver_tstamp value reporting (git-fixes).
  • ALSA: pcm: Protect channel-map reads against runtime detach (git-fixes).
  • ALSA: pcm: Protect delay DMA sync against concurrent HW_FREE (git-fixes).
  • ALSA: pcm: Protect delay DMA sync in forward and rewind, too (git-fixes).
  • ALSA: pcm: Protect the unregister notifier traversal (git-fixes).
  • ALSA: pcm: Remove channel-map controls before freeing substreams (git-fixes).
  • ALSA: pcm: Unlink substreams before releasing them (git-fixes).
  • ALSA: rawmidi: Drain input work before freeing the runtime (git-fixes).
  • ALSA: seq: Fix missing direction and ump_group handling in 32bit compat ioctl (git-fixes).
  • ALSA: seq: oss: Skip events until fully initialized (git-fixes).
  • ALSA: ump: Avoid dereference with max_src_size=0 (git-fixes).
  • ALSA: ump: Correct return size of fill_rpn() (git-fixes).
  • ALSA: usb-audio: Use fixed control index for us16x08 mixer elements (git-fixes).
  • ALSA: via82xx: use helper to activate DXS controls (git-fixes).
  • ALSA: vmaster: Protect follower lookup and setup (git-fixes).
  • ASoC: adau17x1: return cache sync errors from resume (git-fixes).
  • ASoC: ak4642: return cache sync errors from resume (git-fixes).
  • ASoC: amd: acp: Fix .close() being skipped on rollback (git-fixes).
  • ASoC: amd: ps: Fix acp63_pdm_dma_close() being skipped on rollback (git-fixes).
  • ASoC: amd: ps: Fix acp63_sdw_dma_close() being skipped on rollback (git-fixes).
  • ASoC: amd: raven: Fix acp3x_dma_close() being skipped on rollback (git-fixes).
  • ASoC: amd: renoir: Fix acp_pdm_dma_close() being skipped on rollback (git-fixes).
  • ASoC: amd: vangogh: Fix acp5x_dma_close() being skipped on rollback (git-fixes).
  • ASoC: amd: yc: Add DMI quirk for Acer Aspire Go 15 (AG15-21P) (stable-fixes).
  • ASoC: amd: yc: Fix acp6x_pdm_dma_close() being skipped on rollback (git-fixes).
  • ASoC: arizona-jack: Fix runtime PM imbalance in arizona_start_hpdet_acc_id() (git-fixes).
  • ASoC: atmel-i2s: fix MCK generator error handling (git-fixes).
  • ASoC: atmel-i2s: use optional API for gclk (git-fixes).
  • ASoC: atmel-i2s: use optional API for muxclk (git-fixes).
  • ASoC: atmel: atmel-pcm-pdc: Fix atmel_pcm_close() being skipped on rollback (git-fixes).
  • ASoC: codecs: da732x: Fix definition of ADC2 EQ Overall Volume control (git-fixes).
  • ASoC: codecs: lpass-wsa-macro: use v2.5 Compander1 addresses on v2.5+ (git-fixes).
  • ASoC: codecs: rt5659: propagate GPIO errors (git-fixes).
  • ASoC: codecs: rt5682s: disable jack detection work on shutdown (git-fixes).
  • ASoC: codecs: sta32x: Fix definition of Ch2 and Ch3 Volume Bypass controls (git-fixes).
  • ASoC: codecs: sta32x: Fix definition of limiter threshold controls (git-fixes).
  • ASoC: codecs: sta350: Fix definition of Ch2 and Ch3 Volume Bypass controls (git-fixes).
  • ASoC: codecs: sta350: Fix definition of limiter threshold controls (git-fixes).
  • ASoC: codecs: tlv320adc3xxx: Fix definition of AGC Target Level control (git-fixes).
  • ASoC: codecs: wcd9335: Fix SLIM interface device leak in wcd9335_slim_status() (git-fixes).
  • ASoC: codecs: wm5100: Fix definition of EQ3 Band 1 Volume control (git-fixes).
  • ASoC: codecs: wm8510: Fix definition of ADC Inversion Switch control (git-fixes).
  • ASoC: codecs: wm8737: Fix definition of zero cross switches (git-fixes).
  • ASoC: codecs: wm8750: Fix definition of ALC Capture NG Type control (git-fixes).
  • ASoC: codecs: wm8955: Fix definition of Treble Cutoff control (git-fixes).
  • ASoC: codecs: wm8983: Fix definition of ADC 128x Oversampling control (git-fixes).
  • ASoC: codecs: wm8985: Fix definition of ADC 128x Oversampling control (git-fixes).
  • ASoC: codecs: wm8990: Fix definition of LOMIX AINLMUX Bypass Volume control (git-fixes).
  • ASoC: codecs: wm8990: Fix definition of right input PGA controls (git-fixes).
  • ASoC: codecs: wm8991: Fix definition of LOMIX AINLMUX Bypass Volume control (git-fixes).
  • ASoC: codecs: wm8991: Fix definition of right input PGA controls (git-fixes).
  • ASoC: codecs: wm8994: Fix definition of WM8958 noise gate hold time controls (git-fixes).
  • ASoC: codecs: wm8994: Fix runtime PM leak in wm8994_mic_detect() (git-fixes).
  • ASoC: codecs: wm_hubs: Fix definition of MIXINR to MIXOUTR volume control (git-fixes).
  • ASoC: dwc: Use OF match data again for StarFive JH7110 (git-fixes).
  • ASoC: es8316: return cache sync errors from resume (git-fixes).
  • ASoC: es8326: report resume restore errors (git-fixes).
  • ASoC: fsl_asrc: check the second front-end DMA channel (git-fixes).
  • ASoC: fsl_asrc: use regmap_write_bits to update clock source registers (git-fixes).
  • ASoC: imx-pcm-rpmsg: Fix imx_rpmsg_pcm_close() being skipped on rollback (git-fixes).
  • ASoC: intel: atom: Fix .shutdown() being skipped on rollback (git-fixes).
  • ASoC: Intel: atom: Fix platform device leak on probe failure (git-fixes).
  • ASoC: Intel: avs: Prevent module info underflow (git-fixes).
  • ASoC: Intel: avs: Unprepare a stream when recovery occurs (git-fixes).
  • ASoC: mediatek: common: Handle constraint return value in FE startup (git-fixes).
  • ASoC: mediatek: common: Keep codec references until the card is bound (git-fixes).
  • ASoC: mediatek: mt6797: fix wrong unwind order and error code in enable_clock (git-fixes).
  • ASoC: mediatek: mt8183: Fix APLL enable error handling (git-fixes).
  • ASoC: mediatek: mt8183: Fix clock handling in mux disable path (git-fixes).
  • ASoC: mediatek: mt8183: Fix wrong clock cleanup on clk_set_parent() failure (git-fixes).
  • ASoC: mediatek: mt8186: Fix AFE clock error handling (git-fixes).
  • ASoC: mediatek: mt8186: Fix APLL enable error handling (git-fixes).
  • ASoC: mediatek: mt8186: Fix APLL mux setting error handling (git-fixes).
  • ASoC: mediatek: mt8186: Fix clock handling in mux disable path (git-fixes).
  • ASoC: mediatek: mt8186: Fix MCK error handling (git-fixes).
  • ASoC: mediatek: mt8188: Handle constraint return value in FE startup (git-fixes).
  • ASoC: mediatek: mt8188: mt8188-afe-clk: Handle clock enable errors (git-fixes).
  • ASoC: mediatek: mt8188: mt8188-afe-clk: Handle tuner clock enable errors (git-fixes).
  • ASoC: mediatek: mt8188: mt8188-afe-clk: Propagate regmap update errors (git-fixes).
  • ASoC: mediatek: mt8188: mt8188-afe-pcm: Handle runtime resume errors (git-fixes).
  • ASoC: mediatek: mt8192-mt6359: Fix error handling in MTKAIF calibration (git-fixes).
  • ASoC: mediatek: mt8192: check return values in mt8192_afe_gpio_init() (git-fixes).
  • ASoC: mediatek: mt8192: fix AFE clock error handling (git-fixes).
  • ASoC: mediatek: mt8192: fix APLL mux error handling (git-fixes).
  • ASoC: mediatek: mt8192: fix error handling in APLL enable functions (git-fixes).
  • ASoC: mediatek: mt8192: fix MCK clock error handling (git-fixes).
  • ASoC: mediatek: mt8192: Handle regcache_sync() failure in runtime resume (git-fixes).
  • ASoC: mediatek: mt8192: Propagate errors in I2S DAI DAPM event handlers (git-fixes).
  • ASoC: mediatek: mt8192: Propagate errors in TDM DAI DAPM event handlers (git-fixes).
  • ASoC: mediatek: mt8192: Propagate mt8192_afe_gpio_request() errors in ADDA DAI (git-fixes).
  • ASoC: mediatek: mt8192: switch to devm_clk_get_optional() (git-fixes).
  • ASoC: mediatek: mt8195: Check paired MEMIF clock enable in FE trigger (git-fixes).
  • ASoC: mediatek: mt8195: Fix ETDM MCLK error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix ETDM probe error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix ETDM startup error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix FE startup error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix HDMI TX startup error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix main clock error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix paired memif clock error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix register access clock error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix runtime resume error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix timing system clock error handling (git-fixes).
  • ASoC: mediatek: mt8195: Fix tuner clock error handling (git-fixes).
  • ASoC: mediatek: mt8195: Propagate IRQ lookup errors (git-fixes).
  • ASoC: mt6359-accdet: manage private workqueues with devres (git-fixes).
  • ASoC: nau8540: return cache sync errors from resume (git-fixes).
  • ASoC: ops: Fix return value in snd_soc_limit_volume() (git-fixes).
  • ASoC: qcom: q6apm: clear g_apm on driver removal (git-fixes).
  • ASoC: qcom: q6apm: reset the hw pointer with the fragment queue (git-fixes).
  • ASoC: rockchip: rockchip_i2s: Handle runtime PM resume failures in set_fmt (git-fixes).
  • ASoC: rt711-sdca: always cancel jack work on remove (git-fixes).
  • ASoC: rt711-sdw: always cancel jack work on remove (git-fixes).
  • ASoC: rt712-sdca-dmic: fix drvdata type in the gain controls (git-fixes).
  • ASoC: rt712-sdca: always cancel jack work on remove (git-fixes).
  • ASoC: rt722-sdca: always cancel jack work on remove (git-fixes).
  • ASoC: rt1011: return cache sync errors from resume (git-fixes).
  • ASoC: rt1016: return cache sync errors from resume (git-fixes).
  • ASoC: rt1305: return cache sync errors from resume (git-fixes).
  • ASoC: rt1308: return cache sync errors from resume (git-fixes).
  • ASoC: rt5616: return cache sync errors from resume (git-fixes).
  • ASoC: rt5659: return cache sync errors from resume (git-fixes).
  • ASoC: rt5660: return cache sync errors from resume (git-fixes).
  • ASoC: rt5665: return cache sync errors from resume (git-fixes).
  • ASoC: rt5682-sdw: always cancel jack work on remove (git-fixes).
  • ASoC: soc-ac97: Fix error handling in snd_soc_new_ac97_component() (git-fixes).
  • ASoC: soc-component: Fix return type of snd_soc_pcm_component_pointer() (git-fixes).
  • ASoC: soc-topology-test: Check return value of kunit_device_register() (git-fixes).
  • ASoC: SOF: amd: fix amd_sof_acp_remove() teardown ordering (git-fixes).
  • ASoC: SOF: imx: Prevent stack OOB read in DSP panic dump (git-fixes).
  • ASoC: ti: davinci-mcasp: Fix runtime PM imbalance in __davinci_mcasp_set_clkdiv() (git-fixes).
  • ASoC: wcd9335: Fix device reference leak in wcd9335_slim_status() (git-fixes).
  • ASoC: wcd-mbhc-v2: Fix incorrect properties names and typos (git-fixes).
  • ASoC: wm8994: Fix runtime PM imbalance in wm8994_component_probe() (git-fixes).
  • asymmetric_keys: reject trust keys without IDs (git-fixes).
  • ata: libata-scsi: abort multi-sector pass-through commands when multi_count is 0 (git-fixes).
  • ata: libata-scsi: Fix ata_scsi_hotplug() reference in kernel-doc (git-fixes).
  • ata: pata_parport: fix parport attach idr_alloc for (git-fixes).
  • ata: pata_parport: Fix use-after-free in new_device_store (git-fixes).
  • ata: sata_fsl: Fix use-after-free of host_priv on probe() failure (git-fixes).
  • backlight: lm3630a: Cancel delayed work before destroying workqueue (git-fixes).
  • backlight: qcom-wled: Fix NULL pointer dereference in wled_remove() (git-fixes).
  • backlight: qcom-wled: Fix unbalanced OVP IRQ enable at probe (git-fixes).
  • backlight: qcom-wled: Fix WLED3 brightness register stride (git-fixes).
  • Bluetooth: 6lowpan: Drain RCU readers on registration failure (git-fixes).
  • Bluetooth: 6lowpan: Pin module for 6lowpan_control debugfs file (git-fixes).
  • Bluetooth: 6LoWPAN: Use RCU-safe device list removal (git-fixes).
  • Bluetooth: Add missing newline to bt_dev_{err,warn}_ratelimited() (git-fixes).
  • Bluetooth: btintel: fix buffer over-read in btintel_hw_error() (git-fixes).
  • Bluetooth: btintel: validate DDC record lengths (git-fixes).
  • Bluetooth: btmtk: fix skb double free on ISO padding failure (git-fixes).
  • Bluetooth: btqcomsmd: Convert to platform remove callback returning void (stable-fixes).
  • Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci_dev (git-fixes).
  • Bluetooth: btusb: Add IMC Networks QCA9377 to quirks table (stable-fixes).
  • Bluetooth: hci_conn: Lock parent access during enhanced SCO setup (git-fixes).
  • Bluetooth: hci_core: free the HCI ID if naming fails (git-fixes).
  • Bluetooth: hci_core: Keep RCU protection through LTK filtering (git-fixes).
  • Bluetooth: hci_debugfs: Pin module for debugfs file operations (git-fixes).
  • Bluetooth: hci_sync: don't drain cmd_sync backlog on unregister (git-fixes).
  • Bluetooth: hci_sync: Fix inquiry cache use-after-free (git-fixes).
  • Bluetooth: hci_sync: fix mesh adv timeout units (git-fixes).
  • Bluetooth: hci_sync: Protect IRK identity reads with RCU (git-fixes).
  • Bluetooth: hci_sync: Serialize devcoredump reset during device open (git-fixes).
  • Bluetooth: hci_vhci: Pin module for debugfs file operations (git-fixes).
  • Bluetooth: ISO: Hold the listener during disconnect notification (git-fixes).
  • Bluetooth: L2CAP: hold chan in l2cap_ecred_conn_rsp() (git-fixes).
  • Bluetooth: L2CAP: hold l2cap_conn::lock in l2cap_connect_cfm() (git-fixes).
  • Bluetooth: L2CAP: refuse __l2cap_chan_add if chan already has conn (git-fixes).
  • Bluetooth: L2CAP: Reject invalid TxWindow in configuration requests (git-fixes).
  • Bluetooth: L2CAP: Reject mode changes on connected channels (git-fixes).
  • Bluetooth: L2CAP: Use default TxWindow for zero socket option (git-fixes).
  • Bluetooth: MGMT: Fix leaking instance on Add Extended Advertising Parameters (git-fixes).
  • Bluetooth: MGMT: Fix pending state of instances added without HCI traffic (git-fixes).
  • Bluetooth: MGMT: Reject quality report requests during unregister (git-fixes).
  • Bluetooth: msft: Lock failed probe cleanup against feature readers (git-fixes).
  • Bluetooth: MSFT: Serialize handle map cleanup with event processing (git-fixes).
  • Bluetooth: RFCOMM: Fix initial port reference race (git-fixes).
  • Bluetooth: selftest: Pin module for selftest debugfs file operations (git-fixes).
  • bus: arm-cci: Drop cci-control-port node reference in __cci_ace_get_port() (git-fixes).
  • bus: arm-cci: Drop CPU node reference in cci_ace_init_ports() (git-fixes).
  • bus: fsl-mc: register the object drivers after misc_class exists (git-fixes).
  • char: scx200_gpio: check cdev_add() return value (git-fixes).
  • comedi: comedi_parport: validate the IRQ supplied by userspace (git-fixes).
  • comedi: dmm32at: validate the IRQ supplied by userspace (git-fixes).
  • comedi: dt2811: fix shift-out-of-bounds in IRQ check (git-fixes).
  • comedi: dt2814: validate the IRQ supplied by userspace (git-fixes).
  • comedi: ni_atmio16d: validate the IRQ supplied by userspace (git-fixes).
  • comedi: pcmmio: validate the IRQ supplied by userspace (git-fixes).
  • comedi: pcmuio: validate the IRQs supplied by userspace (git-fixes).
  • crypto: amlogic - Fix DMA memory leak in cipher error path (git-fixes).
  • crypto: amlogic - Fix IRQ handler return value and fallthrough logic (git-fixes).
  • crypto: asymmetric_keys - fix OOB read in pefile_parse_binary (git-fixes).
  • crypto: atmel - handle authenc requests without plaintext (git-fixes).
  • crypto: atmel-aes - fix AADLENR for standalone GHASH (git-fixes).
  • crypto: atmel-sha - reject initialization without a device (git-fixes).
  • crypto: atmel-tdes - sync output bounce buffer before DMA (git-fixes).
  • crypto: atmel-tdes - zero-initialize device state (git-fixes).
  • crypto: caam - fix double-free in caam_rsa_set_priv_key_form() (git-fixes).
  • crypto: ccp - kill v3 IRQ tasklet during teardown (git-fixes).
  • crypto: ccp - kill v5 IRQ tasklet during teardown (git-fixes).
  • crypto: hisilicon/hpre - fix ECDH destination DMA mapping (git-fixes).
  • crypto: hisilicon/hpre - fix GFP flags for dma_alloc_coherent (git-fixes).
  • crypto: hisilicon/hpre - fix pointer dereference before length check (git-fixes).
  • crypto: hisilicon/hpre - remove dma_free_coherent on NULL req->dst in ECDH (git-fixes).
  • crypto: hisilicon/hpre - return -EOVERFLOW for small ECDH output buffer (git-fixes).
  • crypto: qat - avoid OOB read when stripping RSA leading zeros (git-fixes).
  • crypto: qat - fix active_devs leak on crypto alg registration failure (git-fixes).
  • crypto: qat - fix use of destroyed vf2pf_lock on VF restart (git-fixes).
  • crypto: qat - initialise state_lock on every path in adf_devmgr_add_dev() (git-fixes).
  • crypto: qat - release instance on DH fallback allocation failure (git-fixes).
  • crypto: qat - zero the VF migration state buffer on save (git-fixes).
  • crypto: tcrypt - Avoid reading req->base after submission (git-fixes).
  • Documentation: rs485: Pull uart_get_rs485_mode() from serial_core.c (git-fixes).
  • Documentation: virt: Fix the struct snp_guest_request_ioctl name in sev-guest.rst (git-fixes).
  • drivers/base/node: fix UAF on device_register() failure (git-fixes).
  • Drivers: hv: vmbus: add VTL2 redirect connection ID (git-fixes).
  • drm/amd/display: assign missing trace entry in amdgpu_dm_dc_clocks_state (git-fixes).
  • drm/amd/display: disable replay when crc source is enabled (stable-fixes).
  • drm/amd/display: Fix direct scanout alpha on some DRM_FORMATs (stable-fixes).
  • drm/amd/display: fix vready offset assignment in dcn_optc_lock_unlock_state (git-fixes).
  • drm/amd/display: Force GAMCOR for subsampled surfaces with PQ/Gamma22/HLG (git-fixes).
  • drm/amd/display: remove duplicated prev_p_state_change_support assignment (git-fixes).
  • drm/amd/display: Use kcalloc() instead of kzalloc() (stable-fixes).
  • drm/amd/display: use right type for amdgpu_dc_performance event entries (git-fixes).
  • drm/amd/pm: bound SCLK FCW range entries to the table size (git-fixes).
  • drm/amdgpu/atombios: drop empty function (stable-fixes).
  • drm/amdgpu/gfx6: fix firmware leak on teardown (stable-fixes).
  • drm/amdgpu: Check for multiplication overflow in checkpoint stack (bsc#1276280).
  • drm/amdgpu: make Mac FB workaround generic (stable-fixes).
  • drm/amdgpu: Remove unused amdgpu_i2c functions (stable-fixes).
  • drm/amdgpu: reset VI ASIC on MacBookPro14,3 (stable-fixes).
  • drm/amdgpu: reset VI ASIC on MacBookPro15,1 (stable-fixes).
  • drm/amdgpu: rework i2c init and fini (stable-fixes).
  • drm/amdgpu: serialize vblank counter reads against GPU reset (stable-fixes).
  • drm/amdgpu: Update SRIOV Exchange Headers for RAS Telemetry Support (stable-fixes).
  • drm/amdgpu: Use dbg level for VBIOS check messages (stable-fixes).
  • drm/amdkfd: Fix checkpoint-restore on multi-xcc (bsc#1276280).
  • drm/amdkfd: Fix partial migrate issue (stable-fixes).
  • drm/bridge: analogix_dp: Restore mandatory samsung DP DT properties (git-fixes).
  • drm/exynos/fimd: fix register offset type in fimd_trigger() (git-fixes).
  • drm/i915/display: convert I915_STATE_WARN() to struct intel_display (stable-fixes).
  • drm/i915/gmbus: convert to struct intel_display (stable-fixes).
  • drm/i915/vga: Convert VGA code to intel_display (stable-fixes).
  • drm/i915: document range_overflows() and range_end_overflows() macros (stable-fixes).
  • drm/i915: rename range_overflows_end() to range_end_overflows() (stable-fixes).
  • drm/imx/lcdc: avoid duplicate clk_per enable (git-fixes).
  • drm/komeda: Fix bits parsing of GLB_CORE_ID (git-fixes).
  • drm/mali-dp: Fix runtime PM leak in malidp_crtc_atomic_enable() (git-fixes).
  • drm/msm/a6xx: Fix secondary rail vote in ARC votes (git-fixes).
  • drm/msm/a6xx: fix use-after-free of OPP in a6xx_pm_resume (git-fixes).
  • drm/msm/dp: don't report link training success after a reinit (git-fixes).
  • drm/msm/dpu: disable the slave encoder before the master (git-fixes).
  • drm/msm/hdmi_phy: Cleanup after msm_hdmi_phy_resource_enable() failure (git-fixes).
  • drm/msm/mdp5: drop cursor pipe for msm8x76 (git-fixes).
  • drm/msm: Properly handle msm_ioremap() without name (git-fixes).
  • drm/nouveau/svm: drain fault handler before freeing svmm (git-fixes).
  • drm/nouveau: cancel the DP IRQ work before freeing the connector (git-fixes).
  • drm/nouveau: disable the fence uevent work instead of just cancelling it (git-fixes).
  • drm/nouveau: don't dereference outp before checking it in nouveau_dp_irq (git-fixes).
  • drm/nouveau: reject zero-size notifier object allocation (git-fixes).
  • drm/omap: dsi: avoid sending bta sync all the time in writes (git-fixes).
  • drm/panel: ebbg-ft8719: Set prepare_prev_first (git-fixes).
  • drm/panfrost: Explicitly enable MMU interrupts at device init (git-fixes).
  • drm/panfrost: Prevent division by 0 (git-fixes).
  • drm/panthor: Fix TOCTOU race between GROUP_REGISTERED check and erase (git-fixes).
  • drm/panthor: Take reqs_lock in soft_reset for clearing pending_reqs (git-fixes).
  • drm/tegra: Don't pass an ERR_PTR to drm_syncobj_replace_fence() (git-fixes).
  • drm/tegra: Drop reference on postfence (git-fixes).
  • drm/tegra: Fix syncobj_in wait return value check (git-fixes).
  • drm/ttm: return an error when kmapping a BO without pages (git-fixes).
  • drm/vc4: Fix firmware reference leak in vc4_drm_bind() (git-fixes).
  • drm/vc4: Use video aperture helpers (stable-fixes).
  • drm/virtio: Add a helper to map and note the dma addrs and lengths (stable-fixes).
  • drm/virtio: Use drm_gem_plane_helper_prepare_fb() (stable-fixes).
  • drm/vmwgfx: Stop using dev_private to store driver data (stable-fixes).
  • drm: of: Fix drm_of_get_data_lanes_count_ep() return value documentation (git-fixes).
  • fbdev: atmel_lcdfb: Prevent FIFO work after removal (git-fixes).
  • fbdev: gxt4500: Release WC setup on probe failure (git-fixes).
  • fbdev: sh_mobile_lcdc: check for fb_deferred_io_init() error (git-fixes).
  • fbdev: smscufx: check for fb_deferred_io_init() error (git-fixes).
  • fbdev: ssd1307fb: check for fb_deferred_io_init() error (git-fixes).
  • fbdev: udlfb: check for fb_deferred_io_init() error (git-fixes).
  • fbdev: udlfb: don't rebuild the mode list while the framebuffer is in use (git-fixes).
  • fbdev: xen-fbfront: check for fb_deferred_io_init() error (git-fixes).
  • firewire: cdev: Fix FW_CDEV_IOC_CREATE_ISO_CONTEXT references in kernel-doc (git-fixes).
  • firmware: cs_dsp: clear dsp->running on the cs_dsp_run() error path (git-fixes).
  • firmware: imx: dsp: fix mailbox channel leak on kasprintf failure (git-fixes).
  • fpga: Fix of_fpga_mgr_get() reference in fpga_mgr_lock() docs (git-fixes).
  • gpio: crystalcove: add missing MODULE_ALIAS() (git-fixes).
  • gpio: davinci: Clear interrupt status in every bank on suspend (git-fixes).
  • gpio: pca953x: Preserve wakeup accounting on parent IRQ failure (git-fixes).
  • HID: alps: unregister DualPoint Stick input device on remove (git-fixes).
  • HID: amd_sfh: Remove unsupported motion-state field from accelerometer report (git-fixes).
  • HID: amd_sfh: Use report type from request node (git-fixes).
  • HID: core: Add reserved item tag for main items (stable-fixes).
  • HID: core: Fix out-of-bounds left shift by 32 in s32ton() (git-fixes).
  • HID: cougar: reject short special-key reports (git-fixes).
  • HID: cp2112: validate response report lengths (git-fixes).
  • HID: elo: reject short touchscreen reports (git-fixes).
  • HID: hid-alps: Use pm_ptr instead of #ifdef CONFIG_PM (stable-fixes).
  • HID: hid-steam: Make client_opened a counter (stable-fixes).
  • HID: logitech-dj: validate unnumbered keyboard reports (git-fixes).
  • HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes (git-fixes).
  • HID: mcp2221: fix OOB write in mcp2221_raw_event() (stable-fixes).
  • HID: mcp2221: validate response report length (git-fixes).
  • HID: picoLCD: check for fb_deferred_io_init() error (git-fixes).
  • HID: pxrc: reject short input reports (git-fixes).
  • HID: rate-limit hid_warn to prevent log flooding (stable-fixes).
  • HID: roccat: isku: reject short button reports (git-fixes).
  • HID: roccat: koneplus: reject short button reports (git-fixes).
  • HID: roccat: konepure: reject short button reports (git-fixes).
  • HID: roccat: kovaplus: reject short button reports (git-fixes).
  • HID: roccat: pyra: reject short button reports (git-fixes).
  • HID: roccat: ryos: reject short special reports (git-fixes).
  • HID: roccat: savu: reject short special reports (git-fixes).
  • HID: wacom: fix wacom_intuos_irq NULL pen_input deref (git-fixes).
  • HID: zydacron: validate key report length (git-fixes).
  • hostfs: fix dev_t handling (git-fixes).
  • hwmon: (coretemp) Refresh the temperature on the first read (git-fixes).
  • hwmon: (corsair-cpro) Make wait_input_report_lock IRQ safe (git-fixes).
  • hwmon: (lm70) Fix rounding of negative temperatures (git-fixes).
  • hwmon: (lm95245) Fix negative temperature conversion (git-fixes).
  • hwmon: (sht3x) Return the consumed count for heater writes (git-fixes).
  • hwrng: amd - report partial reads in non-blocking mode (git-fixes).
  • hwrng: ba431 - fix reported byte count (git-fixes).
  • hwrng: cctrng - Fix runtime PM usage counter leak (git-fixes).
  • hwrng: core - reject unknown RNG names (git-fixes).
  • hwrng: intel - return -ENOMEM when ioremap() fails (git-fixes).
  • hwrng: intel - return -ENOMEM when kmalloc_obj() fails (git-fixes).
  • hwrng: starfive - propagate clock and reset errors (git-fixes).
  • i2c: acpi: Fix adapter reference leak in i2c_acpi_new_device_by_fwnode() (git-fixes).
  • i2c: at91: release DMA channels when probe defers (git-fixes).
  • i2c: designware: queue only one read command for block reads (git-fixes).
  • i2c: mt7621: fix copying uninitialized kernel stack with reduced page_len (git-fixes).
  • i2c: xiic: don't clobber msg->len to signal block-read completion (git-fixes).
  • i2c: xiic: Relocate xiic_i2c_runtime_suspend and xiic_i2c_runtime_resume to facilitate atomic mode (stable-fixes).
  • iio: accel: adis16201: fix channel order for buffer mode (git-fixes).
  • iio: accel: kionix-kx022a: Fix IPOL macro name (git-fixes).
  • iio: accel: kxcjk-1013: Disable autosuspend on remove (git-fixes).
  • iio: accel: mma9551: disable autosuspend on remove (git-fixes).
  • iio: accel: mma9553: disable autosuspend on remove (git-fixes).
  • iio: adc: aspeed: propagate reset deassert errors (git-fixes).
  • iio: adc: aspeed: Simplify with dev_err_probe (stable-fixes).
  • iio: adc: at91-sama5d2: disable autosuspend on remove (git-fixes).
  • iio: adc: stm32: fix minimum sampling time values (git-fixes).
  • iio: adc: ti-adc128s052: validate SPI match data (git-fixes).
  • iio: core: add accessors 'masklength' (stable-fixes).
  • iio: dac: ad5758: Fix alignment for DMA safety (git-fixes).
  • iio: dac: ad5758: Fix the offset calculation (git-fixes).
  • iio: dac: ad5758: Reject out-of-range raw values (git-fixes).
  • iio: humidity: hts221: report available values via read_avail() (git-fixes).
  • iio: imu: adis16400: Check return value of spi_setup() (git-fixes).
  • iio: light: ltrf216a: Return floating point values (stable-fixes).
  • iio: pressure: dps310: fix CFG_REG bit definitions (git-fixes).
  • iio: temperature: tmp117: fix calibbias cache update on I2C write failure (git-fixes).
  • Input: atkbd - skip deactivate for Lenovo IdeaPad Slim 3 15IWC11 (stable-fixes).
  • Input: da7280 - fix input device parent assignment (git-fixes).
  • Input: drv2665 - fix input device parent assignment (git-fixes).
  • Input: drv2667 - fix input device parent assignment (git-fixes).
  • Input: i8042 - add nomux quirk for Fujitsu LIFEBOOK U7410 (stable-fixes).
  • Input: lkkbd - disable pending work before freeing device (stable-fixes).
  • Input: maple_keyb - fix key press detection (git-fixes).
  • Input: maplecontrol - emit EV_SYN report after reporting events (git-fixes).
  • Input: matrix-keymap - reject keycodes above KEY_MAX (git-fixes).
  • Input: synaptics - add LEN205b entry to smbus_pnp_ids for ThinkPad T490 (stable-fixes).
  • Input: tps6507x-ts - fix input device parent assignment (git-fixes).
  • Input: xpad - add support for Corsair Novablade Pro (stable-fixes).
  • kobject: fix out-of-bounds access in kobject_action_type() (git-fixes).
  • kobject: Fix the kobj_set_name reference in kset_register() kernel-doc (git-fixes).
  • KVM: SEV: Do cache maintenance on the source VM before clearing SEV state (git-fixes).
  • landlock: Always allow signals between threads of the same process (git-fixes).
  • landlock: Fix cosmetic change (git-fixes).
  • landlock: Fix non-TCP sockets restriction (git-fixes).
  • landlock: Fix TCP handling of short AF_UNSPEC addresses (git-fixes).
  • landlock: Fix unmarked concurrent access to socket family (git-fixes).
  • leds: flash: Prevent using uninitialized variable in flash_fault_show() (git-fixes).
  • leds: lm3692x: Fix regulator/gpio leak and wrong enabled state on last write failure (git-fixes).
  • leds: lp8860: Fix device_node leak in lp8860_probe() (git-fixes).
  • leds: pca9532: Check i2c_smbus_read_byte_data() return value (git-fixes).
  • mac80211: tx: Use info->flags in ieee80211_tx_h_select_key() (git-fixes).
  • media: adv748x: Fix endpoint reference leaks on probe failure (git-fixes).
  • media: adv7180: Initialize mutex before ancillary clients (git-fixes).
  • media: adv7604: avoid negative array index in log_status when cp_read fails (git-fixes).
  • media: amphion: fix runtime PM imbalance on probe failure (git-fixes).
  • media: amphion: prevent unbind while video instances are open (git-fixes).
  • media: atmel-isi: release unregistered video device on remove (git-fixes).
  • media: au0828: Fix media device leak in au0828_usb_probe() (git-fixes).
  • media: au0828: fix use-after-free in bulk_timeout timer on disconnect (git-fixes).
  • media: au0828: Free URBs when starting DVB streaming fails (git-fixes).
  • media: cx18: Disable PCI device on probe failure (git-fixes).
  • media: cx88: Disable PCI device on MPEG initialization failure (git-fixes).
  • media: cx231xx-audio: drain wq_trigger before audio fini (git-fixes).
  • media: cx231xx: Fix cleanup path on failure (git-fixes).
  • media: cx23885: Fix use-after-free in cx23885_finidev due to race condition (git-fixes).
  • media: cx23885: unregister DVB bus when SP2 CI setup fails (git-fixes).
  • media: em28xx: fix double free in em28xx_alloc_urbs (git-fixes).
  • media: em28xx: reject audio endpoint with zero packet size (git-fixes).
  • media: exynos4-is: Fix a race between s_stream(0) and the interrupt handler (git-fixes).
  • media: go7007: bound EZ-USB I2C transfers to the usb_buf size (git-fixes).
  • media: go7007: unregister the I2C adapter on USB probe failure (git-fixes).
  • media: gspca: use vb2_video_unregister_device() on disconnect (git-fixes).
  • media: hackrf: fix use-after-free in hackrf_alloc_urbs() error path (git-fixes).
  • media: hantro: Disable multicore support (stable-fixes).
  • media: hantro: disable runtime PM before hardware teardown (git-fixes).
  • media: hantro: Harden MPEG-2 control access against NULL (git-fixes).
  • media: i2c: ar0521: remove duplicate media entity cleanup (git-fixes).
  • media: i2c: ov5648: Fix a data race on state->streaming (git-fixes).
  • media: i2c: ov8856: fix debug message to report actual CSI-2 lane count (git-fixes).
  • media: i2c: tc358743: add missing color-space strings (git-fixes).
  • media: imon: fix use-after-free in display_close via dev_dbg (git-fixes).
  • media: imx-jpeg: cancel timeout worker when streaming stops (git-fixes).
  • media: imx-jpeg: finish the job on device_run() error paths (git-fixes).
  • media: ir-hix5hd2: Ensure rdev is setup before interrupts are enabled (git-fixes).
  • media: ir_toy: Validate the maximum tx carrier (git-fixes).
  • media: m2m-deinterlace: fix default capture field (git-fixes).
  • media: marvell-cam: fix unmet dependency for VIDEO_MMP_CAMERA (git-fixes).
  • media: marvell: manage the MMP camera clock provider (git-fixes).
  • media: mediatek: jpeg: Avoid context access after job finish (git-fixes).
  • media: mediatek: jpeg: retry HW selection after successful wait (git-fixes).
  • media: mediatek: vpu: free IRQ before destroying watchdog workqueue (git-fixes).
  • media: mediatek: vpu: release reserved memory on remove (git-fixes).
  • media: meson-ir-tx: Ensure clock is disabled on unbind (git-fixes).
  • media: meson-ir-tx: Ensure probe error is propagated (git-fixes).
  • media: meson-ir-tx: Prevent divide by zero in meson_irtx_prepare_pulse() (git-fixes).
  • media: meson: vdec: size capture planes from the aligned canvas (git-fixes).
  • media: microchip-csi2dc: fix async notifier leak on probe error path (git-fixes).
  • media: microchip-isc: disable histogram and flush AWB work on teardown (git-fixes).
  • media: microchip-isc: do not touch WB registers when not streaming (git-fixes).
  • media: microchip-isc: fix PM runtime leak in AWB work handler (git-fixes).
  • media: microchip-isc: synchronize the IRQ before disabling clocks on stop (git-fixes).
  • media: mtk-jpeg: Fix runtime PM leak in mtk_jpegdec_worker() (git-fixes).
  • media: mtk-jpeg: Fix runtime PM leak in mtk_jpegenc_worker() (git-fixes).
  • media: platform: mtk-mdp3: Fix device reference leak in mdp_comp_init() (git-fixes).
  • media: pvrusb2: Fix USB parent device leak in class_dev_create() (git-fixes).
  • media: rc: fintek-cir: process a full RX buffer instead of overflowing it (git-fixes).
  • media: rc: mce_kbd: Fix inconsistent locking of keylock (git-fixes).
  • media: redrat3: Ensure all urbs are suspended (git-fixes).
  • media: redrat3: Ensure we don't read beyond the end of the packet (git-fixes).
  • media: redrat3: fix UAF in probe error path leaving rc device registered (git-fixes).
  • media: require two-byte Cypress type 04 records (git-fixes).
  • media: rtl28xxu: fix SDR platform device leak (git-fixes).
  • media: saa7146: Initialize interrupt lock before requesting IRQ (git-fixes).
  • media: streamzap: Add missing rc_unregister_device() (git-fixes).
  • media: stv090x: bound DiSEqC reply length to msg size (git-fixes).
  • media: stv0900: bound DiSEqC reply length to msg size (git-fixes).
  • media: tw68: balance PCI enable on cleanup (git-fixes).
  • media: tw686x: fix V4L2 device lifetime on probe failure (git-fixes).
  • media: uvcvideo: Fix NULL deref on events for uninitialized controls (git-fixes).
  • media: v4l2-common: Fix P010 format info (git-fixes).
  • media: v4l2-ctrls: do nothing if controls == NULL in cluster functions (git-fixes).
  • media: venus: Drop session events without an instance (git-fixes).
  • media: verisilicon: rockchip: Fix leaks in init (git-fixes).
  • media: vicodec: fix NULL deref on oversized frame (git-fixes).
  • media: vicodec: fix out-of-bounds write on under-rounded coded dimensions (git-fixes).
  • media: vicodec: make encoder CAPTURE dimensions read-only (git-fixes).
  • media: vicodec: zero-initialize stateful decoder heap buffers (git-fixes).
  • media: vidtv: fix frontend reference leak on unbind (git-fixes).
  • media: vidtv: fix uaf in vidtv_bridge_on_new_pkts_avail (git-fixes).
  • media: vim2m: keep transaction buffer count stable while streaming (git-fixes).
  • media: vivid: round the height down to the vertical subsampling factor (git-fixes).
  • media: vpif_display: Fix i2c adapter reference leak in vpif_probe() (git-fixes).
  • mei: vsc-tp: initialize IRQ state before requesting interrupt (git-fixes).
  • mei: vsc: Fix packet CRC computed over pointer size (git-fixes).
  • mfd: ab8500: Fix child device leaks on probe failure (git-fixes).
  • mfd: da9150: Balance IRQ wake on teardown (git-fixes).
  • mfd: intel_quark_i2c_gpio: Manage the fixed-rate clock (git-fixes).
  • mfd: tps65217: Check return value when masking interrupt sources (git-fixes).
  • mfd: tps65217: Fix NULL pointer dereference on IRQ init failure (git-fixes).
  • mfd: wcd934x: Fix NULL pointer dereference on IRQ probe deferral (git-fixes).
  • mfd: wcd934x: set DMA mask on parent to silence 'DMA mask not set' (git-fixes).
  • misc: enclosure: fix UAF on device_register() failure (git-fixes).
  • mm, vmscan: flush tlb before large folio is freed (bsc#1250656).
  • mm: introduce num_pages_contiguous() (bsc#1284243).
  • mtd: amd76xrom: Fix PCI device reference leak in amd76xrom_init_one() (git-fixes).
  • mtd: block: prevent reclaim I/O during request processing (git-fixes).
  • mtd: Call get_wunit() on the master partition (git-fixes).
  • mtd: cfi_cmdset_0002: cap the write-buffer chunk at 256 bytes on an x8 device (git-fixes).
  • mtd: maps: l440gx: Fix double put of the ISA bridge in init_l440gx() (git-fixes).
  • mtd: maps: l440gx: Fix double put of the PM device in init_l440gx() (git-fixes).
  • mtd: maps: pci: balance PCI enable on cleanup (git-fixes).
  • mtd: parsers: qcom: fix offset/size overflow on large partitions (git-fixes).
  • mtd: rawnand: atmel: Fix MCK clock leak in atmel_nand_controller_init() (git-fixes).
  • mtd: rawnand: pl353: fix clk reference leak in pl35x_nfc_setup_interface() (git-fixes).
  • mtd: rawnand: sunxi: reject ECC maximization on small pages (git-fixes).
  • mtd: spi-nor: sfdp: check the length of the SCCR map (git-fixes).
  • mtd: spi-nor: sfdp: check the length of the xSPI Profile 1.0 table (git-fixes).
  • mtd: spi-nor: Unprepare legacy controllers upon RWW wait interruption (git-fixes).
  • mtd: spinand: Fix spinand_manufacturer_ops kernel-doc (git-fixes).
  • net: usb: lan78xx: reject invalid EEPROM write requests (git-fixes).
  • net: usb: r8153_ecm: reject short register reads (git-fixes).
  • net: usb: sierra_net: reject short firmware attribute reads (git-fixes).
  • net: wwan: iosm: validate msg_head before indexing msg_ring (git-fixes).
  • PCI/AER: Fix memory leak in aer_recover_queue() on kfifo buffer overflow (git-fixes).
  • PCI/AER: Fix struct pci_dev reference leak in aer_process_err_devices() (git-fixes).
  • PCI/P2PDMA: Gate the host bridge whitelist warning on verbose (git-fixes).
  • PCI/P2PDMA: Safely terminate ACS redirect lists (git-fixes).
  • PCI/sysfs: Handle a malformed _DSM result in acpi_attr_is_visible() (git-fixes).
  • PCI/sysfs: Pass the device name length in UTF-16 code units (git-fixes).
  • PCI/sysfs: Stop reporting _DSM failures as -EPERM (git-fixes).
  • PCI: aardvark: Disable PHY on probe failures (git-fixes).
  • PCI: cadence: Preserve all error codes in cdns_plat_pcie_probe() (git-fixes).
  • PCI: Disable MSI for ULi M1575 EHCI controller (git-fixes).
  • PCI: dra7xx: Fix clock enable leak on probe failure (git-fixes).
  • PCI: endpoint: pci-epf-vntb: Pass PF/VF number when BAR programming (git-fixes).
  • PCI: endpoint: pci-epf-vntb: Serialize virtual PCI bus scan (git-fixes).
  • PCI: Fix out-of-bounds MMIO read in nvme_disable_and_flr() (git-fixes).
  • PCI: qcom: Honor IOMMU provider's #iommu-cells in qcom_pcie_config_sid_1_9_0() (git-fixes).
  • PCI: rockchip-host: Do not attempt 5.0 GT/s retraining (git-fixes).
  • PCI: xgene: Use managed clock for PCIe controller (git-fixes).
  • peci: aspeed: Initialize state before requesting IRQ (git-fixes).
  • phy: core: Fix race-condition between _of_phy_get() and try_module_get() (git-fixes).
  • pinctrl: mediatek: mt7629: fix the 2.4 GHz Wi-Fi pin mode array (git-fixes).
  • pinctrl: sprd: free maps on DT map failure (git-fixes).
  • pinctrl: stm32: Fix fwnode reference leak in stm32_gpiolib_register_bank() (git-fixes).
  • platform/chrome: cros_ec_proto: Fix deferred response (git-fixes).
  • power: supply: charger-manager: Convert to platform remove callback returning void (stable-fixes).
  • power: supply: lp8788-charger: Convert to platform remove callback returning void (stable-fixes).
  • power: supply: lp8788-charger: fix use-after-free on remove (git-fixes).
  • power: supply: lp8788: Use devm_power_supply_register() helper (stable-fixes).
  • pwm: mtk-disp: Fix period readback (git-fixes).
  • RDMA/core: Add rdma_restrack_begin/abort/commit_del() operations (git-fixes).
  • regulator: ab8500: Fix AB8505 VANA voltage selectors (git-fixes).
  • regulator: ab8500: Handle AB8505 VINTCORE selector 7 (git-fixes).
  • regulator: ab8500: Propagate mode enable read errors (git-fixes).
  • regulator: ab8500: Test dedicated enable bits only (git-fixes).
  • regulator: ab8500: Treat cut 1.0 VAUX3 as fixed (git-fixes).
  • regulator: core: Fix c_rdev reference leak in regulator_resolve_coupling() (git-fixes).
  • regulator: core: Fix coupled regulators reference leak on removal (git-fixes).
  • regulator: core: Fix rdev reference leak in regulator_resolve_supply() (git-fixes).
  • regulator: mp886x: check get_voltage_sel() return value (git-fixes).
  • regulator: mp886x: fix pontential division by zero (git-fixes).
  • regulator: mp886x: fix vsel_mask (git-fixes).
  • regulator: rt6190: Fix runtime PM imbalance in rt6190_out_enable() (git-fixes).
  • Reinstate 'resource: avoid unnecessary lookups in find_next_iomem_res()' (bsc#1284243).
  • Revert 'wifi: mac80211: do not use old MBSSID elements' (git-fixes).
  • rtc: ac100: Assign .num before accessing .hws (git-fixes).
  • rtc: dev: zero-initialize struct rtc_wkalrm to prevent information leak (git-fixes).
  • rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() (git-fixes).
  • rtc: spear: initialize IRQ state before requesting alarm IRQ (git-fixes).
  • selftests/alsa: Do not take another control's event as our own (git-fixes).
  • selftests/landlock: Add a new test for setuid() (git-fixes).
  • selftests/landlock: Fix build with non-default pthread linking (git-fixes).
  • selftests/landlock: Fix screwed up pointers in the scoped_signal_test (git-fixes).
  • selftests/landlock: Skip scoped_signal subtest with MSG_OOB if not available (git-fixes).
  • selftests/landlock: Split signal_scoping_threads tests (git-fixes).
  • serial: 8250_lpss: do not touch uninitialized line in ehl_serial_exit() (git-fixes).
  • serial: core: shut down initialized port on removal (git-fixes).
  • serial: max310x: don't clobber the TX break bit in set_termios (git-fixes).
  • serial: pmac_zilog: push received data to the port that received it (git-fixes).
  • serial: pmac_zilog: report received breaks (git-fixes).
  • slimbus: messaging: fix leaked PM vote on tid allocation failure (git-fixes).
  • soc/tegra: flowctrl: Release OF node reference on error (git-fixes).
  • soc: fsl: cpm1: tsa: Fix clock leak in tsa_of_parse_tdms() (git-fixes).
  • soc: fsl: dpio: Fix cleanup on IRQ registration failure (git-fixes).
  • soc: fsl: dpio: Free the IRQ before releasing the I/O object (git-fixes).
  • soc: qcom: apr: clean up failed service registrations (git-fixes).
  • soc: ti: k3-ringacc: Correct ring API kernel-doc (git-fixes).
  • soc: ti: k3-ringacc: Fix DMA ring initialization kernel-doc (git-fixes).
  • spi: amd: fix len==0 underflow and FIFO overflow (git-fixes).
  • spi: bcm63xx-hsspi: Disable runtime PM on remove (git-fixes).
  • spi: Fix the return value in spi_new_ancillary_device() kernel-doc (git-fixes).
  • spi: jcore: fix divide-by-zero when speed_hz is zero (git-fixes).
  • spi: mtk-nor: fix runtime PM usage count leak in probe error path (git-fixes).
  • spi: mxic: fix ps_clk leak in runtime resume (git-fixes).
  • spi: npcm-fiu: limit UMA data_size to the 16-byte staging buffer (git-fixes).
  • spi: omap2-mcspi: Remove unbalanced pm_runtime_put_sync() calls (git-fixes).
  • spi: spi-sun4i: sun4i_spi_fill_fifo(): always apply A10 FIFO fill level workaround (git-fixes).
  • spi: spi-sun4i: sun4i_spi_transfer_one(): fix transfers for SUN4I_FIFO_DEPTH (git-fixes).
  • staging: iio: adc: ad7816: Fix DMA safety issues in SPI transfers (git-fixes).
  • staging: media: av7110: fix corrupted BER reporting in sp8870 (git-fixes).
  • staging: media: imx: csc-scaler: fix ipu_image_convert_run leak on queue error (git-fixes).
  • staging: rtl8723bs: clean up redundant & parentheses (stable-fixes).
  • Staging: rtl8723bs: Delete dead code from update_current_network() (stable-fixes).
  • staging: rtl8723bs: fix buffer over-read in rtw_update_protection (git-fixes).
  • staging: rtl8723bs: fix RX buffer OOB write from device-reported length (git-fixes).
  • Staging: rtl8723bs: Remove dead code from _rtw_free_network() (stable-fixes).
  • staging: sm750fb: free cmap on framebuffer release (git-fixes).
  • thermal/drivers/sprd: validate the sensor id from the device tree (git-fixes).
  • thermal: intel: int340x: Fix temperature selection around 0 C (git-fixes).
  • thermal: intel: powerclamp: Reject invalid window_size values (git-fixes).
  • thermal: ti-soc-thermal: Fix the return value in ti_bandgap_get_sensor_data() kernel-doc (git-fixes).
  • thunderbolt: Disable CL states for the Anker Prime TB5 dock (stable-fixes).
  • thunderbolt: Do not RPM complete unrelated subtrees on unplug (git-fixes).
  • tools/thermal/tmon: Fix string truncation warning in optarg copy (git-fixes).
  • tpm: fix zero-length read discarding the pending response (git-fixes).
  • tpm: tpm_nsc: fix NULL pointer dereference on init failure (git-fixes).
  • tpm: tpm_nsc: stop using the cleanup callback as dev.release (git-fixes).
  • tty: add break_wait kernel-doc (git-fixes).
  • tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup (stable-fixes).
  • tty: vcc: zero-initialize control packet in vcc_send_ctl() (stable-fixes).
  • um: hostfs: avoid issues on inode number reuse by host (git-fixes).
  • usb-storage: alauda: check the return value of alauda_read_map() (git-fixes).
  • usb-storage: alauda: do not do DMA from the stack (git-fixes).
  • usb-storage: alauda: fix out-of-bounds zone index (git-fixes).
  • USB: cdc-acm: fix urb leak on disconnect (git-fixes).
  • usb: chipidea: udc: fix DMA and SG cleanup in _ep_nuke() (stable-fixes).
  • usb: dwc3: clear forceRM when issuing EndTransfer (git-fixes).
  • usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition (git-fixes).
  • usb: dwc3: gadget: Reinitiate stream for all host NoStream behavior (stable-fixes).
  • usb: fotg210: validate endpoint index in ep0 handlers (git-fixes).
  • usb: gadget: composite: avoid warning on aborted delayed status (git-fixes).
  • usb: gadget: dummy_hcd: fix SuperSpeed ep0 maxpacket (git-fixes).
  • usb: gadget: dummy_hcd: prevent unbind via sysfs (git-fixes).
  • usb: gadget: f_fs: Fix Use-After-Free in AIO error path (git-fixes).
  • usb: gadget: f_mass_storage: ignore class requests while inactive (git-fixes).
  • usb: gadget: f_midi: Annotate struct f_midi with __counted_by (stable-fixes).
  • usb: gadget: f_midi: initialize work in f_midi_alloc() (git-fixes).
  • USB: gadget: ffs: fix mm lifetime handling (stable-fixes).
  • usb: gadget: functionfs: Factorize wait-for-endpoint code (stable-fixes).
  • usb: image: microtek: stop SG processing after transfer errors (git-fixes).
  • usb: musb: da8xx: depopulate OF children on probe failure (git-fixes).
  • usb: musb: da8xx: depopulate OF children on remove (git-fixes).
  • usb: ohci-spear: disable controller wakeup on removal (git-fixes).
  • usb: ohci-spear: Remove unnecessary NULL check before clk_disable_unprepare() (stable-fixes).
  • USB: pci-quirks: Release EHCI device reference (git-fixes).
  • USB: serial: cp210x: add Corsair AX1500i Power Supply (stable-fixes).
  • USB: serial: option: add Compal EXC-T1 support (stable-fixes).
  • USB: serial: option: add Compal EXM-G1x support (stable-fixes).
  • USB: serial: option: add Quectel EG060W (stable-fixes).
  • USB: serial: option: add Quectel RG660QB (stable-fixes).
  • USB: serial: option: add support for SIMCom SIM8260C (stable-fixes).
  • USB: serial: sierra: fix urb leak on write completion (git-fixes).
  • USB: serial: usb_wwan: fix urb leak on disconnect (git-fixes).
  • usb: typec: ucsi_ccg: Add retry mechanism in ccg_read (git-fixes).
  • USB: usbmon: fix null-ptr-deref in mon_bus_remove() when mon_bus_init() fails (git-fixes).
  • usbnet: fix smp_processor_id() use in preemptible context (git-fixes).
  • vfio/type1: batch vfio_find_vpfn() in function vfio_unpin_pages_remote() (bsc#1284243).
  • vfio/type1: conditional rescheduling while pinning (bsc#1284243).
  • vfio/type1: introduce a new member has_rsvd for struct vfio_dma (bsc#1284243).
  • vfio/type1: optimize vfio_pin_pages_remote() (bsc#1284243).
  • vfio/type1: optimize vfio_unpin_pages_remote() (bsc#1284243).
  • vt: skip screen update for DEC alignment test on backgroup consoles (git-fixes).
  • watchdog: mediatek: Apply the driver's mode to a watchdog left running (git-fixes).
  • wifi: ath6kl: don't take RTNL in del_virtual_intf (git-fixes).
  • wifi: ath9k: delete channel-context timers on deinit (git-fixes).
  • wifi: ath10k: avoid IDR mutation during TX cleanup (git-fixes).
  • wifi: ath11k: avoid IDR mutation during pending mgmt TX cleanup (git-fixes).
  • wifi: ath11k: avoid IDR mutation during vif mgmt TX cleanup (git-fixes).
  • wifi: ath11k: disable interrupts during firmware crash recovery (git-fixes).
  • wifi: ath11k: fix locking problem in ath11k_dp_rx_tid_del_func() (git-fixes).
  • wifi: ath11k: fix NULL dereference in ahb remove when QMI init incomplete (git-fixes).
  • wifi: ath11k: Fix possible memory leak in ath11k_dp_srng_setup() (git-fixes).
  • wifi: ath11k: fix sporadic WLAN initialization failures (git-fixes).
  • wifi: ath11k: fix unbalanced IRQ enable/disable during suspend/resume (git-fixes).
  • wifi: ath11k: modify null check logic in ath11k_ce_rx_post_pipe() (git-fixes).
  • wifi: ath11k: reset ar->num_stations on hardware start (git-fixes).
  • wifi: ath11k: unregister PM notifier on QMI init failure path (git-fixes).
  • wifi: ath12k: avoid IDR mutation during vif mgmt TX cleanup (git-fixes).
  • wifi: ath12k: fix incorrect TID updation in DP monitor status path (stable-fixes).
  • wifi: ath12k: fix struct hal_rx_phyrx_rssi_legacy_info (stable-fixes).
  • wifi: ath12k: fix the fetching of combined rssi (git-fixes).
  • wifi: ath12k: Free allocated CE IRQs on request_irq() failure (git-fixes).
  • wifi: ath12k: Reserve space for a string terminator (git-fixes).
  • wifi: b43: don't pass unterminated string to sscanf() (git-fixes).
  • wifi: b43: fix use-after-free in b43_bcma_remove() (git-fixes).
  • wifi: b43legacy: debugfs: NUL terminate string in debugfs (git-fixes).
  • wifi: brcmsmac: Adjust txpwrindex value in nphy_ipa_rxcal_gaintbl_2GHz (git-fixes).
  • wifi: carl9170: NUL terminate string in debugfs (git-fixes).
  • wifi: cfg80211: allow zero HE OBSS PD offsets (git-fixes).
  • wifi: cfg80211: preserve hidden-group beacon IE ownership (git-fixes).
  • wifi: cfg80211: reject duplicate wiphy cipher suite entries (stable-fixes).
  • wifi: cfg80211: track SSID regardless of country data (git-fixes).
  • wifi: cw1200: fix TX padding OOB read leaking heap data to device (git-fixes).
  • wifi: iwlegacy: 3945: free EEPROM data on remove (git-fixes).
  • wifi: iwlwifi: dvm: pair transport op-mode enter/leave (stable-fixes).
  • wifi: iwlwifi: mvm: remove mvm prefix from iwl_mvm_tx_resp* (stable-fixes).
  • wifi: iwlwifi: mvm: validate TX_CMD response layout (stable-fixes).
  • wifi: iwlwifi: simplify nested if checks (stable-fixes).
  • wifi: mac80211: account proxy paths against the mesh path limit (git-fixes).
  • wifi: mac80211: Add 802.3 multicast encapsulation offload support (stable-fixes).
  • wifi: mac80211: Add multicast to unicast support for 802.3 path (stable-fixes).
  • wifi: mac80211: Add sta pointer sanity check in ieee80211_8023_xmit() (stable-fixes).
  • wifi: mac80211: clear fragment cache entry 'is_protected' (git-fixes).
  • wifi: mac80211: don't call ieee80211_handle_reconfig_failure when not needed (stable-fixes).
  • wifi: mac80211: don't reset the TXQ scheduling round number (git-fixes).
  • wifi: mac80211: don't send encap offload frames unencrypted (git-fixes).
  • wifi: mac80211: drain PS delivery work during station teardown (git-fixes).
  • wifi: mac80211: drop encap offload frames with a tainted key (git-fixes).
  • wifi: mac80211: Fix a race when expiring a mesh path (git-fixes).
  • wifi: mac80211: fix encryption tailroom (git-fixes).
  • wifi: mac80211: fix key selection for encap offload frames (git-fixes).
  • wifi: mac80211: fix mesh fast xmit path deletion UAF (git-fixes).
  • wifi: mac80211: fix missing RX bitrate update for mesh forwarding path (stable-fixes).
  • wifi: mac80211: fix swapped fq_overlimit/fq_overmemory in aqm debugfs (git-fixes).
  • wifi: mac80211: Fix the return value in mesh_path_add() kernel-doc (git-fixes).
  • wifi: mac80211: fix typo in HE MCS check (stable-fixes).
  • wifi: mac80211: fix unauthorised port check for encap offload (git-fixes).
  • wifi: mac80211: handle empty FILS association request payload (git-fixes).
  • wifi: mac80211: init radiotap iter after length checks (git-fixes).
  • wifi: mac80211: kill wake_txqs_tasklet on unregistration (git-fixes).
  • wifi: mac80211: limit injected HT/VHT MCSes (git-fixes).
  • wifi: mac80211: log link information in ieee80211_determine_chan_mode (stable-fixes).
  • wifi: mac80211: mesh: use hlist_add_head_rcu() (git-fixes).
  • wifi: mac80211: minstrel_ht: validate fixed rate index (git-fixes).
  • wifi: mac80211: prevent AP VLAN tx from other interfaces (git-fixes).
  • wifi: mac80211: refactor populating mesh related fields in sinfo (stable-fixes).
  • wifi: mac80211: release mesh path quota on failed additions (git-fixes).
  • wifi: mac80211: reserve MME tailroom for protected beacons (git-fixes).
  • wifi: mac80211: set info->band for 802.3 encap offload frames (git-fixes).
  • wifi: mac80211: use link address as TA for non-MLO 4-addr station on MLD AP (git-fixes).
  • wifi: mt76: feed the station RSSI average from the chain signals (git-fixes).
  • wifi: mt76: fix memory leak in USB TX path (git-fixes).
  • wifi: mt76: Fix of_node reference leak in mt76_get_rate_power_limits() (git-fixes).
  • wifi: mt76: fix unlocked wcid check in mt76_tx_status_skb_add() (git-fixes).
  • wifi: mt76: fix wcid->pktid corruption in mt76_wcid_cleanup() (git-fixes).
  • wifi: mt76: mt76x02: validate RX padding before use (git-fixes).
  • wifi: mt76: mt76x02: validate TX-status rate index before mac80211 handoff (git-fixes).
  • wifi: mt76: mt792x: fix UAF in SDIO TX path when out of memory (git-fixes).
  • wifi: mt76: mt7603: don't drop short frames looped back on PS entry (git-fixes).
  • wifi: mt76: mt7615: cancel reset work during unregister (git-fixes).
  • wifi: mt76: mt7615: do not tear down BSS/STA state for monitor vifs (git-fixes).
  • wifi: mt76: mt7615: read MT7663 temperature from the correct offset (git-fixes).
  • wifi: mt76: mt7615: usb: fix source overread in mt7663u_copy (git-fixes).
  • wifi: mt76: mt7615: validate MCU response lengths (git-fixes).
  • wifi: mt76: mt7915: allocate vif wcid in the same range as stations (stable-fixes).
  • wifi: mt76: mt7915: bound the device EEPROM address before the EFUSE copy (git-fixes).
  • wifi: mt76: mt7915: check default EEPROM firmware size before copying (git-fixes).
  • wifi: mt76: mt7915: clear wcid mask under mutex after RCU pointer clear (git-fixes).
  • wifi: mt76: mt7915: Fix an error handling path in mt7915_add_interface() (git-fixes).
  • wifi: mt76: mt7915: guard firmware memory dump write on disabled memdump (git-fixes).
  • wifi: mt76: mt7915: set correct background radar capability (stable-fixes).
  • wifi: mt76: mt7915: unregister thermal cooling device on hwmon failure (git-fixes).
  • wifi: mt76: mt7921: check drv_pmctrl return in the PCIe reset path (git-fixes).
  • wifi: mt76: mt7921: fix lock inversion between dev->mutex and iflist_mtx (git-fixes).
  • wifi: mt76: mt7921: fix the lock inversion in suspend and resume (git-fixes).
  • wifi: mt76: mt7925: check drv_pmctrl return in the PCIe reset path (git-fixes).
  • wifi: mt76: mt7925: fix lock inversion between dev->mutex and iflist_mtx (git-fixes).
  • wifi: mt76: mt7925: fix the lock inversion in suspend and resume (git-fixes).
  • wifi: mt76: mt7925: honour mac80211's FIF_FCSFAIL instead of hardcoding drop_err (git-fixes).
  • wifi: mt76: mt7925: restore the reset state when fw_pmctrl fails (git-fixes).
  • wifi: mt76: mt7996: fix PLE free page and AC queue register offsets (git-fixes).
  • wifi: mt76: mt7996: validate firmware event lengths before parsing (git-fixes).
  • wifi: mt76: usb: fix source overread in mt76u_copy (git-fixes).
  • wifi: mwifiex: append hotfix number to firmware version string (git-fixes).
  • wifi: rtw88: debugfs: don't vzalloc(0) when rsvd_page is read unconfigured (git-fixes).
  • wifi: rtw88: debugfs: support multiple adapters debugging (stable-fixes).
  • wifi: rtw88: fix out-of-bounds CAM write when key table is full (git-fixes).
  • wifi: rtw88: sdio: zero the padding added to a TX transfer (git-fixes).
  • wifi: rtw89: 8851b: fix swapped DPK channel/bandwidth backup fields (git-fixes).
  • wifi: rtw89: cap firmware section_num before parsing (git-fixes).
  • wifi: wfx: fix possible device hang during init (git-fixes).
  • wifi: wfx: fix use-after-free of the cooling work on device removal (git-fixes).
  • wifi: wfx: validate MIB read length before copying to caller (git-fixes).
  • wwan: wwan_hwsim: Pin module for debugfs file operations (git-fixes).
  • x86/hyperv: Avoid using per-cpu output page in hv_apicid_to_vp_index() (git-fixes).
  • x86/PCI: Disable enhanced atomics on AMD NBIO 7.7 and 7.11 (git-fixes).
  • xhci: dbc: lock the minor IDR on registration failure (git-fixes).

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

Container bci/bci-sle15-kernel-module-devel:latest
kernel-default-devel-6.4.0-150700.53.90.1
kernel-devel-6.4.0-150700.53.90.1
kernel-macros-6.4.0-150700.53.90.1
kernel-syms-6.4.0-150700.53.90.1
Container suse/hpc/warewulf4-x86_64/sle-hpc-node:latest
kernel-default-6.4.0-150700.53.90.1
SUSE Linux Enterprise High Availability Extension 15 SP7
cluster-md-kmp-default-6.4.0-150700.53.90.1
dlm-kmp-default-6.4.0-150700.53.90.1
gfs2-kmp-default-6.4.0-150700.53.90.1
ocfs2-kmp-default-6.4.0-150700.53.90.1
SUSE Linux Enterprise Live Patching 15 SP7
kernel-default-livepatch-6.4.0-150700.53.90.1
kernel-default-livepatch-devel-6.4.0-150700.53.90.1
kernel-livepatch-6_4_0-150700_53_90-default-1-150700.15.3.1
SUSE Linux Enterprise Module for Basesystem 15 SP7
kernel-64kb-6.4.0-150700.53.90.1
kernel-64kb-devel-6.4.0-150700.53.90.1
kernel-default-6.4.0-150700.53.90.1
kernel-default-base-6.4.0-150700.53.90.1.150700.17.51.1
kernel-default-devel-6.4.0-150700.53.90.1
kernel-devel-6.4.0-150700.53.90.1
kernel-macros-6.4.0-150700.53.90.1
kernel-zfcpdump-6.4.0-150700.53.90.1
SUSE Linux Enterprise Module for Development Tools 15 SP7
kernel-docs-6.4.0-150700.53.90.1
kernel-obs-build-6.4.0-150700.53.90.1
kernel-source-6.4.0-150700.53.90.1
kernel-syms-6.4.0-150700.53.90.1
SUSE Linux Enterprise Module for Legacy 15 SP7
reiserfs-kmp-default-6.4.0-150700.53.90.1
SUSE Linux Enterprise Module for Public Cloud 15 SP7
kernel-azure-6.4.0-150700.53.90.1
kernel-azure-devel-6.4.0-150700.53.90.1
SUSE Linux Enterprise Workstation Extension 15 SP7
kernel-default-extra-6.4.0-150700.53.90.1

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: Copy BASE if service data matches EIR_BAA_SERVICE_UUID Copy the content of a Periodic Advertisement Report to BASE only if the service UUID is Basic Audio Announcement Service UUID.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSD: Limit the number of concurrent async COPY operations Nothing appears to limit the number of concurrent async COPY operations that clients can start. In addition, AFAICT each async COPY can copy an unlimited number of 4MB chunks, so can run for a long time. Thus IMO async COPY can become a DoS vector. Add a restriction mechanism that bounds the number of concurrent background COPY operations. Start simple and try to be fair -- this patch implements a per-namespace limit. An async COPY request that occurs while this limit is exceeded gets NFS4ERR_DELAY. The requesting client can choose to send the request again after a delay or fall back to a traditional read/write style copy. If there is need to make the mechanism more sophisticated, we can visit that in future patches.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSD: Initialize struct nfsd4_copy earlier Ensure the refcount and async_copies fields are initialized early. cleanup_async_copy() will reference these fields if an error occurs in nfsd4_copy(). If they are not correctly initialized, at the very least, a refcount underflow occurs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSD: Never decrement pending_async_copies on error The error flow in nfsd4_copy() calls cleanup_async_copy(), which already decrements nn->pending_async_copies.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: platform: exynos4-is: Add hardware sync wait to fimc_is_hw_change_mode() In fimc_is_hw_change_mode(), the function changes camera modes without waiting for hardware completion, risking corrupted data or system hangs if subsequent operations proceed before the hardware is ready. Add fimc_is_hw_wait_intmsr0_intmsd0() after mode configuration, ensuring hardware state synchronization and stable interrupt handling.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

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


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cifs: fix memory leak in smb3_fs_context_parse_param error path Add proper cleanup of ctx->source and fc->source to the cifs_parse_mount_err error handler. This ensures that memory allocated for the source strings is correctly freed on all error paths, matching the cleanup already performed in the success path by smb3_cleanup_fs_context_contents(). Pointers are also set to NULL after freeing to prevent potential double-free issues. This change fixes a memory leak originally detected by syzbot. The leak occurred when processing Opt_source mount options if an error happened after ctx->source and fc->source were successfully allocated but before the function completed. The specific leak sequence was: 1. ctx->source = smb3_fs_context_fullpath(ctx, '/') allocates memory 2. fc->source = kstrdup(ctx->source, GFP_KERNEL) allocates more memory 3. A subsequent error jumps to cifs_parse_mount_err 4. The old error handler freed passwords but not the source strings, causing the memory to leak. This issue was not addressed by commit e8c73eb7db0a ("cifs: client: fix memory leak in smb3_fs_context_parse_param"), which only fixed leaks from repeated fsconfig() calls but not this error path. Patch updated with minor change suggested by kernel test robot


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: lkkbd - disable pending work before freeing device lkkbd_interrupt() schedules lk->tq via schedule_work(), and the work handler lkkbd_reinit() dereferences the lkkbd structure and its serio/input_dev fields. lkkbd_disconnect() and error paths in lkkbd_connect() free the lkkbd structure without preventing the reinit work from being queued again until serio_close() returns. This can allow the work handler to run after the structure has been freed, leading to a potential use-after-free. Use disable_work_sync() instead of cancel_work_sync() to ensure the reinit work cannot be re-queued, and call it both in lkkbd_disconnect() and in lkkbd_connect() error paths after serio_open().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mei: pass correct argument to function The first argument to iwl_mei_write_cyclic_buf() should be the cldev but the q_head pointer is passed instead. Fix it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: unregister debugfs entries on teardown ucsi_register() creates per-instance debugfs entries, but ucsi_unregister() keeps them around until ucsi_destroy(). Drivers like ucsi_glink that unregister/register the same UCSI instance across remoteproc restart then try to create an already existing debugfs directory and log: debugfs: 'pmic_glink.ucsi.0' already exists in 'ucsi' Unregister debugfs entries as part of ucsi_unregister(), and clear ucsi->debugfs after freeing it so repeated unregister paths remain safe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Sanitize payload size to prevent member overflow In qla27xx_copy_fpin_pkt() and qla27xx_copy_multiple_pkt(), the frame_size reported by firmware is used to calculate the copy length into item->iocb. However, the iocb member is defined as a fixed-size 64-byte array within struct purex_item. If the reported frame_size exceeds 64 bytes, subsequent memcpy calls will overflow the iocb member boundary. While extra memory might be allocated, this cross-member write is unsafe and triggers warnings under CONFIG_FORTIFY_SOURCE. Fix this by capping total_bytes to the size of the iocb member (64 bytes) before allocation and copying. This ensures all copies remain within the bounds of the destination structure member.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: add bounds checks in nvmet_tcp_build_pdu_iovec nvmet_tcp_build_pdu_iovec() could walk past cmd->req.sg when a PDU length or offset exceeds sg_cnt and then use bogus sg->length/offset values, leading to _copy_to_iter() GPF/KASAN. Guard sg_idx, remaining entries, and sg->length/offset before building the bvec.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix OOB read in smb2_ioctl_query_info QUERY_INFO path smb2_ioctl_query_info() has two response-copy branches: PASSTHRU_FSCTL and the default QUERY_INFO path. The QUERY_INFO branch clamps qi.input_buffer_length to the server-reported OutputBufferLength and then copies qi.input_buffer_length bytes from qi_rsp->Buffer to userspace, but it never verifies that the flexible-array payload actually fits within rsp_iov[1].iov_len. A malicious server can return OutputBufferLength larger than the actual QUERY_INFO response, causing copy_to_user() to walk past the response buffer and expose adjacent kernel heap to userspace. Guard the QUERY_INFO copy with a bounds check on the actual Buffer payload. Use struct_size(qi_rsp, Buffer, qi.input_buffer_length) rather than an open-coded addition so the guard cannot overflow on 32-bit builds.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: validate the whole DACL before rewriting it in cifsacl build_sec_desc() and id_mode_to_cifs_acl() derive a DACL pointer from a server-supplied dacloffset and then use the incoming ACL to rebuild the chmod/chown security descriptor. The original fix only checked that the struct smb_acl header fits before reading dacl_ptr->size or dacl_ptr->num_aces. That avoids the immediate header-field OOB read, but the rewrite helpers still walk ACEs based on pdacl->num_aces with no structural validation of the incoming DACL body. A malicious server can return a truncated DACL that still contains a header, claims one or more ACEs, and then drive replace_sids_and_copy_aces() or set_chmod_dacl() past the validated extent while they compare or copy attacker-controlled ACEs. Factor the DACL structural checks into validate_dacl(), extend them to validate each ACE against the DACL bounds, and use the shared validator before the chmod/chown rebuild paths. parse_dacl() reuses the same validator so the read-side parser and write-side rewrite paths agree on what constitutes a well-formed incoming DACL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: require a full NFS mode SID before reading mode bits parse_dacl() treats an ACE SID matching sid_unix_NFS_mode as an NFS mode SID and reads sid.sub_auth[2] to recover the mode bits. That assumes the ACE carries three subauthorities, but compare_sids() only compares min(a, b) subauthorities. A malicious server can return an ACE with num_subauth = 2 and sub_auth[] = {88, 3}, which still matches sid_unix_NFS_mode and then drives the sub_auth[2] read four bytes past the end of the ACE. Require num_subauth >= 3 before treating the ACE as an NFS mode SID. This keeps the fix local to the special-SID mode path without changing compare_sids() semantics for the rest of cifsacl.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Clear Present bit before tearing down context entry When tearing down a context entry, the current implementation zeros the entire 128-bit entry using multiple 64-bit writes. This creates a window where the hardware can fetch a "torn" entry - where some fields are already zeroed while the 'Present' bit is still set - leading to unpredictable behavior or spurious faults. While x86 provides strong write ordering, the compiler may reorder writes to the two 64-bit halves of the context entry. Even without compiler reordering, the hardware fetch is not guaranteed to be atomic with respect to multiple CPU writes. Align with the "Guidance to Software for Invalidations" in the VT-d spec (Section 6.5.3.3) by implementing the recommended ownership handshake: 1. Clear only the 'Present' (P) bit of the context entry first to signal the transition of ownership from hardware to software. 2. Use dma_wmb() to ensure the cleared bit is visible to the IOMMU. 3. Perform the required cache and context-cache invalidation to ensure hardware no longer has cached references to the entry. 4. Fully zero out the entry only after the invalidation is complete. Also, add a dma_wmb() to context_set_present() to ensure the entry is fully initialized before the 'Present' bit becomes visible.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rc: igorplugusb: heed coherency rules In a control request, the USB request structure can be subject to DMA on some HCs. Hence it must obey the rules for DMA coherency. Allocate it separately.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: fix race between ICReq handling and queue teardown nvmet_tcp_handle_icreq() updates queue->state after sending an Initialization Connection Response (ICResp), but it does so without serializing against target-side queue teardown. If an NVMe/TCP host sends an Initialization Connection Request (ICReq) and immediately closes the connection, target-side teardown may start in softirq context before io_work drains the already buffered ICReq. In that case, nvmet_tcp_schedule_release_queue() sets queue->state to NVMET_TCP_Q_DISCONNECTING and drops the queue reference under state_lock. If io_work later processes that ICReq, nvmet_tcp_handle_icreq() can still overwrite the state back to NVMET_TCP_Q_LIVE. That defeats the DISCONNECTING-state guard in nvmet_tcp_schedule_release_queue() and allows a later socket state change to re-enter teardown and issue a second kref_put() on an already released queue. The ICResp send failure path has the same problem. If teardown has already moved the queue to DISCONNECTING, a send error can still overwrite the state with NVMET_TCP_Q_FAILED, again reopening the window for a second teardown path to drop the queue reference. Fix this by serializing both post-send state transitions with state_lock and bailing out if teardown has already started. Use -ESHUTDOWN as an internal sentinel for that bail-out path rather than propagating it as a transport error like -ECONNRESET. Keep nvmet_tcp_socket_error() setting rcv_state to NVMET_TCP_RECV_ERR before honoring that sentinel so receive-side parsing stays quiesced until the existing release path completes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb/client: fix out-of-bounds read in smb2_compound_op() If a server sends a truncated response but a large OutputBufferLength, and terminates the EA list early, check_wsl_eas() returns success without validating that the entire OutputBufferLength fits within iov_len. Then smb2_compound_op() does: memcpy(idata->wsl.eas, data[0], size[0]); Where size[0] is OutputBufferLength. If iov_len is smaller than size[0], memcpy can read beyond the end of the rsp_iov allocation and leak adjacent kernel heap memory.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: fix GAIT table indexing due to double-scaling pointer arithmetic kvm_s390_pci_aif_enable(), kvm_s390_pci_aif_disable(), and aen_host_forward() index the GAIT by manually multiplying the index with sizeof(struct zpci_gaite). Since aift->gait is already a struct zpci_gaite pointer, this double-scales the offset, accessing element aisb*16 instead of aisb. This causes out-of-bounds accesses when aisb >= 32 (with ZPCI_NR_DEVICES=512) Fix by removing the erroneous sizeof multiplication.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: propagate nvmet_tcp_build_pdu_iovec() errors to its callers Currently, when nvmet_tcp_build_pdu_iovec() detects an out-of-bounds PDU length or offset, it triggers nvmet_tcp_fatal_error(cmd->queue) and returns early. However, because the function returns void, the callers are entirely unaware that a fatal error has occurred and that the cmd->recv_msg.msg_iter was left uninitialized. Callers such as nvmet_tcp_handle_h2c_data_pdu() proceed to blindly overwrite the queue state with queue->rcv_state = NVMET_TCP_RECV_DATA Consequently, the socket receiving loop may attempt to read incoming network data into the uninitialized iterator. Fix this by shifting the error handling responsibility to the callers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm log: fix out-of-bounds write due to region_count overflow The local variable region_count in create_log_context() is declared as unsigned int (32-bit), but dm_sector_div_up() returns sector_t (64-bit). When a device-mapper target has a sufficiently large ti->len with a small region_size, the division result can exceed UINT_MAX. The truncated value is then used to calculate bitset_size, causing clean_bits, sync_bits, and recovering_bits to be allocated far smaller than needed for the actual number of regions. Subsequent log operations (log_set_bit, log_clear_bit, log_test_bit) use region indices derived from the full untruncated region space, causing out-of-bounds writes to kernel heap memory allocated by vmalloc. This can be reproduced by creating a mirror target whose region_count overflows 32 bits: dmsetup create bigzero --table '0 8589934594 zero' dmsetup create mymirror --table '0 8589934594 mirror \ core 2 2 nosync 2 /dev/mapper/bigzero 0 \ /dev/mapper/bigzero 0' The status output confirms the truncation (sync_count=1 instead of 4294967297, because 0x100000001 was truncated to 1): $ dmsetup status mymirror 0 8589934594 mirror 2 254:1 254:1 1/4294967297 ... This leads to a kernel crash in core_in_sync: BUG: scheduling while atomic: (udev-worker)/9150/0x00000000 RIP: 0010:core_in_sync+0x14/0x30 [dm_log] CR2: 0000000000000008 Fixing recursive fault but reboot is needed! Fix by widening the local region_count to sector_t and adding an explicit overflow check before the value is assigned to lc->region_count.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix ld_{abs,ind} failure path analysis in subprogs Usage of ld_{abs,ind} instructions got extended into subprogs some time ago via commit 09b28d76eac4 ("bpf: Add abnormal return checks."). These are only allowed in subprograms when the latter are BTF annotated and have scalar return types. The code generator in bpf_gen_ld_abs() has an abnormal exit path (r0=0 + exit) from legacy cBPF times. While the enforcement is on scalar return types, the verifier must also simulate the path of abnormal exit if the packet data load via ld_{abs,ind} failed. This is currently not the case. Fix it by having the verifier simulate both success and failure paths, and extend it in similar ways as we do for tail calls. The success path (r0=unknown, continue to next insn) is pushed onto stack for later validation and the r0=0 and return to the caller is done on the fall-through side.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix buffer over-read in rtw_update_protection rtw_update_protection() is called with a pointer offset into the ies buffer but the full ie_length is passed, causing a potential buffer over-read.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: use kvfree() for replaced sysctl write buffer proc_sys_call_handler() allocates its temporary sysctl buffer with kvzalloc() and passes it to __cgroup_bpf_run_filter_sysctl(). Since kvzalloc() may fall back to vmalloc() for large allocations, freeing that buffer with kfree() is wrong and can corrupt memory. Use kvfree() to safely handle both kmalloc and kvzalloc()/vmalloc allocations. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc5. Reproduced the bug based on v7.1-rc4 in a QEMU x86_64 guest booted with KASAN and CONFIG_FAILSLAB enabled. To exercise the replacement path, the test tree also included the accompanying fix for the stale ret == 1 check in __cgroup_bpf_run_filter_sysctl(). The reproducer confines failslab injections to the proc_sys_call_handler() range, uses stacktrace-depth=32, and injects fail-nth=1 while writing 8191 bytes to /proc/sys/kernel/domainname from a task in the target cgroup. Under that setup, fail-nth=1 triggered the fault: BUG: unable to handle page fault for address: ffffeb0200024d48 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 SMP KASAN NOPTI CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4 PREEMPT(lazy) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 RIP: 0010:kfree+0x6e/0x510 ... Call Trace: <TASK> ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30 __cgroup_bpf_run_filter_sysctl+0x74d/0xc30 ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? __kvmalloc_node_noprof+0x345/0x870 ? proc_sys_call_handler+0x250/0x480 ? srso_return_thunk+0x5/0x5f proc_sys_call_handler+0x3a2/0x480 ? __pfx_proc_sys_call_handler+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? selinux_file_permission+0x39f/0x500 ? srso_return_thunk+0x5/0x5f ? lock_is_held_type+0x9e/0x120 vfs_write+0x98e/0x1000 ... </TASK> With this fix applied on top of the same test setup, rerunning the reproducer with fail-nth=1 yields no corresponding Oops reports.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rc: igorplugusb: fix control request setup packet Commit eac69475b01f ("media: rc: igorplugusb: heed coherency rules") changed the control request storage from an embedded struct to an allocated pointer so it can obey DMA coherency rules. However, the driver still passes &ir->request to usb_fill_control_urb(). That points the URB setup packet at the pointer field itself rather than at the allocated struct usb_ctrlrequest. USB core then interprets pointer bytes as the setup packet. This can produce an invalid bRequestType and trigger the control direction warning reported by syzbot: usb 2-1: BOGUS control dir, pipe 80003580 doesn't match bRequestType 0 Pass ir->request itself as the setup packet.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: Fix pid refcount leak in do_cpu_nanosleep() error path In do_cpu_nanosleep(), posix_cpu_timer_create() takes a pid reference via get_pid() and stores it in timer.it.cpu.pid. If the subsequent posix_cpu_timer_set() call fails, the function returns immediately without calling posix_cpu_timer_del() to release the pid reference, causing a leak. Fix it by calling posix_cpu_timer_del() before the unlock-and-return on the error path, consistent with the other exit paths in the same function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: harden POSIX SID length parsing posix_info_sid_size() reads sid[1] to obtain the subauthority count, but its existing boundary check still accepts buffers with only one remaining byte. Require two bytes before reading sid[1] so all client paths that reuse the helper reject truncated POSIX SIDs safely.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NTB: epf: Avoid calling pci_irq_vector() from hardirq context ntb_epf_vec_isr() calls pci_irq_vector() in hardirq context to derive the vector number. pci_irq_vector() calls msi_get_virq() that takes a mutex and can therefore trigger "scheduling while atomic" splats: BUG: scheduling while atomic: kworker/u33:0/55/0x00010001 ... Call trace: ... schedule+0x38/0x110 schedule_preempt_disabled+0x28/0x50 __mutex_lock.constprop.0+0x848/0x908 __mutex_lock_slowpath+0x18/0x30 mutex_lock+0x4c/0x60 msi_domain_get_virq+0xe8/0x138 pci_irq_vector+0x2c/0x60 ntb_epf_vec_isr+0x28/0x120 [ntb_hw_epf] __handle_irq_event_percpu+0x70/0x3a8 handle_irq_event+0x48/0x100 handle_edge_irq+0x100/0x1c8 ... Cache the Linux IRQ number for vector 0 when vectors are allocated and use it as a base in the ISR. Running the ISR in a threaded IRQ handler would also avoid the problem, but that would be unnecessary here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref l2cap_chan_timeout() runs asynchronously and accesses chan->conn. If the connection is torn down while the timer is running or pending, chan->conn can be freed, leading to a use-after-free when the timer worker attempts to lock conn->lock: | BUG: KASAN: slab-use-after-free in instrument_atomic_read_write include/linux/instrumented.h:112 [inline] | BUG: KASAN: slab-use-after-free in atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4456 [inline] | BUG: KASAN: slab-use-after-free in __mutex_trylock_fast kernel/locking/mutex.c:161 [inline] | BUG: KASAN: slab-use-after-free in mutex_lock+0x4f/0xa0 kernel/locking/mutex.c:318 | Write of size 8 at addr ffff8881298d9550 by task kworker/2:1/83 | | CPU: 2 UID: 0 PID: 83 Comm: kworker/2:1 Not tainted 7.1.0-rc6-next-20260601-dirty #6 PREEMPT(full) | Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014 | Workqueue: events l2cap_chan_timeout | Call Trace: | <TASK> | instrument_atomic_read_write include/linux/instrumented.h:112 [inline] | atomic_long_try_cmpxchg_acquire include/linux/atomic/atomic-instrumented.h:4456 [inline] | __mutex_trylock_fast kernel/locking/mutex.c:161 [inline] | mutex_lock+0x4f/0xa0 kernel/locking/mutex.c:318 | l2cap_chan_timeout+0x5d/0x1b0 net/bluetooth/l2cap_core.c:422 | process_one_work kernel/workqueue.c:3326 [inline] | process_scheduled_works+0x7c8/0xfb0 kernel/workqueue.c:3409 | worker_thread+0x8a9/0xcf0 kernel/workqueue.c:3490 | kthread+0x346/0x430 kernel/kthread.c:436 | ret_from_fork+0x1a3/0x470 arch/x86/kernel/process.c:158 | ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 | </TASK> | | Allocated by task 320: | l2cap_conn_add+0xa7/0x820 net/bluetooth/l2cap_core.c:7075 | l2cap_connect_cfm+0xdb/0xd70 net/bluetooth/l2cap_core.c:7452 | hci_connect_cfm include/net/bluetooth/hci_core.h:2139 [inline] | hci_remote_features_evt+0x52f/0x9f0 net/bluetooth/hci_event.c:3760 | hci_event_func net/bluetooth/hci_event.c:7796 [inline] | hci_event_packet+0x561/0xa70 net/bluetooth/hci_event.c:7847 | hci_rx_work+0x370/0x890 net/bluetooth/hci_core.c:4040 | process_one_work kernel/workqueue.c:3326 [inline] | process_scheduled_works+0x7c8/0xfb0 kernel/workqueue.c:3409 | worker_thread+0x8a9/0xcf0 kernel/workqueue.c:3490 | kthread+0x346/0x430 kernel/kthread.c:436 | ret_from_fork+0x1a3/0x470 arch/x86/kernel/process.c:158 | ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 | | Freed by task 322: | hci_disconn_cfm include/net/bluetooth/hci_core.h:2154 [inline] | hci_conn_hash_flush+0x101/0x1f0 net/bluetooth/hci_conn.c:2736 | hci_dev_close_sync+0x889/0xde0 net/bluetooth/hci_sync.c:5405 | hci_dev_do_close net/bluetooth/hci_core.c:502 [inline] | hci_unregister_dev+0x1f7/0x370 net/bluetooth/hci_core.c:2679 | vhci_release+0x12a/0x180 drivers/bluetooth/hci_vhci.c:690 | __fput+0x369/0x890 fs/file_table.c:510 | task_work_run+0x160/0x1d0 kernel/task_work.c:233 | get_signal+0xf5b/0x1120 kernel/signal.c:2810 | arch_do_signal_or_restart+0x4d/0x600 arch/x86/kernel/signal.c:337 | __exit_to_user_mode_loop kernel/entry/common.c:64 [inline] | exit_to_user_mode_loop+0x85/0x510 kernel/entry/common.c:98 | do_syscall_64+0x263/0x3d0 arch/x86/entry/syscall_64.c:100 | entry_SYSCALL_64_after_hwframe+0x77/0x7f | | The buggy address belongs to the object at ffff8881298d9400 | which belongs to the cache kmalloc-512 of size 512 | The buggy address is located 336 bytes inside of | freed 512-byte region [ffff8881298d9400, ffff8881298d9600) Fix it by having chan->conn hold a reference to l2cap_conn (via l2cap_conn_get) when the channel is added to the connection, and releasing it in the channel destructor. This ensures the l2cap_conn remains alive as long as the channel exists. A new FLAG_DEL channel flag is introduced to indicate that the ch ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: audit: Fix data races of skb_queue_len() readers on audit_queue Multiple readers access audit_queue.qlen via skb_queue_len() without holding the queue lock or using READ_ONCE(), while kauditd writes to this field via the skb_dequeue() -> __skb_unlink() path with WRITE_ONCE() protected by a spinlock. This constitutes data races. All affected skb_queue_len(&audit_queue) call sites: - kauditd_thread() wait_event_freezable() condition - audit_receive_msg() AUDIT_GET handler (s.backlog assignment) - audit_receive() backlog check - audit_log_start() backlog check and pr_warn() KCSAN reports the following conflicting access pattern (one example): ================================================================== BUG: KCSAN: data-race in audit_log_start / skb_dequeue write (marked) to 0xffffffff8512ee20 of 4 bytes by task 661 on cpu 57: skb_dequeue+0x70/0xf0 kauditd_send_queue+0x71/0x220 kauditd_thread+0x1cb/0x430 kthread+0x1c2/0x210 ret_from_fork+0x162/0x1a0 ret_from_fork_asm+0x1a/0x30 read to 0xffffffff8512ee20 of 4 bytes by task 36586 on cpu 1: audit_log_start+0x2a0/0x6b0 audit_core_dumps+0x64/0xa0 do_coredump+0x14b/0x1260 get_signal+0xeb2/0xf70 arch_do_signal_or_restart+0x41/0x170 exit_to_user_mode_loop+0xa2/0x1c0 do_syscall_64+0x1a3/0x1c0 entry_SYSCALL_64_after_hwframe+0x76/0xe0 value changed: 0x00000001 -> 0x00000000 ================================================================== Resolve the race by switching to lockless helper skb_queue_len_lockless(), which internally uses READ_ONCE() and properly pairs with the WRITE_ONCE() write accesses already present on the writer side. [PM: line length tweak]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB reads in rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr() Three IE/attribute parsing functions have missing bounds checks. rtw_get_sec_ie() and rtw_get_wapi_ie() iterate over a raw IE buffer without verifying that the header bytes (tag + length) are within the remaining buffer before reading them. Additionally, rtw_get_sec_ie() compares the 4-byte WPA OUI at cnt+2 without checking that at least 6 bytes remain, and rtw_get_wapi_ie() compares a 4-byte WAPI OUI at cnt+6 without checking that at least 10 bytes remain. rtw_get_wps_attr() reads wps_ie[0] and wps_ie+2 unconditionally at entry, before verifying that wps_ielen is large enough to contain the 6-byte WPS IE header (element_id + length + 4-byte OUI). Inside the attribute loop, get_unaligned_be16() is called on attr_ptr and attr_ptr+2 without checking that 4 bytes remain in the buffer. Add a cnt+2 bounds check before each loop body in rtw_get_sec_ie() and rtw_get_wapi_ie(), guard each multi-byte comparison with a minimum IE length requirement, add a wps_ielen < 6 early return in rtw_get_wps_attr(), and add a 4-byte bounds check in its inner loop.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/bugs: Enable IBPB flush on BPF JIT allocation Enable hardening against JIT spraying when Spectre-v2 mitigations are in use. Specifically, issue an IBPB flush on BPF JIT memory reuse. Skip enabling the IBPB flush if the BPF dispatcher is already using a retpoline sequence. This hardening applies only when BPF-JIT is in use. Guard the enabling under CONFIG_BPF_JIT so that bugs.c still builds with CONFIG_BPF_JIT=n.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Support for hardening against JIT spraying The BPF JIT allocator packs many small programs into larger executable allocations and reuses space within those allocations as programs are loaded and freed. When fresh code is written into space that a previous program occupied, an indirect jump into the new program can reuse a branch prediction left behind by the old one. Flush the indirect branch predictors before reusing JIT memory so that indirect jumps into a newly written program don't reuse predictions from an old program that occupied the same space. Introduce bpf_arch_pred_flush_enabled static key and bpf_arch_pred_flush static call for flushing the branch predictors on JIT memory reuse. Architectures that need a flush, can update it to a predictor flush function. By default, its a NOP and does not emit any CALL. Allocations larger than a pack are not covered by this flush. That is safe because cBPF programs (the unprivileged attack surface) are bounded well below a pack size. Issue a warning if this assumption is ever violated while the flush is active.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit The struct pernet_operations docstring in include/net/net_namespace.h explicitly warns against blocking RCU primitives in .exit handlers: Exit methods using blocking RCU primitives, such as synchronize_rcu(), should be implemented via exit_batch. [...] Please, avoid synchronize_rcu() at all, where it's possible. Note that a combination of pre_exit() and exit() can be used, since a synchronize_rcu() is guaranteed between the calls. xfrm_policy_fini() violates this: it calls synchronize_rcu() before freeing the policy_bydst hash tables (so no RCU reader is mid- traversal at free time), but runs from xfrm_net_ops.exit -- once per namespace -- so a cleanup_net() of N namespaces pays N full RCU grace periods serially. Use the documented pre_exit/exit split. Move the policy flush (and the workqueue drains it depends on) into a new .pre_exit handler; xfrm_policy_fini() then runs in .exit and frees the hash tables after the synchronize_rcu_expedited() that cleanup_net() guarantees between the two phases. Providing O(1) RCU grace periods per batch instead of O(N). Observed on Linux 6.18 with a workload doing unshare(CLONE_NEWNET) at ~13/sec sustained: cleanup_net() and the netns_wq rescuer kthread both stuck in xfrm_policy_fini()'s synchronize_rcu(), >300k struct net accumulated in the cleanup queue, Percpu in /proc/meminfo climbed to 130+ GB on 256-CPU hosts, and memcg OOMs followed. setup_net and __put_net counts were balanced, ruling out a refcount leak.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: check INIT_FAILED before nvmet_req_uninit in digest error path In nvmet_tcp_try_recv_ddgst(), when a data digest mismatch is detected, nvmet_req_uninit() is called unconditionally. However, if the command arrived via the nvmet_tcp_handle_req_failure() path, nvmet_req_init() had returned false and percpu_ref_tryget_live() was never executed. The unconditional percpu_ref_put() inside nvmet_req_uninit() then causes a refcount underflow, leading to a WARNING in percpu_ref_switch_to_atomic_rcu, a use-after-free diagnostic, and eventually a permanent workqueue deadlock. Check cmd->flags & NVMET_TCP_F_INIT_FAILED before calling nvmet_req_uninit(), matching the existing pattern in nvmet_tcp_execute_request().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: Fix potential UAF when ddgst mismatch Shivam Kumar found via vulnerability testing: When data digest is enabled on an NVMe/TCP connection and a digest mismatch occurs on a non-final H2C_DATA PDU during an R2T-based data transfer, the digest error handler in nvmet_tcp_try_recv_ddgst() calls nvmet_req_uninit() - which performs percpu_ref_put() on the submission queue - but does NOT mark the command as completed. It does not set cqe->status, does not modify rbytes_done, and does not clear any flag. When the subsequent fatal error triggers queue teardown, nvmet_tcp_uninit_data_in_cmds() iterates all commands, checks nvmet_tcp_need_data_in() for each one, and finds that the already-uninited command still appears to need data (because rbytes_done < transfer_len and cqe->status == 0). It therefore calls nvmet_req_uninit() a second time on the same command - a double percpu_ref_put against a single percpu_ref_get.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: binfmt_misc: set have_execfd only once the interpreter is opened load_misc_binary() raises bprm->have_execfd as soon as it sees the 'O' (or 'C') flag. This happens well before it opens the interpreter. If that open fails the flag stays set on the bprm. binfmt_misc is at the head of the format list so an interpreter open failure that returns -ENOEXEC lets the search fall through to a later format. This means it runs the matched binary directly having never staged an interpreter. So bprm->executable is NULL while have_execfd falsely claims a descriptor is present. Consequently, begin_new_exec() dereferences the missing executable: would_dump(bprm, bprm->executable); and NULL derefs. Had it not, the hand-off later in the same function would have failed anyway. FD_ADD(0, bprm->executable) rejects a NULL file with -ENOMEM. Both sites are past the point of no return so the exec cannot be unwound either way. This can be reached by unprivileged users as binfmt_misc can be mounted in user namespaces. So a user can register an 'O' entry whose interpreter lives on a FUSE mount, have the FUSE server fail the open with -ENOEXEC and execute a native ELF file that matches the entry. have_execfd only means anything alongside the executable it describes which is not set until the interpreter has been opened and staged. So lets raise it there, next to execfd_creds, which is already set at that point. An open failure now leaves it clear, so the fallback format derives credentials from the binary and emits no AT_EXECFD, as it would for any native exec. The argv rewrite load_misc_binary() performs before the open is still not undone. This means the binary sees the interpreter path in argv[0] and its own path in argv[1] but that predates this change and only became observable once the exec stopped faulting.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb/client: handle overlapping allocated ranges in fallocate smb3_simple_fallocate_range() can skip holes when an allocated range returned by the server starts before the current fallocate offset. The skipped hole is not zero-filled, but fallocate still returns success. A later write to that hole may therefore fail with ENOSPC. The function queries allocated ranges so that it can preserve existing contents and write zeroes only into holes. However, the server may return a range that starts before the current fallocate offset. For example, assume the fallocate request is [100, 400) and the only allocated range returned by the server is [0, 200): Request: [100, 400) Server range: [ 0, 200) allocated Correct: [100, 200) allocated data, skip [200, 400) hole, zero-fill Current: [100, 300) skipped [300, 400) zero-filled afterwards The current code adds the full server range length, 200, to the current offset 100 and moves to 300. As a result, the hole in [200, 300) is skipped without being zero-filled. Fix this by advancing only over the part of the allocated range that overlaps the current fallocate offset. Ignore ranges that end before the current offset and reject ranges whose end offset overflows. This also prevents a malformed range length from causing an out-of-bounds zero-buffer read.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: use kvzalloc to allocate struct dc struct dc has grown large over time (most of it the two inlined dc_scratch_space copies) and now sits close to the page allocator's 4 MiB contiguous allocation limit. Its actual size is not fixed by the source alone, it also depends on the compiler and the .config, so it can easily cross 4 MiB, e.g. with a newer GCC or a config change. dc_create() allocates it with kzalloc(). Once struct dc exceeds 4 MiB the request is rounded up to order 11 (8 MiB), which is above MAX_PAGE_ORDER, so the page allocator warns and returns NULL. dc_create() then fails, DM init fails and amdgpu probe aborts with -EINVAL: WARNING: mm/page_alloc.c:5197 at __alloc_frozen_pages_noprof+0x2f9/0x380 dc_create+0x38/0x660 [amdgpu] amdgpu_dm_init+0x2d9/0x510 [amdgpu] dm_hw_init+0x1b/0x90 [amdgpu] amdgpu_device_init.cold+0x150d/0x1e13 [amdgpu] amdgpu_driver_load_kms+0x19/0x80 [amdgpu] amdgpu_pci_probe+0x1e2/0x4c0 [amdgpu] dc_create() then returns NULL and DM init fails, which aborts the whole GPU init and makes amdgpu probe fail with -EINVAL ("hw_init of IP block <dm> failed -22"), leaving the display unusable. The subsequent amdgpu_irq_put() warnings during teardown are just fallout of unwinding a half-initialized device. struct dc is a software-only bookkeeping structure that is never handed to hardware DMA and is only ever kept as an opaque pointer, so it does not require physically contiguous memory. Allocate it with kvzalloc() (and free it with kvfree()) so that the allocator can fall back to vmalloc() when a contiguous allocation of that size is not available, which also avoids the MAX_PAGE_ORDER warning entirely. v2: - Rebase to amd-staging-drm-next. (cherry picked from commit 991e0516a8072f2292681c6ae98a924ab0e32575)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: clamp v9 CRIU control stack checkpoint copy to BO size CRIU checkpoint copies the MQD control stack using cp_hqd_cntl_stack_size from hardware without bounding it to the allocated BO region. If the HW field is larger than the queue's control stack allocation, memcpy reads past the BO into adjacent GTT memory and can leak kernel data to userspace. Store the page-aligned control stack BO size in mqd_manager and clamp checkpoint copies and reported checkpoint sizes to min(cp_hqd_cntl_stack_size, mm->ctl_stack_size). Apply the same bound for multi-XCC v9.4.3 checkpoint layout. (cherry picked from commit 6c2abd0ec09e86c6323010673766f76050e28aa3)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix potential deadlock in f2fs_balance_fs() When the f2fs filesystem space is nearly exhausted, we encounter deadlock issues as below: INFO: task A:1890 blocked for more than 120 seconds. Tainted: G O 6.12.41-g3fe07ddf05ab #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:A state:D stack:0 pid:1890 tgid:1626 ppid:1153 flags:0x00000204 Call trace: __switch_to+0xf4/0x158 __schedule+0x27c/0x908 schedule+0x3c/0x118 io_schedule+0x44/0x68 folio_wait_bit_common+0x174/0x370 folio_wait_bit+0x20/0x38 folio_wait_writeback+0x54/0xc8 truncate_inode_partial_folio+0x70/0x1e0 truncate_inode_pages_range+0x1b0/0x450 truncate_pagecache+0x54/0x88 f2fs_file_write_iter+0x3e8/0xb80 do_iter_readv_writev+0xf0/0x1e0 vfs_writev+0x138/0x2c8 do_writev+0x88/0x130 __arm64_sys_writev+0x28/0x40 invoke_syscall+0x50/0x120 el0_svc_common.constprop.0+0xc8/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x30/0xf8 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x190/0x198 INFO: task kworker/u8:11:2680853 blocked for more than 120 seconds. Tainted: G O 6.12.41-g3fe07ddf05ab #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/u8:11 state:D stack:0 pid:2680853 tgid:2680853 ppid:2 flags:0x00000208 Workqueue: writeback wb_workfn (flush-254:0) Call trace: __switch_to+0xf4/0x158 __schedule+0x27c/0x908 schedule+0x3c/0x118 io_schedule+0x44/0x68 folio_wait_bit_common+0x174/0x370 __filemap_get_folio+0x214/0x348 pagecache_get_page+0x20/0x70 f2fs_get_read_data_page+0x150/0x3e8 f2fs_get_lock_data_page+0x2c/0x160 move_data_page+0x50/0x478 do_garbage_collect+0xd38/0x1528 f2fs_gc+0x240/0x7e0 f2fs_balance_fs+0x1a0/0x208 f2fs_write_single_data_page+0x6e4/0x730 f2fs_write_cache_pages+0x378/0x9b0 f2fs_write_data_pages+0x2e4/0x388 do_writepages+0x8c/0x2c8 __writeback_single_inode+0x4c/0x498 writeback_sb_inodes+0x234/0x4a8 __writeback_inodes_wb+0x58/0x118 wb_writeback+0x2f8/0x3c0 wb_workfn+0x2c4/0x508 process_one_work+0x180/0x408 worker_thread+0x258/0x368 kthread+0x118/0x128 ret_from_fork+0x10/0x200 INFO: task kworker/u8:8:2641297 blocked for more than 120 seconds. Tainted: G O 6.12.41-g3fe07ddf05ab #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:kworker/u8:8 state:D stack:0 pid:2641297 tgid:2641297 ppid:2 flags:0x00000208 Workqueue: writeback wb_workfn (flush-254:0) Call trace: __switch_to+0xf4/0x158 __schedule+0x27c/0x908 rt_mutex_schedule+0x30/0x60 __rt_mutex_slowlock_locked.constprop.0+0x460/0x8a8 rwbase_write_lock+0x24c/0x378 down_write+0x1c/0x30 f2fs_balance_fs+0x184/0x208 f2fs_write_inode+0xf4/0x328 __writeback_single_inode+0x370/0x498 writeback_sb_inodes+0x234/0x4a8 __writeback_inodes_wb+0x58/0x118 wb_writeback+0x2f8/0x3c0 wb_workfn+0x2c4/0x508 process_one_work+0x180/0x408 worker_thread+0x258/0x368 kthread+0x118/0x128 ret_from_fork+0x10/0x20 INFO: task B:1902 blocked for more than 120 seconds. Tainted: G O 6.12.41-g3fe07ddf05ab #1 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. task:B state:D stack:0 pid:1902 tgid:1626 ppid:1153 flags:0x0000020c Call trace: __switch_to+0xf4/0x158 __schedule+0x27c/0x908 rt_mutex_schedule+0x30/0x60 __rt_mutex_slowlock_locked.constprop.0+0x460/0x8a8 rwbase_write_lock+0x24c/0x378 down_write+0x1c/0x30 f2fs_balance_fs+0x184/0x208 f2fs_map_blocks+0x94c/0x1110 f2fs_file_write_iter+0x228/0xb80 do_iter_readv_writev+0xf0/0x1e0 vfs_writev+0x138/0x2c8 do_writev+0x88/0x130 __arm64_sys_writev+0x28/0x40 invoke_syscall+0x50/0x120 el0_svc_common.constprop.0+0xc8/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x30/0xf8 el0t_64_sync_handler+0x120/0x130 el0t_64_sync+0x190/0x198 INFO: task sync:2769849 blocked for more than 120 seconds. Tainted: G ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: lpc32xx_slc: fail DMA transfer on completion timeout lpc32xx_xmit_dma() waits for the DMA completion callback but ignores wait_for_completion_timeout(). A timed out DMA transfer is therefore unmapped and reported as successful to the NAND read/write path. Return -ETIMEDOUT when the completion wait expires. Terminate the DMA channel before unmapping the scatterlist so the timed out transfer cannot continue to access the buffer after the error is returned.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: mchp23k256: use SPI match data for chip caps The driver stores chip capacity information in both the OF match table and the SPI id table. Probe currently uses of_device_get_match_data(), so a non-OF SPI modalias match falls back to mchp23k256_caps even when the SPI id table selected a different part. Use spi_get_device_match_data() so SPI id-table driver_data is consumed when OF match data is absent. This keeps the existing default fallback while avoiding the wrong MTD geometry for id-table-only matches.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: fix permanently busy scans after multiple roam iterations In order for the firmware to sleep, the driver has to confirm a previously received sleep request. The normal sequence of evets goes like this: EVENT_SLEEP -> adapter->ps_state = PS_STATE_PRE_SLEEP -> sleep-confirm -> SLEEP -> EVENT_AWAKE -> AWAKE. Before sending the sleep-confirm command, the driver must make sure there are no commands either running or waiting to be completed. mwifiex_ret_802_11_associate() unconditionally sets ps_state = PS_STATE_AWAKE when it processes the association command response, outside of the normal powersave management flow. If EVENT_SLEEP arrives while the association command is in flight, ps_state is PRE_SLEEP when the association command response is parsed, and the forced AWAKE overwrites it. The deferred sleep-confirm is never sent. A subsequent scan_start command is correctly acknowledged, but the firmware doesn't generate scan_result events. The scan request never finishes, and additional requests from userspace fail with -EBUSY. After testing on both IW412 and W8997, I could only trigger the bug on the IW412 and observed the firmwares behave differently. On the IW412 the firmware still sends EVENT_SLEEP while the authentication / association process is ongoing. A W8997 under the same conditions seems to suppress power-save for the duration of the association, so PRE_SLEEP never coincided with the association response even after extended periods of testing using the loops described below (>12hours). On the IW412, the delay between commands that triggers an EVENT_SLEEP was empirically determined to be ~20ms. This delay can naturally occur when the driver is outputting debugging information (debug_mask = 0x00000037), in which situation the busy scans issue is repeatable while running "test 1)" as described below. If the delay between commands is less than ~20ms, the firmware stays awake and the issue was not reproducible running the same test. The host_mlme=false path also behaves differently. In this case, the entire authentication / association transaction is executed by one command (HostCmd_CMD_802_11_ASSOCIATE), and the firmware doesn't emit EVENT_SLEEP while the command is running. Remove the assignment so the ps_state is only manipulated in the paths that are related to powersave event handling and on the main workqueue for correct sleep confirmation. The following loop tests were performed (with debugging output enabled): 1) force roaming between two AP's, one 5GHz and one 2.4GHz, same SSID. Use wpa_cli to trigger the roaming behavior, sleep 2s between iterations. 2) force a disconnection to AP 1 and a connection to AP 2, test scan. Use wpa_cli to trigger the connection changes, sleep 2s between iterations. Each test ran in each device for at least 3 hours.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: reset: sunxi: fix memory region leak on ioremap failure In sunxi_reset_init(), when ioremap() fails, the memory region obtained via request_mem_region() is not released, leading to a resource leak. Add an err_mem_region label to properly release the memory region before freeing the data structure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: memstick: ms_block: reject a card that reports too many blocks msb_ftl_initialize() computes the zone count from the card block count with no bound: msb->zone_count = msb->block_count / MS_BLOCKS_IN_ZONE; ... for (i = 0; i < msb->zone_count; i++) msb->free_block_count[i] = MS_BLOCKS_IN_ZONE; msb->block_count is a card value. msb_read_boot_blocks() reads number_of_blocks from the card boot page and byte swaps it. free_block_count is a fixed int[MS_MAX_ZONES]. MS_MAX_ZONES is 16, so the valid indices are 0 to 15. The init loop above indexes it by zone_count. msb_mark_block_used() and msb_mark_block_unused() index it by pba / MS_BLOCKS_IN_ZONE, for pba up to block_count - 1. A card may report up to 65535 blocks. A block_count above 8192 (MS_MAX_ZONES * MS_BLOCKS_IN_ZONE) lets the pba index reach 16. That writes past free_block_count[] and corrupts struct msb_data. A larger count runs the init loop past the end too. A real Memory Stick has at most 16 zones. So it has at most 8192 blocks. msb_ftl_initialize() now rejects a card that reports more than MS_MAX_ZONES * MS_BLOCKS_IN_ZONE blocks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btrtl: validate firmware patch bounds rtlbt_parse_firmware() copies patch_length - 4 bytes before appending the firmware version. A malformed firmware patch shorter than the version field can make this subtraction underflow and turn the copy into an oversized read and write during Bluetooth setup. The existing patch_offset + patch_length check can also wrap on 32-bit architectures. Validate the patch length and range without arithmetic overflow before allocating or copying the patch.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix memory leak in ieee80211_register_hw() If kmemdup() fails while copying supported band structures, the error path jumps to fail_rate. This skips rate_control_deinitialize() and leaks the initialized local->rate_ctrl. Fix this by adding a fail_band label that shares the rate-control cleanup path before falling through to the remaining teardown. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc7. An x86_64 allyesconfig build showed no new warnings. As we do not have a suitable mac80211 device/driver combination to test with, no runtime testing was able to be performed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rt2x00: avoid full teardown before work setup in probe rt2x00lib_probe_dev() uses the full rt2x00lib_remove_dev() teardown for all probe failures. However, drv_data allocation and workqueue allocation can fail before intf_work, autowakeup_work and sleep_work have been initialized. Do not enter the full remove path until the probe has reached the point where those work items are set up. Return directly for drv_data allocation failure, and use a small early cleanup path for workqueue allocation failure. This issue was found by our static analysis tool and then confirmed by manual review of rt2x00lib_probe_dev() and rt2x00lib_remove_dev(). The early probe exits should not call a common teardown path that assumes the later work setup has already completed. A QEMU PoC forced alloc_ordered_workqueue() to fail before the work initializers are reached. The resulting fail path entered rt2x00lib_remove_dev(), and DEBUG_OBJECTS reported invalid work drains with rt2x00lib_probe_dev() and rt2x00lib_remove_dev() in the stack.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed Creating a child cpuset where cpuset.mems is never set leads to a div/0 when a VMA mempolicy with MPOL_F_RELATIVE_NODES rebinds in response to a CPU hotplug event. Reproduction steps: 1) Create a cgroup w/ cpuset controls (do not set cpuset.mems) 2) Move the task into the child cpuset 3) Create a VMA mempolicy for that task with MPOL_F_RELATIVE_NODES 4) unplug and hotplug a cpu echo 0 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu1/online 5) mempolicy rebind does a div/0 in mpol_relative_nodemask on the call to __nodes_fold() The cpuset code passes (cs->mems_allowed) which is not guaranteed to have nodes to the rebind routine. Use cs->effective_mems instead, which is guaranteed to have a non-empty nodemask once we reach that code path. [ david: add a comment, slightly rephrase description ]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: iosm: bound device offsets in the MUX downlink decoder mux_dl_adb_decode() walks a chain of aggregated datagram tables using offsets and lengths taken from the modem. first_table_index, next_table_index, table_length, datagram_index and datagram_length are all device supplied le values. Only first_table_index was checked, and only for being non zero. The decoder then formed adth = block + adth_index and read the table header and the datagram entries with no bound against the received skb. A modem that reports an index or a length past the downlink buffer makes the decoder read out of bounds. The buffer is IPC_MEM_MAX_DL_MUX_LITE_BUF_SIZE and skb->len is at most that, so skb->len is the real limit, but none of these in band offsets were checked against it. The table chain is also followed with no forward progress check. The loop takes the next table from adth->next_table_index and stops only when that reaches zero. A modem can stage two tables that point at each other, so the loop never ends. It runs in softirq and clones the skb on every pass. Validate every device offset and length against skb->len before use. The block header must fit. Each table header, on entry and after every next_table_index, must lie inside the skb. The datagram table must fit. Each datagram index and length must stay inside the skb. The header padding must not exceed the datagram length so the receive length does not wrap. Require each next_table_index to move forward so the chain cannot cycle. This was reproduced under KASAN as a slab out of bounds read on a normal downlink receive once the iosm net device is up.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: ca8210: fix pointer truncation in kfifo on 64-bit ca8210_test_int_driver_write() and ca8210_test_int_user_read() exchange a kmalloc'd buffer pointer through a struct kfifo, but pass a literal '4' as the byte count to kfifo_in()/kfifo_out(). This is correct on 32-bit (pointer = 4 bytes), but on 64-bit only the low 4 bytes of the 8-byte pointer are written into the FIFO. The reader then reads back 4 bytes into an 8-byte local pointer variable, leaving the upper 4 bytes uninitialized stack data. The first dereference of the reconstructed pointer (fifo_buffer[1]) accesses an arbitrary kernel address and generally results in an oops. Use sizeof(fifo_buffer) so the byte count matches pointer width on every architecture. The driver has no architecture restriction in Kconfig, so any 64-bit build with CONFIG_IEEE802154_CA8210_DEBUGFS=y is exposed. Issue has been latent since the driver was added in 2017 because it is most commonly deployed on 32-bit MCUs. Found via a custom Coccinelle semantic patch hunting for short-byte kfifo I/O on byte-mode kfifos used to shuttle pointers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: ca8210: fix cas_ctl leak on spi_async failure ca8210_spi_transfer() allocates cas_ctl with kzalloc_obj(GFP_ATOMIC) and relies entirely on the SPI completion callback ca8210_spi_transfer_complete() to free it. The spi_async() API only invokes the completion callback on successful submission. On failure it returns a negative error code without ever queuing the callback, which leaves cas_ctl and its embedded spi_message and spi_transfer orphaned. Every kfree(cas_ctl) in the driver is inside the completion callback, so there is no other reclamation path. ca8210_spi_transfer() is called from ca8210_spi_exchange(), the interrupt handler ca8210_interrupt_handler(), and from the retry path inside the completion callback itself. The exchange and interrupt handler paths loop on -EBUSY, so under sustained SPI bus contention every retry iteration leaks a fresh cas_ctl (~600 bytes per occurrence). Fix it by freeing cas_ctl on the spi_async() error path. While here, correct the misleading error string: the function calls spi_async(), not spi_sync().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: admin-gate legacy LLSEC dump operations In net/ieee802154/netlink.c, the legacy IEEE802154_NL family ops table builds the LLSEC dump entries (LLSEC_LIST_KEY, LLSEC_LIST_DEV, LLSEC_LIST_DEVKEY, LLSEC_LIST_SECLEVEL) with IEEE802154_DUMP() which sets no .flags, so generic netlink runs them ungated. The modern nl802154 family admin-gates the equivalent reads via NL802154_CMD_GET_SEC_KEY and friends with .flags = GENL_ADMIN_PERM. Any local uid that can open AF_NETLINK / NETLINK_GENERIC can resolve the "802.15.4 MAC" family and dump LLSEC_LIST_KEY on any wpan netdev that has an LLSEC key installed; the dump handler writes the raw 16-byte AES-128 key bytes (IEEE802154_ATTR_LLSEC_KEY_BYTES, copied verbatim from struct ieee802154_llsec_key.key) into the reply. Recovering the AES key compromises 802.15.4 LLSEC link confidentiality and authenticity, since LLSEC uses CCM* and the same key authenticates and encrypts frames. Impact: any local uid with no capabilities can read the raw 16-byte AES-128 LLSEC key from the kernel keytable on any wpan netdev that has an administrator-installed LLSEC key, by issuing an LLSEC_LIST_KEY dump on the legacy IEEE802154_NL generic-netlink family. Introduce IEEE802154_DUMP_PRIV() mirroring IEEE802154_DUMP() but setting .flags = GENL_ADMIN_PERM, and use it for the four LLSEC dump entries. LIST_PHY and LIST_IFACE retain IEEE802154_DUMP() because the modern nl802154 family exposes their equivalents to unprivileged readers by design (NL802154_CMD_GET_WPAN_PHY and NL802154_CMD_GET_INTERFACE carry "can be retrieved by unprivileged users" annotations).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: destroy DMA pool on CLDMA late init failure t7xx_cldma_late_init() creates md_ctrl->gpd_dmapool before initializing the TX and RX rings. If any ring initialization fails, the error path frees the already initialized rings but leaves the DMA pool allocated. Destroy md_ctrl->gpd_dmapool on the late-init failure path to avoid leaking the DMA pool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: Sync page pool RX frags for CPU MANA allocates RX buffers from page pool fragments when frag_count is greater than 1. In that case the buffers remain DMA mapped by page pool and the RX completion path does not call dma_unmap_single(). As a result, the implicit sync-for-CPU normally performed by dma_unmap_single() is missing before the packet data is passed to the networking stack. This breaks RX on configurations which require explicit DMA syncing, for example when booted with swiotlb=force. Fix this by recording the page pool page and DMA sync offset when the RX buffer is allocated, and syncing the received packet range for CPU access before handing the RX buffer to the stack.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: Validate the packet length reported by the NIC Validate the packet length reported in the RX CQE before passing it to skb processing. The CQE is supplied by the NIC device and should not be blindly trusted.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: vub300: fix use-after-free on probe failure The vub300 driver lifetime-manages its controller state using vub300->kref, with vub300_delete() freeing the mmc host when the last reference is dropped. The probe error path after the inactivity timer has been armed still bypasses that lifetime rule, however, and falls through to mmc_free_host() directly if mmc_add_host() fails. The race window is between arming the inactivity timer and reaching the probe error unwind after mmc_add_host() fails: probe thread timer/workqueue ------------ --------------- kref_init(&vub300->kref) ref = 1 kref_get(&vub300->kref) ref = 2, timer ref add_timer(inactivity_timer) fires after one second | | race window |<----------------------------------------------------> | mmc_add_host(mmc) inactivity timer fires vub300_queue_dead_work() kref_get() ref = 3 queue_work(deadwork) mmc_add_host() fails timer_delete_sync() mmc_free_host(mmc) frees vub300 deadwork runs use-after-free The inactivity timeout is one second, so this would require mmc_add_host() to both fail and take more than one second to do so. This is unlikely to happen in practice, but the error path is still wrong. timer_delete_sync() only waits for the timer callback itself. It does not flush deadwork that the callback may already have queued. As a result, queued deadwork can still hold a kref while the probe error path directly frees the backing mmc host, including the vub300 storage. Fix this by using the same lifetime mechanism as disconnect. Clear vub300->interface so that the timer callback and any queued deadwork return early and drop their references, then drop the initial probe reference and return without falling through to err_free_host.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix type confusion in CDC union descriptor parsing The driver currently trusts the bMasterInterface0 from the CDC union descriptor without verifying that it matches the interface being probed. This could lead to the driver overwriting the private data of another interface. Validate that the control interface found in the descriptor is indeed the one we are probing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix race condition in reset_device sysfs callback The ims_pcu_reset_device() sysfs callback calls ims_pcu_execute_command() without acquiring pcu->cmd_mutex. This can lead to data races and corruption of the shared command buffer if triggered concurrently with other commands. Acquire pcu->cmd_mutex before calling ims_pcu_execute_command().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix out-of-bounds read in ims_pcu_irq() debug logging The debug logging in ims_pcu_irq() unconditionally prints data from pcu->urb_in_buf. However, if the interrupt fired for pcu->urb_ctrl, the actual data resides in pcu->urb_ctrl_buf. If urb->actual_length for the control URB exceeds pcu->max_in_size, this leads to an out-of-bounds read. Fix this by printing from the correct buffer associated with the URB.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix firmware leak in async update The firmware object was not being released if validation failed. Use __free(firmware) to ensure the firmware is always released.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - validate control endpoint type The driver currently assumes that the first endpoint of the control interface is an interrupt IN endpoint without verifying it. A malicious device could provide a different endpoint type, which would then be passed to usb_fill_int_urb(), potentially leading to kernel warnings or undefined behavior. Verify that the control endpoint is an interrupt IN endpoint.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix use-after-free and double-free in disconnect ims_pcu_disconnect() only intended to perform cleanup when the primary (control) interface is unbound. However, it currently relies on the interface class to distinguish between control and data interfaces. A malicious device could present a data interface with the same class as the control interface, leading to premature cleanup and potential use-after-free or double-free. Switch to verifying that the interface being disconnected is indeed the control interface.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Reject firmware log with size smaller than header fw_log_from_bo() validates the tracing buffer header_size and that the log fits within the BO, but never checks that log->size is at least log->header_size. fw_log_print_buffer() then computes: u32 data_size = log->size - log->header_size; which underflows to a near-U32_MAX value when firmware reports a log whose size is smaller than its header. That huge data_size defeats the log_start/log_end bounds clamps added by commit dd1311bcf0e6 ("accel/ivpu: Add bounds checks for firmware log indices"), so fw_log_print_lines() reads far past the small real data region of the BO. A size of 0 also makes fw_log_from_bo() advance the offset by 0, causing the callers to loop forever on the same header. Reject logs whose size is smaller than the header (which also rejects size == 0).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dm-log: fix a bitset_size overflow on 32bit machines Commit c20e36b7631d ("dm log: fix out-of-bounds write due to region_count overflow") made sure that region_count could fit in an unsigned int. But the bitmap memory isn't allocated based on region_count. It uses bitset_size (a size_t variable). The first step of calculating bitset_size is to set it to region_count, rounded up to a multiple of BITS_PER_LONG. If region_size is less than BITS_PER_LONG smaller than UINT_MAX, it will get rounded up to 2^32. On a 32bit architecture, this will make bitset_size wrap around to 0 and fail, despite region_count being valid. Since bitset_size gets divided by 8, it can hold any valid region_count. It just needs a special case to handle the rollover. If it is 0, the value rolled over, and bitset size should be set to the number of bytes needed to hold 2^32 bits.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf,fork: wipe ->bpf_storage before bailouts that access it Currently, copy_process() can bail out to free_task() before p->bpf_storage has been initialized, with this call graph (shown here for the !CONFIG_MEMCG case): copy_process dup_task_struct arch_dup_task_struct [copies the entire task_struct, including ->bpf_storage member] [RLIMIT_NPROC check fails] delayed_free_task free_task bpf_task_storage_free rcu_dereference(task->bpf_storage) bpf_local_storage_destroy In this case, the nascent task's ->bpf_storage member that bpf_local_storage_destroy() operates on is a plain copy of the parent's ->bpf_storage pointer, not a real initialized pointer. This leads to badness (kernel hangs, UAF). This is reachable as long as the process calling fork() has been inserted into a task storage map.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Reset register bounds before narrowing retval range in check_mem_access() When the BPF verifier processes a context load of an LSM hook return value, it calls __mark_reg_s32_range() to narrow the register to the hook's valid range. However, __mark_reg_s32_range() intersects the new range with the register's existing bounds using max_t()/min_t() rather than replacing them. If the destination register carries stale bounds from a prior instruction (e.g. BPF_MOV64_IMM), the intersection can produce a range narrower than reality. The verifier then believes it knows the register's exact value, while at runtime the actual hook return value is loaded, creating a verifier/runtime mismatch that can be used to bypass BPF memory safety checks. The else branch already calls mark_reg_unknown() to reset register state before any narrowing. Apply the same reset in the is_retval path so stale bounds are cleared before __mark_reg_s32_range() intersects.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: bcm: add missing rcu list annotations and operations sashiko-bot remarked the missing use of list_add_rcu() in bcm_[rx|tx]_setup() to have a proper initialized bcm_op structure when bcm_proc_show() traverses the bcm_op's under rcu_read_lock(). To cover all initial settings of the bcm_op's the list_add_rcu() calls are moved to the end of the setup code. While at it, also fix the mirroring removal side: bcm_release() called bcm_remove_op() - which frees the op via call_rcu() - on ops that were still linked in bo->tx_ops/bo->rx_ops, without list_del_rcu() first. Unlink each op with list_del_rcu() before handing it to bcm_remove_op(), matching the existing pattern in bcm_delete_tx_op()/bcm_delete_rx_op().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: bcm: fix lockless bound/ifindex race and silent RX_SETUP failure bcm_sendmsg() reads bo->ifindex and checks bo->bound before taking lock_sock(), while bcm_notify(), bcm_connect() and bcm_release() all mutate both fields under that same lock. Because the lockless reads and the locked writes are unordered with respect to each other, a racing bcm_notify() (device unregister) or bcm_connect() (concurrent bind on another thread sharing the socket) can make bcm_sendmsg() observe an inconsistent combination, e.g. a stale bound=1 together with the now-cleared ifindex=0, silently turning a socket bound to a specific CAN interface into one that also matches "any" interface. Keep the lockless bo->bound check purely as a fast-path reject, and move the ifindex read (and a bo->bound re-check) into the locked section, where every writer already serializes. This removes the possibility of observing the two fields torn against each other, rather than trying to fix it with more READ_ONCE()/WRITE_ONCE() pairs on two independently updated fields. Annotate the now-purely-lockless bo->bound accesses consistently across all its write sites. Also fix bcm_rx_setup() silently returning success when the target device disappears concurrently instead of reporting -ENODEV, so a broken RX op is no longer left registered as if it had succeeded.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: isotp: use unconditional synchronize_rcu() in isotp_release() isotp_notify() unregisters the (RCU) CAN filters via can_rx_unregister() and clears so->bound without waiting for a grace period. isotp_release() uses so->bound to decide whether it needs to call synchronize_rcu() before cancelling so->rxtimer, so when NETDEV_UNREGISTER runs first it skips that synchronize_rcu() and can cancel the timer while an in-flight isotp_rcv() is still executing and about to re-arm it via isotp_send_fc(), leading to a use-after-free timer callback on the freed socket. sakisho-bot remarked a problem with rtnl_lock held in isotp_notify(), therefore make isotp_release() always call synchronize_rcu() before cancelling the timers, regardless of so->bound. This still closes the original race (isotp_notify() clearing so->bound without waiting for in-flight isotp_rcv() callers before isotp_release() cancels the RX timer) without adding any RCU wait to the netdevice notifier path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: uniphier: Fix completion initialization order before devm_request_irq() The driver calls devm_request_irq() before initializing the completion used by the interrupt handler. Because the interrupt may occur immediately after devm_request_irq(), the handler may execute before init_completion(). This may result in calling complete() on an uninitialized completion, causing undefined behavior. This has been observed with KASAN. Fix this by initializing the completion before registering the IRQ.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: mlxbf: Fix use-after-free in mlxbf_i2c_init_resource() If devm_platform_get_and_ioremap_resource() returns an error, mlxbf_i2c_init_resource() frees tmp_res before reading tmp_res->io to get the error code. This results in a use-after-free. Save the error code before freeing tmp_res.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: fix locked bus on SMBus block-read of 0 (atomic) SMBus 3.1 6.5.7 allows a Block Read byte count of 0, but the atomic (polling) path rejects it as -EPROTO. Worse, it returns without a NACK+STOP: the next receive cycle has already started, so the target keeps holding SDA and the bus stays stuck until a power cycle for this i2c controller. Reading I2DR to obtain the count likewise arms the next byte on the count > I2C_SMBUS_BLOCK_MAX path, which also returned -EPROTO directly and left the bus held. Handle both: NACK the in-flight dummy byte (TXAK) and extend msgs->len so the existing last-byte handling emits STOP; the dummy byte is discarded. A count of 0 is a valid empty block read; a count above I2C_SMBUS_BLOCK_MAX is still reported as -EPROTO, but only after the bus has been released. The interrupt-driven path has the same flaw from a later commit and is fixed separately, as it carries a different Fixes: tag and stable range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw-edma: Add spinlock to protect DONE_INT_MASK and ABORT_INT_MASK The DONE_INT_MASK and ABORT_INT_MASK registers are shared by all DMA channels, and modifying them requires a read-modify-write sequence. Because this operation is not atomic, concurrent calls to dw_edma_v0_core_start() can introduce race conditions if two channels update these registers simultaneously. Add a spinlock to serialize access to these registers and prevent race conditions. [den: update dw_edma.lock comment]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: tegra: Fix burst size calculation Currently, the Tegra GPC DMA hardware requires the transfer length to be a multiple of the max burst size configured for the channel. When a client requests a transfer where the length is not evenly divisible by the configured max burst size, the DMA hangs with partial burst at the end. Fix this by reducing the burst size to the largest power-of-2 value that evenly divides the transfer length. For example, a 40-byte transfer with a 16-byte max burst will now use an 8-byte burst (40 / 8 = 5 complete bursts) instead of causing a hang. This issue was observed with the PL011 UART driver where TX DMA transfers of arbitrary lengths were stuck.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tpm: tpm_tis_spi: Use wait_woken() in wait_for_tmp_stat() wait_event_interruptible_timeout() evaluates its condition after setting the current task state to TASK_INTERRUPTIBLE. With CONFIG_DEBUG_ATOMIC_SLEEP this triggers a warning when the IRQ wait path is used: tpm_tis_status() tpm_tis_spi_read_bytes() tpm_tis_spi_transfer_full() spi_bus_lock() mutex_lock() Address this with the following measures: 1. Call wait_tpm_stat_cond() only while tasking is running. 2. Use wait_woken() to wait for changes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: spi-nor: swp: Improve locking user experience In the case of the first block being locked (or the few first blocks), if the user want to fully unlock the device it has two possibilities: - either it asks to unlock the entire device, and this works; - or it asks to unlock just the block(s) that are currently locked, which fails. It fails because the conditions "can_be_top" and "can_be_bottom" are true. Indeed, in this case, we unlock everything, so the TB bit does not matter. However in the current implementation, use_top would be true (as this is the favourite option) and lock_len, which in practice should be reduced down to 0, is set to "nor->params->size - (ofs + len)" which is a positive number. This is wrong. An easy way is to simply add an extra condition. In the unlock() path, if we can achieve the same result from both sides, it means we unlock everything and lock_len must simply be 0. A comment is added to clarify that logic.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fpga: microchip-spi: fix zero header_size OOB read in mpf_ops_parse_header() mpf_ops_parse_header() reads header_size from the bitstream at MPF_HEADER_SIZE_OFFSET (24). When header_size is zero, the expression *(buf + header_size - 1) reads one byte before the buffer start. Since initial_header_size is set to 71 in mpf_ops, the fpga-mgr core guarantees the buffer is large enough to reach MPF_HEADER_SIZE_OFFSET. The only real gap is the zero header_size case, which cannot be resolved by providing a larger buffer, so return -EINVAL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fpga: dfl: add bounds check in dfh_get_param_size() dfh_get_param_size() can return a parameter size larger than the feature region because the loop bounds check is evaluated before incrementing size. If the EOP (End of Parameters) bit is set in the same iteration, the inflated size is returned without re-validation against max. This can cause create_feature_instance() to call memcpy_fromio() with a size exceeding the ioremap'd region when a malicious FPGA device provides crafted DFHv1 parameter headers. Add a bounds check after the size increment to ensure the accumulated size never exceeds the feature boundary.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: fix condition in 'nand_select_target()' 'cs' here must be in range [0:nanddev_ntargets[.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: pl353: fix probe resource allocation During probe(), the devm_ioremap() is called with the parent device instead of the current one. So when the module is unloaded, the register area isn't released. Target the pl35x device in the devm_ioremap() instead of its parent.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: slram: remove failed entries from the device list register_device() links a new slram_mtdlist entry before allocating all of the state needed by the entry. If a later allocation, memremap(), or mtd_device_register() fails, the partially initialized entry remains on the global list. A later cleanup can then dereference or free invalid state from that failed entry. Unwind the partially initialized entry and clear the list tail on each failure path after the entry has been linked.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: charger-manager: fix refcount leak in is_full_charged() In is_full_charged(), power_supply_get_by_name() is called to obtain a reference to the fuel_gauge power supply. If the voltage check (uV >= desc->fullbatt_uV) succeeds, the function returns true directly without releasing the reference, leaking the refcount. Fix this by setting a flag and jumping to the out label where power_supply_put() properly drops the reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: cpcap-battery: Fix missing nvmem_device_put() causing reference leak In cpcap_battery_detect_battery_type(), the reference to an nvmem device obtained via nvmem_device_find() is not released with nvmem_device_put() on the success or read-failure paths, causing a permanent reference leak. The driver's retry logic on subsequent battery property reads can compound this leak, preventing the nvmem device from ever being freed. Found by code review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: remoteproc: qcom: Fix leak when custom dump_segments addition fails Free allocated minidump_region 'name' in qcom_add_minidump_segments() when failing before adding the region to 'dump_segments'. Otherwise, the 'name' is not tracked and is never freed by qcom_minidump_cleanup(). Return error when adding to 'dump_segments' fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tt: prevent TVLV OOB check overflow A TT unicast TVLV contains the number of VLANs stored in it. This number is an u16 and gets multiplied by the size of the struct batadv_tvlv_tt_vlan_data (8 bytes). The size can therefore overflow the u16 used to store the tt_vlan_len. All additional safety checks to prevent out-of-bounds access of the TVLV buffer are invalid due to this overflow. Using size_t prevents this overflow and ensures that the safety checks compare against the actual buffer requirements.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: frag: fix primary_if leak on failed linearization If the skb has a frag_list, it must be linearized before it can be split using skb_split(). But when this step failed, it must not only free the skb but also take care of the reference to the already found primary_if.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: frag: free unfragmentable packet The caller of batadv_frag_send_packet() assume that the skb provided to the function are always consumed. But the pre-check for an empty payload or the zero fragment size returned an error without any further actions. A failed pre-check must use the same error handling code as the rest of the function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tt: avoid request storms during pending request batadv_send_tt_request() allocates a tt_req_node when none exists for the destination originator node. This should prevent that a multiple TT requests are send at the same time to an originator. But if allocation of the send buffer failed, this request must be cleaned up again. But indicator for such a failure is "ret == false". But the actual implementation is checking for "ret == true". The check must be inverted to not loose the information about the TT request directly after it was attempted to be sent out. This should avoid potential request storms.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: bla: reacquire gw address after skb realloc The pskb_may_pull() called by batadv_bla_is_backbone_gw() could reallocate the buffer behind the skb. Variables which were pointing to the old buffer need to be reassigned to avoid an use-after-free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: access unicast_ttvn skb->data only after skb realloc The pskb_may_pull() called by batadv_get_vid() could reallocate the buffer behind the skb. Variables which were pointing to the old buffer need to be reassigned to avoid an use-after-free. This was done correctly for the ethernet header but missed for the unicast_packet pointer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mfd: sm501: Fix reference leak on failed device registration When platform_device_register() fails in sm501_register_device(), the embedded struct device in pdev has already been initialized by device_initialize(), but the failure path only reports the error and returns without dropping the device reference for the current platform device: sm501_register_device() -> platform_device_register(pdev) -> device_initialize(&pdev->dev) -> setup_pdev_dma_masks(pdev) -> platform_device_add(pdev) This leads to a reference leak when platform_device_register() fails. Fix this by calling platform_device_put() before returning the error. The issue was identified by a static analysis tool I developed and confirmed by manual review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: leds: uleds: Fix potential buffer overread The name string supplied by userspace is not guaranteed to be null-terminated, so using strchr() on it might result in a buffer overread. The same thing will happen when said string is used by the LED class device. Fix this by using strnchr() instead and explicitly check that the name string is properly null-terminated.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Fix device reference leak in host1x_device_parse_dt() error path After device_initialize(), the embedded struct device in struct host1x_device should be released through the device core with put_device(). In host1x_device_add(), if host1x_device_parse_dt() fails, the current error path frees the object directly with kfree(device). That bypasses the normal device lifetime handling and leaks the reference held on the embedded struct device. The issue was identified by a static analysis tool I developed and confirmed by manual review. Fix this by using put_device() in the host1x_device_parse_dt() failure path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_reasm: guard mac_header adjustment after IPv6 defrag nf_ct_frag6_reasm() slides the packet head forward to drop the IPv6 fragment header and then unconditionally advances skb->mac_header: skb->mac_header += sizeof(struct frag_hdr); On the NF_INET_LOCAL_OUT defrag path the skb has no link-layer header yet, so skb->mac_header is still the "not set" sentinel (u16)~0U. Adding sizeof(struct frag_hdr) wraps it to a small value (0xffff + 8 == 7), after which skb_mac_header_was_set() wrongly reports a MAC header is present and skb_mac_header() points into the headroom. The reassembler has done this unconditional add since it was introduced; it was harmless while mac_header was a bare pointer, but wrong once mac_header became a u16 offset whose unset state is the ~0U sentinel tested by skb_mac_header_was_set(). The sibling net/ipv6/reassembly.c does the same relocation and does guard the adjustment; mirror the guard here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack_sip: validate skb_dst() before accessing it tc ingress and openvswitch do not guarantee routing information to be available. These subsystems use the conntrack helper infrastructure, and the SIP helper relies on the skb_dst() to be present if sip_external_media is set to 1 (which is disabled by default as a module parameter). This effectively disables the sip_external_media toggle for these subsystems without resulting in a crash.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf and sets them to NULL under graph->lock. A late DSP buffer-done response can race with this: graph_callback() passes the !graph->ar_graph guard (not yet NULL), acquires the lock, but then dereferences a now-NULL buf pointer to read buf[token].phys, crashing at virtual address 0x10. Add a NULL check for buf inside the mutex-protected section in both the write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail out cleanly if buffers have already been freed. This problem is only shown up recently while apr bus was updated to process the commands per service rather from single global queue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: mediatek: mt8183: Release reserved memory on cleanup The MT8183 AFE probe can assign reserved memory with of_reserved_mem_device_init(), but the assignment is never released on driver removal or later probe failures. Register a devm cleanup action so the reserved memory assignment is released consistently, matching newer Mediatek AFE drivers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: mediatek: mt8192: Release reserved memory on cleanup The MT8192 AFE probe calls of_reserved_mem_device_init() and falls back to preallocated buffers when no reserved memory region is available. When the reserved memory assignment succeeds, however, the driver never releases it. Register a devm cleanup action after a successful reserved-memory assignment so the assignment is released on probe failure and driver unbind.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Validate size in snd_sof_update_control In snd_sof_update_control(), firmware-provided cdata->num_elems is checked against local_cdata->data->size but never against the actual allocation size. If local_cdata->data->size was previously set to an inconsistent value, the memcpy could write past the allocated buffer. Add a bounds check to ensure num_elems fits within the available space in the ipc_control_data allocation before copying.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: tridentfb: fix potential memory leak in trident_pci_probe() In trident_pci_probe(), the memory allocated for modelist using fb_videomode_to_modelist() is not freed in subsequent error paths. Fix that by calling fb_destroy_modelist().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: nvidia: fix potential memory leak in nvidiafb_probe() In nvidiafb_probe(), the memory allocated for modelist in nvidia_set_fbinfo() is not freed in the subsequent error paths. Fix that by calling fb_destroy_modelist().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: vesafb: fix memory leak in vesafb_probe() Since commit 73ce73c30ba9 ("fbdev: Transfer video= option strings to caller; clarify ownership") the string returned from fb_get_options() is expected to be freed by the caller. But the string is not freed in vesafb_probe(). Fix that by freeing the option string after setup.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: carminefb: fix potential memory leak in alloc_carmine_fb() The memory allocated for modelist in fb_videomode_to_modelist() is not freed in the subsequent error path. Fix that by calling fb_destroy_modelist()


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: tdfxfb: fix potential memory leak in tdfxfb_probe() In tdfxfb_probe(), the memory allocated for modelist using fb_videomode_to_modelist() when CONFIG_FB_3DFX_I2C is defined, is not freed in the subsequent error paths. Fix that by calling fb_destroy_modelist().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: uvesafb: fix potential memory leak in uvesafb_probe() Due to an incorrect goto label, memory allocated for modedb and modelist in uvesafb_vbe_init() is not freed in some error paths. Fix this by updating the goto label.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: s3fb: fix potential memory leak in s3_pci_probe() In s3_pci_probe(), the memory allocated for modelist using fb_videomode_to_modelist() is not freed in subsequent error paths. Fix that by calling fb_destroy_modelist()


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: i740fb: fix potential memory leak in i740fb_probe() In i740fb_probe(), the memory allocated in fb_videomode_to_modelist() for modelist is not freed in the error paths. Fix that by calling fb_destroy_modelist().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: radeon: fix potential memory leak in radeonfb_pci_register() The function radeonfb_pci_register() allocates memory for modelist (by calling radeon_check_modes() which calls fb_add_videomode()). The memory is appended to info->modelist, but is not freed in subsequent error paths. Fix this by calling fb_destroy_modelist().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: efifb: fix memory leak in efifb_probe() Since commit 73ce73c30ba9 ("fbdev: Transfer video= option strings to caller; clarify ownership") the string returned from fb_get_options() is expected to be freed by the caller, but the string is not freed in efifb_probe(). Fix that by freeing the option string after setup.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: hecubafb: fix potential memory leak in hecubafb_probe() The memory allocated for pagerefs in fb_deferred_io_init() is not freed on the error path. Fix it by calling fb_deferred_io_cleanup().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: broadsheetfb: fix potential memory leak in broadsheetfb_probe() The memory allocated for pagerefs in fb_deferred_io_init() is not freed on the error path. Fix it by calling fb_deferred_io_cleanup().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: metronomefb: fix potential memory leak in metronomefb_probe() The memory allocated for pagerefs in fb_deferred_io_init() is not freed on the error path. Fix it by calling fb_deferred_io_cleanup().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Ignore pending PV EOI if the vCPU has since disabled PV EOIs Ignore KVM's internal "service pending PV EOI" request if the vCPU has disabled PV EOIs since the request was made. Asserting that PV EOIs are enabled can fail if reading guest memory in pv_eoi_get_user() fails, i.e. if pv_eoi_test_and_clr_pending() bails early, *and* the vCPU also disables PV EOIs. kernel BUG at arch/x86/kvm/lapic.c:3338! Oops: invalid opcode: 0000 [#1] SMP CPU: 4 UID: 1000 PID: 890 Comm: pv_eoi_test Not tainted 7.0.0-d585aa5894d8-vm #337 PREEMPT Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:kvm_lapic_sync_from_vapic+0x12b/0x140 [kvm] Call Trace: <TASK> kvm_arch_vcpu_ioctl_run+0x1075/0x1c30 [kvm] kvm_vcpu_ioctl+0x2d5/0x980 [kvm] __x64_sys_ioctl+0x8a/0xd0 do_syscall_64+0xb5/0xb40 entry_SYSCALL_64_after_hwframe+0x4b/0x53 </TASK> Modules linked in: kvm_intel kvm irqbypass ---[ end trace 0000000000000000 ]---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Do not allow intra-host migration/mirroring of SNP VMs The intra-host migration/mirroring feature is not fully implemented for SEV-SNP VMs. The proper migration requires additional SNP-specific state such as guest_req_mutex, guest_req_buf, and guest_resp_buf to be transferred or initialized on the destination. The SNP VM mirroring requires vmsa features to be copied as well otherwise ASID would be bound to SNP range while VM is detected as a SEV VM. Reject SNP source VMs in migration/mirroring until proper SNP state transfer is implemented. [sean: let lines poke past 80 chars, tag for stable]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Fix GISC refcount leak on AIF enable failure kvm_s390_gisc_register() registers the guest ISC before pinning the guest interrupt forwarding pages and allocating the AISB bit. If any of the later setup steps fails, the function unwinds the pinned pages and other local state, but does not unregister the GISC reference. Add the missing kvm_s390_gisc_unregister() to the error unwind path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: topology: validate vendor array size before parsing sof_parse_token_sets() reads array->size while iterating over topology private data. The loop condition only checks that some data remains, so a malformed topology with a truncated trailing vendor array can make the parser read the size field before a full vendor-array header is available. Validate that the remaining private data contains a complete snd_soc_tplg_vendor_array header before reading array->size. The declared array size check also needs to remain signed. asize is an int, but sizeof(*array) has type size_t, so comparing them directly promotes negative asize values to unsigned and lets them pass the check, as reported in the stable review thread reference below. Cast sizeof(*array) to int when validating the declared array size. This rejects negative, zero and otherwise too-small sizes before the parser dispatches to the tuple-specific code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Use overflow checks in control_update size calc In sof_ipc3_control_update(), the expected_size calculation uses firmware-provided cdata->num_elems in arithmetic that could overflow on 32-bit platforms, wrapping to a small value. This would allow the cdata->rhdr.hdr.size comparison to pass with mismatched sizes, potentially leading to out-of-bounds access in snd_sof_update_control. Use check_mul_overflow() and check_add_overflow() to detect and reject overflowed size calculations.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc4-control: Fix TOCTOU in sof_ipc4_bytes_put In sof_ipc4_bytes_put(), the copy size is derived from the old data->size in the buffer rather than the incoming new data's size field from ucontrol. If the new data has a different size, the copy uses the wrong length: it may truncate valid data or copy stale bytes. Fix by validating and using the incoming data's sof_abi_hdr.size from ucontrol before copying.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK Compare against -EDEADLK, which is what ww_mutex_lock() actually returns and what every other deadlock check in this file already uses. Function regulator_lock_two() acquires two regulators via regulator_lock_nested() -> ww_mutex_lock(). On contention, ww_mutex_lock() returns -EDEADLK, which is the caller's signal to drop the lock it holds and retry the acquisition in the canonical order. However, regulator_lock_two() tests the return value against -EDEADLOCK rather than -EDEADLK. On most architectures, EDEADLK and EDEADLOCK are the same value, so the comparison happens to be correct and the bug is invisible. But on MIPS, SPARC, and PowerPC, those two errors have different values. The test is wrong: a genuine -EDEADLK backoff no longer matches -EDEADLOCK, so instead of unlocking and retrying, the code falls into WARN_ON(ret) and returns with only one of the two regulators locked. In practice, this is a bug only on MIPS, because the regulator core is not built or used on the other two platforms. In general, EDEADLK is preferred over EDEADLOCK for new code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: cifs: validate DFS referral string offsets parse_dfs_referrals() validates that the response header and referral array fit in the received buffer, but each referral also contains string offsets supplied by the server. Those offsets are used to compute the DfsPath and NetworkAddress string pointers without checking whether they still point inside the response buffer. A malformed referral can therefore make the computed pointer exceed the end of the buffer. The resulting negative max_len is then passed to cifs_strndup_from_utf16(), and the non-Unicode path forwards it to kstrndup() as a size_t, allowing strnlen() to read out of bounds. Validate each string offset before deriving the string pointer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/v3d: Reject invalid indirect BO handle in indirect CSD setup v3d_get_cpu_indirect_csd_params() looks up the indirect buffer object from a userspace-supplied handle but never checks the result. A bogus or stale handle makes drm_gem_object_lookup() return NULL, which is then stored in info->indirect and only dereferenced later when the indirect CSD job runs, turning a userspace mistake into a NULL pointer dereference in the kernel. Bail out with -ENOENT as soon as the lookup fails, so the bad handle is rejected at submission time.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: fix malformed ISO_END/CONT handling Core specification (Part C vol 4 sec 5.4.5) does not exclude empty ISO_CONT, ISO_END packets. We currently reject them if they are last. If controller sends malformed sequence ISO_START -> rx_len = 4, ISO_CONT skb->len 4, ISO_START that ends payload in ISO_CONT, we leak conn->rx_skb. If controller sends too long ISO_END, we panic on skb_put. If controller sends too short ISO_END we accept it. Fix by marking unfinished ISO_START via conn->rx_skb != NULL. Check skb->len properly before skb_put. Combine the ISO_CONT/END code paths as they require the same initial checks. Reject too short ISO_END packets.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: Fix adv monitor add failure cleanup hci_add_adv_monitor() publishes a new adv_monitor in hdev->adv_monitors_idr before the powered MSFT setup step. The MSFT offload add path can then fail either locally before the controller add command completes, or in the MSFT add callback. In the current queued management add flow, hci_cmd_sync_work() still invokes mgmt_add_adv_patterns_monitor_complete() with the original pending command after msft_add_monitor_pattern() returns. The buggy scenario involves two paths, with each column showing the order within that path: MSFT add handling MGMT completion 1. insert monitor and handle 1. receive sync error 2. send MSFT add command 2. call add-monitor completion 3. callback sees bad response 3. load cmd->user_data 4. callback frees monitor 4. read monitor->handle Local MSFT setup failures have the other half of the same ownership bug: they return an error after the IDR insertion, but no later code removes the failed monitor from the IDR. Keep ownership with the pending management command until its completion. For normal management adds, the MSFT add callback now records successful controller state and returns errors to its caller. The management completion frees the monitor on non-success after copying the response handle, while resume/reregister callback-error cleanup remains in the MSFT callback. The success path keeps the existing bookkeeping. Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in mgmt_add_adv_patterns_monitor_complete+0xfb/0x260 [bluetooth] Call Trace: <TASK> dump_stack_lvl+0x66/0xa0 print_report+0xce/0x5f0 ? mgmt_add_adv_patterns_monitor_complete+0xfb/0x260 [bluetooth] ? srso_alias_return_thunk+0x5/0xfbef5 ? __virt_addr_valid+0x19f/0x330 ? mgmt_add_adv_patterns_monitor_complete+0xfb/0x260 [bluetooth] kasan_report+0xe0/0x110 ? mgmt_add_adv_patterns_monitor_complete+0xfb/0x260 [bluetooth] mgmt_add_adv_patterns_monitor_complete+0xfb/0x260 [bluetooth] ? srso_alias_return_thunk+0x5/0xfbef5 ? 0xffffffffc00d00da ? __pfx_mgmt_add_adv_patterns_monitor_complete+0x10/0x10 [bluetooth] ? __pfx_mgmt_add_adv_patterns_monitor_complete+0x10/0x10 [bluetooth] ? hci_cmd_sync_work+0x1ab/0x210 [bluetooth] hci_cmd_sync_work+0x1c0/0x210 [bluetooth] ? __pfx_mgmt_add_adv_patterns_monitor_complete+0x10/0x10 [bluetooth] process_one_work+0x4fd/0xbc0 ? __pfx_process_one_work+0x10/0x10 ? srso_alias_return_thunk+0x5/0xfbef5 ? srso_alias_return_thunk+0x5/0xfbef5 ? __list_add_valid_or_report+0x37/0xf0 ? __pfx_hci_cmd_sync_work+0x10/0x10 [bluetooth] ? srso_alias_return_thunk+0x5/0xfbef5 worker_thread+0x2d8/0x570 ? __pfx_worker_thread+0x10/0x10 kthread+0x1ad/0x1f0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x3c9/0x540 ? __pfx_ret_from_fork+0x10/0x10 ? srso_alias_return_thunk+0x5/0xfbef5 ? __switch_to+0x2e9/0x730 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> Allocated by task 471 on cpu 3 at 285.205389s: kasan_save_stack+0x33/0x60 kasan_save_track+0x17/0x60 __kasan_kmalloc+0xaa/0xb0 add_adv_patterns_monitor_rssi+0xd5/0x230 [bluetooth] hci_sock_sendmsg+0x96b/0xf80 [bluetooth] __sys_sendto+0x2bc/0x2d0 __x64_sys_sendto+0x76/0x90 do_syscall_64+0x115/0x6a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 454 on cpu 2 at 285.217112s: kasan_save_stack+0x33/0x60 kasan_save_track+0x17/0x60 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x5f/0x80 kfree+0x313/0x590 msft_add_monitor_sync+0x54a/0x570 [bluetooth] hci_add_adv_monitor+0x133/0x180 [bluetooth] hci_cmd_sync_work+0x187/0x210 [bluetooth] process_one_work+0x4fd/0xbc0 worker_thread+0x2d8/0x570 kthread+0x1ad/0x1f0 ret_from_fork+0x3c9/0x540 ret_from_fork_asm+0x1a/0x30


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: 6lowpan: hold L2CAP conn across debugfs control get_l2cap_conn() looks up an LE hci_conn under hdev protection, but then drops that protection before reading hcon->l2cap_data and before lowpan_control_write() later dereferences conn->hcon. A disconnect or device close can tear down the same L2CAP connection in that window. The buggy scenario involves two paths, with each column showing the order within that path: 6LoWPAN control write: HCI disconnect/device close: 1. get_l2cap_conn() finds hcon 1. hci_disconn_cfm() dispatches and hcon->l2cap_data. the L2CAP disconnect callback. 2. get_l2cap_conn() drops hdev 2. l2cap_conn_del() clears protection and returns conn. hcon->l2cap_data and drops the L2CAP connection reference. 3. lowpan_control_write() reads 3. hci_conn_del() removes and drops conn->hcon. the HCI connection. Take a reference to the L2CAP connection with l2cap_conn_hold_unless_zero() while hdev is still locked, and drop that reference after the debugfs command's last use of conn. This mirrors the existing L2CAP ACL receive-side handoff and keeps the connection dereferenceable after leaving hdev protection. Export the existing helper so the bluetooth_6lowpan module can use the same lifetime primitive. Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in lowpan_control_write+0x374/0x520 The buggy address belongs to the object at ffff888111b9d000 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 0 bytes inside of freed 1024-byte region [ffff888111b9d000, ffff888111b9d400) Read of size 8 Call trace: dump_stack_lvl+0x66/0xa0 print_report+0xce/0x5f0 lowpan_control_write+0x374/0x520 (net/bluetooth/6lowpan.c:1131) srso_alias_return_thunk+0x5/0xfbef5 __virt_addr_valid+0x19f/0x330 kasan_report+0xe0/0x110 __debugfs_file_get+0xf7/0x400 full_proxy_write+0x9e/0xd0 vfs_write+0x1b0/0x810 ksys_write+0xd2/0x170 dnotify_flush+0x32/0x220 do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87) entry_SYSCALL_64_after_hwframe+0x77/0x7f Allocated by task stack: kasan_save_stack+0x33/0x60 kasan_save_track+0x17/0x60 __kasan_kmalloc+0xaa/0xb0 l2cap_conn_add+0x45/0x520 l2cap_chan_connect+0xac6/0xd90 l2cap_sock_connect+0x216/0x350 __sys_connect+0x101/0x130 __x64_sys_connect+0x40/0x50 do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87) entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task stack: kasan_save_stack+0x33/0x60 kasan_save_track+0x17/0x60 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x5f/0x80 kfree+0x313/0x590 hci_conn_hash_flush+0xc0/0x140 hci_dev_close_sync+0x41a/0xb00 hci_dev_close+0x12f/0x160 hci_sock_ioctl+0x157/0x570 sock_do_ioctl+0xf7/0x210 sock_ioctl+0x32f/0x490 __x64_sys_ioctl+0xc7/0x110 do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87) entry_SYSCALL_64_after_hwframe+0x77/0x7f kasan_record_aux_stack+0xa7/0xc0 insert_work+0x32/0x100 __queue_work+0x262/0xa60 queue_work_on+0xad/0xb0 l2cap_connect_cfm+0x4ef/0x670 hci_le_remote_feat_complete_evt+0x247/0x430 hci_event_packet+0x360/0x6f0 hci_rx_work+0x2ae/0x7a0 process_one_work+0x4fd/0xbc0 worker_thread+0x2d8/0x570 kthread+0x1ad/0x1f0 ret_from_fork+0x3c9/0x540 ret_from_fork_asm+0x1a/0x30


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/pf: Don't attempt to process FAST_REQ or EVENT relays Currently defined VF/PF relay actions use regular REQUEST messages only and the PF shouldn't attempt to handle FAST_REQUEST nor EVENT messages as this would result in breaking the VFPF ABI protocol and also might trigger an assert on the PF side. (cherry picked from commit 1714d360fc5ae2e0886a69e979095d9c7ff3568a)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/hw_engine: Fix double-free of managed BO in error path The error path in hw_engine_init() explicitly frees a BO allocated with xe_managed_bo_create_pin_map() via xe_bo_unpin_map_no_vm(). Since the managed BO already has a devm cleanup action registered, this causes a double-free when devm unwinds during probe failure. Remove the explicit free and let devm handle it, consistent with all other xe_managed_bo_create_pin_map() callers. (cherry picked from commit e459a3bdeb117be496d7f229e2ea1f6c9fe4080b)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/pt: Fix NULL pointer dereference in xe_pt_zap_ptes_entry() The page-table walk framework may pass a NULL *child pointer for unpopulated entries. xe_pt_zap_ptes_entry() called container_of(*child) before checking for NULL, then dereferenced the result, causing a crash. Move the container_of() call after a NULL guard, so the function returns early instead of proceeding with an invalid pointer. XE_WARN_ON is kept to help root cause the issue, but we now bail instead of crashing the driver. v2: Comment that triggering XE_WARN_ON is unexpected behavior (Matt Brost) (cherry picked from commit b9297d19d9df5d4b6c994648570c5dcd1cac68ff)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: Fix a leak when a group is evicted before the tiler OOM is serviced A group ref is tied to the pending tiler_oom_work, so we need to release it if the cancel was effective.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: Fix potential invalid pointer deref in group_process_tiler_oom() If heaps is an ERR_PTR(), panthor_heap_pool_put() will deref an invalid pointer. Make sure we set it to NULL in that case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: phy: sfp: free mii_bus in sfp_i2c_mdiobus_destroy sfp_i2c_mdiobus_create() allocates the I2C MDIO bus with mdio_i2c_alloc(), a plain (non-devm) allocation, and registers it. sfp_i2c_mdiobus_destroy() only unregisters the bus and clears sfp->i2c_mii without calling mdiobus_free(). As the only reference to the bus is then cleared, the struct mii_bus is leaked. This is hit whenever a copper/RollBall SFP module that instantiated an MDIO bus is removed: sfp_sm_main() takes the global teardown path and calls sfp_i2c_mdiobus_destroy(). sfp_cleanup(), on driver unbind, frees sfp->i2c_mii directly, which is why the leak only triggered on module hot-removal and not on unbind. Free the bus in sfp_i2c_mdiobus_destroy() to match the allocation done in sfp_i2c_mdiobus_create().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: adm1275: Prevent reading uninitialized stack While adding support for the ROHM BD127X0 hot-swap controllers, sashiko reported an error in device-name comparison, which can lead to reading uninitialized stack memory. Quoting Sashiko: This is a pre-existing issue, but I noticed that just before this block in adm1275_probe(), there might be an out-of-bounds stack read: ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, block_buffer); if (ret < 0) { ... } for (mid = adm1275_id; mid->name[0]; mid++) { if (!strncasecmp(mid->name, block_buffer, strlen(mid->name))) break; } Since i2c_smbus_read_block_data() reads up to 32 bytes into the uninitialized stack array block_buffer without appending a null terminator, strncasecmp() could read past the valid bytes returned in ret. For example, if the device returns a shorter string like "adm12", checking it against "adm1275" up to the length of "adm1275" will continue reading into uninitialized stack bounds. Prevent reading uninitialized memory by zeroing the stack array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: udp_tunnel: prevent double queueing in udp_tunnel_nic_device_sync Yue Sun reported a use-after-free and debugobjects warning in udp_tunnel_nic_device_sync_work() during concurrent device operations. The workqueue core clears the internal pending bit before invoking the worker. At that point, a concurrent thread can queue the work again. When the already running worker eventually clears the work_pending flag to 0, it mistakenly clears the flag for the newly queued instance. udp_tunnel_nic_unregister() then observes work_pending as 0 and frees the structure while the second work item is still active in the queue, leading to UAF. Fix this by returning early in udp_tunnel_nic_device_sync() if work_pending is already set, preventing redundant work queueing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_compat: ebtables emulation must reject non-bridge targets xtables targets return netfilter verdicts: NF_ACCEPT, NF_DROP, and so on. ebtables targets return incompatible verdicts: EBT_ACCEPT, EBT_DROP, ... We cannot allow fallback to NFPROTO_UNSPEC. ebtables doesn't permit this since 11ff7288beb2 ("netfilter: ebtables: reject non-bridge targets") but that commit missed the nft_compat layer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: msc313: fix NULL deref in shared IRQ handler at probe msc313_rtc_probe() calls devm_request_irq() with IRQF_SHARED and &pdev->dev as the cookie, but platform_set_drvdata() is only called later after the clock setup. With a shared IRQ line, another device on the same line can trigger the handler in that window. The handler does dev_get_drvdata() on the cookie, gets NULL, and dereferences priv->rtc_base in interrupt context. Pass priv as the cookie directly so the handler reads it from dev_id without the lookup, removing the dependency on probe order.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix stack slot index in nospec checks check_stack_write_fixed_off() computes the byte slot for a fixed-offset stack write as -off - 1, and records each written byte in slot_type[] with (slot - i) % BPF_REG_SIZE. The Spectre v4 sanitization pre-check uses slot_type[i] instead. For a 4-byte write at fp-8 after the lower half of fp-8 has been zeroed, the pre-check scans bytes 0..3 and sees STACK_ZERO while the actual write updates bytes 7..4. That can leave the second half-slot write without nospec_result even though the bytes being overwritten still require sanitization. Use the same slot index in the sanitization pre-check that the write path uses when updating slot_type[].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: fix kernel-infoleak in dgram_recvmsg() KMSAN reported a kernel-infoleak in move_addr_to_user(): BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:131 [inline] BUG: KMSAN: kernel-infoleak in _inline_copy_to_user include/linux/uaccess.h:205 [inline] BUG: KMSAN: kernel-infoleak in _copy_to_user+0xcc/0x120 lib/usercopy.c:26 instrument_copy_to_user include/linux/instrumented.h:131 [inline] _inline_copy_to_user include/linux/uaccess.h:205 [inline] _copy_to_user+0xcc/0x120 lib/usercopy.c:26 copy_to_user include/linux/uaccess.h:236 [inline] move_addr_to_user+0x2e7/0x440 net/socket.c:302 ____sys_recvmsg+0x232/0x610 net/socket.c:2925 ... Uninit was stored to memory at: ieee802154_addr_to_sa include/net/ieee802154_netdev.h:369 [inline] dgram_recvmsg+0xa09/0xbe0 net/ieee802154/socket.c:739 The issue occurs because the `pan_id` field of `struct ieee802154_addr` is left uninitialized when the address mode is `IEEE802154_ADDR_NONE`. The execution flow is as follows: 1. `__ieee802154_rx_handle_packet()` declares a local `struct ieee802154_hdr hdr` on the stack. 2. `ieee802154_hdr_pull()` calls `ieee802154_hdr_get_addr()` to parse the source and destination addresses into this structure. 3. If the address mode is `IEEE802154_ADDR_NONE`, `ieee802154_hdr_get_addr()` previously only set the `mode` field, leaving the `pan_id` field containing uninitialized stack memory. 4. This uninitialized `pan_id` is later copied into a `struct sockaddr_ieee802154` in `dgram_recvmsg()` via `ieee802154_addr_to_sa()`. 5. Finally, `move_addr_to_user()` copies the socket address structure to user space, leaking the uninitialized bytes. Fix this by using `memset` to zero out the address structure in `ieee802154_hdr_get_addr()` when the mode is `IEEE802154_ADDR_NONE`.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Kill MIDI 2.0 URBs before freeing endpoints MIDI 2.0 input URBs are started during snd_usb_midi_v2_create(). A later setup failure can still jump to snd_usb_midi_v2_free(), which currently frees each endpoint and its coherent URB buffers without first stopping the submitted URBs. A completion can then dereference the embedded URB context and endpoint state after they have been freed, or try to resubmit from the stale endpoint. This was observed as a KASAN slab-use-after-free in input_urb_complete(). The buggy scenario involves two paths, with each column showing the order within that path: probe error path: USB completion path: 1. start_input_streams() submits 1. The HCD still owns a input URBs. submitted input URB. 2. A later setup helper returns 2. input_urb_complete() runs an error. with urb->context in ep. 3. snd_usb_midi_v2_free() frees 3. The completion reads ep endpoint storage and URB buffers. state and can requeue URBs. Make the endpoint destructor follow the same teardown ordering used for disconnect when the endpoint has not already been disconnected: publish ep->disconnected, kill the URBs synchronously, and drain the endpoint before freeing URB buffers and endpoint storage. The guard avoids repeating the stop sequence after the normal snd_usb_midi_v2_disconnect_all() path, while still synchronizing the direct MIDI 2.0 create-error free path. Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in input_urb_complete+0x37/0x1b0 Workqueue: usb_hub_wq hub_event RIP: 0010:_raw_spin_unlock_irq+0x2e/0x50 Read of size 8 Call trace: dump_stack_lvl+0x77/0xb0 print_report+0xce/0x5f0 input_urb_complete+0x37/0x1b0 (sound/usb/midi2.c:186) srso_alias_return_thunk+0x5/0xfbef5 __virt_addr_valid+0x19f/0x330 kasan_report+0xe0/0x110 __usb_hcd_giveback_urb+0x112/0x1d0 dummy_timer+0xaaa/0x19a0 lock_is_held_type+0x9a/0x110 __lock_acquire+0x467/0x28b0 mark_held_locks+0x40/0x70 _raw_spin_unlock_irqrestore+0x44/0x60 lockdep_hardirqs_on_prepare+0xbb/0x1a0 __hrtimer_run_queues+0x101/0x520 hrtimer_run_softirq+0xd0/0x130 handle_softirqs+0x15b/0x670 __irq_exit_rcu+0xd0/0x170 irq_exit_rcu+0xe/0x20 sysvec_apic_timer_interrupt+0x6c/0x80 asm_sysvec_apic_timer_interrupt+0x1a/0x20


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915: clear CRTC color blob pointers after dropping refs intel_crtc_put_color_blobs() drops the CRTC color blob references, but leaves the corresponding pointers unchanged. This can matter in intel_crtc_prepare_cleared_state(), which frees the old CRTC hw state before calling intel_dp_tunnel_atomic_clear_stream_bw(). The latter can fail while looking up the DP tunnel group state, for example with -EDEADLK. If that happens, the function returns without completing the cleared state preparation. The failed atomic state will then be cleared by the atomic core and intel_crtc_free_hw_state() can be called again for the same state, dropping the same blob references again. Clear the blob pointers after dropping the references so repeated cleanup of the same CRTC hw state is safe. (cherry picked from commit d5005addb5f68e8a0edce249506757bdc9e3d8c8)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Repost Receive buffers for malformed replies rpcrdma_wc_receive() decrements the transport's Receive count for every completion before it dispatches a successful Receive to rpcrdma_reply_handler(). The handler must post a replacement Receive WR before returning unless ownership of the rep has moved elsewhere, as on the backchannel path. Commit 2ae50ad68cd7 ("xprtrdma: Close window between waking RPC senders and posting Receives") moved the Receive refill out of rpcrdma_wc_receive(), where it had run ahead of every reply, into rpcrdma_reply_handler() so that the responder's credit grant could be parsed before reposting. The bad-version and short-reply exits never reach that refill: they recycle the rep and return without calling rpcrdma_post_recvs(). A remote peer can therefore drain the client's posted Receive queue by sending a sustained stream of replies that are shorter than the fixed transport header or that carry an unrecognized RPC/RDMA version. Each such reply consumes one posted Receive without replacing it. Once the queue empties, the peer's next Send finds no posted Receive and the transport stalls until reconnect. Route both malformed-reply exits through the shared repost tail after recycling the rep, refilling against buf->rb_credits, the most recent accepted credit grant. Neither exit updates the congestion window, so RPCs admitted under the previous grant remain in flight awaiting replies. A smaller refill target would let a stream of malformed replies ratchet the posted Receive count down to the batch floor while the congestion window still admits rb_credits RPCs; a burst of valid replies to those RPCs could then overrun the posted Receives, and because the client connects with rnr_retry_count of zero, a single RNR NAK terminates the connection. Refilling against rb_credits also restores the target that applied to malformed replies before commit 2ae50ad68cd7 ("xprtrdma: Close window between waking RPC senders and posting Receives") when rpcrdma_post_recvs() computed it from rb_credits internally. rb_credits is at least one from connection establishment onward, so the repost path always keeps Receives posted.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xprtrdma: Sanitize the reply credit grant after parsing The out_norqst exit in rpcrdma_reply_handler() branches away before the credit clamp, so a reply that matches no pending request reaches out_post carrying the raw credit value parsed from the wire. rpcrdma_post_recvs() does not bound its @needed argument: the refill loop allocates and chains Receive WRs until the count is satisfied or allocation fails. A peer that sends a well-formed reply carrying an unknown XID and an inflated credit grant therefore drives rep allocation and Receive posting past re_max_requests on every such reply. Move the clamp to immediately after the credit field is parsed, ahead of the first branch that can reach out_post, so every later consumer sees a sanitized value. The cwnd update stays on the matched-request path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: Fix possible use after free In dma_release_channel(), check chan->device->privatecnt after call dma_chan_put(). However, dma_chan_put() call dma_device_put() which could release the last reference of the device if the DMA provider is already gone and hence free it. Fixes it by moving dma_chan_put() after the check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: accel: mma8452: handle I2C read error(s) in mma8452_read() Currently, If i2c_smbus_read_i2c_block_data() fails but mma8452_set_runtime_pm_state() succeeds, mma8452_read() returns 0. As a result, the caller mma8452_read_raw() assumes the read was successful and proceeds to use a buffer containing uninitialized stack memory. Add proper checking of the I2C read return value and propagate errors to the caller.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-ams: fix out-of-bounds channel lookup in event handling ams_event_to_channel() may return a pointer past the end of dev->channels when no matching scan_index is found. This can lead to invalid memory access in ams_handle_event(). Add a bounds check in ams_event_to_channel() and return NULL when no channel is found. Also guard the caller to safely handle this case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: magnetometer: ak8975: fix potential kernel stack memory leak Currently in the AK8975 driver there are four instances where potential uninitialized kernel stack memory leaks can occur. If i2c_smbus_read_i2c_block_data_or_emulated() returns a value less than the size of the buffer, uninitialized bytes are retained in the buffer and later the buffer is passed on to IIO buffers, potentially leaking memory to userspace. Fix this by adding checks whether the return value of the function is equal to the size of the buffer and subsequently if the value is lesser than zero to distinguish from a returned error code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: host: max3421: Fix shift-out-of-bounds in max3421_hub_control() The `max3421_hub_control()` function handles USB hub class requests to the virtual root hub. In the `default` branches of both the `ClearPortFeature` and `SetPortFeature` switch statements, it modifies `max3421_hcd->port_status` by left shifting 1 by the request's `value` parameter. However, it does not validate whether this shift will exceed the width of `port_status`. So if a malicious userspace task with access to the root hub via /dev/bus/usb/.../001 issues a USBDEVFS_CONTROL ioctl with `wValue` greater than or equal to 32, the left shift operation invokes shift-out-of-bounds undefined behavior. This results in arbitrary bit corruption of `port_status`, including the normally-immutable change bits, which can bypass internal state checks and confuse the hub status. Fix this by rejecting requests whose `value` exceeds the shift width before performing the shift. This issue was found using a KLEE-based symbolic execution tool for kernel drivers that I'm currently developing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: most: video: avoid double free on video register failure comp_register_videodev() allocates a video_device with video_device_alloc() and releases it if video_register_device() fails. This can double free the video_device when __video_register_device() reaches device_register() and that call fails: video_register_device() -> __video_register_device() -> device_register() fails -> put_device(&vdev->dev) -> v4l2_device_release() -> vdev->release(vdev) -> video_device_release(vdev) comp_register_videodev() -> video_device_release(mdev->vdev) Use video_device_release_empty() while registering the device so that registration failure paths do not free mdev->vdev through vdev->release(). comp_register_videodev() then releases mdev->vdev exactly once on failure. Restore video_device_release() after successful registration so the registered device keeps its normal lifetime handling. This issue was found by a static analysis tool I am developing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mailbox: mtk-adsp: fix UAF during device teardown When the SOF audio driver fails to initialize (e.g. firmware boot timeout), its devres unwind frees the snd_sof_dev object that the mailbox client (mtk-adsp-ipc) reaches via chan->cl->rx_callback. The mtk-adsp-mailbox shutdown clears the mailbox command registers but leaves the IRQ line unmasked, so a late interrupt can still queue a threaded handler after mbox_free_channel() had cleared chan->cl, and mbox_chan_received_data() would then trigger UAF: BUG: KASAN: slab-use-after-free in sof_ipc3_validate_fw_version sof_ipc3_validate_fw_version sof_ipc3_do_rx_work sof_ipc3_rx_msg mt8196_dsp_handle_request mtk_adsp_ipc_recv mbox_chan_received_data mtk_adsp_mbox_isr irq_thread_fn Freed by task ...: kfree devres_release_all really_probe ... (sof-audio-of-mt8196 probe failure) The crash was observed roughly three seconds after the failed probe. disable_irq() in shutdown and enable_irq() in startup. disable_irq() also waits for any in-flight interrupts, so by the time mbox_free_channel() proceeds to clear chan->cl no rx_callback can run. In addition, request the IRQ with IRQF_NO_AUTOEN so it stays masked between probe and the first client bind - otherwise an early interrupt can crash on chan->cl == NULL in mbox_chan_received_data().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: nvec: fix use-after-free in nvec_rx_completed() In nvec_rx_completed(), when an incomplete RX transfer is detected, nvec_msg_free() is called to return the message back to the pool by clearing its 'used' atomic flag. Immediately after this, the code accesses nvec->rx->data[0] to check the message type. Since nvec_msg_free() marks the pool slot as available via atomic_set(), any concurrent or subsequent call to nvec_msg_alloc() could claim that same slot and overwrite its data[] array. Reading nvec->rx->data[0] after freeing the message is therefore a use-after-free. Fix this by saving the message type byte before calling nvec_msg_free(), then using the saved value for the battery quirk check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: check skb_clone in control TX t7xx_port_ctrl_tx() clones each skb fragment before passing it to the port transmit path. The clone is used immediately to set cloned->len, so an skb_clone() failure results in a NULL pointer dereference. Check the clone before using it. If previous fragments were already queued, preserve the driver's existing partial-write behavior by returning the number of bytes submitted so far.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: initialize gdma queue id to INVALID_QUEUE_ID mana_gd_create_mana_wq_cq() leaves queue->id as 0 (from kzalloc_obj()) until mana_create_wq_obj() assigns the firmware-returned id. If creation fails before that, cleanup calls mana_gd_destroy_cq() with id 0, NULLing gc->cq_table[0] and silently breaking whichever real CQ owns that slot. Initialize queue->id to INVALID_QUEUE_ID right after allocation, matching mana_gd_create_eq(). The existing (id >= max_num_cqs) guard then short-circuits cleanly.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: core: fix supplied_from allocations If dts property power-supplies has multiple values, then accessing to psy->supplied_from[i-1] in __power_supply_populate_supplied_from will overrun supplied_from array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: xilinx: use FIFO occupancy register to determine buffer size The method the driver uses to determine the size of the FIFO has a problem. What it currently does is this: It stops the SPI hardware and writes to the TX FIFO register until TX FIFO FULL asserts in the status register. But the hardware does not only have the FIFO, it also has a shift register which can hold a byte. This can be seen, when writing a byte to the FIFO (while the SPI hardware is stopped,) the TX FIFO EMPTY is still empty. So, if we have a FIFO size of 16 for example, the current method returns a 17. This is a problem, at least when using the driver in irq mode. The same size determined for the TX FIFO is also assumed for the RX FIFO. When a SPI transaction wants to write the amount of the FIFO size or more bytes, the following happens, for example with 16 bytes FIFO size: The driver stops the SPI hardware and writes 17 bytes to the TX FIFO and starts the SPI hardware and goes sleep. The hardware then shifts out 17 bytes (FIFO + shift register) and simultaneously reads bytes into the RX FIFO, but it only has 16 places, so it looses one byte. Then TX FIFO empty asserts, wakes the driver again, which has a fast path and reads 16 bytes from the RX FIFO, but before reading the last 17th byte (which is lost) it does this: sr = xspi->read_fn(xspi->regs + XSPI_SR_OFFSET); if (!(sr & XSPI_SR_RX_EMPTY_MASK)) { xilinx_spi_rx(xspi); rx_words--; } It reads the status register and checks if the RX FIFO is not empty. But it is empty in our case. So this check spins in a while loop forever locking the driver. This patch fixes the logic to determine the FIFO size.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Fix kernel heap address leak in bounce_error_event() The comment above bounce_error_event() documents that user clients should receive SNDRV_SEQ_EVENT_BOUNCE with the original event embedded as variable-length data, while kernel clients should receive SNDRV_SEQ_EVENT_KERNEL_ERROR with a quoted kernel pointer. However, the implementation unconditionally uses SNDRV_SEQ_EVENT_KERNEL_ERROR with data.quote.event set to the raw struct snd_seq_event pointer for all clients. When a bounce error event is delivered to a USER_CLIENT via snd_seq_read(), the kernel heap address in data.quote.event is exposed to userspace through copy_to_user() in the fixed-length branch. This is a distinct leak path from the one addressed by commit 705dd6dcbc0e ("ALSA: seq: Clear variable event pointer on read"), which sanitizes data.ext.ptr in the variable-length branch of snd_seq_read(). The bounce_error_event() leak uses fixed-length events that take the else branch where no sanitization occurs. Differentiate the bounce event by client type. For USER_CLIENT, send SNDRV_SEQ_EVENT_BOUNCE with SNDRV_SEQ_EVENT_LENGTH_VARIABLE and data.ext pointing to the original event. The variable-length path in snd_seq_event_dup() copies the event data into chained cells, and snd_seq_expand_var_event() copies only the content -- never the pointer -- to userspace. For KERNEL_CLIENT, keep the existing SNDRV_SEQ_EVENT_KERNEL_ERROR behavior with the quoted pointer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: cavium/cpt - fix DMA cleanup using wrong loop index The sg_cleanup error path used list[i] instead of list[j] when unmapping DMA buffers, leaking successfully mapped entries and repeatedly unmapping the failed one.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: marvell/octeontx - fix DMA cleanup using wrong loop index The sg_cleanup path used list[i] instead of list[j] when unmapping DMA buffers, leaking successfully mapped entries and repeatedly unmapping the failed one.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sctp: validate embedded address parameter length sctp_verify_asconf() and sctp_verify_param() only validate ADD_IP, DEL_IP, and SET_PRIMARY parameters against a fixed minimum size of sizeof(struct sctp_addip_param) + sizeof(struct sctp_paramhdr). This ensures the outer parameter is large enough to contain an embedded address parameter header, but does not verify that the embedded address parameter's declared length fits within the bounds of the outer parameter. Later, sctp_process_param() and sctp_process_asconf_param() extract the embedded address parameter and pass it to af->from_addr_param(), which uses the address parameter length to parse the variable-length address payload. A malformed peer can therefore advertise an embedded address parameter length that exceeds the remaining bytes in the enclosing parameter. Validate that addr_param->p.length does not exceed the space available after the sctp_addip_param header before processing the embedded address parameter. Reject malformed parameters when the embedded address length extends beyond the enclosing parameter bounds. This prevents out-of-bounds reads when parsing malformed parameters carried in INIT or ASCONF processing paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: topology: Check PCM and DAI name strings before use Topology objects store several PCM and DAI names in fixed-size UAPI arrays. Other topology parser paths validate these fields with bounded strnlen() checks before using them as C strings, but the PCM and DAI paths still pass some fixed-size arrays directly to strlen(), devm_kstrdup(), DAI lookup, and diagnostic prints. A malformed topology blob with a non-NUL-terminated PCM, DAI, or stream capability name can therefore make the parser read past the end of the fixed-size field. Reject unterminated PCM and DAI name fields before consuming them as C strings.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: tegra: tegra210_ahub: Validate written enum value tegra_ahub_put_value_enum() reads e->values[item[0]] before checking whether item[0] is within the enum item range. The existing check therefore happens too late to prevent an out-of-range read of the values array. Move the check before the array access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: fsl: fsl_audmix: Validate written enum values fsl_audmix_put_mix_clk_src() and fsl_audmix_put_out_src() convert the user-provided enum item with snd_soc_enum_item_to_val() before checking whether the item is within the enum's item count. The generic snd_soc_put_enum_double() helper performs that validation, but these callbacks use the converted value first: the clock-source path tests it with BIT(), and the output-source path indexes the prms transition table with it. Reject out-of-range enum items before converting them.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: meson: aiu: Validate written enum values The AIU HDMI and internal codec mux put callbacks use the written enum value with snd_soc_enum_item_to_val() before checking whether the value is valid for the enumeration. Reject out-of-range values before converting the enum item, matching the validation already done by the G12A HDMI and internal codec mux controls.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: hdac_hdmi: Validate written enum value hdac_hdmi_set_pin_port_mux() uses the written enum value to index the texts array before calling snd_soc_dapm_put_enum_double(), which validates that the value is within the enum item range. An out-of-range value can therefore make the driver read past the texts array before the helper rejects the write. Move the lookup after the helper has accepted the value.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci: validate codec capability element length Read Local Codec Capabilities returns a sequence of capability elements. Each element starts with a one-byte length followed by that many payload bytes. hci_read_codec_capabilities() checks that the skb contains the length byte, but then validates only caps->len against the remaining skb length. A malformed controller response with one remaining byte and caps->len set to one passes that check even though the element needs two bytes. The parser then records a two-byte capability and copies one byte beyond the advertised response payload into the codec list. Validate the full element size, including the length byte, before adding it to the accumulated capability length. This preserves all well-formed capability elements and drops only truncated controller responses.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtk: fix URB leak in alloc_mtk_intr_urb error path When btmtk_isopkt_pad() fails, the previously allocated URB is not freed, leaking the urb structure. Add usb_free_urb() before returning the error.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_qca: fix NULL pointer dereference in qca_dmp_hdr() for non-serdev device hu->serdev is NULL for hci_uart attached via non-serdev paths, but qca_dmp_hdr() unconditionally dereferences hu->serdev->dev.driver->name, causing a NULL pointer dereference. Fix by guarding the dereference with a NULL check and falling back to "hci_ldisc_qca" for the non-serdev case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: sm501fb: Fix buffer errors in OF binding code The code that gets the frame buffer mode from OF has 'use after free', 'buffer overrun' and memory leaks. info->edid_data isn't free if the probe functions fail or if pd->def_mode is set. If both the CRT and PANEL are enabled info->edid_data is used after being freed and is freed twice. The string returned by of_get_property(np, "mode", &len) is just written over either the static "640x480-16@60" or the module parameter string without any regard for the length (which is most likely longer). Use kstrump() for the OF mode and free everything before freeing 'info.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: unregister PM notifier on watchdog unregister watchdog_register_device() registers wdd->pm_nb when WDOG_NO_PING_ON_SUSPEND is set, but watchdog_unregister_device() does not remove it. This leaves an embedded notifier block on the PM notifier chain after the watchdog device has been unregistered. A later suspend/resume notification can then call watchdog_pm_notifier() with a stale watchdog_device pointer, or at minimum after wdd->wd_data has been cleared by watchdog_dev_unregister(). Unregister the PM notifier before tearing down the watchdog device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware_loader: Fix recursive lock in device_cache_fw_images() A recursive locking deadlock can occur in the firmware loader's power management notification handler. During system suspend or hibernation preparation, fw_pm_notify() calls device_cache_fw_images(). This function acquires fw_lock to set the firmware cache state to FW_LOADER_START_CACHE and then iterates over all devices using dpm_for_each_dev() while still holding the lock. For each device, dev_cache_fw_image() schedules asynchronous work to cache the firmware. If memory allocation for the async work entry fails (e.g., in out-of-memory conditions), async_schedule_node_domain() falls back to executing the work function synchronously in the current thread. The synchronous execution path (__async_dev_cache_fw_image() -> cache_firmware() -> request_firmware() -> assign_fw()) attempts to acquire fw_lock again. Since the current thread already holds fw_lock, this results in a recursive locking deadlock. Fix this by releasing fw_lock immediately after updating the cache state and before calling dpm_for_each_dev(). The lock is only needed to protect the state update. Concurrent firmware requests will correctly see the FW_LOADER_START_CACHE state and use the piggyback mechanism, which is independently protected by its own fwc->name_lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Clear variable event pointer on read snd_seq_read() copies a queued variable-length event header to userspace before expanding the payload. Queued variable-length events use SNDRV_SEQ_EXT_CHAINED internally, and data.ext.ptr points at the first extension cell. The read side strips SNDRV_SEQ_EXT_* bits from data.ext.len before the copy, but it leaves data.ext.ptr untouched. A userspace sequencer client can therefore write a direct variable event to itself and read back the extension-cell kernel address from the returned header. Clear the temporary header pointer before copy_to_user(). The original queued event remains unchanged and is still passed to snd_seq_expand_var_event(), so payload expansion keeps using the internal chain.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wcn36xx: fix OOB read from firmware count in PRINT_REG_INFO indication The firmware-controlled rsp->count field is used as the loop bound for indexing into the flexible rsp->regs[] array without validation against the message length. A count exceeding the actual data causes out-of- bounds reads from the heap-allocated message buffer. Add a check that count fits within the received message.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wcn36xx: fix heap overflow from oversized firmware HAL response The firmware response dispatcher copies all synchronous HAL responses into the 4096-byte hal_buf without validating the response length. A response exceeding WCN36XX_HAL_BUF_SIZE causes a heap buffer overflow with firmware-controlled content. Add a bounds check on the response length.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: always resume_all after suspend_all Need to restore any good queues even if the suspend_all failed for some. Always run remove_queue as that will schedule a GPU reset is removing the queue fails. v2: move resume_all after remove


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix memory leak in ath12k_wifi7_dp_rx_h_verify_tkip_mic() In ath12k_wifi7_dp_rx_h_verify_tkip_mic(), the call to ath12k_dp_rx_check_nwifi_hdr_len_valid() may return false when the NWIFI header length is invalid, causing the function to abort early with -EINVAL. When this happens, the error propagates to ath12k_wifi7_dp_rx_h_defrag(), which clears first_frag by setting it to NULL. As a result, the corresponding MSDU is no longer referenced by the defragmentation path and is never freed. This leads to a memory leak for the affected MSDU on this error path. Proper cleanup is required to ensure the MSDU is released when header validation fails during TKIP MIC verification. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Fix iommu_map_sgtable() return value check Commit "iommu: return full error code from iommu_map_sg[_atomic]()" changed iommu_map_sgtable() to return an ssize_t and negative values in error cases, rather than a size_t and a zero. pin_job() also was incorrectly assigning to 'int', which could cause overflows into negative values. Update pin_job() to correctly check for errors from iommu_map_sgtable.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Allow entries in BO caches to be freed When a buffer object is pinned via host1x_bo_pin() with a cache, the resulting mapping is kept in the cache so it can be reused on subsequent pins. Each mapping held a reference to the underlying host1x_bo (taken in tegra_bo_pin / gather_bo_pin), so as long as a mapping was cached, the bo itself could not be freed. However, the only way to remove the cached mapping was through the free path of the buffer object. This meant that if a bo got cached, it could never get freed again. Resolve the circularity by holding a weak reference to the bo from the cache side. This is done by having the .pin callbacks not bump the bo's refcount -- instead the common Host1x bo code does so, except for the cache reference. Also move the remove-cache-mapping-on-free code into a common function inside Host1x code. This is only called from the TegraDRM GEM buffers since those are the only ones that can be cached at the moment.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: midi: Serialize output teardown with event_input event_process_midi() borrows msynth->output_rfile.output and then passes the substream to dump_midi() and snd_rawmidi_kernel_write() without synchronizing with the output open/close transition. midisynth_use() also publishes output_rfile before snd_rawmidi_output_params() has finished. The last midisynth_unuse() can therefore release the same rawmidi file and free substream->runtime before snd_rawmidi_kernel_write1() takes its runtime buffer reference. That leaves the event_input path using a stale substream or runtime and can end in a NULL-deref or use-after-free. Fix this with two pieces of synchronization. Keep a short IRQ-safe spinlock only for publishing or clearing output_rfile and for pairing the output snapshot with an snd_use_lock_t reference. Once event_process_midi() has taken that in-flight reference, it drops the spinlock before calling snd_seq_dump_var_event(), dump_midi(), or snd_rawmidi_kernel_write(). midisynth_unuse() now detaches the visible rawmidi file under the same spinlock, waits for the in-flight writers to drain, and only then drains and releases the saved file. midisynth_use() likewise opens into a local snd_rawmidi_file and publishes it only after snd_rawmidi_output_params() succeeds. The buggy scenario involves two paths, with each column showing the order within that path: event_input path: last unuse path: 1. event_process_midi() snapshots 1. midisynth_unuse() starts output_rfile.output. tearing down output_rfile. 2. dump_midi() reaches 2. snd_rawmidi_kernel_release() snd_rawmidi_kernel_write() closes the output file. before runtime is pinned. 3. close_substream() frees 3. The callback keeps using substream->runtime. the borrowed substream. Validation reproduced this kernel report: KASAN null-ptr-deref in snd_rawmidi_kernel_write1+0x56/0x360 RIP: 0033:0x7fde7dd0837f RIP: 0010:snd_rawmidi_kernel_write1+0x56/0x360


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/syncobj: Fix memory leak in drm_syncobj_find_fence() Commit 18226ba52159 ("drm/syncobj: reject invalid flags in drm_syncobj_find_fence") forgot to take into account the fact that drm_syncobj_find() takes a reference to syncobj and returns early without dropping the reference, leading to memory leaks. Reported by: Sam Spencer <sam.spencer@arm.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: atmel-sha204a - fix blocking and non-blocking rng logic The blocking and non-blocking paths were failing to provide valid entropy due to improper buffer management. Reading the buffer starting from byte 1, only fetch the 32 bytes of random data from the return message. Tested on an Atmel SHA204A device. Before (here for blocking), tests showed repeatedly reading reduced bytes. $ head -c 32 /dev/hwrng | hexdump -C 00000000 02 28 85 b3 47 40 f2 ee 00 00 00 00 00 00 00 00 |.(..G@..........| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 After, the result will be similar to the following: $ head -c 32 /dev/hwrng | hexdump -C 00000000 5a fc 3f 13 14 68 fe 06 68 0a bd 04 83 6e 09 69 |Z.?..h..h....n.i| 00000010 75 ff cf 87 10 84 3b c9 c1 df ae eb 45 53 4c c3 |u.....;.....ESL.| 00000020


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: ccp - Fix snp_filter_reserved_mem_regions() off-by-one Sashiko notes: > regarding the bounds check in snp_filter_reserved_mem_regions() > called via walk_iomem_res_desc(): does the check > if ((range_list->num_elements * 16 + 8) > PAGE_SIZE) > allow an off-by-one heap buffer overflow? > > If range_list->num_elements is 255, 255 * 16 + 8 = 4088, which is <= 4096. > Writing range->base (8 bytes) fills 4088-4095, but writing range->page_count > (4 bytes) would write to 4096-4099, overflowing the kzalloc-allocated > PAGE_SIZE buffer. Fix this by accounting for the entry about to be written to, in addition to the entries that are already allocated.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: fix OOB access from firmware tx status queue ID ath_tx_edma_tasklet() accesses sc->tx.txq[ts.qid] where ts.qid is a 4-bit hardware field (0-15), but the txq array only has ATH9K_NUM_TX_QUEUES (10) entries. A qid >= 10 causes an OOB array access. Add a bounds check on ts.qid before using it as an array index.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: fix OOB read from firmware RX descriptor exceeding DMA buffer In rtw_pci_rx_napi(), new_len is computed as the sum of pkt_len (14-bit descriptor field, max 16383) and pkt_offset (drv_info_sz + shift, both firmware-controlled). The result can exceed RTK_PCI_RX_BUF_SIZE (11478), causing an out-of-bounds read from the pre-allocated DMA buffer when skb_put_data copies new_len bytes. The USB transport already validates this (rtw_usb_rx_data_put checks against RTW_USB_MAX_RECVBUF_SZ); the PCIe path does not. Add a check that new_len does not exceed the DMA buffer size.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: Correct data type for scan index to avoid infinite loop A kernel soft lockup was observed during Wi-Fi scanning on the 6GHz band. The CPU becomes stuck in rtw89_hw_scan_add_chan_ax for over 20 seconds, leading to a system panic. RIP points to 0f b6 c3 (movzbl %bl, %eax), which zero-extends the low 8 bits of RBX into RAX. RBX (the counter i) has reached a huge value: 0x137466a1. watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [kworker/u16:4:6124] Workqueue: events_unbound cfg80211_wiphy_work [cfg80211] RIP: 0010:rtw89_hw_scan_add_chan_ax+0xb3/0x6e0 [rtw89_core] Code: a0 48 89 45 a8 44 89 6d 9c 44 89 75 98 eb 29 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 83 c3 01 <0f> b6 c3 41 3b 44 24 74 0f 83 0b 02 00 00 0f b6 c3 48 8d 14 80 49 RSP: 0018:ffffcb48cbaa39f8 EFLAGS: 00000202 RAX: 0000000000000005 RBX: 00000000137466a1 RCX: 0000000000000000 RDX: ffff89ffc9d851a8 RSI: 0000000000004f0d RDI: 0000000096af0130 RBP: ffffcb48cbaa3a60 R08: 0000000000000000 R09: ffff8a00b7502080 R10: ffff8a00b75ff600 R11: 0000000000000000 R12: ffff89ffc7553870 R13: ffff8a00b7ac8f19 R14: ffff8a00b75020d8 R15: ffff89ffc3d54d80 FS: 0000000000000000(0000) GS:ffff8a014f962000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007558d7f9f4c4 CR3: 0000000178040001 CR4: 00000000001706f0 Call Trace: <TASK> rtw89_hw_scan_prep_chan_list_ax+0x8a/0x400 [rtw89_core] rtw89_hw_scan_start+0x546/0x8a0 [rtw89_core] ? rtw89_fw_h2c_default_cmac_tbl+0x13c/0x1f0 [rtw89_core] rtw89_ops_hw_scan+0xae/0x120 [rtw89_core] drv_hw_scan+0xbb/0x180 [mac80211] __ieee80211_start_scan+0x2fc/0x750 [mac80211] ieee80211_request_scan+0xe/0x20 [mac80211] ieee80211_scan+0x123/0x190 [mac80211] rdev_scan+0x40/0x110 [cfg80211] cfg80211_scan_6ghz+0x5a1/0xa30 [cfg80211] By objdump with source: for (i = 0; i < req->n_6ghz_params; i++) { 5fbc0: 83 c3 01 add $0x1,%ebx --> i++ 5fbc3: 0f b6 c3 movzbl %bl,%eax --> get counter fbc6: 41 3b 44 24 74 cmp 0x74(%r12),%eax * RBX: 00000000137466a1 -> %bl = a1 -> EAX = 000000a1 (161)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/radeon: fix memory leak in radeon_ring_restore() on lock failure radeon_ring_restore() takes ownership of the data buffer allocated by radeon_ring_backup(). The caller (radeon_gpu_reset()) only frees it in the non-restore branch; in the restore branch it relies on radeon_ring_restore() to free it. If radeon_ring_lock() fails, the function returned early without calling kvfree(data), leaking the ring backup buffer on every GPU reset that fails at the lock stage. During repeated GPU resets this causes cumulative kernel memory exhaustion. Free data before returning the error.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/radeon: fix integer overflow in radeon_align_pitch() radeon_align_pitch() has the same kind of overflow issue as the old amdgpu helper: both the alignment round-up add and the final 'aligned * cpp' calculation can overflow signed int. If that wraps, radeon_mode_dumb_create() can end up returning an invalid pitch or creating a zero-sized dumb buffer. Fix this by using check_add_overflow() for the alignment round-up and check_mul_overflow() for the final pitch calculation, returning 0 on overflow. Also reject zero pitch and size in radeon_mode_dumb_create(). Found via AST-based call-graph analysis using sqry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbcon: fix NULL pointer dereference for a console without vc_data fbcon_new_modelist() runs when a framebuffer's modelist changes. For each console mapped to it with fb_display[i].mode set, it reads vc_cons[i].d and passes the vc_num to fbcon_set_disp(). This assumes a console with a mode set has a vc_data, but it can be NULL. fbcon_set_disp() sets fb_display[i].mode before it checks vc_data, and fbcon_deinit() leaves the mode set after the vc_data is freed. fbcon_new_modelist() then dereferences the NULL vc_data. Keep fb_display[i].mode set only while the console has a vc_data. Check vc_data before setting the mode in fbcon_set_disp(), and clear the mode in fbcon_deinit(). The existing mode check in fbcon_new_modelist() then skips such consoles.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Clear Present bit before tearing down scalable-mode context entry device_pasid_table_teardown() zeroes the 128-bit scalable-mode context entry with context_clear_entry() while the Present bit is still set. This creates a window where the hardware can fetch a torn entry, with some fields already zeroed while Present is still set, leading to unpredictable behavior or spurious faults. The context-cache invalidation is issued only after the entry has been zeroed, and intel_pasid_free_table() then frees the PASID directory pages, so the IOMMU can keep walking a stale Present=1 entry that points at freed memory. While x86 provides strong write ordering, the compiler may reorder the two 64-bit writes to the entry, and the hardware fetch is not guaranteed to be atomic with respect to multiple CPU writes. Commit c1e4f1dccbe9d ("iommu/vt-d: Clear Present bit before tearing down context entry") fixed this exact pattern in domain_context_clear_one() and the copied-context path, but device_pasid_table_teardown() was not converted. Align it with the "Guidance to Software for Invalidations" in the VT-d spec, Section 6.5.3.3, using the same ownership handshake as the sibling fix: clear only the Present bit, flush it to the IOMMU, perform the context-cache invalidation, and only then zero the rest of the entry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: avoid destroy_workqueue(NULL) on vkms init failure Two paths through vmw_vkms_init() can leave vmw->crc_workq NULL while still leaving the rest of the driver in a state that calls vmw_vkms_cleanup() at module unload: 1. vmw_host_get_guestinfo(GUESTINFO_VBLANK, ...) failing or returning an oversized buffer -- the common case on hosts without a VBLANK guestinfo entry -- early-returned before the workqueue allocation. 2. alloc_ordered_workqueue() returning NULL on memory pressure. vmw_vkms_cleanup() then calls destroy_workqueue(NULL), which dereferences wq->name and panics. Fix the first case by removing the early return: vmw->vkms_enabled is already false on the rpci-failure path so no work will ever be queued, and allocating the workqueue unconditionally keeps the control flow simple. Fix the second case by guarding the cleanup with a NULL check, since alloc_ordered_workqueue() can still fail under low memory.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: reject DX_BIND_QUERY without a DX context vmw_cmd_dx_bind_query() unconditionally dereferences sw_context->dx_ctx_node->ctx. Userspace can trigger a NULL pointer dereference from any render-node fd by submitting an execbuf with dx_context_handle == SVGA3D_INVALID_ID and a SVGA_3D_CMD_DX_BIND_QUERY opcode in the command stream: dx_ctx_node is left NULL and the kernel oopses on the assignment. The same NULL is then re-read in vmw_resources_reserve() via vmw_context_get_dx_query_mob(). All sibling DX handlers fail-close on a missing dx_ctx_node using VMW_GET_CTX_NODE(). Use the same pattern here, returning -EINVAL up front before any relocation state is published.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: hold event_mutex while checkpointing CRIU events kfd_criu_checkpoint_events() counts the entries in p->event_idr via kfd_get_num_events(), allocates an array sized to that count, and then walks the same IDR to fill it. Neither the count nor the walk holds p->event_mutex. The CRIU checkpoint caller holds only p->mutex. Event create and destroy (kfd_event_create()/kfd_event_destroy()) take p->event_mutex and do not take p->mutex, so a second thread in the same process can insert or remove events between the count and the walk. If an event is inserted, the walk iterates more entries than were counted and writes past the end of the ev_privs allocation; if an event is removed, the walk dereferences an entry that is being freed. Hold p->event_mutex across the count and the walk so both observe a consistent view of p->event_idr. The lock is released before copy_to_user(), which only touches the local buffer. The caller already holds p->mutex and the create/destroy paths never take p->mutex, so the p->mutex -> p->event_mutex order is not inverted and no deadlock is introduced. (cherry picked from commit ff57e223ab105795b05d3ef3f3c35a5a441bcbaa)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment eop_ring_buffer_size in struct queue_properties is a u32. In kfd_queue_acquire_buffers() the expected EOP buffer size is computed as ALIGN(eop_ring_buffer_size, PAGE_SIZE); ALIGN uses typeof(x), so the addition is done in 32-bit. A user-supplied size of 0xFFFFF001 wraps to 0, causing kfd_queue_buffer_get() to skip its exact-size check (gated on size != 0) and accept any BO mapped at the address. On GFX8/GFX9 the MQD cp_hqd_eop_control is then programmed for an 8KB EOP ring backed by a 4KB BO, so CP EOP writes can land past the buffer and fault the GPU. Cast the operand to u64 so the alignment is computed in 64-bit; the size check in kfd_queue_buffer_get() then rejects the oversized request. (cherry picked from commit ae443117b742c357bfef3a7bddabf76fcf86e9ef)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix QID bit leak in pqm_create_queue() When MES is enabled and amdgpu_amdkfd_alloc_kernel_mem() fails during the first queue creation for a process, pqm_create_queue() returns early via 'return retval' without going through the err_create_queue cleanup label. This means clear_bit(*qid, pqm->queue_slot_bitmap) is never called, leaving the reserved QID bit permanently set in queue_slot_bitmap. Over time this leaks QID slots, potentially exhausting all available queue slots. Fix this by replacing 'return retval' with 'goto err_allocate_pqn' so that clear_bit() is always called on the error path without touching the uninitialized pqn pointer. AILIKFD-813 (cherry picked from commit a107f74c38edbb80d6ab64dcaeeb292c14e9779f)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: validate firmware interface structure sizes iface_fw_to_cpu_addr() only checks that the firmware-provided MCU virtual address points inside the shared section. The returned pointer is later used as a full firmware interface structure, so accepting an address near the end of the shared section can still lead to out-of-bounds accesses. Pass the expected object size to iface_fw_to_cpu_addr() and reject ranges that do not fit entirely in the shared section.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: reject firmware sections with oversized data In panthor_fw_load_section_entry(), the data size to copy is calculated without validating it against the allocated section_size: section->data.size = hdr.data.end - hdr.data.start; If a crafted firmware sets data.size larger than the allocated memory, this could cause a heap buffer overflow in panthor_fw_init_section_mem() memcpy(section->mem->kmap, section->data.buf, section->data.size); Additionally, if the section->data.size exceeds the BO size, could this memset underflow the size calculation, leading to a massive out-of-bounds zeroing of kernel memory? memset(section->mem->kmap + section->data.size, 0, panthor_kernel_bo_size(section->mem) - section->data.size); Reject section entries whose initial data is larger than the section size.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: peak_usb: validate uCAN receive record lengths pcan_usb_fd_decode_buf() walks uCAN records packed in one USB receive buffer. Require each record to contain the fixed header for its type, and verify CAN payload bytes before copying them into the skb.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: peak_usb: peak_usb_start(): fix double free of transfer buffer on URB submit error In peak_usb_start(), each RX URB transfer buffer is allocated with kmalloc() and the URB is flagged URB_FREE_BUFFER so that the final usb_free_urb() also frees the transfer buffer. If usb_submit_urb() fails, the error path frees the buffer explicitly with kfree(buf) and then calls usb_free_urb(urb). Because URB_FREE_BUFFER is set, usb_free_urb() -> urb_destroy() frees the same buffer a second time, a double free of the transfer buffer. BUG: KASAN: double-free in usb_free_urb.part.0+0x91/0xb0 Free of addr ffff8881069ccb80 by task trigger.sh/285 Call Trace: kfree+0x113/0x3c0 usb_free_urb.part.0+0x91/0xb0 Drop the redundant kfree(buf); usb_free_urb() already releases the transfer buffer. This mirrors commit 03819abbeb11 ("net: usb: lan78xx: Fix double free issue with interrupt buffer allocation").


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: peak_usb: add bounds check for USB channel index The channel control index ctrl_idx is derived from rx->len which comes directly from a device USB payload. The mask 0x0f allows values 0-15, but the array size of usb_if->dev[] is only 2. Values 2-15 cause heap out-of-bounds read, eventually causing kernel panic in the IRQ context. Add bounds checking for ctrl_idx before the array access in both pcan_usb_pro_handle_canmsg() and pcan_usb_pro_handle_error().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: kvaser_usb_leaf: kvaser_usb_leaf_wait_cmd(): validate received command extents The wait and bulk receive paths walk variable-length commands from a USB buffer. A nonzero command shorter than CMD_HEADER_LEN can still be dispatched, and the wait path copies a matching command into a fixed caller-owned struct kvaser_cmd using the device-provided length. Reject nonzero commands that do not contain the fixed header or that extend beyond the current USB buffer item. In the wait path, also reject a matching command that exceeds the destination before copying it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: etas_es58x: es58x_read_bulk_callback(): fix RX buffer leak on URB resubmit failure es58x_read_bulk_callback() resubmits the RX URB after processing a received packet. If the resubmit succeeds, the URB remains anchored and will be handled by the normal RX path or by teardown. However, if usb_submit_urb() fails, the callback unanchors the URB and then returns directly. This skips the existing free_urb path, so the coherent transfer buffer allocated with usb_alloc_coherent() is not released. Reuse the existing free_urb path after a resubmit failure so that the RX coherent buffer is freed before leaving the callback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: ems_usb: validate CPC message lengths ems_usb_read_bulk_callback() walks CPC messages packed in one USB receive buffer. Check that each declared message fits in the URB payload. Also require the type-specific payload to cover the fields used by the CAN, state, error and overrun handlers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: Cancel hrtimer before clearing slave pointer In i2c_imx_unreg_slave(), the slave pointer is set to NULL after disabling interrupts. However, a pending interrupt might already have started the hrtimer (i2c_imx_slave_timeout) before the pointer was cleared. If the hrtimer fires after i2c_imx->slave is set to NULL, the timer callback i2c_imx_slave_finish_op() will call i2c_imx_slave_event() with a NULL slave pointer, which results in a use-after-free / NULL pointer dereference. Fix by canceling the hrtimer and waiting for it to complete after disabling interrupts, before clearing the slave pointer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: jz4780: Cache host clock rate at probe to prevent CCF prepare_lock deadlock Fix a severe AB/BA deadlock between the Common Clock Framework (CCF) and the I2C adapter lock, which triggers when an I2C-controlled clock generator client (like the Si5351) is registered or modified under the CCF. During an i2c client clock (generator) frequency change, the CCF acquires its global 'prepare_lock' mutex and the driver calls i2c_transfer() to update the client's chip registers, stalling for the adapter's I2C bus lock. Concurrently, an independent, parallel transfer on the same bus (e.g., a GPIO expander handling LEDs) can hold the I2C adapter lock. Inside this parallel transfer path, jz4780_i2c_set_speed() calls clk_get_rate() on the host controller's input clock to calculate bus timings. This call attempts to acquire the blocked CCF 'prepare_lock', creating a circular dependency that freezes the system. The jz4780 host controller clock itself is static and never changes at runtime. However, calling clk_get_rate() inside the active transfer path introduces an unnecessary dependency on the CCF internal locks. Eliminate this synchronous clk_get_rate() call from the active transfer path by caching the static host peripheral clock rate once - inside the private jz4780_i2c structure during jz4780_i2c_probe(). Update jz4780_i2c_set_speed() to use this cached value, safely decoupling active I2C transactions from the CCF internal locks without any risk of stale timings. Assisted-by web based Google AI (pinpointing the bug and writing the message).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ublk: reset kernel-owned dev_info fields in ublk_ctrl_add_dev() ublk_ctrl_add_dev() memcpy()s the userspace ublksrv_ctrl_dev_info into ub->dev_info and then fixes up the fields the driver owns, but misses ->state and ->ublksrv_pid. A device added with ->state = UBLK_S_DEV_LIVE passes the "->state != UBLK_S_DEV_DEAD" test that ublk_stop_dev_unlocked() uses as its proxy for "a disk is attached", while ->ub_disk is still NULL, so DEL_DEV right after ADD_DEV oopses in del_gendisk(). UBLK_S_DEV_QUIESCED plus UBLK_F_USER_RECOVERY dies one step earlier, in ublk_force_abort_dev(). A poisoned ->state also gets START_USER_RECOVERY and the char device read/write path onto a device that was never started, and wedges START_DEV at -EEXIST. A poisoned ->ublksrv_pid just makes GET_DEV_INFO report an unrelated task as the ublk server. Reset both after the memcpy(), as ublk_detach_disk() does. Userspace only ever reads these back, so correcting them silently breaks nothing. ADD_DEV has copied ->state in unsanitized since ublk was merged, but back then it was harmless: the gendisk was allocated during ADD_DEV, and both teardown and the START_DEV -EEXIST check keyed off disk_live() rather than ->state. The oops became reachable once the disk allocation moved to START_DEV and those checks switched to ->state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Clamp frame size in implicit-feedback mode snd_usb_handle_sync_urb() scales received sync packet sizes by the sender's stride and stores the result directly in out_packet->packet_size[i]. If a connected USB device sends an oversized sync packet, this frame count can exceed ep->maxframesize. The un-clamped frame count then propagates to the playback endpoint queue, potentially driving packet transfers beyond the endpoint's hardware frame limits. Cap the calculated frame count against ep->maxframesize in snd_usb_handle_sync_urb() to prevent oversized packets from entering the playback queue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix DMA buffer out-of-bounds write when fill_max is set When a USB audio endpoint requests full packet transfers via the fill_max descriptor flag, data_ep_set_params() promotes ep->curpacksize to ep->maxpacksize. However, maxsize is left at the original sample-rate derived value. Since u->buffer_size is allocated as maxsize * packets, the resulting DMA buffer is far too small for the requested transfer length. When the USB host controller streams up to curpacksize bytes per packet, it writes past the end of the buffer via DMA, corrupting kernel heap memory. Update maxsize to curpacksize when fill_max is set so that the allocated DMA buffer size matches the actual transfer request size. [ changed to reassign maxsize only when ep->fill_max is set -- tiwai ]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output() snd_usbmidi_akai_output() computes its fill-loop bound buf_end = ep->max_transfer - MAX_AKAI_SYSEX_LEN - 1; as a signed int, so a small device-advertised bulk-OUT max_transfer makes buf_end negative. The loop guard then compares the u32 urb->transfer_buffer_length against that negative int: the usual arithmetic conversion turns buf_end into a large unsigned value, so the guard stays true and each iteration keeps appending SysEx framing and payload bytes past the end of the URB transfer buffer, which is only max_transfer bytes long. A USB device that advertises a tiny bulk-OUT endpoint can therefore trigger an attacker-length- and content-controlled heap out-of-bounds write when a process writes to the created /dev/snd/midiC*D* node. Return early when there is no room for even one SysEx, so the loop is never entered with a bound that would wrap. The loop is the last statement of the function, so bailing out is equivalent to it not running. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix use-after-free in ump_to_endpoint() create_midi2_ump() registers a card-owned snd_ump_endpoint and stores a back-pointer to its per-interface snd_usb_midi2_ump object in ump->private_data, but it never installs an ump->private_free hook and never clears that pointer. If a later step of snd_usb_midi_v2_create() fails, its error path calls free_all_midi2_umps(), which kfree()s the snd_usb_midi2_ump object while the already-registered endpoint keeps pointing at it. The created /dev/snd/umpC*D* node stays exposed, so the first operation of any UMP open, ump_to_endpoint(), dereferences the dangling ump->private_data and reads rmidi->eps[dir] out of freed memory. A malicious USB MIDI 2.0 device that makes creation fail after the endpoint is registered can thus trigger a slab use-after-free read on a subsequent open of the UMP node. Clear the endpoint's back-pointer before freeing the object, and let ump_to_endpoint() tolerate a NULL private_data so the open/close/trigger callbacks fail cleanly (their callers already handle a NULL endpoint) instead of dereferencing a stale pointer. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: ump: fix double free of out_cvts on rawmidi error snd_ump_attach_legacy_rawmidi() allocates the legacy conversion array ump->out_cvts and, on the snd_rawmidi_new() error path, frees it with kfree() but leaves ump->out_cvts pointing at the freed memory. When the endpoint is later torn down, snd_ump_endpoint_free() frees ump->out_cvts a second time, resulting in a double free. The host snd-usb-audio driver attaches the legacy rawmidi for any USB MIDI 2.0 (UMP) device, so a device that makes snd_rawmidi_new() fail reaches this path on enumeration. Clear ump->out_cvts after freeing it on the error path so it is not freed again during teardown. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: 6fire: Fix UAF at error handling during probe Although 6fire driver had a few fixes for dealing with the early error handling during the probe phase, it forgot a pending URB before freeing the resources, which may lead to a UAF. This patch addresses it by doing the almost same cleanup procedure like the normal disconnect phase at the error path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: HIDP: validate numbered report payloads When hidp_get_raw_report() waits for a numbered report, hidp_process_data() compares the expected report number with skb->data[0]. A connected HIDP peer can reply with only a DATA transaction header, leaving the skb empty after the header is removed. KMSAN reports an uninitialized-value use in hidp_session_run(), with the value originating in __alloc_skb() through vhci_write(). The transaction header checks remove the empty-frame reports, but this report remains until the payload check is added. The comparison can also consume a peer-controlled byte beyond the declared L2CAP PDU. A DATA | FEATURE response followed by an extra 0x01 byte made the current code accept that byte as report ID 1 and complete HIDIOCGFEATURE with a zero-byte result. With this change the malformed response is rejected with -EIO, while a subsequent valid response still succeeds. Require a payload byte before comparing a numbered report ID. Unnumbered reports continue to accept an empty payload.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: HIDP: reject frames without a transaction header hidp_recv_ctrl_frame() and hidp_recv_intr_frame() read skb->data[0] before checking that the L2CAP SDU contains a transaction header. A connected HIDP peer can send an empty basic-mode SDU and make both paths use an uninitialized byte from skb tailroom. KMSAN reports the use in hidp_session_run(), with the uninitialized value originating in __alloc_skb() through vhci_write(). The control path produces two reports and the interrupt path produces one. The byte can also be controlled by a malformed lower-layer packet. If an HCI ACL packet contains an L2CAP PDU with a declared zero-length payload followed by an extra 0x15 byte, l2cap_recv_acldata() reduces skb->len to the declared PDU length before dispatch. The current HIDP path nevertheless consumes the extra byte as HIDP_TRANS_HID_CONTROL | HIDP_CTRL_VIRTUAL_CABLE_UNPLUG and terminates the HIDP session. With this change, the same packet is discarded and a subsequent feature report request succeeds. Pull the transaction header with skb_pull_data() and discard frames that do not contain it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Fix memory accounting for pinned/unpinned pages The account_mem() and unaccount_mem() functions call get_uid() which increments the reference count of struct user_struct on every invocation. But we don't decrement the count by calling free_uid(). It also accounted/unaccounted the pages against the current->mm. But its possible the unaccount_mem() can be called from a different process context than the one that originally pinned the pages. Let's fix this by storing the pinning process user_struct and mm_struct when accounting for pinned pages, and subsequently free these resources when the pages are unpinned. [borntraeger@linux.ibm.com: Fixed whitespace]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinctrl: devicetree: don't free uninitialized dev_name on error path dt_remember_or_free_map() duplicates dev_name for each map entry. If kstrdup_const() fails, dt_free_map() frees dev_name in all num_maps entries, including entries that have not been initialized. Some pinctrl drivers, including pinctrl-imx, allocate the map with kmalloc() and leave dev_name for the core to initialize. The untouched entries therefore contain uninitialized data which is passed to kfree_const(). Reproduced on qemu's mcimx6ul-evk (pinctrl-imx) with failslab injection while binding the pinctrl-consuming device, under KASAN: BUG: KASAN: double-free in dt_free_map+0x34/0xa4 Free of addr c425a900 by task init/1 kfree from dt_free_map+0x34/0xa4 dt_free_map from dt_remember_or_free_map+0x184/0x198 dt_remember_or_free_map from pinctrl_dt_to_map+0x33c/0x4c8 pinctrl_dt_to_map from create_pinctrl+0x9c/0x5c0 Initialize all dev_name fields to NULL before duplicating the device name, making the full-map cleanup safe after a partial failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_conn: hold conn reference in abort_conn_sync() There is theoretical UAF if the conn is freed while the hci_sync task is running. Hold refcount to avoid that.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: Validate length before parsing diagnostics TLV btintel_diagnostics() accesses tlv->val[0] without first validating that the diagnostics VSE is long enough to contain that field, so may cause reading data beyond the received frame. Fix by validating the length before access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (adt7470) Fix divide-by-zero TOCTOU crash in fan speed read If the fan data becomes 0 between the FAN_DATA_VALID() check and the FAN_PERIOD_TO_RPM() conversion, it will result in a divide-by-zero crash due to a race with a concurrent update of the cached fan value. Fix a TOCTOU issue by reading fan data once.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (adt7470) Fix busy-loop and I2C flooding in update thread When userspace configures 'auto_update_interval' to 0 via sysfs, the background kthread executes schedule_timeout_interruptible(0), which returns immediately. If 'num_temp_sensors' is concurrently or previously set to 0, the msleep_interruptible() delay inside adt7470_read_temperatures() also becomes 0. This combination forces the background thread into a tight, unbounded busy-loop, hogging the CPU and flooding the I2C bus with a continuous stream of transactions. Fix this vulnerability by raising the lower limit of the clamp_val in auto_update_interval_store() from 0 to 500 milliseconds. This guarantees a reasonable minimum sleep window between sensor updates, protecting the system from intentional or accidental I2C bus denial of service.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (nct6775-core) Prevent access to unsupported weight registers Sashiko reports: During initialization of the nct6116 chip, the driver sets data->pwm_num to 5. However, it assigns several NCT6106 register arrays (such as NCT6106_REG_WEIGHT_DUTY_STEP, NCT6106_REG_WEIGHT_TEMP_SEL, and NCT6106_REG_WEIGHT_TEMP_*) to data->REG_PWM and data->REG_WEIGHT_TEMP. These arrays only contain 3 elements. In nct6775_update_pwm(), the driver iterates up to data->pwm_num. If data->has_pwm has bits 3 or 4 set (which is structurally possible for nct6116), the loop attempts to read elements at index 3 and 4 from these 3-element arrays. This results in a global out-of-bounds read, which can be caught by KASAN. Furthermore, the driver uses these garbage out-of-bounds values as hardware register addresses for subsequent read and write operations. This leads to invalid hardware register access, potentially causing hardware misconfiguration or system crashes. The underlying problem is that the chip does support up to five fan control channels, but only the first three support weight control. Fix the problem by extending the affected weight register arrays with zeroed fields. The driver uses zeroed register addresses to determine if a register is supported or not, and skips accesses for unsupported registers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (lm90) Only report alarms if driver is ready Userspace can read sysfs attributes before driver registration is complete, immediately after devm_hwmon_device_register_with_info() has been called. At that time, data->hwmon_dev is not yet initialized. This can trigger a NULL pointer access since lm90_update_device() and with it lm90_update_alarms_locked() will be called. This call schedules report_work and lm90_report_alarms(), which passes the still-NULL data->hwmon_dev to hwmon_notify_event() and triggers a NULL pointer dereference. Fix the problem by only scheduling the report and alert workers data->hwmon_dev is set.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix fdev setup failure cleanup in idxd_cdev_open() The failed_dev_add and failed_dev_name paths drop the file-device reference while wq->wq_lock is still held. If put_device(fdev) drops the last reference, idxd_file_dev_release() runs synchronously and tries to take wq->wq_lock again, deadlocking. Those paths also fall through into the later ctx cleanup labels even though idxd_file_dev_release() owns that cleanup and frees ctx. This can make idxd_xa_pasid_remove(ctx) and kfree(ctx) operate on a freed context. Move idxd_wq_get() before file-device setup can fail, since the release callback always calls idxd_wq_put(). Then unlock wq->wq_lock before put_device(fdev) and return directly from the file-device setup failure path, leaving ctx cleanup to the release callback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Bound the DROM dual link port number before indexing sw->ports tb_drom_parse_entry_port() validates the device-supplied header->index against sw->config.max_port_number before indexing sw->ports[], but the sibling field entry->dual_link_port_nr -- a 6-bit value also read from the DROM -- indexes the same array with no such check. A malicious or malformed Thunderbolt device can set dual_link_port_nr beyond the allocated sw->ports[] (max_port_number + 1 entries), producing an out-of-bounds tb_port pointer that is stored and later dereferenced. Reject a port entry whose dual_link_port_nr exceeds max_port_number, the same bound already applied to header->index.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Revert "thermal/drivers/hwmon: Cleanup coding style a bit" Revert commit 030a48b0f6ce ("thermal/drivers/hwmon: Cleanup coding style a bit") that introduced a use-after-free into the error path of thermal_add_hwmon_sysfs() by removing a valid check from it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: avoid refilling the RX queue after teardown Commit b917507e5ad9 ("vsock/virtio: stop workers during the .remove()") made the RX worker jump to its common exit when rx_run is clear. That exit still refills the RX queue when the buffer count is low, so work queued across virtio_vsock_vqs_del() can add buffers after the virtqueues have been deleted. BUG: KASAN: slab-use-after-free in virtqueue_add_sgs Read of size 4 by task kworker/0:1 Workqueue: virtio_vsock virtio_transport_rx_work Call Trace: virtqueue_add_sgs (drivers/virtio/virtio_ring.c:2796) virtio_vsock_rx_fill (net/vmw_vsock/virtio_transport.c:332) virtio_transport_rx_work (net/vmw_vsock/virtio_transport.c:701) process_one_work (kernel/workqueue.c:3314) worker_thread (kernel/workqueue.c:3478) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) ... Freed by task 141: kfree (mm/slub.c:6566) vp_del_vq (drivers/virtio/virtio_pci_common.c:259) vp_del_vqs (drivers/virtio/virtio_pci_common.c:285) virtio_vsock_freeze (net/vmw_vsock/virtio_transport.c:912) virtio_device_freeze (drivers/virtio/virtio.c:658) virtio_pci_freeze (drivers/virtio/virtio_pci_common.c:601) pci_pm_freeze (drivers/pci/pci-driver.c:1098) device_suspend (drivers/base/power/main.c:1968) Kernel panic - not syncing: KASAN: panic_on_warn set ... Jump to a no-refill exit when rx_run is clear, leaving the normal exit to replenish a running queue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net/sched: act_gact, act_police: range check the fallback control action tcf_action_check_ctrlact() range checks the primary control action: if (!opcode) ret = action > TC_ACT_VALUE_MAX ? -EINVAL : 0; TC_ACT_VALUE_MAX is TC_ACT_TRAP, so kernel-internal verdicts above it cannot be set that way. But act_gact and act_police each carry a second, independent control action supplied by user space that never reaches that helper - TCA_GACT_PROB.paction and TCA_POLICE_RESULT. Both only reject TC_ACT_GOTO_CHAIN, so any other value is stored verbatim and returned verbatim from the action. In particular user space can store TC_ACT_CONSUMED, which is TC_ACT_VALUE_MAX + 1 and is deliberately not part of the UAPI value range. That verdict tells every caller the action took ownership of the skb, so nobody frees it: sch_handle_ingress(), sch_handle_egress() and tcf_qevent_handle() all deliberately skip the free for it. The result is one leaked sk_buff plus its data buffer per packet traversing the filter, unbounded, for all traffic on the chain including kernel-generated packets. Both are trivially deterministic. act_gact clamps tcfg_pval to >= 1, so with pval = 1 gact_determ() returns the fallback for every packet. act_police has no mandatory rate, so rate = 0 leaves tcfp_mtu = ~0 and tcf_police_mtu_check() always passes. TC_ACT_CONSUMED was added by commit 720f22fed81b ("net: sched: refactor reinsert action"), after both goto-chain guards were written: commit 9469f375ab09 ("net/sched: act_gact: disallow 'goto chain' on fallback control action") and commit c08f5ed5d625 ("net/sched: act_police: disallow 'goto chain' on fallback control action"). Neither guard was widened when the new verdict appeared. Factor the existing range test out of tcf_action_check_ctrlact() as tcf_action_valid() and apply it to both fallbacks. The helper cannot call tcf_action_check_ctrlact() directly because that also allocates a goto_chain, which is exactly what these two sites must not do. Reproduced on v7.2-rc6: kmemleak reports one leaked 232-byte skbuff_head_cache object plus its 704-byte data buffer per packet. With this patch both configurations are rejected with -EINVAL and kmemleak reports none.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_conntrack: defer invalid log until after unlock TCP and SCTP conntrack paths can emit invalid-packet logs while ct->lock is still held. When invalid logging is routed to nfnetlink_log and conntrack export is enabled, the log path can re-enter conntrack netlink glue and dump the same conntrack again. Protocol attribute dumping may take ct->lock, so logging while holding that lock can deadlock. Defer the TCP invalid logs by storing only the minimal log context while ct->lock is held and emitting the log after unlocking. Also make the TCP timeout-lowering invalid path return whether a log is needed, then emit that log after unlocking. Do the same for the SCTP invalid state-transition log that can be reached while ct->lock is held. Add a lockdep assertion to nf_ct_l4proto_log_invalid() so future callers that log invalid conntracks while holding ct->lock are caught outside TCP and SCTP as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: bitblit: bound-check glyph index in bit_cursor() bit_cursor() fetches the glyph under the cursor with c = scr_readw(vc_pos); src = vc_font.data + ((c & charmask) * w * height); where charmask is 0x1ff when vc_hi_font_mask is set. The screen buffer value comes directly from scr_readw() and may be larger than the current font's glyph count. Syzkaller triggers this via vcs_write(). The Call Trace shows vcs_write() in vc_screen.c writing an arbitrary 16-bit value with writev() to /dev/vcsa, which vcs_write_buf() in vc_screen.c stores via vcs_scr_writew() without checking charcount. The stored value is later read in bit_cursor() in bitblit.c. When the font is changed from a font with 512 glyphs to a font with 256 glyphs, the screen buffer can retain characters with the high bit set from the previous mode, which could also produce the same out-of-bounds access. BUG: KASAN: global-out-of-bounds in soft_cursor+0x378/0x6bc drivers/video/fbdev/core/softcursor.c:70 Read of size 16 at addr ffff800086c57970 Call Trace: soft_cursor+0x378/0x6bc drivers/video/fbdev/core/softcursor.c:70 bit_cursor+0xa90/0x1108 drivers/video/fbdev/core/bitblit.c:365 fbcon_cursor+0x344/0x498 drivers/video/fbdev/core/fbcon.c:1427 hide_cursor+0xdc/0x2d0 drivers/tty/vt/vt.c:883 update_region+0x100/0x18c drivers/tty/vt/vt.c:669 vcs_write+0x8ec/0xaf0 drivers/tty/vt/vc_screen.c:685 bit_putcs_aligned() and bit_putcs_unaligned() already clamp the glyph index to vc_font.charcount. Apply the same clamp in bit_cursor() after extracting the attribute and masking, before indexing fontdata. The fix completes the bounds checking started in commit 18c4ef4e765a ("fbdev: bitblit: bound-check glyph index in bit_putcs*"), which missed the cursor path. This change should be safe because the clamp reuses the existing contract from fbcon: charcount is maintained under console_lock in con_font_set() and fbcon_font_set(), and hi_font_mask is cleared when switching from 512 to 256 glyphs. When stale screen data with high bits remains after a font switch, or when vcs_write() stores an arbitrary value, clamping the index to 0 prevents the out-of-bounds read without changing cursor semantics - the same fallback bit_putcs uses.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usx2y: bound the hwdep mmap fault offset snd_us428ctls_vm_fault() turns the faulting page offset into a kernel address with no bound of any kind: offset = vmf->pgoff << PAGE_SHIFT; vaddr = (char *)(...)->us428ctls_sharedmem + offset; page = virt_to_page(vaddr); get_page(page); vmf->page = page; return 0; snd_us428ctls_mmap() checks only the length of the mapping, never the offset, and us428ctls_sharedmem is a single page from alloc_pages_exact(). For a character device file_mmap_size_max() returns ULONG_MAX, so the mm layer imposes no ceiling either. Every page offset above zero resolves to a struct page outside the object, and the handler installs it into the caller's address space read-write; the vma is not marked read-only. The caller picks the page frame with a single mmap() argument and gets read-write access to a page of kernel memory it does not own; an offset that lands in an unpopulated vmemmap region oopses instead. A process that can open the hwdep node of an attached US-X2Y reaches this after loading the FPGA image through the same node; no capability check is involved. On 7.2.0-rc5 (arm64), mmap() with a large offset: Unable to handle kernel paging request at virtual address fffffdffc45d5ac8 pc : snd_us428ctls_vm_fault+0x68/0x140 [snd_usb_usx2y] Call trace: snd_us428ctls_vm_fault+0x68/0x140 [snd_usb_usx2y] __do_fault __handle_mm_fault handle_mm_fault el0_da Reject any offset outside the shared region. The pcm hwdep handler in usx2yhwdeppcm.c computes its address the same way and needs the same bound. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb: Fix UAF at delayed release of MIDI2 EPs The recent fix for UAF in ump_to_endpoint() caused another UAF because it tries to dereference the UMP endpoint object, but this might be executed at a delayed context where the endpoint has been already released. Add private_free to clear the associated data for avoiding the further dereference for delayed releases.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: take fl->lock when moving mmaps on interrupted invoke When an invoke is interrupted by a signal, wait_for_completion_interruptible() returns -ERESTARTSYS and fastrpc_internal_invoke() moves every buffer from fl->mmaps onto cctx->invoke_interrupted_mmaps. This list_del()/list_add_tail() walk runs without holding fl->lock, the lock that serialises fl->mmaps in fastrpc_req_mmap() and fastrpc_req_munmap() everywhere else. Take fl->lock around the move, matching every other fl->mmaps accessor.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: Remove buffer from list prior to unmap operation fastrpc_req_munmap_impl() is called to unmap any buffer. The buffer is getting removed from the list after it is unmapped from DSP. This can create potential race conditions if multiple threads invoke unmap concurrently, where one thread may remove the entry from the list while another thread's unmap operation is still ongoing. Fix this by removing the buffer entry from the list before calling the unmap operation. If the unmap fails, the entry is re-added to the list so that userspace can retry the unmap, or alternatively, the buffer will be cleaned up during device release when the DSP process is torn down and all DSP-side mappings are freed along with remaining buffers in the list.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: validate monitor transmit frame lengths rtw_cfg80211_monitor_if_xmit_entry() removes the radiotap header and then reads the 802.11 frame control field without checking that a base 802.11 header remains. The data path also pulls the calculated 802.11, QoS and SNAP header span before confirming that the skb contains it. A truncated frame can therefore cause out-of-bounds reads or leave insufficient data for the Ethernet address writes. Reject frames that do not contain the base 802.11 header and data frames that do not contain their complete calculated header span.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix missing shared-key auth challenge length check The WEP shared-key authentication handler uses the challenge-text element's attacker-controlled length without checking it against the fixed 128-byte chg_txt buffer. In OnAuthClient() the length from rtw_get_ie() - up to 255 - is used to perform memcpy() into the 128-byte pmlmeinfo->chg_txt, so a malicious AP sending a malformed WLAN_EID_CHALLENGE element can overflow/underfill chg_txt by up to 127 bytes. It is reachable over the air, before association, during shared-key authentication. In the case of an overflow, the driver can write out of bounds. In the case of an underfill, the driver can echo stale buffer memory. The challenge text is defined to be exactly 128 octets, which is already provided as the WLAN_AUTH_CHALLENGE_LEN define; require the element to be exactly that length before use.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in WMM_param_handler() WMM_param_handler() copies a fixed-size WMM parameter element out of a received information element without checking that the element is long enough, causing an out-of-bounds read for a short WMM IE. The handler reads sizeof(struct WMM_para_element) (18) bytes at pIE->data + 6, so it requires pIE->length to be at least 24 (WLAN_WMM_LEN), but it never validates the length. Two of its three callers reach it after matching only the WMM OUI: OnAssocRsp() in rtw_mlme_ext.c matches a 6-byte OUI, and join_cmd_hdl() matches a 4-byte OUI, before calling the handler. A vendor-specific IE carrying the WMM OUI but a length between 6 and 23, placed in an association response or in the IE blob handed to join_cmd_hdl(), passes the OUI check and then makes the memcmp() and memcpy() at pIE->data + 6 read past the end of the element. OnAssocRsp() parses a frame received from the AP, so this is reachable from a remote peer. The remaining caller in rtw_wlan_util.c already guards the handler with "pIE->length == WLAN_WMM_LEN". Move the equivalent check into the handler itself so every caller is covered; the sibling IE handlers in the same parsing loop (HT_caps_handler(), HT_info_handler(), ERP_IE_handler()) likewise bound their accesses by pIE->length.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in rtw_get_wpa_ie() rtw_get_wpa_ie() reads bytes at fixed offsets into a vendor-specific information element without checking that the element is long enough, causing an out-of-bounds read for a short trailing IE. The function locates a vendor-specific IE (EID 221) with rtw_get_ie() and then compares a 4-byte OUI+type at pbuf + 2 and reads a 2-byte version word at pbuf + 6. Those accesses require the IE body to be at least 6 bytes, but rtw_get_ie() only guarantees that the element fits within the buffer; it does not enforce a minimum body length. A vendor-specific IE whose length byte is 0 to 5, placed at the end of the buffer, therefore makes these reads run past the end of the IE and past the end of the buffer itself. The buffer holds information elements taken from received management frames and from the IE blob passed to rtw_cfg80211_set_wpa_ie(), which is kmemdup'd to its exact length, so the read can run off the end of the allocation. The sibling helpers rtw_get_sec_ie(), rtw_get_wapi_ie() and rtw_get_wps_ie() in this file already reject too-short vendor-specific IEs before their OUI memcmp(); rtw_get_wpa_ie() was never brought in line with them, and needs a minimum of 6 rather than 4 bytes because of the version word. Add the missing length check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: 8250_dma: Clear stale RX state on shutdown serial8250_release_dma() terminates RX DMA and releases the channel, but leaves rx_running set. If the port is closed while an RX transfer is active, the stale state remains while rxchan is NULL until the channel is requested again on the next open. The DesignWare BUSY workaround added by commit a7b9ce39fbe4 ("serial: 8250_dw: Ensure BUSY is deasserted") calls serial8250_rx_dma_flush() from the LCR write path during startup. This happens before serial8250_request_dma() obtains a new RX channel. On reopen, the stale rx_running state therefore makes the flush path pass a NULL channel to dmaengine_pause(), causing a kernel Oops. Clear rx_running after terminating RX DMA, matching the TX cleanup. Also make the flush helper return if the DMA object or RX channel is not available so startup and teardown paths cannot pass a NULL channel to the DMAengine API.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: qcom-geni: fix TX DMA buffer flush When transmit flushing a qcom-geni UART during an ongoing TX DMA, the UART gets stuck infinitely repeating corrupted TX DMA frames. The DMA-mode uart_ops does not provide a flush_buffer callback, so an in-flight transfer can complete after serial core has reset the transmit kfifo, underflowing its length and resubmitting page-sized transfers indefinitely. Add one that stops the transfer and clears tx_remaining and tx_queued. The stop path was also broken: it unmapped the buffer while the serial engine could still read it, and never reset the TX DMA state machine. Cancel the main sequencer command first, then reset the state machine and wait for it before unmapping. Drop the early return so a pending mapping is also cleaned up when the main command is inactive. The bug can be triggered from userspace with a large write immediately followed by TCOFLUSH. A following tcdrain will hang forever. The bug was reproduced and this fix was validated on Arduino Uno Q (QRB2210) using /dev/ttyHS1.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: evdev - fix information leak in evdev_pass_values() In evdev_pass_values(), the input_event structure is allocated on the kernel stack and populated field-by-field. However, it is never fully initialized. On architectures where struct input_event contains explicit or implicit padding (such as the 32-bit __pad field on SPARC64), these padding bytes are left uninitialized. When this event structure is subsequently passed to the client buffer and later copied to userspace, the uninitialized padding bytes leak kernel stack memory, potentially exposing sensitive information. Similar issues exist in __evdev_queue_syn_dropped and __pass_event. Fix this by explicitly zeroing the entire event structure with memset() before populating its fields. This ensures all padding bytes are cleared before the data crosses the security boundary.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vt: stabilize tty reference in kbd_keycode with tty_port_tty_get kbd_keycode() reads vc->port.tty without acquiring a tty reference, racing against con_shutdown() which clears port.tty under a different lock. Use tty_port_tty_get()/tty_kref_put() to hold a proper reference for the duration the tty pointer is needed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vt: add permission check for KDSKBMETA ioctl KDSKBMETA modifies keyboard meta mode but lacks the !perm check that all other keyboard setter ioctls in vt_k_ioctl() enforce, allowing a process to change meta mode on a non-controlling console without authorization.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: ipheth: fix carrier_work UAF on disconnect ipheth_sndbulk_callback() re-arms the carrier-check work on any non-zero URB status: else schedule_delayed_work(&dev->carrier_work, 0); Nothing ties that to the interface being up, so the work can be armed again after ipheth_close() has already drained it, and stay armed until the netdev whose private area embeds it is freed. On unplug with a TX URB in flight, ipheth_disconnect() drains the work through unregister_netdev() -> ipheth_close() -> cancel_delayed_work_sync() and only then calls ipheth_kill_urbs(). usb_kill_urb() completes the in-flight TX URB with -ENOENT, so ipheth_sndbulk_callback() runs after the drain and re-arms carrier_work. The same completion also re-arms the work if the interface is only brought down while a TX URB is in flight, and ipheth_carrier_check_work() then keeps re-queueing itself once a second. unregister_netdev() does not call ipheth_close() for an already-down interface, so nothing drains it on the later unplug either. In both cases free_netdev() frees the netdev while carrier_work is still pending, and ipheth_carrier_check_work() dereferences freed memory. Tie the work to the interface state instead of chasing the completion: disable it in ipheth_close() and enable it in ipheth_open(), so a schedule_delayed_work() from the URB completion is a no-op whenever the interface is not up. disable_delayed_work_sync() also waits for a running instance, so it fully replaces the cancel_delayed_work_sync() it takes the place of. The work starts out disabled in ipheth_probe() so the enable/disable counts balance from the first open. Reproduced under KASAN on linux-next (next-20260731) with dummy_hcd and raw-gadget standing in for the device, driving the second path above (the interface is already down, so unregister_netdev() does not call ipheth_close()): 15 of 15 unpatched boots report a slab-use-after-free in __run_timers(), freed by ipheth_disconnect() and re-armed from ipheth_sndbulk_callback() via queue_delayed_work_on(). The same trigger on a kernel differing only by this patch reports 0 of 15, and the carrier check still functions across open/close cycles. The reproducer needs an attached USB device that stops draining bulk OUT, plus a link down and unplug, driven as root. It is not a privilege boundary crossing and no exploit primitive was developed. Found by 0sec (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: ax88179_178a: fix skb leak in ax88179_tx_fixup() When the interface has NETIF_F_SG enabled and skb_linearize() fails in ax88179_tx_fixup(), the function returns NULL without freeing the skb. usbnet_start_xmit() treats a NULL return from tx_fixup() as a drop (info->flags does not set FLAG_MULTI_PACKET for this driver), jumping to the "drop" label where it does `if (skb) dev_kfree_skb_any(skb)`. Because tx_fixup() returned NULL, the local skb variable in usbnet_start_xmit() is NULL, so the original skb is never freed - a memory leak on every TX frame whose linearization fails (i.e. under memory pressure). Free the skb before returning, matching the error handling already used for the pskb_expand_head() failure path in the same function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_ncm: Use unsigned int for ndp_index The variable ndp_index is declared as a signed integer, but it stores the return value of get_ncm(), which is unsigned. A malicious host can supply a large offset that overflows the signed ndp_index, making it negative. Because ndp_index is compared against unsigned bounds, this negative value bypasses sanity checks and leads to an out-of-bounds read when calculating the address of the NDP block (ntb_ptr + ndp_index). Fix this by changing ndp_index to unsigned int to ensure consistent unsigned comparisons throughout the function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: atm: cxacru: properly kill rcv_urb on error in cxacru_cm() If cxacru_cm() encounters an error while submitting or waiting for snd_urb, it aborts and returns the error without killing the already submitted rcv_urb. This leaves the rcv_urb active. When this happens during initialization (e.g., in cxacru_atm_start()), the driver may ignore the error and proceed to call cxacru_poll_status(), which invokes cxacru_cm() again. Attempting to submit the still-active rcv_urb triggers a warning in usb_submit_urb(): cxacru 1-1:1.0: send of cm 0x84 failed (-104) ATM dev 0: cxacru_atm_start: CHIP_ADSL_LINE_START returned -104 ------------[ cut here ]------------ URB ffff88812658d200 submitted while active WARNING: drivers/usb/core/urb.c:379 at usb_submit_urb+0x79/0x18b0 drivers/usb/core/urb.c:379 ... Call Trace: <TASK> cxacru_cm+0x21a/0xf10 drivers/usb/atm/cxacru.c:631 cxacru_cm_get_array drivers/usb/atm/cxacru.c:722 [inline] cxacru_poll_status+0x178/0x1110 drivers/usb/atm/cxacru.c:828 cxacru_atm_start+0x185/0x360 drivers/usb/atm/cxacru.c:814 usbatm_atm_init+0x144/0x3a0 drivers/usb/atm/usbatm.c:927 usbatm_usb_probe+0x15cb/0x1db0 drivers/usb/atm/usbatm.c:1178 cxacru_usb_probe+0x17f/0x220 drivers/usb/atm/cxacru.c:1370 ... To fix this, ensure that rcv_urb is properly killed if cxacru_cm() aborts early. We can safely call usb_kill_urb() on rcv_urb in the error path, as it is safe to call even if the URB is not active (e.g., if it failed to submit in the first place, or if it already completed).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix OOB write on Type II inbound URBs data_ep_set_params() sizes each URB transfer buffer before it adds the Format Type II transfer delimiter: u->packets = urb_packs; u->buffer_size = maxsize * u->packets; if (fmt->fmt_type == UAC_FORMAT_TYPE_II) u->packets++; /* for transfer delimiter */ u->urb = usb_alloc_urb(u->packets, GFP_KERNEL); buffer_size is computed from the pre-increment packet count and never recomputed, so for a Type II endpoint the buffer is one packet short of the packet count the URB is built with. prepare_inbound_urb() then lays out one iso frame per packet and never consults buffer_size: offs = 0; for (i = 0; i < urb_ctx->packets; i++) { urb->iso_frame_desc[i].offset = offs; urb->iso_frame_desc[i].length = ep->curpacksize; offs += ep->curpacksize; } urb->transfer_buffer_length = offs; urb->number_of_packets = urb_ctx->packets; The last descriptor therefore points one packet past the end of the transfer buffer, where the host controller writes device data on every inbound transfer. prepare_silent_urb() and prepare_playback_urb() bound their fill loops by ctx->buffer_size, so only capture is affected. fmt_type comes from the device's audio streaming descriptors, so any device advertising a Type II capture format hits this once userspace sets hw_params on the stream. KASAN on 7.2.0-rc5 (arm64) with a dummy_hcd/raw-gadget device, one report per inbound transfer: BUG: KASAN: slab-out-of-bounds in dummy_timer Write of size 64 at addr ffff0000186171c0 by task cons02/166 __asan_memcpy dummy_timer hrtimer_run_softirq Allocated by task 166: usb_alloc_coherent snd_usb_endpoint_set_params The buggy address is located 0 bytes to the right of allocated 64-byte region [ffff000018617180, ffff0000186171c0) Compute buffer_size after the delimiter packet has been accounted for, and bound the fill loop by buffer_size, as prepare_silent_urb() already does on the outbound side. This grows every Type II URB allocation by one maxsize packet. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: evdev - sanitize event type index when fetching event masks The user-supplied event type index passed to EVIOCGMASK / EVIOCSMASK ioctls is used to index the static counts array in evdev_get_mask_cnt() and client evmasks array in evdev_get_mask(). While the event type is architecturally bounded by EV_CNT, speculative execution may mispredict bounds checks and perform out-of-bounds loads. Sanitize the event type index in evdev_get_mask_cnt() branchlessly using array_index_mask_nospec(). This clamps the index to 0 for safe array access and forces the returned count to 0 speculatively when the index is out of bounds. We do not need additional array_index_nospec() calls in evdev_get_mask() because evdev_get_mask_cnt() speculatively forces the count (and resulting xfer_size) to 0 for out-of-bounds types, preventing any speculative memory access to client evmasks array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: tap: set skb->dev before parsing virtio net header in tap_get_user_xdp() The commit 4f61f133f354 ("net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null") fixed a crash in tap_get_user() by assigning skb->dev before calling tun_vnet_hdr_to_skb(). This is required because virtio_net_hdr_to_skb() may invoke dev_parse_header_protocol(), which dereferences skb->dev. Without the assignment, a NULL pointer dereference can occur. However, tap_get_user_xdp() still parses the virtio-net header before assigning skb->dev. When the vhost TX path passes an XDP buffer containing a GSO virtio-net header but the protocol is set to zero on purpose, tun_vnet_hdr_to_skb() can reach dev_parse_header_protocol() while skb->dev is still NULL, resulting in a crash. Fix this by looking up the tap device and assigning skb->dev before calling tun_vnet_hdr_to_skb(), matching the ordering already used in tap_get_user(). Preserve the existing RCU read-side critical section across dev_queue_xmit().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: thunderbolt: Tear down DMA paths before stopping the rings tbnet_tear_down() stops both rings and frees their frame buffers before calling tb_xdomain_disable_paths(). tb_ring_stop() zeroes the ring's descriptor base and tbnet_free_buffers() unmaps and frees the pages the frames sit in, so by the time __tb_path_deactivate_hop() polls the hop's 'pending' bit, anything still in flight has nowhere to drain to. The teardown sequence has been in this order since the driver was added. The setup path has not: commit ff7cd07f3064 ("net: thunderbolt: Enable DMA paths only after rings are enabled") moved the path enable to the end of tbnet_connected_work() and documented why: /* Both logins successful so enable the rings, high-speed DMA * paths and start the network device queue. * * Note we enable the DMA paths last to make sure we have primed * the Rx ring before any incoming packets are allowed to * arrive. */ Teardown was never updated to match, so the rings and the paths now come down in the same order they go up instead of in reverse. On an ASMedia ASM4242 host router the 'pending' bit then never clears: every teardown burns the full 500 ms timeout and __tb_path_deactivate_hop() returns -ETIMEDOUT. Raising the timeout to 5 s does not help, so the hop is not slow to drain, it never drains at all. The failure is invisible above the thunderbolt core. __tb_path_deactivate_hops() is void and only calls tb_port_warn(); tb_path_deactivate(), tb_tunnel_deactivate() and __tb_disconnect_xdomain_paths() are void as well, and tb_disconnect_xdomain_paths() ends in an unconditional "return 0". So tb_xdomain_disable_paths() reports success and the netdev_warn() below it never fires. Repeated teardowns eventually take the XDomain control channel down, after which the peer node is gone and only a power cycle brings the controller back. Deactivating the paths first fixes it. Measured with kretprobes on a stock v6.17 tree with no other patches applied, on a link that was up and had just carried traffic: before: __tb_path_deactivate_hop() returns 0 for the first hop, then -ETIMEDOUT for the second 500335 us later after: 0 for both, 525 us apart Alternating the two orderings ABBA over three load levels, four teardowns per arm: every teardown failed before the change (21 of 21 that ran), none failed after (0 of 24). The before arms ran short because the link died partway through. The same split shows up when the interface is enslaved to a bond instead of just brought down, which is how I ran into this in the first place. Throughput and latency after the change are unchanged. Hosts whose routers drain the hop despite the stale descriptor base see no functional difference, since the paths end up deactivated either way.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix netns reference imbalance in conntrack kfuncs The opts argument of the BPF conntrack kfuncs can point to a shared map value. __bpf_nf_ct_lookup() and __bpf_nf_ct_alloc_entry() read opts->netns_id separately when acquiring and releasing the network namespace reference. The reference imbalance can occur as follows: CPU 0 CPU 1 read opts->netns_id (-1) skip get_net_ns_by_id() write opts->netns_id (id) read opts->netns_id (id) put_net(net) /* no matching get */ The reverse transition leaks the reference. Repeating the unmatched put can destroy a live namespace and crash later users. The kernel reported: Oops: general protection fault, probably for non-canonical address KASAN: null-ptr-deref in range [0x00000000000000e8-0x00000000000000ef] RIP: 0010:bpf_prog_test_run_xdp+0x52c/0x1700 Call Trace: __sys_bpf+0x1662/0x50c0 __x64_sys_bpf+0x73/0xb0 do_syscall_64+0xf9/0x540 entry_SYSCALL_64_after_hwframe+0x77/0x7f Kernel panic - not syncing: Fatal exception Snapshot every input field of opts with READ_ONCE() before validating or using it. The netns_id snapshot keeps the namespace get/put pair balanced, while the other snapshots keep the remaining options from changing partway through an invocation. The individual reads can still observe an inconsistent combination during a concurrent update, but each selected field value remains stable for that invocation.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: flowtable: publish GC-visible tuple last nf_flow_table_iterate() only treats original-direction tuple nodes as owning entries. Publishing the original node first lets GC observe and free a flow while flow_offload_add() is still inserting the reply node. Publish the reply node first and the original node last so GC never sees a partially installed flow. KASAN can trigger slab-use-after-free read and write reports in the flowtable/rhashtable path (rht_deferred_worker, jhash, flow_offload_del, flow_offload_lookup, etc.).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: fix refcount race between list:set GC and swap __ip_set_put_byindex() resolved the index to a set pointer under RCU, then took ip_set_ref_lock in __ip_set_put() to decrement set->ref. ip_set_swap() holds that same lock while swapping both the ip_set_list slots and the two sets' ref counters, so it can interleave between the dereference and the lock acquisition, leaving the caller to decrement a set whose reference already moved to the other index and hit BUG_ON(set->ref == 0). list_set_gc() reaches this from timer softirq, which the nfnl mutex does not serialize against swap: an expiring list:set member calls list_set_del() -> ip_set_put_byindex() while IPSET_CMD_SWAP runs on the referenced sets. Resolve the index and decrement under ip_set_ref_lock, as ip_set_swap() already does, keeping the refcount tied to the index rather than to a stale set pointer. kernel BUG at net/netfilter/ipset/ip_set_core.c:685! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ip_set_put_byindex (net/netfilter/ipset/ip_set_core.c:870) Call Trace: <IRQ> list_set_del (net/netfilter/ipset/ip_set_list_set.c:159) set_cleanup_entries (net/netfilter/ipset/ip_set_list_set.c:181) list_set_gc (net/netfilter/ipset/ip_set_list_set.c:578) call_timer_fn (kernel/time/timer.c:1748) __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) run_timer_softirq (kernel/time/timer.c:2405) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: Reject exited events as group leaders perf_event_remove_on_exec() sets remove-on-exec events to the EXIT state and detaches their group relationships. The event's file descriptor can remain open, however, and perf_event_open() currently accepts that event as a group leader because its early validation rejects only REVOKED and DEAD events. A new sibling can consequently be linked to the detached leader. When the leader is closed, perf_group_detach() observes that its PERF_ATTACH_GROUP bit is already clear and skips the new sibling. The sibling then retains a group_leader pointer to the freed event. Reject group leaders in the EXIT state. Perform the check while holding the shared context mutex so that an exec in the target task cannot detach the leader between validation and group attachment. [peterz: make the earlier test fully consistent]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: disallow multiple FENCE chunks in one submit amdgpu_cs_pass1() dispatches on chunk_id once per chunk without rejecting repeated ids. p->uf_bo is a single-slot field, so a submission carrying two AMDGPU_CHUNK_ID_FENCE chunks runs amdgpu_cs_p1_user_fence() twice, and the second run overwrites p->uf_bo with a freshly referenced BO without dropping the reference taken by the first. amdgpu_cs_parser_fini() only unrefs the final p->uf_bo, so every FENCE chunk but the last leaks a BO reference. The leaked BO outlives handle close and process exit. Reject duplicate FENCE chunks the same way commit fec5f8e8c6bc ("drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit") did for p->bo_list. (cherry picked from commit 665b1fc2a1845206408f9a2c6da67101789edb82)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: validate GEM_CREATE domain combinations AMDGPU_GEM_CREATE checked domain bits against AMDGPU_GEM_DOMAIN_MASK, but did not validate domain combinations. Userspace could combine CPU|GTT|VRAM with DOORBELL, GDS, GWS, or OA, making amdgpu_bo_placement_from_domain() exceed AMDGPU_BO_MAX_PLACEMENTS and hit BUG_ON(). Allow combinations only within CPU/GTT/VRAM, and require non-CPU/GTT/ VRAM domains to be specified one at a time. Return -EINVAL for invalid combinations in amdgpu_gem_create_ioctl(). v2: Rename helper from amdgpu_gem_domain_valid() to amdgpu_gem_are_domains_valid() (Christian) (cherry picked from commit db39852d0c39843cb02048dfb47e4b8c703e9080)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix NULL pointer dereference in amdgpu_dm_crtc_set_vblank() amdgpu_dm_crtc_set_vblank() dereferences acrtc_state->stream when vblank is enabled/queried from DRM_IOCTL_MODE_CRTC_GET_SEQUENCE before a stream is attached to it. BUG: kernel NULL pointer dereference, address: 0000000000000008 RIP: amdgpu_dm_crtc_set_vblank+0x6b/0x4d0 [amdgpu] Call Trace: drm_vblank_enable drm_vblank_get drm_crtc_get_sequence_ioctl drm_ioctl_kernel drm_ioctl Reproduced by running VKCTS with WSI tests enabled on RADV. Guard the enable path on acrtc_state->stream being non-NULL, matching the existing checks in this function. (cherry picked from commit 7b1b31bf6942e6f43509b48da23f8e27269aac39)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: sur40 - fix input device registration ordering In sur40_probe(), input_register_device() was previously called early before the V4L2 video device and vb2_queue components were fully initialized. If userspace opened the input device immediately upon registration, sur40_open() would trigger and start the sur40_poll() worker thread. This worker thread invokes sur40_process_video() and accesses the uninitialized vb2_queue structure, leading to a data race and potential system crash. Furthermore, if V4L2 or video registration failed after input_register_device() succeeded, the error path fell through to calling input_free_device() on a successfully registered device instead of input_unregister_device(), corrupting input core state. Move input_register_device() to the very end of sur40_probe(). This ensures the V4L2 and video queue structures are fully initialized before polling can start, and naturally resolves the error path bug since input_free_device() is now only called when input registration has not yet occurred. To maintain strict LIFO (Last-In, First-Out) teardown ordering, also move input_unregister_device() to the very beginning of sur40_disconnect(). This guarantees that the input polling worker thread is stopped before V4L2 video components or control handlers are unregistered.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: qce - fix error path in devm_qce_register_algs If ops->register_algs() fails, the error path repeatedly calls the same ops->unregister_algs() from the failed registration. Use the loop index to unregister the previously registered algorithms instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: hynitron_cstxxx - validate touch count and finger IDs The driver allocates max_touch_num input slots, which are indexed from zero through max_touch_num - 1. The current check allows a finger ID equal to max_touch_num to reach cst3xx_report_contact(). While the input core ignores out-of-range slot indices, reporting touch data without a valid slot change corrupts the touch state of the previously active slot. The touch count is read from the controller's report and is used to index the fixed-size report buffer without first checking its range. Reject counts larger than the supported number of touch slots before checking the trailing byte or parsing touch data. Reject finger IDs equal to or greater than max_touch_num, and return immediately when an invalid finger ID is encountered so that corrupt touch frames are discarded instead of reporting partial contact state. The V821 Avaota F1 board configures the vendor driver with one touch slot, so finger ID 1 is already invalid on that device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - propagate F54 worker errors to V4L2 queue Previously, rmi_f54_buffer_queue() waited for the worker thread to finish but ignored whether it succeeded. If the worker failed (e.g., due to a timeout or register read failure), the queue thread would silently return success, delivering stale or uninitialized memory to userspace. Add a 'report_error' field to struct f54_data to store the worker's exit status. Check this field in rmi_f54_buffer_queue() after the worker finishes, and mark the buffer as VB2_BUF_STATE_ERROR if an error occurred.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - block s_input when F54 queue is busy Changing the input (diagnostic report type) mid-stream changes the report size. Since V4L2 buffers are allocated based on the size at stream start, changing the input while streaming could lead to a heap buffer overflow if the new size is larger than the allocated buffers. Prevent this by blocking VIDIOC_S_INPUT with -EBUSY if the V4L2 queue is busy (streaming).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F54 report size to the allocated buffer rmi_f54_work() reads a diagnostics report from the device into f54->report_data, sizing the transfer with rmi_f54_get_report_size(): report_size = rmi_f54_get_report_size(f54); ... for (i = 0; i < report_size; i += F54_REPORT_DATA_SIZE) { int size = min(F54_REPORT_DATA_SIZE, report_size - i); ... rmi_read_block(.., f54->report_data + i, size); } report_data is allocated once at probe from F54's own electrode counts (array3_size(f54->num_tx_electrodes, f54->num_rx_electrodes, sizeof(u16))), but rmi_f54_get_report_size() computes the size from drv_data->num_*_electrodes when those are set, i.e. from the F55 function's electrode counts. Both counts come straight from device queries (F54 and F55 each report up to 255 electrodes) and nothing constrains the F55 counts to the F54 ones. A malicious or malfunctioning RMI4 device that reports larger F55 electrode counts than its F54 counts makes report_size exceed the allocation, so the read loop writes past report_data (and the V4L2 dequeue memcpy() then reads past it). On conforming hardware the F55 configured electrodes are a subset of the F54 physical electrodes, so report_size never exceeds the buffer and well-behaved devices are unaffected. Record the allocation size and reject a report that does not fit, mirroring the existing zero-size check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - zero report size on F54 work error In rmi_f54_work(), if an error occurs during report request or command verification, the code jumped directly to the 'error' label, bypassing the 'abort' label where f54->report_size was normally zeroed out. This left f54->report_size containing its previous successful payload size. If a user then altered the V4L2 format to a smaller size, and a subsequent run failed, rmi_f54_buffer_queue() would copy the stale, larger payload size into the shrunken V4L2 buffer, causing a heap buffer overflow. Fix this by merging the 'abort' and 'error' labels into a single 'out' exit path, and ensuring that f54->report_size is always set to 0 on failure by checking for error and zeroing the local report_size first.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: byd - synchronize timer deletion before freeing private data byd_disconnect() uses timer_delete() before freeing the driver's private data. This does not wait for a running byd_clear_touch() callback, which dereferences the private data and its psmouse pointer. A callback racing with disconnect can therefore access the private data after it has been freed. The timer can also still be re-armed by byd_process_byte() while the disconnect is in progress. Use timer_shutdown_sync() before freeing the private data: it waits for a running callback and turns any later re-arm attempt into a no-op.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: iforce - validate input packet lengths iforce_process_packet() reads fixed fields from joystick, wheel and status packets without first checking their lengths. In particular, the shared hats-and-buttons helper unconditionally reads data[6]. The status tail is a sequence of 16-bit effect addresses, but an incomplete final address is also consumed. A successful zero-length USB URB additionally reads the packet ID before the common parser is called. Reject the zero-length USB transfer, require the seven-byte joystick and wheel prefixes and the two-byte status prefix, and consume only complete status-tail addresses.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: focaltech - fix array out-of-bounds in focaltech_process_rel_packet Make finger2 (and also finger1) unsigned, so that if the finger index in the packet is 0 then subtracting 1 creates an array index which overflows above the existing check for FOC_MAX_FINGERS, as the existing comment says it should, instead of writing to state->fingers[-1].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: reject oversized IBs with per-ring packet limits On GFX rings, amdgpu_cs_p2_ib() passed user-supplied ib_bytes through to ib->length_dw without a limit, while ring_emit_ib() encodes length into packet fields. Oversized values can corrupt adjacent control bits and destabilize command submission. Add a per-ring IB packet size limit helper and reject command submissions exceeding the corresponding dword limit before IB allocation. Use the documented 20-bit limit for GFX/compute/SDMA/VPE, and apply the MM fallback limit for other ring types. (cherry picked from commit 7f48fa2cf62e3fa6c9c3870aa74988f773247e52)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: skip zero-sized firmware sections panthor_fw_load_section_entry() skips BO creation when the firmware section VA range is empty. If such a section is added to the firmware section list, section->mem is left as NULL. Later reload and unplug paths iterate over all firmware sections and dereference section->mem, which can lead to a NULL pointer dereference. Zero-sized firmware sections are valid, so accept them as no-op entries but skip adding them to the section list.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: core: Fix pointer desynchronization in fb_io_read() In fb_io_read(), if copy_to_user() performs a partial copy (e.g., due to a faulty user buffer), the loop adjusts the chunk size 'c' and updates the remaining 'count'. However, the hardware 'src' pointer has already been eagerly advanced by the original chunk size. If the loop is allowed to continue, the read will resume from an incorrect, over-advanced offset. Since the remaining 'count' was only decremented by the successful bytes, this desynchronization causes the next iterations to execute more hardware reads than originally bounded, eventually leading to out-of-bounds I/O reads. Fix this by breaking out of the loop immediately upon a partial copy_to_user(). A partial copy indicates a faulty user buffer, making subsequent read attempts futile. Breaking out ensures we return the number of successfully read bytes without risking out-of-bounds hardware accesses in subsequent mismatched iterations.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (asus_atk0110) Check package count before accessing element atk_ec_present() walks the management group package returned by the GGRP ACPI method and, for each sub-package, reads its first element: id = &obj->package.elements[0]; if (id->type != ACPI_TYPE_INTEGER) without checking that the sub-package is non-empty. ACPICA allocates the element array with exactly package.count entries, so for a sub-package with a zero count this reads past the allocation. The sibling function atk_debugfs_ggrp_open() performs the same access but skips empty packages with a package.count check first. Add the same check to atk_ec_present() so a malformed firmware package cannot trigger an out-of-bounds read.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - fix potential infinite loop in CDC union descriptor parsing The driver parses CDC union descriptors in ims_pcu_get_cdc_union_desc() by iterating through the extra descriptor data. However, it does not verify that the bLength of each descriptor is at least 2. A malicious device could provide a descriptor with bLength = 0, leading to an infinite loop in the driver. Add a check to ensure bLength is at least 2 before proceeding with parsing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: ims-pcu - add response length checks The driver processes response data from device buffers without verifying that the device actually sent enough data. This can lead to out-of-bounds reads or processing stale data. Add checks for the expected response length before accessing the buffers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: maps: vmu-flash: fix NULL pointer dereference in initialization The mtd_info contains a struct device, which must be linked to its parent. Without this, the initialization of the MTD fails with a NULL pointer dereference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: dat: ensure accessible eth_hdr proto field When batadv_get_vid() accesses the proto field of the ethernet header, it is not checking if the data itself is accessible. The caller is responsible for it. But in contrast to other call sites, batadv_dat_get_vid() and its caller didn't make sure this is true. This could have caused an out-of-bounds access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: dat: acquire ARP hw source only after skb realloc The pskb_may_pull() called by batadv_get_vid() could reallocate the buffer behind the skb. Variables which were pointing to the old buffer need to be reassigned to avoid an use-after-free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: gw: acquire ethernet header only after skb realloc The pskb_may_pull() called by batadv_get_vid() could reallocate the buffer behind the skb. Variables which were pointing to the old buffer need to be reassigned to avoid an use-after-free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf/x86/amd/lbr: Fix kernel address leakage A user-only branch stack can contain branches that originate from the kernel. As a result, kernel addresses are exposed to user space even when PERF_SAMPLE_BRANCH_USER is requested. On AMD processors supporting X86_FEATURE_AMD_LBR_V2, perf can still report SYSRET/ERET entries for which the branch-from addresses are in the kernel. E.g. $ perf record -e cycles -o - -j any,save_type,u -- \ perf bench syscall basic --loop 1000 | \ perf script -i - -F brstack|tr ' ' '\n'| \ grep -E '0x[89a-f][0-9a-f]{15}' ... 0xffffffff81001268/0x717a90a38f1a/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a90a39157/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a90a2c628/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a90a41b60/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a90a260db/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a90a260db/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a8bef1c30/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH 0xffffffff81001268/0x717a8e4d3c90/M/-/-/0/ERET/NON_SPEC_CORRECT_PATH ... The reason is that the hardware filter only considers the privilege level applicable to the branch target. Extend software filtering to also validate the branch-from addresses against br_sel, so that any branch record whose branch-from address is in the kernel is dropped when PERF_SAMPLE_BRANCH_USER is requested.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: picolcd: prevent NULL pointer dereference in picolcd_send_and_wait() In picolcd_send_and_wait(), an integer overflow of the signed loop counter 'k' can theoretically lead to a NULL pointer dereference of 'raw_data'. If the loop executes more than INT_MAX times, 'k' becomes negative, making the condition 'k < size' true even when 'size' is 0. Change the type of 'k' to 'unsigned int' to prevent the overflow and eliminate the out-of-bounds access. Found by Linux Verification Center (linuxtesting.org) with the Svace static analysis tool. [jkosina@suse.com: extended hash length]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: qede: fix out-of-bounds check for cqe->len_list[] Move index check before element access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Avoid double-unpin of DOORBELL/MMIO BOs on free amdgpu_amdkfd_gpuvm_free_memory_of_gpu() unpinned DOORBELL and MMIO remap BOs (which are pinned at allocation time) before checking whether the BO is still mapped to the GPU. When the BO is still mapped, the function returns -EBUSY and leaves the BO alive, but it has already been unpinned. The BO is then unpinned again when it is finally freed during process teardown, triggering a ttm_bo_unpin() underflow warning: WARNING: CPU: 18 PID: 15066 at ttm/ttm_bo.c:650 amdttm_bo_unpin+0x6d/0x80 [amdttm] Workqueue: kfd_process_wq kfd_process_wq_release [amdgpu] RIP: 0010:amdttm_bo_unpin+0x6d/0x80 [amdttm] Call Trace: amdgpu_bo_unpin+0x1a/0x90 [amdgpu] amdgpu_amdkfd_gpuvm_unpin_bo+0x31/0xb0 [amdgpu] amdgpu_amdkfd_gpuvm_free_memory_of_gpu+0x3bf/0x460 [amdgpu] kfd_process_free_outstanding_kfd_bos+0xd4/0x170 [amdgpu] kfd_process_wq_release+0x109/0x1b0 [amdgpu] process_one_work+0x1e2/0x3b0 worker_thread+0x50/0x3a0 kthread+0xdd/0x100 ret_from_fork+0x29/0x50 Move the unpin after the mapped_to_gpu_memory check so it only happens once we are committed to freeing the BO. (cherry picked from commit 927c5b2defb9b09856444d94bebfd056a002bd75)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: char: tlclk: fix use-after-free in tlclk_cleanup() This patch improves the module cleanup process in the tlclk driver to prevent potential use-after-free and race conditions. Currently, the file_operations structure does not specify the .owner field, which could allow the module to be unloaded while user-space processes are still interacting with the device. Additionally, the tlclk_cleanup() function frees the alarm_events memory before ensuring that blocked processes in the waitqueue are fully awakened and that the switchover_timer has completed. To address these cases, this patch: - Sets '.owner = THIS_MODULE' in tlclk_fops to safely defer module unloading while the device is in use. - Updates tlclk_cleanup() to explicitly wake up all blocked readers (wake_up_all), properly release hardware I/O regions, and safely delete the timer (timer_delete_sync) prior to freeing memory.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wcn36xx: fix OOB read from short trigger BA firmware response The firmware response length is only checked against sizeof(*rsp) (20 bytes), but when candidate_cnt >= 1, a 22-byte candidate struct is read at buf + 20 without verifying the response contains it. This causes an out-of-bounds read of stale heap data, corrupting the BA session state. Add validation that the response includes the candidate data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: netfilter: synproxy: fix unaligned memory access in timestamp adjustment Use get_unaligned_be32() and put_unaligned_be32() to safely read and write the timestamp fields. This prevents performance degradation due to unaligned memory access or even a crash on strict alignment architectures. This follows the implementation of timestamp parsing in the networking stack at tcp_parse_options() and synproxy_parse_options().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Fix OOB in scmi_power_name_get() scmi_power_name_get() does not validate the domain number passed by the external caller, which may lead to an out-of-bounds access. Fix this by returning "unknown" for invalid domains, like scmi_reset_name_get() does.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: ccp - Treat zero-length cert chain as query for blob lengths When handling a PDH export, treat a zero-length userspace cert chain buffer as a request to query the length of the relevant blobs. Failure to account for the zero-length buffer trips a BUG_ON() when running with CONFIG_DEBUG_VIRTUAL=y due to trying to get the physical address of the ZERO_SIZE_PTR (returned by kzalloc() on the bogus allocation). kernel BUG at arch/x86/mm/physaddr.c:28 ! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI CPU: 30 UID: 0 PID: 28580 Comm: syz.2.18 Kdump: loaded Tainted: G W 6.18.16-smp-DEV #1 NONE Tainted: [W]=WARN Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 12.62.0-0 11/19/2025 RIP: 0010:__phys_addr+0x16a/0x180 arch/x86/mm/physaddr.c:28 RSP: 0018:ffffc9008329fc80 EFLAGS: 00010293 RAX: ffffffff8179110a RBX: 0000778000000010 RCX: ffff8884e6992600 RDX: 0000000000000000 RSI: 0000000080000010 RDI: 0000778000000010 RBP: ffffc9008329fdf0 R08: 0000000000000dc0 R09: 00000000ffffffff R10: dffffc0000000000 R11: fffffbfff126d297 R12: dffffc0000000000 R13: 1ffff92010653fc8 R14: 0000000080000010 R15: dffffc0000000000 FS: 0000555556bec9c0(0000) GS:ffff88aa4ce1c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fd3159e7000 CR3: 00000004fbc44000 CR4: 0000000000350ef0 Call Trace: <TASK> [<ffffffff853d3869>] sev_ioctl_do_pdh_export+0x559/0x7a0 drivers/crypto/ccp/sev-dev.c:2308 [<ffffffff853d1fdd>] sev_ioctl+0x2cd/0x480 drivers/crypto/ccp/sev-dev.c:2556 [<ffffffff82549ebc>] vfs_ioctl fs/ioctl.c:52 [inline] [<ffffffff82549ebc>] __do_sys_ioctl fs/ioctl.c:598 [inline] [<ffffffff82549ebc>] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:584 [<ffffffff8630115f>] do_syscall_x64 arch/x86/entry/syscall_64.c:64 [inline] [<ffffffff8630115f>] do_syscall_64+0x9f/0xf40 arch/x86/entry/syscall_64.c:98 [<ffffffff81000136>] entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fd3158eac39 </TASK> Thankfully, the bug is benign outside of CONFIG_DEBUG_VIRTUAL=y as getting the physical address is just arithmetic, and the PSP errors out before trying to write to the garbage address (which it must, otherwise querying the blob lengths would clobber memory at pfn=0).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: vub300: defer reset until cmd_mutex is unlocked vub300_cmndwork_thread() holds cmd_mutex while it sends a command and waits for the command response. If the response wait times out, __vub300_command_response() kills the command URBs and then synchronously resets the USB device through usb_reset_device(). That reset path re-enters the driver through vub300_pre_reset(), which also takes cmd_mutex. The worker therefore tries to acquire the same mutex recursively while it is still holding it from the command path. This issue was found by our static analysis tool and then manually reviewed against the current tree. The grounded PoC kept the real worker and timeout/reset carrier: vub300_cmndwork_thread() __vub300_command_response() usb_lock_device_for_reset() usb_reset_device() vub300_pre_reset() Lockdep reported the same-task recursive acquisition on cmd_mutex: WARNING: possible recursive locking detected ... (&test_vub300.cmd_mutex) ... at: usb_reset_device... [vuln_msv] ... (&test_vub300.cmd_mutex) ... at: vub300_cmndwork_thread+0x12/0x20 [vuln_msv] Workqueue: vub300_cmd_wq vub300_cmndwork_thread [vuln_msv] *** DEADLOCK *** Return a flag from __vub300_command_response() when the timeout path needs a device reset, then perform the reset after vub300_cmndwork_thread() has cleared the in-flight command state and dropped cmd_mutex. The reset is still attempted before mmc_request_done(), preserving the existing request completion ordering while avoiding the recursive lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (occ) unregister sysfs devices outside occ lock occ_active(false) and occ_shutdown() unregister sysfs-backed devices while occ->lock is held. hwmon_device_unregister() and sysfs_remove_group() can wait for active sysfs callbacks to drain, and those callbacks can enter the OCC update path and try to take occ->lock again. That gives the unregister paths the lock ordering occ->lock -> sysfs callback drain, while a callback has the opposite edge sysfs callback -> occ->lock. This issue was found by our static analysis tool and then manually reviewed against the current tree. The grounded PoC kept the real unregister and callback carrier: occ_shutdown() hwmon_device_unregister() occ_show_temp_1() occ_update_response() Lockdep reported the circular dependency with occ_shutdown() already holding the OCC mutex and hwmon_device_unregister() waiting on the sysfs side: WARNING: possible circular locking dependency detected ... (sysfs_lock) ... at: hwmon_device_unregister+0x12/0x30 [vuln_msv] ... (&test_occ.lock) ... at: occ_shutdown.constprop.0+0xe/0x40 [vuln_msv] occ_update_response.isra.0+0xb/0x20 [vuln_msv] occ_show_temp_1.constprop.0.isra.0+0x23/0x40 [vuln_msv] *** DEADLOCK *** Serialize hwmon registration and removal with a separate hwmon_lock. Under that lock, detach occ->hwmon and update occ->active while occ->lock is held so concurrent OCC state changes still see a stable state, then drop occ->lock before calling hwmon_device_unregister(). Remove the driver sysfs group before taking occ->lock in occ_shutdown(), so draining the driver attributes cannot wait while the OCC mutex is held. Also make OCC update callbacks return -ENODEV after deactivation, so callbacks that already passed sysfs active protection do not poll the hardware after teardown has detached the hwmon device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: driver core: use READ_ONCE() for dev->driver in dev_has_sync_state() dev_has_sync_state() reads dev->driver twice without holding device_lock() -- once for the NULL check and once to dereference ->sync_state. Some callers only hold device_links_write_lock, which doesn't prevent a concurrent unbind from clearing dev->driver via device_unbind_cleanup(). Fix it by reading dev->driver exactly once with READ_ONCE(), pairing with the WRITE_ONCE() in device_set_driver().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: imx: Fix slave registration race and error handling In i2c_imx_reg_slave(), the slave pointer was assigned before pm_runtime_resume_and_get(). If pm_runtime_resume_and_get() failed, the error path returned without clearing i2c_imx->slave, leaving it non-NULL and causing all subsequent registration attempts to fail with -EBUSY. Additionally, because this driver uses a shared IRQ, the interrupt handler i2c_imx_isr() can execute concurrently and, after acquiring slave_lock, dereference i2c_imx->slave. The previous fix attempt added a lockless i2c_imx->slave = NULL on the error path, but that could race with the ISR under the lock and still cause a NULL pointer dereference. Fix both issues by deferring the assignment of i2c_imx->slave and i2c_imx->last_slave_event to after a successful resume, and by performing the assignment inside the slave_lock critical section. This guarantees that the slave pointer is never left stale on the error path and is always valid when observed by the interrupt handler.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: amd-mp2: Unregister callback on adapter add failure amd_mp2_register_cb() stores the platform I2C context in the MP2 PCI driver's callback table before the adapter is registered. If i2c_add_adapter() fails, probe returns and devres frees the context, but the PCI driver can still dereference the stale pointer from its IRQ and system-sleep callbacks. Unregister the callback before returning the adapter registration error.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Fix NULL dereference on AIBV allocation failure The airq_iv_create() can return NULL on failure, but the return value was never checked. If it fails, zdev->aibv will be NULL and fail when dereferenced in kvm_zpci_set_airq(). Add a NULL check and free the previously allocated AISB bit and zdev->aisb on failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: hold conn in hci_connect_acl/le_sync() callbacks There is theoretical UAF if the conn is freed while the hci_sync task is running. Hold refcount to avoid that.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: fix double free of wq, engine, and group structs The release callbacks for wq, engine, and group devices (idxd_conf_wq_release, idxd_conf_engine_release, idxd_conf_group_release) each call kfree() on the enclosing struct. The setup error paths and cleanup functions also call kfree() explicitly after put_device(), producing a double free whenever put_device() drops the reference count to zero and fires the release. In the setup functions, device_initialize() is called before device_add(), so the reference count is exactly 1 at the error sites. put_device() unconditionally fires the release, which frees the struct; the subsequent explicit kfree() then operates on freed memory. For idxd_setup_wqs(), the wq release callback also owns opcap_bmap and wqcfg. The error unwind additionally freed those fields explicitly before calling put_device(), causing further double frees on both. Remove the redundant explicit kfree() calls from all setup error paths and cleanup functions for wq, engine, and group structs, delegating sole ownership of those allocations to the release callbacks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: validate external BO copy bounds for both stride paths vmw_external_bo_copy() trusts caller-supplied offsets, strides, and heights and operates on imported dma-buf vmaps: - The equal-stride memcpy() bound was clamped after subtracting the offsets from dst_size and src_size; an offset larger than the BO size wraps the unsigned subtraction to a huge value and the resulting memcpy() runs off the end of the vmap. dst_stride * height is also a u32 multiplication that can overflow. - The non-equal-stride row-by-row path had no bound at all. The loop touches bytes through offset + (height - 1) * stride + width_in_bytes, with only a WARN_ON(dst_stride < width_in_bytes), and could likewise step past the end of either mapping. The offsets and strides are derived from STDU/SOU plane state, so a configured CRTC submitting a crafted atomic commit on an imported framebuffer can reach this path. Validate the exact row-copy endpoint against each BO's size up front using check_mul_overflow() and check_add_overflow(). Use the bulk memcpy() path only when width_in_bytes covers the whole stride; otherwise copy one row at a time so partial-row updates near the bottom of a framebuffer remain valid. Also reject zero strides and stride < width_in_bytes, both of which the row-by-row path cannot represent safely.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size Two sites in vmwgfx_resource.c assign boolean literals to res->guest_memory_size, which is an unsigned long allocation-size field; the intended target is the adjacent res->guest_memory_dirty bitfield. After the assignments the field holds 0 or 1 instead of the resource's MOB allocation size: - vmw_resource_release() writes 0 (false), and - vmw_resource_unbind_list() writes 1 (true). Subsequent revalidation paths read guest_memory_size when computing the dirty page range (vmw_bo_dirty_transfer_to_res()) and the buffer allocation size (vmw_resource_buf_alloc()), producing zero-length walks or wrap-around ranges that read or write past the MOB bitmap. The dirty-tracking intent of the original code (mark the resource as dirtied since the last sync) is also lost, since guest_memory_dirty is never updated. Rename both assignments to guest_memory_dirty.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE Prevent unauthorized termination of active GPU debug sessions. Previously, users with /dev/kfd access could terminate another process's debug session without proper ownership or ptrace authorization. (cherry picked from commit 4db4c5ffd5585b72622ecf6ffedf2da258ee23f5)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: use proper context for logging The same as the rest of the code, get_ss_info_from_atombios() uses calc_pll_cs->ctx->logger for logging. But calc_pll_cs->ctx is initialized only later in calc_pll_max_vco_construct(). Therefore, any output using DC_LOG_SYNC() leads to a NULL pointer deference in get_ss_info_from_atombios(). According to Sashiko, the very same problem exists in dce112_get_pix_clk_dividers() and dcn3_get_pix_clk_dividers() too. To avoid accessing the NULL context, use clk_src->base.ctx->logger everywhere. That context in base is initialized earlier in dce110_clk_src_construct() and dce112_clk_src_construct(). Before get_ss_info_from_atombios() or Sashiko's get_pix_clk_dividers functions above are actually called. This is done by redefining DC_LOGGER to CTX->logger. Before: dce110_clk_src_construct() did: -> sets clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- uses calc_pll_cs->ctx # BOOM -> calc_pll_max_vco_construct() <- sets calc_pll_cs->ctx After: dce110_clk_src_construct() does: -> sets clk_src->base.ctx = ctx; -> ss_info_from_atombios_create() -> get_ss_info_from_atombios() <- uses clk_src->base.ctx (cherry picked from commit 6f16fcbb0c46a87e3d9685407e906573d60104b0)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: softing: fw_parse(): validate firmware record spans fw_parse() reads a fixed record header, a firmware-provided payload, and a trailing checksum without knowing the end of the firmware blob. A truncated record can therefore make those reads exceed the blob. The same record also supplies addresses and lengths for writes into DPRAM. The generic loader uses wrap-prone mixed signed arithmetic for its bounds check, while the application loader does not bound the staging copy at all. Pass the firmware end to the parser and validate the full source record. Use a signed wide offset for generic DPRAM records and validate the application staging span against the mapped DPRAM before copying.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: can: j1939: transport: j1939_session_fresh_new(): initialize receive buffer Zero the allocated buffer in j1939_session_fresh_new() to ensure it contains no residual data. While there is a potential performance impact if users allocate maximum sized ETP buffers, most real-world use cases are not noticeably affected since the maximum known buffer size is typically around 65K. [mkl: add Message-ID]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: sctp: validate Adaptation Indication parameter length The Adaptation Layer Indication parameter contains a fixed 32-bit Adaptation Code Point after its parameter header. However, sctp_verify_param() accepts a header-only parameter because the generic parameter walker only requires the header to be present. sctp_process_param() then reads adaptation_ind beyond the declared parameter. When the malformed parameter is last in an INIT, the read starts at the receive skb tail, and the value is copied into the state cookie returned in the INIT ACK. This may disclose four receive-buffer tail bytes. Require the declared parameter length to match the fixed structure size and abort the association through the existing invalid parameter length path otherwise.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Revert "drm/amdgpu: fix aperture mapping leak" devres teardown is LIFO. The aperture devres node was registered after the DRM device node, so devres_release_all() unmaps the aperture before the DRM device release callback fires amdgpu_device_fini_sw(). IP sw_fini callbacks (e.g. vcn_v4_0_sw_fini) write to fw_shared through a pointer derived from aper_base_kaddr, causing a kernel page fault on probe failure / rollback: BUG: unable to handle page fault ... PMD 0 RIP: vcn_v4_0_sw_fini+0x7b/0x170 [amdgpu] Call Trace: amdgpu_device_fini_sw amdgpu_driver_release_kms devm_drm_dev_init_release devres_release_all This reverts commit d871e99879cb5fd1fa798b006b4888887e63a17a. (cherry picked from commit 336e0cd576817ac64a4b394ca2b3680029f3e37f)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Fix bandwidth group reservation indexing Valid bandwidth group IDs range from 1 through MAX_GROUPS, while Group ID 0 is reserved. tb_consumed_dp_bandwidth() uses the Group ID directly to index its local group_reserved[] array. The array currently has MAX_GROUPS entries, so its valid indices are 0 through MAX_GROUPS - 1. Group ID MAX_GROUPS therefore accesses one element past the end, and the final group's reserved bandwidth is not included when the array is summed. Give group_reserved[] MAX_GROUPS + 1 entries so direct Group ID indexing covers the reserved ID 0 and valid IDs 1 through MAX_GROUPS.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: xilinx: formatter_pcm: pass aud_drv_data to irq handlers The irq handlers take a struct device pointer and call dev_get_drvdata() to obtain the driver data. However, the driver data is only set at the end of probe, after devm_request_irq(), so an interrupt taken in between causes the handlers to pass a NULL pointer to readl() and crash. Pass the private data directly as the devm_request_irq() argument instead of the device pointer, matching what the handlers expect.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/connector/hdmi: Fix out of bounds memory read A helper function was copying a given audio infoframe into the connector's copy but using the size of the destination (a generic target, sized to accept many different data blocks) not the source (a very specific type of data block). Thus, it was copying 60 bytes of data from a 28 byte allocation. Fix that by using the source size instead, together with a build bug on the source size actually being smaller than the destination. I hit this running KUnit tests under KASAN (while debugging something else entirely). In the real world, it seems unlikely to cause an actual problem. It is a read not a write so it can't corrupt any memory. However, it could potentially fall off the end of a page and cause an accvio bug.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: psxpad-spi - set driver data before use psxpad_spi_suspend() retrieves the controller state with spi_get_drvdata(), but probe never stores it, so suspend dereferences a NULL pointer. Store it during probe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - fix F55 transmitter electrode count typo During F55 sensor detection, the transmitter (TX) electrode count was incorrectly assigned the value of the receiver (RX) electrode count due to copy-paste typos. This incorrect value was then propagated to the driver data and used by F54 to determine the diagnostics report size. On devices with more RX than TX electrodes, this inflated the perceived TX count, leading to incorrect report size calculations and potential out-of-bounds buffer accesses. Fix the typos by correctly assigning the TX electrode counts.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: selinux: reject a permission value exceeding the class permission count perm_read() bounds a permission value by SEL_VEC_MAX but never by the nprim of the owning class or common, which is taken verbatim from the policy image. security_get_permissions() then writes perms[value - 1] into an nprim-sized kcalloc() array, so a class declaring fewer permissions than its largest permission value drives an out-of-bounds heap write. The top-level symbol tables are validated this way; the nested per-class permission table is not. Reject a permission whose value exceeds nprim, which is already set when perm_read() runs. Well-formed policies are unaffected. [PM: tweak comment for line length]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: selinux: reject a class permission count below its inherited common security_get_permissions() maps an inherited common's permissions into an array sized by the class's own permissions.nprim, but class_read() takes that nprim verbatim from the policy image and never checks that it covers the common. A class that inherits a common of N permissions while declaring a smaller nprim is accepted, and on load the common's permissions are written past the class-sized array -- an out-of-bounds heap write. Reject a class whose permission count is below its inherited common's. Well-formed policies, where the class count already includes the inherited permissions, are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: Fix accept list UAF during suspend hci_update_event_filter_sync() walks hdev->accept_list while sending a synchronous HCI command for each remote-wakeup device. The suspend path holds hdev->req_lock, but accept-list updates are serialized by hdev->lock. Consequently, remove_device() can free the current list entry during the controller wait. The following interleaving causes the use-after-free: hci_update_event_filter_sync() remove_device() fetch accept-list entry hci_set_event_filter_sync() wait for controller response hci_dev_lock() list_del() kfree() hci_dev_unlock() read the freed list.next KASAN reported: BUG: KASAN: slab-use-after-free in hci_suspend_sync+0x835/0x910 Read of size 8 at addr ffff88810bec8440 by task kworker/0:1/10 Workqueue: events vhci_suspend_work Call Trace: hci_suspend_sync+0x835/0x910 hci_suspend_dev+0x182/0x450 process_one_work+0x661/0x1090 worker_thread+0x45b/0xd10 Allocated by task 86: hci_bdaddr_list_add_with_flags+0x1a8/0x400 add_device+0x381/0x820 hci_sock_sendmsg+0x1033/0x1ea0 Freed by task 91: kfree+0x131/0x3c0 remove_device+0x429/0xb70 hci_sock_sendmsg+0x1033/0x1ea0 Snapshot the remote-wakeup addresses under hdev->lock. Release the lock before sending HCI commands. Clear the controller event filter before building the snapshot, and skip allocation and the second list traversal when there are no matching entries. This preserves the original filter and scan-state updates without retaining an accept-list node across a controller wait.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: validate LE Set CIG Parameters response The Command Complete dispatch validates only the fixed part of the LE Set CIG Parameters response. After that part is pulled from the skb, hci_cc_le_set_cig_params() trusts num_handles and reads each entry in the trailing handle array. Matching num_handles against the command's num_cis does not guarantee that the response contains the advertised handles. A truncated response from a malfunctioning controller can therefore make the handler read beyond the skb data. Validate that the remaining skb data contains all advertised handles. Include this in the existing response validation so malformed responses also follow the established CIG failure handling.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: fix LE list UAF on reset hci_cc_reset() clears the LE accept and resolving lists without taking hdev->lock. Other command-complete handlers serialize updates to these lists with that lock, and the debugfs readers hold it while walking them. This permits the reset completion and a debugfs read to interleave as follows: hci_rx_work debugfs reader ----------- -------------- lock hdev->lock fetch current entry list_del(entry) kfree(entry) read entry fields The reader then dereferences a freed list entry and may follow its stale next pointer. KASAN reported: BUG: KASAN: slab-use-after-free in white_list_show+0x15f/0x180 Read of size 1 at addr ffff8881015dab16 by task poc/95 Call Trace: white_list_show+0x15f/0x180 seq_read_iter+0x3ff/0x1190 seq_read+0x267/0x3d0 vfs_read+0x177/0xa20 ksys_read+0xf7/0x1c0 Allocated by task 91: hci_bdaddr_list_add+0x1a6/0x3a0 hci_cc_le_add_to_accept_list+0xab/0x140 hci_cmd_complete_evt+0x26c/0x9a0 hci_event_packet+0x454/0xb20 hci_rx_work+0x293/0x730 Freed by task 90: kfree+0x131/0x3c0 hci_bdaddr_list_clear+0xd8/0x160 hci_cc_reset+0x28a/0x370 hci_cmd_complete_evt+0x26c/0x9a0 hci_event_packet+0x454/0xb20 hci_rx_work+0x293/0x730 Take hdev->lock around both list clears. This matches the existing mutation and traversal locking convention.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: hyperv: validate initial device info bounds The Hyper-V synthetic HID host supplies SYNTH_HID_INITIAL_DEVICE_INFO messages that contain a HID descriptor followed by the report descriptor bytes. mousevsc_on_receive_device_info() trusts bLength and wDescriptorLength without checking that the received packet contains both byte ranges. A malformed host or backend message can therefore make the guest read past the received VMBus packet while copying the report descriptor. Pass the received initial-device-info size into the parser and reject descriptor lengths that exceed the packet. Impact: A malicious Hyper-V host or backend can crash a guest by sending a short initial device-info message with an oversized HID report descriptor length.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: sensor: custom: Fix use-after-free in enable_sensor enable_sensor_store() can call set_power_report_state(), which dereferences sensor_inst->power_state and sensor_inst->report_state. These pointers refer to entries in sensor_inst->fields. Create the field attributes before exposing the enable_sensor sysfs attribute, so enable_sensor cannot be accessed before the state it depends on has been initialized. On remove, delete enable_sensor before freeing the field attributes, so a concurrent sysfs write cannot dereference freed memory through power_state or report_state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: ft260: fix stack-use-after-return write in I2C read race ft260_i2c_read() points dev->read_buf at a caller-supplied buffer (often an on-stack variable), arms a completion and waits up to five seconds for the device to return the data. The HID input callback ft260_raw_event() runs in the input/IRQ path, independent of the dev->lock mutex held by the read path, and copies the device-supplied payload into dev->read_buf after a plain NULL check. These two paths share read_buf, read_idx and read_len with no serialization. If the device delays its response until the read times out, ft260_i2c_read() resets the controller, clears read_buf and returns, unwinding the stack frame the buffer lived in. A response that arrives at that moment lets ft260_raw_event() pass the NULL check and then memcpy() the device-controlled payload into the now-freed stack location, a bounded but attacker-influenced stack-use-after-return write triggerable by malicious or malfunctioning hardware. Add a dedicated spinlock that serializes every access to read_buf, read_idx and read_len. ft260_raw_event() now holds it across the NULL check, the memcpy and the index update, while the read path takes it when arming and when clearing the buffer, so the teardown can no longer slip between the check and the copy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: nintendo: fix out-of-bounds read in joycon_ctlr_read_handler() joycon_ctlr_read_handler() casts an incoming HID input report to struct joycon_input_report and parses it, guarding the cast only with a 12-byte length check: if (size >= 12) /* make sure it contains the input report */ joycon_parse_report(ctlr, (struct joycon_input_report *)data); struct joycon_input_report is 49 bytes: a 13-byte header followed by a union whose IMU arm is 36 bytes. For an IMU report joycon_parse_report() -> joycon_parse_imu_report() walks that union (struct offsets 13..48), so a report of exactly 12 bytes with data[0] == JC_INPUT_IMU_DATA passes the guard yet is read up to 37 bytes past its declared length. The over-read bytes are decoded into accelerometer/gyroscope values and forwarded to userspace through the "(IMU)" input device, leaking driver-internal memory. data[0] and size are fully controlled by a malicious or spoofed Joy-Con/Pro Controller. Receive buffers are sized to the maximum report length, so this is an over-read within the allocation rather than a slab OOB, but the decoded bytes still reach userspace. The sibling subcmd path in joycon_ctlr_handle_event() already bounds the same cast correctly: if (size < sizeof(struct joycon_input_report) || data[0] != JC_INPUT_SUBCMD_REPLY) break; Use the same sizeof(struct joycon_input_report) bound here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: fix OOB read of field->usage in hid_set_field() hid_set_field() hands field->usage + offset to hid_dump_input() before the guard that bounds offset: hid_dump_input(field->report->device, field->usage + offset, value); if (offset >= field->report_count) { hid_err(...); return -1; } Under CONFIG_DEBUG_FS hid_dump_input() dereferences that pointer, with buf = hid_resolv_usage(usage->hid, NULL). The usage[] array is allocated inline with the hid_field in hid_register_field() and holds field->maxusage entries, so an offset past it reads off the end of the kvzalloc()ed allocation and into a neighbouring object. Had the guard run first, offset < report_count <= maxusage would already have confined the pointer to the array. A caller supplies such an offset today. picolcd_fb_send_tile() validates only report->maxfield before issuing hid_set_field(report->field[0], 11 + i, ...) for i = 0..31, so its offsets are fixed at 11..42 and are never checked against the bound field. When the device registers that field with fewer usages, the framebuffer deferred-io work drives the read on every tile. KASAN reports a 4-byte slab-out-of-bounds read in hid_dump_input() below hid_set_field(), and the same boot logs "offset (1) exceeds report_count (1)" from the guard that runs only afterwards. Move the hid_dump_input() call below the guard. Because field->maxusage >= field->report_count, the guard then establishes that field->usage + offset lies inside the array before it is dereferenced, for every caller and without changing behaviour on the valid path. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: magicmouse: prevent unbounded recursion in magicmouse_raw_event() magicmouse_raw_event() handles DOUBLE_REPORT_ID (0xf7) packets, which pack two touch reports into one, by splitting the packet and calling itself on each half. The only guard against runaway recursion is a "size < 1" check, which stops zero-sized calls but does not bound the recursion depth. A malicious HID device that matches this driver can send a report starting with DOUBLE_REPORT_ID and filled with the sequence [0xf7, 0x00]. Each level consumes two bytes and recurses on the remainder, so an incoming report of up to HID_MAX_BUFFER_SIZE (16 KiB) drives roughly 8000 nested calls. That easily exhausts the 16 KiB kernel stack, leading to a stack overflow: a panic with CONFIG_VMAP_STACK, or memory corruption without it. A double report only ever wraps two normal reports; it is never legitimately nested. Refuse to re-enter the DOUBLE_REPORT_ID case from a recursive call so the recursion depth is bounded to two, while all valid packets keep being parsed exactly as before.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix uninit-value in the RF discover/activated NTF handlers nci_rf_discover_ntf_packet() and nci_rf_intf_activated_ntf_packet() each parse a notification into an on-stack struct (nci_rf_discover_ntf / nci_rf_intf_activated_ntf) that is not initialised. The RF technology-specific parameters are only extracted when rf_tech_specific_params_len is non-zero, so a notification that reports a zero length leaves the rf_tech_specific_params union uninitialised - and both handlers then pass it to nci_add_new_protocol(), which reads it: - discover: nci_add_new_target() -> nci_add_new_protocol(); - activated: nci_target_auto_activated() -> nci_add_new_protocol(). nci_add_new_protocol() uses nfca_poll->nfcid1_len as both a branch condition and a memcpy() length and copies nfcid1/sens_res/sel_res into ndev->targets, which is later exposed to user space via NFC_CMD_GET_TARGET. BUG: KMSAN: uninit-value in nci_add_new_protocol+0x624/0x6c0 nci_add_new_protocol+0x624/0x6c0 nci_ntf_packet+0x25b2/0x3c30 nci_rx_work+0x318/0x5d0 process_scheduled_works+0x84b/0x17a0 worker_thread+0xc10/0x11b0 kthread+0x376/0x500 Local variable ntf.i created at: nci_ntf_packet+0xbc2/0x3c30 Zero-initialise both on-stack notifications so the union reads back as zero when no technology-specific parameters are present.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix out-of-bounds write in nci_target_auto_activated() nci_target_auto_activated() appends a target to the fixed-size array ndev->targets[NCI_MAX_DISCOVERED_TARGETS] and increments ndev->n_targets without first checking the array is full; unlike its sibling nci_add_new_target(), which bails out when n_targets already equals NCI_MAX_DISCOVERED_TARGETS. ndev->n_targets is only cleared by nci_clear_target_list(), so an NFCC that repeatedly re-runs discovery (RF_DISCOVER_RSP, which re-enters NCI_DISCOVERY without clearing the target list) and reports an auto-activated target (RF_INTF_ACTIVATED_NTF) drives n_targets past the limit. The append then writes a struct nfc_target past the end of the array (a slab out-of-bounds write), and nfc_targets_found() goes on to walk the array with the inflated count: BUG: KASAN: slab-out-of-bounds in nci_add_new_protocol+0x94/0x2ac [nci] Write of size 2 at addr ffff0000c7299a18 by task kworker/u8:0/12 Workqueue: nfc0_nci_rx_wq nci_rx_work [nci] Call trace: nci_add_new_protocol+0x94/0x2ac [nci] nci_ntf_packet+0xddc/0x11a0 [nci] nci_rx_work+0x15c/0x1e0 [nci] process_one_work+0x2dc/0x500 worker_thread+0x240/0x460 kthread+0x1c0/0x1d0 ret_from_fork+0x10/0x20 The buggy address belongs to the cache kmalloc-2k of size 2048 The buggy address is located 1024 bytes to the right of allocated 1560-byte region [ffff0000c7299000, ffff0000c7299618) Guard nci_target_auto_activated() with the same check used by nci_add_new_target().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: purge fragmented skbs during cleanup pn53x_common_clean() purges resp_q before freeing the common PN533 state, but it leaves fragment_skb untouched. The fragmentation helpers queue transmit fragments there while sending large initiator or target-mode frames, and those skbs remain owned by the driver until they are sent or discarded. If the device is removed while fragments are still queued, the common cleanup path frees the PN533 state without releasing the queued fragment skbs, leaking them. Purge fragment_skb during cleanup alongside resp_q.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: reject PDUs shorter than the LLCP header Every LLCP PDU begins with a two-byte header (DSAP/SSAP + PTYPE), but the receive path never checked that a frame is at least LLCP_HEADER_SIZE bytes before parsing it. nfc_llcp_rx_skb() reads the header via nfc_llcp_ptype()/nfc_llcp_dsap()/ nfc_llcp_ssap(), which dereference pdu->data[0] and pdu->data[1], and a CONNECT or CC PDU then computes tlv_array_len = skb->len - LLCP_HEADER_SIZE; as a size_t and hands it to the TLV walk. When the frame is shorter than the header the subtraction wraps to a huge value and the walk runs far past the buffer, an out-of-bounds read. A nearby NFC device can reach this without authentication; LLCP link activation happens automatically after NFC-DEP. Guard the common receive choke point __nfc_llcp_recv(), shared by both the target (nfc_llcp_data_received()) and initiator (nfc_llcp_recv()) paths, so a short skb is dropped before the rx_work worker parses it. Use pskb_may_pull() rather than a skb->len test so the two header bytes are guaranteed to sit in the skb linear area even for a non-linear skb, matching how the sibling NCI and HCI receive paths validate their headers. Reproduced with a KFENCE out-of-bounds read via /dev/virtual_nci on linux-next. Found by 0sec automated security-research tooling (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: bound the connect_sn TLV walk to the skb Commit 27256cdb290e ("nfc: llcp: bound SNL TLV parsing to the skb and add length checks") fixed the unbounded TLV walk in nfc_llcp_recv_snl(), and commit d8bd2dedbde5 ("nfc: llcp: fix OOB read and u8 offset wrap in TLV parsers") subsequently bounded nfc_llcp_parse_gb_tlv() and nfc_llcp_parse_connection_tlv(). One sibling parser sharing the same pattern remains unbounded: nfc_llcp_connect_sn(). nfc_llcp_connect_sn() walks a TLV list, reading a two-byte header (type, length) followed by length bytes of value, without checking that the two header bytes or the declared length stay within the buffer. It returns a pointer to a service name of up to 255 bytes that may point past the end of the skb; it is subsequently consumed by memcmp() in nfc_llcp_sock_from_sn(). In addition tlv_array_len was computed as "skb->len - LLCP_HEADER_SIZE" in size_t, so a CONNECT/CC frame shorter than the LLCP header underflows to a huge length and the walk runs far past the buffer. nfc_llcp_connect_sn() is reachable from nfc_llcp_recv_connect() and nfc_llcp_recv_cc(), i.e. from received CONNECT and CC PDUs. A nearby NFC device can reach this without authentication; LLCP link activation happens automatically after NFC-DEP, and the nfc_llcp_rx_skb() dispatcher applies no minimum-length guard. Walk the TLV list by pointer, bounded by skb_tail_pointer(skb), and validate each declared length before use, matching the approach already used for nfc_llcp_recv_snl(). Starting the walk at &skb->data[LLCP_HEADER_SIZE] against the tail pointer also removes the size_t underflow for short frames. Found by 0sec automated security-research tooling (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: microread: validate target discovery payload lengths microread_target_discovered() parses target discovery payloads from skb->data according to the HCI gate. The fixed field offsets and UID copies were checked only against the destination nfc_target buffers, not against the actual skb length. Validate that each gate-specific payload contains the fixed fields and UID bytes before reading or copying them.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: fdp: bound the device-reported read length and fix an skb leak fdp_nci_i2c_read() takes the next packet length from two device-supplied bytes and never validates it. The value is a u16 used as the i2c_master_recv() count into a 261-byte on-stack buffer: a malicious, counterfeit or malfunctioning controller (or an i2c bus interposer) can drive it far past the buffer for a stack out-of-bounds write that clobbers the canary and return address, or below the minimum frame size (directly, or by truncating the computed sum) so the header/LRC strip and the next length read run past a short receive. Reject a length outside [FDP_NCI_I2C_MIN_PAYLOAD, FDP_NCI_I2C_MAX_PAYLOAD], as a corrupted packet already is, and force resynchronization. The same loop allocates one data skb per iteration and assumes a length packet followed by a data packet; a device that sends two data packets in one call leaks the first skb when the second allocation overwrites it. Free a previously allocated skb before allocating the next.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: digital: clamp SENSF_RES length to the destination buffer digital_in_recv_sensf_res() memcpy()s resp->len bytes from a remote NFC-F device response into the NFC_SENSF_RES_MAXSIZE-byte target.sensf_res field without an upper-bound check. A nearby malicious NFC-F device can send an oversized SENSF_RES response to overflow the stack-local struct nfc_target. Clamp resp->len to NFC_SENSF_RES_MAXSIZE before the copy. Found by 0sec automated security-research tooling (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: stop retrying saturated xattr cache entries ext4_xattr_block_set() retries when a cache entry selected for reuse has a saturated reference count after taking the buffer lock. The retry returns to the mbcache lookup without making that entry ineligible, so it can select the same unusable entry indefinitely. A task spinning there can hold the parent directory's i_rwsem and leave concurrent rmdir callers blocked. Normally a reusable entry has a reference count below EXT4_XATTR_REFCOUNT_MAX because the count and MBE_REUSABLE_B are updated under the same buffer lock. A corrupted filesystem can violate that invariant. The syzbot reproducer reports allocator and xattr corruption before triggering this retry loop. Check the untrusted on-disk count before incrementing it, avoiding overflow, and clear MBE_REUSABLE_B when it is already saturated. The next lookup then skips the entry that was just proven unusable. This mirrors the normal transition at EXT4_XATTR_REFCOUNT_MAX; the release path marks the entry reusable again on the exact 1024-to-1023 transition. Using the same QEMU harness and guest parameters, current unpatched Linux hung in 6 of 8 420-second trials with the do_rmdir signature; representative NMI backtraces caught the owner spinning in ext4_xattr_block_set(). The patched kernel completed 28 of 28 trials without a hung-task report; the final twelve trials exercised the reviewed overflow-safe form of the change. syzbot's patch testing also completed without reproducing the hang.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix missing metadata reservation for large xattrs [BUG] lsetxattr() panics the kernel when setting a large xattr value on a fragmented filesystem where the file already has an external xattr block. [CAUSE] ocfs2_calc_xattr_set_need() never reserves metadata blocks for a new xattr value's extent tree when the file already has an external xattr block. The not_found path leaves meta_add at zero, so meta_ac is NULL when ocfs2_xattr_extend_allocation() runs. A new value root has room for a single extent record. On a fragmented filesystem, the allocator cannot satisfy the xattr value in one contiguous run, so each non-contiguous run requires its own extent record. When the value root's extent list is full and meta_ac is NULL, ocfs2_add_clusters_in_btree() returns RESTART_META, and ocfs2_xattr_extend_allocation() hits BUG_ON(why == RESTART_META). [FIX] The case where no xattr block exists yet already calls ocfs2_extend_meta_needed(&def_xv.xv.xr_list) to reserve value tree metadata. Add the same reservation to the case where an xattr block already exists, making the two cases consistent. Replace the BUG_ON with a -ENOSPC return so that if RESTART_META is returned despite the reservation, the error propagates to userspace instead of panicking the kernel.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: dummy: Check card index validity at probe snd_dummy_probe() blindly trusts that the given devptr->id value is within the proper card index range. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: scarlett2: Use a private URB for the notification endpoint scarlett2_init_notify() used mixer->urb, which snd_usb_mixer_status_create() allocates for the UAC2 status interrupt endpoint and mixer.c manages. On a device with that endpoint, the "already in use" check fires on the status URB and returns 0 for success without doing anything. No notification URB is submitted, and cmd_done is left zeroed because it is initialised past that check and nowhere else. scarlett2_usb_init() then issues SCARLETT2_USB_INIT_1 and wait_for_completion_timeout() would crash adding to the zeroed wait.head. Use a separate URB in scarlett2_data, as done for FCP, and initialise cmd_done in scarlett2_init_private(). mixer.c was also freeing the URB in snd_usb_mixer_free() and resubmitting it in snd_usb_mixer_activate(), so scarlett2 must now do both: add scarlett2_cleanup_urb(), called from private_free and private_suspend, and a private_resume callback to re-establish the URB after resume. scarlett2_init_notify() is reached from there, and the URB kill path in scarlett2_notify() completes cmd_done, leaving a stale count that would satisfy the next command's wait before the device ACKs. Use reinit_completion() to clear it. Also free the URB if the transfer buffer allocation fails, and both if usb_submit_urb() fails. Move scarlett2_init_notify() up next to scarlett2_cleanup_urb() so scarlett2_init_private() can reference it without a forward declaration.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: take rfcomm_mutex for the deferred setup accept rfcomm_sock_recvmsg() completes a deferred setup by calling rfcomm_dlc_accept() without holding any RFCOMM lock: if (test_and_clear_bit(RFCOMM_DEFER_SETUP, &d->flags)) { rfcomm_dlc_accept(d); return 0; } and rfcomm_dlc_accept() dereferences the session on its first line: struct sock *sk = d->session->sock->sk; Every other path that touches d->session runs under rfcomm_mutex: rfcomm_dlc_open(), rfcomm_dlc_close(), rfcomm_dlc_exists(), rfcomm_dlc_send_rpn(), and the RFCOMM thread through rfcomm_process_sessions(). rfcomm_connect_ind() is even documented as "called under rfcomm_lock()". This call site is the only one that skips it. The RFCOMM_DEFER_SETUP bit looks like it serialises the accept against teardown, since __rfcomm_dlc_close() returns early when it wins the test_and_clear. But rfcomm_recv_disc() forces the state first: d->state = BT_CLOSED; __rfcomm_dlc_close(d, err); and the early return only covers BT_CONNECT, BT_CONFIG, BT_OPEN and BT_CONNECT2. With the state already BT_CLOSED that switch does not match, the bit is never consulted, and __rfcomm_dlc_close() falls through to rfcomm_dlc_unlink(), which sets d->session = NULL. So a remote DISC on a deferred dlc clears the session while leaving RFCOMM_DEFER_SETUP set. The next recvmsg() then passes the test_and_clear and dereferences a NULL session. No timing window is needed: once the DISC has been processed, the dereference is unconditional. Give rfcomm_dlc_accept() the same shape as rfcomm_dlc_open() and rfcomm_dlc_close(): an exported wrapper that takes rfcomm_mutex and re-checks the session, around a __rfcomm_dlc_accept() that the two in-core callers, which already hold the mutex, keep using. Reproduced on a KASAN + PROVE_LOCKING kernel with a BR/EDR peer emulated over /dev/vhci: the peer brings up an ACL link, opens L2CAP on the RFCOMM PSM, starts a session, opens a dlc on a channel bound with BT_DEFER_SETUP, and sends DISC after the socket is accepted. recv() on the accepted socket then hits: Oops: general protection fault KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] RIP: 0010:rfcomm_dlc_accept+0x54/0x350 Call Trace: rfcomm_sock_recvmsg+0x1cd/0x230 sock_recvmsg+0x166/0x1c0 __sys_recvfrom+0x20d/0x300 0x10 is the offset of sock in struct rfcomm_session. With this patch the same run completes with recv() returning 0 and no report, and lockdep stays quiet, confirming rfcomm_mutex is still taken before lock_sock on this path as it is on the thread side.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: st21nfca: validate ATR_REQ length against the received frame st21nfca_tm_recv_atr_req() checks that the received ATR_REQ frame is at least ST21NFCA_ATR_REQ_MIN_SIZE and that the self-declared atr_req->length is at least sizeof(struct st21nfca_atr_req), but never checks that atr_req->length does not exceed the actual received length (skb->len). st21nfca_tm_send_atr_res() then trusts the declared length: gb_len = atr_req->length - sizeof(struct st21nfca_atr_req); ... memcpy(atr_res->gbi, atr_req->gbi, gb_len); so an RF peer that sends a short frame but sets atr_req->length larger than the frame makes gb_len exceed the general bytes actually present, and the memcpy reads out of bounds past the received skb. Those bytes are placed in the ATR_RES and sent back to the peer (kernel-memory disclosure to a proximity attacker); a larger declared length is an out-of-bounds read (DoS). Reject frames whose declared length exceeds the received length. The adjacent nfc_tm_activated() path in the same function already derives its general-bytes length from skb->len rather than the declared field. Found by 0sec (https://0sec.ai) using automated source analysis; the missing bound is evident from source. Compile-tested.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: usbfs: fix use-after-free of usb_device in usbdev_release() usbdev_release() drops its reference to the struct usb_device before draining the list of completed async URBs, but that drain path reads back through the same object: free_async() calls dec_usb_memory_use_count() for any URB whose buffer came from the usbfs mmap() region, and its first statement is bus_to_hcd(ps->dev->bus). After a disconnect the usbfs reference can be the last one, in which case usb_put_dev() frees the device and the subsequent loop reads offset 80 of freed memory and uses the result as a struct usb_hcd *, which hcd_buffer_free_pages() then dereferences. This is reachable by an unprivileged process that has read/write access to a /dev/bus/usb node: mmap() the fd, submit one URB with a buffer inside the mapping, wait for the device to be unplugged, then munmap() and close(). It reproduces on every attempt rather than being a race, because a live MAP_SHARED vma holds a reference on the struct file, so usbdev_release() cannot run until the last vma is gone and the freeing branch of dec_usb_memory_use_count() is always taken. BUG: KASAN: slab-use-after-free in dec_usb_memory_use_count+0x3ae/0x410 Read of size 8 at addr ffff8880122ee050 by task poc/769 CPU: 1 UID: 1000 PID: 769 Comm: poc Tainted: G B 6.12.94 #3 Call Trace: dec_usb_memory_use_count+0x3ae/0x410 free_async+0x2aa/0x4f0 usbdev_release+0x375/0x460 __fput+0x3ea/0xb50 __x64_sys_close+0x86/0x100 Allocated by task 11: usb_alloc_dev+0x55/0xd90 hub_event+0x2524/0x43d0 Freed by task 769: kfree+0x121/0x360 device_release+0xd2/0x280 usb_put_dev+0x23/0x30 usbdev_release+0x2d8/0x460 Release the device reference after the drain loop instead. Nothing between the two points requires it to have been dropped.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: ensure tx headroom in usb_sdio_tx_prepare_skb mt7925_usb_sdio_tx_prepare_skb() pushes a TX descriptor and a USB header onto every skb and assumes the headroom for them is already there. That holds for locally generated traffic, where mac80211 reserves hw->extra_tx_headroom, but forwarded frames are sent through ieee80211_8023_xmit(), which does not reserve it. Bridge a wired interface to an mt7925u AP and the first forwarded frame that arrives short panics the kernel: skbuff: skb_under_panic: len:415 put:4 tail:0x19b end:0x640 dev:wlan1 kernel BUG at net/core/skbuff.c:212! Call trace: skb_panic+0x58/0x60 (P) skb_push+0x58/0x60 mt7925_usb_sdio_tx_prepare_skb+0xf8/0x1b8 [mt7925_common] mt76u_tx_queue_skb+0xa0/0x1f8 [mt76_usb] __mt76_tx_queue_skb+0x54/0xe8 [mt76] mt76_txq_schedule.part.0+0x204/0x478 [mt76] mt76_txq_schedule_all+0x50/0x80 [mt76] mt792x_tx_worker+0x68/0x100 [mt792x_lib] __mt76_worker_fn+0x84/0x150 [mt76] Whether a given setup hits it depends on how much headroom the ingress netdev leaves in its rx skbs. Reproduced on a Raspberry Pi 5 bridging onboard ethernet to a Netgear A9000; originally reported on an MT7986 router running OpenWrt. Nick Morrow's testing on a Pi 4 (bcmgenet), which leaves more headroom, helped narrow the trigger to the ingress path. The same bug was fixed on mt7921 by commit 98c4d0abf5c4 ("mt76: mt7921: don't assume adequate headroom for SDIO headers"), but mt7925 was copied from mt7921 without the fix. Add the same guard here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: c67x00: fix use-after-free in c67x00_add_iso_urb() When TD creation fails for the last packet of an isochronous URB, c67x00_add_iso_urb() gives the URB back before updating the endpoint scheduling state. c67x00_giveback_urb() frees the URB private data, and the completion callback may release the final URB reference. The following accesses to urbp->ep_data, urb->interval, and urbp->cnt can therefore use freed memory. Update next_frame and cnt before giving back the failed final packet, making the giveback the last operation that uses the URB and its private data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: serial: option: fix slab OOB read in interrupt URB callback The interrupt URB buffer is allocated in setup_port_interrupt_in() based on the endpoint's wMaxPacketSize: buffer_size = usb_endpoint_maxp(epd); port->interrupt_in_buffer = kmalloc(buffer_size, GFP_KERNEL); When a USB device declares wMaxPacketSize = 8 on its interrupt IN endpoint, the buffer is allocated from kmalloc-8 cache (exactly 8 bytes). If the device sends a short packet (actual_length < wMaxPacketSize), the URB completes with status == 0 and the callback proceeds to read: data[sizeof(struct usb_ctrlrequest)] which evaluates to data[8], accessing 1 byte beyond the allocated 8-byte buffer. This results in a slab out-of-bounds read. Fix this by adding the missing bounds check: first verify that the actual length is large enough to contain the struct usb_ctrlrequest header before accessing req_pkt->bRequestType and req_pkt->bRequest, and then verify that there is an additional byte for the modem signal state before reading data[sizeof(struct usb_ctrlrequest)] inside the conditional. Use sizeof(*req_pkt) instead of sizeof(struct usb_ctrlrequest) for consistency. [ johan: use dev_err(); split signals declaration and initialisation ]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Complete cleanup after system-resume errors A failed system resume can leave the card unusable until reboot. usb_audio_resume() jumps to err_out when snd_usb_pcm_resume() or snd_usb_mixer_resume() fails. The error path skips the out: block, which restores D0 and decrements chip->num_suspended_intf. The card stays in SNDRV_CTL_POWER_D3hot, so later control access blocks in snd_power_ref_and_wait(). USB core logs an interface resume callback error. It does not retry that callback, so a later callback cannot complete the skipped cleanup. usb_audio_suspend() increments num_suspended_intf before returning success. A system-resume callback must consume the system-suspend count even if a component resume fails. Otherwise, the stranded count skews later suspend and resume cycles. Do not apply this cleanup to runtime-resume errors. Runtime PM can retry -EAGAIN or -EBUSY without another suspend callback. The count must continue to describe that suspended interface. Other runtime-resume errors latch runtime_error in the PM core and do not cause an immediate callback retry. Both parts of the system-resume error path are longstanding. Commit 88a8516a2128a ("ALSA: usbaudio: implement USB autosuspend") introduced err_out past the D0 restore. Commit 862b2509d157c ("ALSA: usb-audio: Fix inconsistent card PM state after resume") later moved num_suspended_intf-- into the out: block. The error path now skips both operations. No third-party code is needed to reach the error path. snd_usb_mixer_resume() ends in snd_usb_mixer_activate(), which returns the result of usb_submit_urb() for devices that have a mixer status URB. Its mixer->private_resume hook can also fail through scarlett2_init_notify(). snd_usb_pcm_resume() issues a SET_CUR request to a UAC3 power domain. It can return -EPIPE or -EIO when the device stalls the request. Route a component error through out: only when system_suspend is nonzero. Continue to return runtime-resume errors through err_out. Later component resume stages remain skipped. The original error still reaches USB core. A later transfer can fail if the device did not recover. I reproduced the system-resume failure on an Audient iD14 MkI with an out-of-tree diagnostic mixer resume hook. An injected -EIO on the unpatched core left control readers in uninterruptible sleep in snd_power_ref_and_wait() until a reboot. With this patch, the same failure restored control access. A second system suspend and resume also succeeded after I disabled fault injection.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix OOB write in snd_usbmidi_novation_output() snd_usbmidi_novation_output() lays out a two-byte header at transfer_buffer[0..1] and passes &transfer_buffer[2] together with a length of ep->max_transfer - 2 to snd_rawmidi_transmit(): count = snd_rawmidi_transmit(ep->ports[0].substream, &transfer_buffer[2], ep->max_transfer - 2); ep->max_transfer comes from the output endpoint's wMaxPacketSize via usb_maxpacket(). A malformed or malicious device can advertise a bulk OUT endpoint with a wMaxPacketSize of 1 - the USB core only clamps this value downwards - so ep->max_transfer becomes 1 and the count argument becomes -1. snd_rawmidi_transmit() passes the negative count on to __snd_rawmidi_transmit_peek(), where "if (count1 > count) count1 = count" leaves count1 negative; get_aligned_size() keeps it negative for a byte-stream substream, so the following memcpy(buffer, ..., count1) runs with a (size_t)-1 length and writes far past the transfer buffer, which was allocated with usb_alloc_coherent(ep->max_transfer). This is the same class of bug that was fixed for snd_usbmidi_akai_output() in commit 0970274613fb ("ALSA: usb-audio: fix OOB write in snd_usbmidi_akai_output()"); the novation output routine was left unguarded. Bail out when the endpoint cannot hold the two-byte header plus at least one payload byte.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: core: Add lock to usb_wakeup_notification() Add a spin lock to usb_wakeup notification to prevent a race condition with dereferencing freed memory. This could be hit by the xHCI driver as it calls this function from an IRQ and could race with the hub_disconnect() function, which properly grabs this lock to protect the state of the device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: mxs-dcp - fix source scatterlist length access mxs_dcp_aes_block_crypt() uses sg_dma_len() without mapping the source scatterlist with dma_map_sg() first. Therefore, sg_dma_len() is invalid and could return zero or a stale DMA length, causing encryption and decryption to process the wrong number of bytes when CONFIG_NEED_SG_DMA_LENGTH=y. Use the original scatterlist length instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: qce - fix CCM AAD buffer underallocation The AAD buffer allocated in qce_aead_ccm_prepare_buf_assoclen() can be smaller than the length later programmed into the DMA scatterlist. The allocation size is currently calculated as: ALIGN(assoclen, 16) + MAX_CCM_ADATA_HEADER_LEN while the DMA length is set to: ALIGN(assoclen + adata_header_len, 16) Since ALIGN() does not distribute over addition, the allocation can be smaller than the DMA length. For example, when assoclen = 32 and adata_header_len = 2: allocation = ALIGN(32, 16) + 6 = 38 DMA length = ALIGN(32 + 2, 16) = 48 As a result, the QCE hardware can read beyond the allocated buffer while computing the CBC-MAC over the associated data. The extra bytes are folded into the authentication tag, resulting in an incorrect tag and causing CCM self-test failures such as: alg: aead: ccm-aes-qce encryption test failed (wrong result) on test vector 8 Fix the allocation by adding the maximum possible AAD header length before alignment: ALIGN(assoclen + MAX_CCM_ADATA_HEADER_LEN, 16) This guarantees that the allocated buffer is large enough for the fully padded AAD data for all supported header sizes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fuse: fix invalidate lock leak on open O_TRUNC DAX failure fuse_open() takes filemap_invalidate_lock() for a DAX truncate (dax_truncate = true) and releases it before the out_inode_unlock label. But when fuse_dax_break_layouts() fails, the goto out_inode_unlock skips the unlock and leaks the rwsem, so any later fault or truncate on the file stalls on the stale lock. fuse_dax_break_layouts() can fail with -ERESTARTSYS when a signal interrupts the wait for busy DAX pages to drain: open("file", O_RDWR | O_TRUNC) ─ fuse_open() ├─ filemap_invalidate_lock() # dax_truncate ─ fuse_dax_break_layouts() ─ dax_break_layout() ─ wait_page_idle() # TASK_INTERRUPTIBLE ─ fuse_wait_dax_page() # unlock, schedule, re-lock ─ signal -> -ERESTARTSYS goto out_inode_unlock # <- lock leaked Fix this by moving filemap_invalidate_unlock() below the label so that all error paths release the lock, and rename the label to out_unlock as it now covers more than just the inode lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvme-tcp: fix usage of page_frag_cache nvme uses page_frag_cache to preallocate PDU for each preallocated request of block device. Block devices are created in parallel threads, consequently page_frag_cache is used in not thread-safe manner. That leads to incorrect refcounting of backstore pages and premature free. That can be catched by !sendpage_ok inside network stack: WARNING: CPU: 7 PID: 467 at ../net/core/skbuff.c:6931 skb_splice_from_iter+0xfa/0x310. tcp_sendmsg_locked+0x782/0xce0 tcp_sendmsg+0x27/0x40 sock_sendmsg+0x8b/0xa0 nvme_tcp_try_send_cmd_pdu+0x149/0x2a0 Then random panic may occur. Fix that by serializing the usage of page_frag_cache.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Validate CRIU-restored IDs before idr_alloc The KFD CRIU restore flow restores previously saved object IDs from userspace. For event restore: kfd_criu_restore_event() -> create_signal_event() / create_other_event() -> allocate_event_notification_slot() -> idr_alloc(..., *restore_id, *restore_id + 1, ...) For BO restore: criu_restore_memory_of_gpu() -> idr_alloc(..., bo_priv->idr_handle, ...) In both cases, the restored ID comes from userspace-provided CRIU data. idr_alloc() expects the ID range values to fit within signed int limits. If a restored ID is larger than INT_MAX, it can trigger a WARN in the IDR layer. A kernel WARN is undesirable because it prints a warning trace and may cause a panic or reboot on systems with panic_on_warn enabled. Smatch reported these paths as allowing unchecked userspace values to reach idr_alloc(). Add INT_MAX validation before using restored IDs in: - kfd_criu_restore_event() - criu_restore_memory_of_gpu() If the restored ID is invalid, return -EINVAL. This prevents invalid restore data from reaching the IDR layer and avoids WARN-triggering paths, while keeping valid restore behavior unchanged.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write A circular locking dependency involves INODE_ALLOC_SYSTEM_INODE, EXTENT_ALLOC_SYSTEM_INODE, and ORPHAN_DIR_SYSTEM_INODE. 1. ocfs2_mknod() acquires INODE_ALLOC then EXTENT_ALLOC. 2. ocfs2_dio_end_io_write() acquires EXTENT_ALLOC for unwritten extents, then ORPHAN_DIR via ocfs2_del_inode_from_orphan() while still holding EXTENT_ALLOC. 3. ocfs2_wipe_inode() acquires ORPHAN_DIR then INODE_ALLOC via ocfs2_remove_inode. Break the cycle in ocfs2_dio_end_io_write() by freeing the allocation contexts (releasing EXTENT_ALLOC) before acquiring ORPHAN_DIR. WARNING: possible circular locking dependency detected ------------------------------------------------------ is trying to acquire lock: ffff8881e78b33a0 (&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}, at: ocfs2_evict_inode+0x1539/0x43b0 fs/ocfs2/inode.c:1299 but task is already holding lock: ffff8881e78b4fa0 (&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}, at: ocfs2_evict_inode+0xe97/0x43b0 fs/ocfs2/inode.c:1299 the existing dependency chain (in reverse order) is: -> #2 (&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]){+.+.}-{4:4}: inode_lock include/linux/fs.h:1029 [inline] ocfs2_del_inode_from_orphan+0x12e/0x7a0 fs/ocfs2/namei.c:2728 ocfs2_dio_end_io+0xf9c/0x1370 fs/ocfs2/aops.c:2418 dio_complete+0x25b/0x790 fs/direct-io.c:281 -> #1 (&ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}: inode_lock include/linux/fs.h:1029 [inline] ocfs2_reserve_suballoc_bits+0x16d/0x4840 fs/ocfs2/suballoc.c:882 ocfs2_reserve_new_metadata_blocks+0x415/0x9a0 fs/ocfs2/suballoc.c:1078 ocfs2_mknod+0x10f3/0x2260 fs/ocfs2/namei.c:351 -> #0 (&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]){+.+.}-{4:4}: __lock_acquire+0x15a5/0x2cf0 kernel/locking/lockdep.c:5237 lock_acquire+0x106/0x350 kernel/locking/lockdep.c:5868 down_write+0x96/0x200 kernel/locking/rwsem.c:1625 inode_lock include/linux/fs.h:1029 [inline] ocfs2_remove_inode fs/ocfs2/inode.c:733 [inline] ocfs2_wipe_inode fs/ocfs2/inode.c:896 [inline] ocfs2_delete_inode fs/ocfs2/inode.c:1157 [inline] ocfs2_evict_inode+0x1539/0x43b0 fs/ocfs2/inode.c:1299 Chain exists of: &ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE] --> &ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE] --> &ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE] Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]); lock(&ocfs2_sysfile_lock_key[EXTENT_ALLOC_SYSTEM_INODE]); lock(&ocfs2_sysfile_lock_key[ORPHAN_DIR_SYSTEM_INODE]); lock(&ocfs2_sysfile_lock_key[INODE_ALLOC_SYSTEM_INODE]); *** DEADLOCK ***


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix buffer head management in ocfs2_read_blocks() In ocfs2_read_blocks(), caller should't assume that buffer head returned by 'sb_getblk()' is exclusively owned and so 'put_bh()' always drops b_count from 1 to 0. If it is not so, buffer head remains on hold and likely to be returned by the next call to 'sb_getblk()' unchanged - that is, with BH_Uptodate bit set even if it has failed validation previously, thus allowing to insert that buffer head into OCFS2 metadata cache and submit it to upper layers. To avoid such a scenario, BH_Uptodate should be cleared immediately after 'validate()' callback has detected some data inconsistency.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/tegra: gr2d/gr3d: Initialize address register map before HOST1X client is registered The host1x_client_register() function is called just prior to register map initialization loop, making the device available to userspace. This may result in userspace attempting to submits a job before the register map is initialized. Address this by moving register initialization before host1x client registration.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: msm: Disable DMA for kernel console UART At the moment, concurrent writes from userspace and the kernel to the console can trigger a race condition that results in an infinite loop of the same messages printed over and over again. This is most likely to happen during system startup or shutdown when the init system starts/stops a large number of system services that interact with various kernel code. When userspace writes to the TTY device, the driver initiates an asynchronous DMA transfer and releases the port lock. At the same moment, the kernel printk path might grab the port lock and re-configure the UART controller for PIO, without waiting for the DMA operation to complete. It seems like this collision results in zero progress being reported for the DMA engine, so the same text is printed to the console over and over again. For the kernel console, we want a reliable output path that will be functional even during crashes etc. So rather than implementing complex code to synchronize the kernel console write routines with the userspace DMA write routines, simply disable DMA for the console UART instance. Similar checks exist in many other serial drivers, e.g. 8250_port.c, imx.c, sh-sci.c etc.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: use check_add_overflow for shader size+offset bound vmw_shader_define() validates the user-supplied shader window against its backing buffer with (u64)buffer->tbo.base.size < (u64)size + (u64)offset drm_vmw_shader_create_arg::offset is __u64 in the uapi; when it is near U64_MAX the unsigned addition wraps and the resulting tiny value passes the check. The unbounded offset is then stored in res->guest_memory_offset and forwarded to host SVGA shader-create commands. Use check_add_overflow() to detect the wrap and compare the resulting endpoint against the buffer size.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: drop dma_buf reference on foreign-fd prime import ttm_prime_fd_to_handle() returns -ENOSYS when the imported fd's dma_buf->ops do not match the ttm_object_device's ops, but does so without releasing the reference acquired by dma_buf_get(). Any unprivileged renderD client passing a non-vmwgfx prime fd through the DRM_VMW_GB_SURFACE_REF{,_EXT} path leaks one dma_buf reference per call and indefinitely pins the foreign exporter's GEM resources. Funnel the error path through the existing dma_buf_put() so the reference is always dropped.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Validate AIBV and AISB before pinning guest pages The AIBV holds one bit per MSI-X vector for a given function. The size of the bit vector is derived from the NOI and the AIBVO. If the size of the AIBV exceeds a single page boundary, then reject the request as we cannot safely pin the guest AIBV. Similarly reject the request if the AISB address is not 8-byte aligned as the architecture requires doubleword alignment for the summary bit address. Since the AISBO can address up to 64 bits, the size of the AISB can only be 8 bytes for the function. This also ensures the AISB doesn't exceed a single page boundary.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: sun6i-dma: Fix reclaim descriptors while terminating DMA When terminating DMA transfers, active descriptors are not properly reclaimed. Only cyclic descriptors were handled, leaving non-cyclic descriptors and their LLI chains to be permanently leaked. Fix by using vchan_terminate_vdesc() which handles both cyclic and non-cyclic descriptors by adding them to desc_terminated queue for proper cleanup. Add pchan->desc != pchan->done check to prevent double-adding completed descriptors, which would corrupt the list.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/xe/oa: Fix sync entry leak on OA config emit failure xe_oa_emit_oa_config() releases the sync entries and the syncs array only on its success path. When it fails before the point of no return (fence allocation, config buffer allocation or batch submission), it returns without touching stream->syncs. The stream open path handles such failures in the caller, but xe_oa_config_locked() propagates the error without any cleanup, so the syncs array and the fence references held by the parsed entries are leaked. The next config ioctl overwrites stream->syncs, making the memory unreachable for good. Clean up the parsed syncs when xe_oa_emit_oa_config() fails, matching the cleanup done by the stream open error path. (cherry picked from commit 8af97b3da2cfce04e6b457c6eb17ed3c1daf912b)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix UVD dpb min size calculation for H264 This should use actual number of references from the decode message, instead of maximum derived from level. (cherry picked from commit 64b525edb7e7bdfcdc77883c5e413804e2396856)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Reject UVD message with dimensions above 4096 Fixes potential overflow in DPB size calculations. (cherry picked from commit 05e1387d151f71569fbe122d2c89f9db0c21dc10)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: lpass-wsa-macro: Fix enum kcontrol accesses EAR SPKR PA Gain" and the four "WSA RX* Mux" controls are enumerated, but their get and put callbacks access the value through ucontrol->value.integer.value[0] (a long) instead of ucontrol->value.enumerated.item[0] (an unsigned int). This same pattern was fixed in the sibling drivers by commit bcfe5f76cc40 ("ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type") and commit 0ea5eff7c606 ("ASoC: codecs: va-macro: fix accessing array out of bounds for enum type"), but wsa-macro was missed. On 64-bit kernels with CONFIG_SND_CTL_DEBUG this trips the elem value sanity check and every read of these controls fails with -EINVAL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: sof-audio: Fix error path in sof_widget_setup_unlocked() If either tplg_ops->dai_config or widget_kcontrol_setup fail during widget setup we would double decrement the use_count of the widget because the sof_widget_free_unlocked() would be called twice, similarly the core_put would be invoked twice as well. Since the use_count and core_put() is handled within the widget_free function we need to return without falling through the pipe_widget_free label. The fixes tag is picked to the last change around this part of the code which is adequately old enough for backporting purposes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: fix use-after-free of listener socket in iso_conn_ready iso_conn_ready() looks up the BIS listener socket with iso_get_sock(), which takes a reference, and then, without re-checking its state, creates a child socket from it: parent = iso_get_sock(hdev, ...); if (!parent) return; lock_sock(parent); sk = iso_sock_alloc(sock_net(parent), NULL, BTPROTO_ISO, ...); ... iso_chan_add(conn, sk, parent); ... release_sock(parent); sock_put(parent); If the listener socket is closed concurrently, between iso_get_sock() and lock_sock(), the reference taken by iso_get_sock() may be the last one: the close path drops the link-list reference, and once iso_conn_ready() drops its own reference at the end of the function the socket is freed. The child socket, however, is already linked to the freed parent, and a later disconnect of the child runs iso_chan_del() -> bt_accept_unlink(), which dereferences the dangling parent pointer into the freed accept queue (a use-after-free). The same dangling pointer is also dereferenced through parent->***() in iso_chan_del(). Fix it the same way the connected (non-BIS) path was fixed in commit 0d255e63fcf3 ("Bluetooth: ISO: hold sk properly in iso_conn_ready"): after taking the socket lock, re-check that the parent is still a listening, alive socket, and bail out otherwise.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: fix number/pointer type confusion on long items When fetch_item() is called by hid_scan_report() on an item with HID_ITEM_TAG_LONG, it stores a pointer to the item data in item->data.longdata instead of storing a value directly in item->data.{u8/u16/u32}. When item_udata() or item_sdata() encounters such an item, it incorrectly assumes that the item is in short format, and therefore returns the lower part of a kernel pointer reinterpreted as a number. When a HID device is connected whose descriptor contains a HID_GLOBAL_ITEM_TAG_REPORT_SIZE encoded in long format with size=4, this causes the lower half of a kernel pointer to be printed into dmesg as a number, like this: hid (null): invalid report_size 107953555 To fix it, let item_udata() and item_sdata() verify that the item is in short format. Note that this bug only affects hid_scan_report(), while the main parsing pass hid_parse_collections() will always bail out when encountering a long item. Sidenote: There are currently no users of data.longdata; maybe we should just remove any parsing of long-format descriptors as a follow-up.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xhci: dbgtty: Fix unregister on tty_register_driver() failure If tty_register_driver() fails, it drops the reference, but fails to set the global dbc_tty_driver to NULL, causing the unregister to be called again when module exits. On module unload dbc_tty_exit() only gates its cleanup on the driver pointer being non-NULL, so it operates on the already-freed driver: module_init(xhci_hcd_init) xhci_hcd_init() xhci_dbc_init() [return value ignored] dbc_tty_init() tty_register_driver() fails tty_driver_kref_put() -> driver freed (dbc_tty_driver left dangling) ... module_exit(xhci_hcd_fini) xhci_hcd_fini() xhci_dbc_exit() dbc_tty_exit() if (dbc_tty_driver) -> true (dangling) tty_unregister_driver() -> use-after-free


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tpm: tpm_i2c_nuvoton: disable IRQ on wait timeout i2c_nuvoton_wait_for_stat() enables the IRQ before waiting for the interrupt handler to report a status change. If the wait times out, or is interrupted before the handler runs, the function returns without balancing the enable_irq() call. Disable the IRQ before leaving the failed wait path. Also preserve an interrupted wait's original error code instead of converting it to -ETIMEDOUT inside the helper.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: w1: ds28e17: reject an oversize length on an I2C block read w1_f19_i2c_master_transfer() is the master_xfer for the DS28E17 1-Wire to I2C bridge. On an I2C_M_RECV_LEN read, it takes the length from the device. The downstream slave puts a length byte in buf[0]. The driver then reads that many bytes into buf[1] with w1_f19_i2c_read(). buf[0] is controlled by the device and can be 0 to 255. w1_f19_i2c_read() only rejects a zero count. The caller buffer is I2C_SMBUS_BLOCK_MAX + 2, so 34 bytes. A length above 32 makes the read run past it, up to about 222 bytes out of bounds. The SMBus core does check buf[0] against I2C_SMBUS_BLOCK_MAX. That check runs after master_xfer returns. By then the write is already done. i2c-algo-bit rejects an oversize length before it copies, and returns -EPROTO. Reject a length above I2C_SMBUS_BLOCK_MAX at both RECV_LEN sites, the same way i2c-algo-bit does.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: bound the device EEPROM address before the EFUSE copy mt7915_mcu_get_eeprom() copies a fixed EFUSE block into the driver's dev->mt76.eeprom.data buffer at the offset reported by the MCU response (res->addr, a device-controlled __le32) without checking it against the buffer size. A malicious or malfunctioning device can report an arbitrary address and drive a 16-byte out-of-bounds write past eeprom.data. Reject a response whose address would place the copy outside eeprom.data before deriving the destination pointer. Devices that echo the requested in-bounds offset are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7615: avoid waiting for mac work under the mt76 mutex mt7615_suspend() acquired the mt76 mutex and then called cancel_delayed_work_sync() on mac_work. mt7615_mac_work() acquires the same mutex via mt7615_mutex_acquire() at the top of the worker, so if mac_work is already running and blocked on the mutex, the suspend path deadlocks waiting for the work it holds the mutex against. Flush scan_work and mac_work before taking the mutex, matching the suspend paths in mt7921 and mt7925. scan_work only takes the mt76 spinlock, but moving it keeps the sequence consistent. This also keeps mac_work from running over an already suspended HIF, which the previous split (async cancel under the lock, sync cancel after release) would have allowed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: Fix potential memory leak in rtw_txq_push_skb() The skb passed to the rtw_hci_tx_write() is expected to be freed when the function fails, but the error path in rtw_txq_push_skb() does not free the skb before returning. This can lead to a memory leak in rtw_txq_push() where a dequeued skb is passed to rtw_txq_push_skb().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: Detach sync cmd buffer on interrupted wait mwifiex synchronous commands keep the caller-provided data buffer in cmd_node->data_buf. Several callers pass stack-allocated objects there. If wait_event_interruptible_timeout() is interrupted, the caller can return and release that stack object while the firmware command is still the current command. A late firmware response then reaches the normal response handler, which can copy data through cmd_node->data_buf into the stale stack address. This fixes a stack corruption observed during repeated association and disassociation cycles. The panic trace showed the command wait being interrupted immediately before a bad pointer dereference: cmd_wait_q terminated: -512 Unable to handle kernel paging request at virtual address 002c583837384662 Kernel panic - not syncing: stack-protector: Kernel stack is corrupted ... Tainted: [M]=MACHINE_CHECK The fault address decodes as little-endian ASCII: 0x002c583837384662 -> "bF878X,\0" which is a fragment of the VERSION_EXT firmware string exposed as debugfs "verext": w8997o-V4, RF878X, FP92, 16.92.21.p153.7 The same runs also showed corrupted control data containing: 0x2400372e333531 -> "153.7\0$" which is the tail of the same VERSION_EXT string. This points at a late VERSION_EXT response writing through a stale stack-backed data_buf after the interrupted wait returned. After cancelling pending commands on an interrupted or timed-out wait, detach the caller-owned data buffer from the still-current command. This preserves the existing command cancellation behaviour while preventing a late response from writing through a pointer whose lifetime ended with the waiting caller. Tested on an i.MX8MP board using an 88W8997.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: Fix memory leak in brcmf_sdio_read_control() The memory allocated for buf is not freed in some of the error paths in brcmf_sdio_read_control(). Fix that by adding vfree() calls. [arend: rework as suggested by Johannes]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i3c: master: svc: bound IBI payload to the requested max_payload_len svc_i3c_master_handle_ibi() reads the IBI payload from the RX FIFO into the IBI slot. The loop is bounded by the hardware FIFO size (SVC_I3C_FIFO_SIZE), not by the slot size. slot->data points into the IBI pool, which i3c_generic_ibi_alloc_pool() sizes at max_payload_len per slot. svc_i3c_master_request_ibi() only rejects a max_payload_len larger than SVC_I3C_FIFO_SIZE, so a driver can request a smaller one. mctp-i3c requests 1. Each readsb() then copies the controller RXCOUNT bytes (up to 31) with no check against the slot size. A device that sends more bytes than the slot holds writes past slot->data, an out-of-bounds write into the IBI pool. Bound the loop by dev->ibi->max_payload_len and clamp each read to the space left in the slot, the same way dw-i3c does. A device can still send more than the requested payload. Flush the leftover bytes from the RX FIFO so they do not leak into the next transfer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i3c: master: Fix info leak and UAF in device unregister path i3c_master_unregister_i3c_devs() clears i3cdev->dev->desc before calling device_unregister(). During device_unregister(), device_del() emits a KOBJ_REMOVE uevent and unbinds the driver while the device descriptor is still expected to be valid. As a result, i3c_device_uevent() and a racing modalias_show() can observe a NULL desc and fall back to an uninitialized stack struct i3c_device_info, leaking kernel stack contents in the generated modalias. Driver .remove() callbacks may also encounter an unexpected NULL desc during unbind. Keep desc valid until device_unregister() has completed. Since device_unregister() drops the device reference and may free the device, take an extra reference with get_device() before unregistering. Clear desc afterwards and release the extra reference with put_device(). This preserves the release-time invariant that desc must be NULL while avoiding both the information leak and a potential use-after-free from writing desc after the device has been released.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: virmidi: Check card index validity at probe virmidi driver blindly trusts that the given devptr->id value is within the proper card index range at probe. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: serial-u16550: Check card index validity at probe serial-u16550 driver blindly trusts that the given devptr->id value is within the proper card index range at probe. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: portman2x4: Check card index validity at probe Although portman2x4 driver has a check of the given devptr->id value, it doesn't check for a negative id, which is often given as "none" or such value when bound via sysfs. This may lead to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcxhr: initialize mutexes before requesting threaded IRQ pcxhr_probe() requests pcxhr_threaded_irq() before initializing mgr->lock, even though the threaded handler takes that mutex. Initialize the manager locks before request_threaded_irq() so an early interrupt cannot run against uninitialized mutex state during probe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: mts64: Check card index validity at probe Although mts64 driver has a check of the given devptr->id value, it doesn't check for a negative id, which is often given as "none" or such value when bound via sysfs. This may lead to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: mpu401: Check card index validity at probe mpu401 driver blindly trusts that the given devptr->id value is within the proper card index range at probe. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: bcd2000: clear the URB pointers on disconnect bcd2000_free_usb_related_resources() frees both URBs and leaves the pointers behind: usb_kill_urb(bcd2k->midi_out_urb); usb_kill_urb(bcd2k->midi_in_urb); usb_free_urb(bcd2k->midi_out_urb); usb_free_urb(bcd2k->midi_in_urb); The rawmidi device outlives that call. A substream that is still open when the device is unplugged reaches bcd2000_midi_send() from the trigger path on close. That function writes to the freed URB and then hands it to the USB core: bcd2k->midi_out_urb->transfer_buffer_length = BUFSIZE; ... ret = usb_submit_urb(bcd2k->midi_out_urb, GFP_ATOMIC); usb_kill_urb() does not stop a later submission either, so a submit that races the disconnect can requeue the URB after it has been reaped. midi_in_urb is exposed the same way: bcd2000_input_complete() resubmits it from the completion handler. KASAN on 7.2.0-rc5 (arm64): BUG: KASAN: slab-use-after-free in bcd2000_midi_send [snd_bcd2000] Write of size 4 at addr ffff00001827d388 by task bpoc/168 __asan_store4 bcd2000_midi_send [snd_bcd2000] bcd2000_midi_output_trigger [snd_bcd2000] snd_rawmidi_kernel_write1 close_substream.part.0 Freed by task 168: usb_free_urb bcd2000_disconnect [snd_bcd2000] BUG: KASAN: slab-use-after-free in usb_submit_urb Read of size 8 at addr ffff00001827d3b8 by task bpoc/168 Clear both pointers after freeing and test them on the paths that can still run. Poison the URBs before freeing them: usb_poison_urb() waits for a running completion handler and rejects any later submission, so after it returns the input path is quiesced and only the rawmidi trigger path can still reach bcd2000_midi_send(). No unpoison is needed; the URBs are freed on the next line. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: aloop: Check card index validity at probe aloop driver blindly trusts that the given devptr->id value is within the proper card index range at probe. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: 6fire: bound the MIDI event length from the device usb6fire_comm_receiver_handler() forwards a MIDI event using a length byte the device supplies, with no bound and no check that the transfer delivered that many bytes: if (!urb->status) { if (rt->receiver_buffer[0] == 0x10) /* midi in event */ if (midi_rt) midi_rt->in_received(midi_rt, rt->receiver_buffer + 2, rt->receiver_buffer[1]); } receiver_buffer is a 64-byte kzalloc() buffer (COMM_RECEIVER_BUFSIZE), so only 62 bytes follow the two-byte header. receiver_buffer[1] is a u8 the device chooses, so a device that answers with 0x10 and a length of 0xFF makes snd_rawmidi_receive() read 255 bytes starting two bytes into a 64-byte object. The bytes past the buffer are handed to userspace through the rawmidi read path. urb->actual_length is not consulted either, so a short transfer leaves both the type byte and the length byte at their previous values and the handler acts on stale data. The receiver URB is submitted from usb6fire_comm_init() at probe, so the read happens on plug with no user action; forwarding to userspace also needs a MIDI input substream open, since usb6fire_midi_in_received() only calls snd_rawmidi_receive() when rt->in is set. KASAN on 7.2.0-rc5 (arm64), single packet from an emulated device: BUG: KASAN: slab-out-of-bounds in snd_rawmidi_receive Read of size 255 at addr ffff000009f64682 by task bash/183 __asan_memcpy snd_rawmidi_receive usb6fire_midi_in_received [snd_usb_6fire] usb6fire_comm_receiver_handler [snd_usb_6fire] Allocated by task 11: usb6fire_comm_init [snd_usb_6fire] usb6fire_chip_probe [snd_usb_6fire] The buggy address is located 2 bytes inside of allocated 64-byte region [ffff000009f64680, ffff000009f646c0) Reject the event when the length exceeds the bytes that follow the header, and require the transfer to have delivered the header plus that many bytes. The receiver URB is submitted with a 64-byte transfer_buffer_length, so a genuine device cannot deliver an event longer than those 62 bytes and nothing valid is dropped. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: cap advertised IP tunnel headroom IP tunnel devices derive their advertised needed_headroom from lower output devices. A stack of user-created devices can make the derived value larger than the 16-bit skb header offsets can represent. Once IP output reserves it, skb head expansion can wrap those offsets. The runtime transmit path already caps a growing needed_headroom at 512. Apply the same cap when tunnel configuration publishes needed_headroom derived from a lower output device. Capping the advertised value is safe: IP tunnel transmit still expands the skb when a packet needs more headroom. A nonsensical stacked configuration can therefore incur an extra reallocation, but it cannot publish an unbounded reservation to upper layers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: thunderbolt: Mark the connection down when bringing it up fails Every failure path in tbnet_connected_work() undoes its own work and returns without clearing login_sent, so the connection still looks established. The next tbnet_tear_down() therefore takes its main branch and repeats a teardown that already happened: it stops rings that are already stopped, which is a dev_WARN() and fatal under panic_on_warn, and it releases net->remote_transmit_path even on the HopID mismatch path, where this connection never owned that id, silently freeing one that someone else is still using. Clear login_sent on those paths. That is enough for tbnet_tear_down() to leave the unwound state alone, and login_received has to stay set: it records that the peer has logged in and carries the transmit path it gave us, which nothing on this side can make the peer send again. Two things change beyond keeping the teardown out of the way: the logout request in that block is no longer sent, and the peer's next login request now re-queues our login work rather than connected_work, giving the connection a fresh login instead of a retry on stale state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: thunderbolt: Release the Rx HopID that was handed out on mismatch tb_xdomain_alloc_in_hopid() passes the wanted HopID to ida_alloc_range() as the lower bound, so a taken id is not an error there: the allocator returns the next free one above it. tbnet_connected_work() asks for the peer's transmit path, treats any other id as a failure and returns without releasing what it got, so that allocation stays live for the rest of the XDomain connection with nothing left holding a reference to it. Release the id when it is not the one we asked for, the same way the error unwind at the end of the function releases the expected one.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipmi: si: Fix NULL pointer dereference after failed registration try_smi_init() allocates new_smi->si_sm and later calls ipmi_register_smi_mod(), which maps to ipmi_add_smi(). During ipmi_add_smi(), the upper IPMI message handler obtains the initial BMC device information through __bmc_get_device_id(). This can fail if the BMC does not return a successful response to the Get Device ID command. When the BMC returns a nonzero completion code, the device-id helper retries the command and eventually returns -EIO if the device ID still cannot be fetched. On this failure path, ipmi_add_smi() logs "Unable to get the device id" and goes to out_err_started, where it invokes the lower driver's shutdown callback. try_smi_init() then logs the returned registration failure: ipmi_si IPI0001:00: IPMI message handler: Unable to get the device id: -5 ipmi_si IPI0001:00: Unable to register device: error -5 For ipmi_si, the shutdown callback is shutdown_smi(), which cleans up the SI state machine data, frees smi_info->si_sm, and sets smi_info->si_sm and smi_info->intf to NULL. However, intf->in_shutdown is not set on this failed-registration rollback path. Therefore, the asynchronous redo_bmc_reg work item can still retry BMC device-id probing after the lower driver has already cleared its SI state machine data. In the observed case, that retry path reached start_next_msg(), which passed the NULL smi_info->si_sm pointer to the selected KCS state machine handler: BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 Workqueue: events redo_bmc_reg [ipmi_msghandler] RIP: start_kcs_transaction+0x2c/0x190 [ipmi_si] Call Trace: start_next_msg+0x50/0x80 [ipmi_si] check_start_timer_thread.part.9+0x3b/0x50 [ipmi_si] sender+0x69/0x80 [ipmi_si] i_ipmi_request+0x2ac/0x9d0 [ipmi_msghandler] __get_device_id.isra.29+0xaa/0x180 [ipmi_msghandler] __bmc_get_device_id+0xef/0x950 [ipmi_msghandler] redo_bmc_reg+0x52/0x60 [ipmi_msghandler] process_one_work+0x1a7/0x360 Set intf->in_shutdown on the out_err_started path before invoking the lower driver's shutdown callback. This prevents later redo_bmc_reg retries from using an interface whose lower driver state has been cleaned up, and applies the same shutdown state to other IPMI interfaces as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipmi: ipmb: validate write message length ipmb_write() read message fields before validating the length byte. A zero or short write can read uninitialized stack bytes. A length smaller than the SMBus header underflows the block write length. Require a non-empty buffer and the minimum IPMB request length. Also require the length byte plus payload before parsing the message.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: interconnect: Fix use after free in icc_get() and of_icc_get_by_index() In of_icc_get_by_index() and icc_get(), if the dynamic allocation for path->name fails via kasprintf(), the error handling path directly calls kfree(path) to free the path object and returns an error. However, prior to this point, path_find() calls path_init(), which already links the path's requests into the req_list of the respective interconnect nodes via hlist_add_head(). Directly invoking kfree(path) leaves dangling pointers in the hlist. A subsequent call to icc_get() or icc_set_bw() will traverse or modify these corrupted lists, triggering a slab use afterfree. KASAN report showing the vulnerability when reproducing via debugfs: BUG: KASAN: slab-use-after-free in path_find+0x6f8/0xcfc Write of size 8 at addr fff000000d43f748 by task sh/1 ... Call trace: kasan_report+0xac/0xfc path_find+0x6f8/0xcfc icc_get+0x148/0x380 icc_get_set+0xf8/0x2d0 ... Freed by task 1: kfree+0x1a0/0x4a4 icc_get+0x2cc/0x380 icc_get_set+0xf8/0x2d0 Fix this by replacing kfree(path) with the proper teardown function, icc_put(path), which safely removes the requests from the req_list using hlist_del() and drops the provider usage references before freeing the memory. Additionally, in icc_get(), ensure that the icc_lock mutex is released prior to calling icc_put(path) to avoid a deadlock, as icc_put() internally acquires the same lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: pass validated element count to package parsers The per-type package parsers are handed the wrong element count. hp_init_bios_package_attribute() validates obj->package.count and then calls one of the five hp_populate_*_package_data() wrappers (string, integer, enumeration, ordered list, password). Each wrapper forwards a count to its hp_populate_*_elements_from_package() parser, but instead of forwarding the validated obj->package.count it derives the count from elements[0]. elements[0] is the NAME field and is always an ACPI_TYPE_STRING, so reading ->package.count from it in fact reads ->string.length through the union acpi_object. The parsers thus bound themselves against the length of the name string rather than against the real number of elements in the package. This is safe today because hp_init_bios_package_attribute() refuses any package that has fewer than the type's element count, so a parser only ever runs on a full package and never reads past it regardless of the bogus bound. An upcoming change relaxes that check to accept shorter packages. Once a parser can receive fewer elements than its per-type count, a bound taken from the name length no longer reflects the array size, and the "elem < count" loop conditions and "elem + n >= count" sub-loop guards read past the end of elements[] - an out-of-bounds heap read. Forward the validated obj->package.count to every *_package_data() wrapper so the parsers bound themselves against the real package size. This does not change behaviour for the packages that enumerate correctly today and is a prerequisite for accepting shorter packages safely.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix off-by-one write in hp_get_string_from_buffer() hp_get_string_from_buffer() clamps the converted string length against the destination buffer size with "size > dst_size", so when the converted length is exactly equal to dst_size, conv_dst_size is left at dst_size and the unconditional NUL terminator write dst[conv_dst_size] = 0; lands one byte past the destination buffer. This is the same shape of bug as the previously fixed off-by-one in hp_convert_hexstr_to_str(): the buffer is sized correctly for the content, but the terminator write is never checked against that size. Fix by changing the comparison to ">=" so conv_dst_size is always left with room for the terminator. All fixed-size destinations that reach this function (path[512], current_value[512], current_password/current_value[64], and the per-entry buffers in encodings[][512] and prerequisites[][512]) are affected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix heap OOB read on empty password write validate_password_input() computes length = strlen(buf) and then checks buf[length - 1] to strip a trailing newline, without checking that length is nonzero first. Writing an empty string (a bare '\n') to current_password or new_password gives length == 0, and buf[length - 1] reads buf[-1], one byte before the heap allocation holding the copied input. KASAN confirms this directly: BUG: KASAN: slab-out-of-bounds in store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg] Read of size 1 at addr ffff88811bd8da9f by task sh/13740 ... store_password_instance.constprop.0+0x223/0x2a0 [hp_bioscfg] current_password_store+0x14/0x20 [hp_bioscfg] ... The buggy address is located 23 bytes to the right of allocated 8-byte region [ffff88811bd8da80, ffff88811bd8da88) Reproduced identically via new_password_store. Execution continues past the bad read (the garbage byte only affects whether "length" is decremented by one), so the write completes and returns success; this is a pure information read past the buffer, not a crash, but it is still an out-of-bounds access KASAN correctly flags. Fix by only checking buf[length - 1] when length is nonzero.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix heap OOB read in sk_store() and kek_store() sk_store() and kek_store() strip a trailing newline from the sysfs write before allocating the key buffer: length = count; if (buf[length - 1] == '\n') length--; bioscfg_drv.spm_data.signing_key = kmemdup(buf, length, GFP_KERNEL); but then pass the original "count" (not "length") as the copy size to hp_wmi_perform_query(), which memcpy()s that many bytes out of the "length"-sized allocation, reading one byte past it whenever the write ends in a newline, the normal case for a shell "echo" into sysfs. KASAN confirms this directly: BUG: KASAN: slab-out-of-bounds in hp_wmi_perform_query+0x1e9/0x460 [hp_bioscfg] Read of size 28 at addr ffff88813c8e2b80 by task python3/16022 ... sk_store+0xa7/0x240 [hp_bioscfg] kernfs_fop_write_iter+0x3e1/0x5d0 ... The buggy address is located 0 bytes inside of allocated 27-byte region [ffff88813c8e2b80, ffff88813c8e2b9b) Reproduced identically for kek_store, and at multiple write sizes (28, 57, 201 bytes), each time reading exactly one byte past a kmemdup() allocation one byte smaller than the write. Fix by passing "length" instead of "count" to hp_wmi_perform_query() in both functions.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/chrome: sensorhub: Bound the EC-reported sensor number Each EC FIFO event carries an 8-bit sensor number (in->sensor_num). cros_ec_sensorhub_ring_handler() validates the FIFO event count, the per-read count and the ring bound, but not the sensor number, which cros_ec_sensor_ring_process_event() then uses unchecked to index sensorhub->batch_state[] - allocated with only sensorhub->sensor_num entries. A sensor number of sensor_num or larger is an out-of-bounds read and write of batch_state[]. Validate the sensor number in the ring handler, where each event is read from the EC, and drop a malformed event before it is used.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: ISST: Validate logical CPU id and clos id Validate max CLOS ID and logical CPU ID for core power feature. Reject any clos level or logical CPU number greater than the supported maximum. These are used to calculate MMIO offset.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: ISST: Add a NULL check for sst_inst[] To be consistent with other places, add a NULL check for failed socket loading by checking isst_common.sst_inst[].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: via-sdmmc: stop card-detect handling on probe failure request_irq() registers the SD card-detect interrupt and the probe enables it before mmc_add_host() runs. If mmc_add_host() fails, the error path only unmaps the registers and returns: the interrupt stays registered, so the handler keeps running against the host once it is freed. via_sdc_isr() dereferences sdhost and its MMIO base and schedules carddet_work, which via_sdc_card_detect() also runs against freed memory through its container_of() dereference. Add a probe-error path that disables and frees the interrupt and cancels carddet_work before unmapping. carddet_work can re-enable the device interrupt via via_reset_pcictrl(), which restores PCIINTCTRL, so mask it again after cancelling the work. This issue was found by an in-house static analysis tool and confirmed by manual code review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: ISST: Validate socket ID in clos_assoc ioctl isst_if_clos_assoc() validates the user-supplied socket_id with 'socket_id > topology_max_packages()', but isst_common.sst_inst[] is allocated with topology_max_packages() entries, so the valid index range is [0, topology_max_packages()). The '>' comparison lets socket_id == topology_max_packages() pass and index one entry past the array. In addition, isst_common.sst_inst[socket_id] is NULL for an in-range package that has no bound TPMI SST instance, and the pointer is used without a NULL check. Both the out-of-bounds entry and the NULL pointer are then dereferenced by map_partition_power_domain_id() and the following power_domain_info access. Reject socket_id >= topology_max_packages() and a NULL sst_inst, matching the checks already performed by get_instance().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: ISST: Validate level in perf mask ioctls isst_if_get_perf_level_mask() and isst_if_get_base_freq_mask() use the user-provided level as an index into perf_levels[] via _read_pp_level_info() and _read_bf_level_info(), but neither helper validates it first. The adjacent level-info helpers reject levels above max_level before reading the same per-level register block. Add the same bounds checks to the mask helpers, and reject disabled SST-PP levels in isst_if_get_perf_level_mask() to match isst_if_get_perf_level_info(). This prevents out-of-bounds reads from the per-level offset table on invalid ioctl input.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-wmi-sysman: Don't hex dump attribute security buffer set_attribute() populates the security area of the BIOS attribute request buffer with the current admin password via populate_security_buffer(), then dumps the whole request buffer with print_hex_dump_bytes(). This can expose the plaintext admin password in the kernel log. The same issue was fixed for the password attribute path by commit d1a196e0a6dc ("platform/x86: dell-wmi-sysman: Don't hex dump plaintext password data"). Remove the remaining dump from the BIOS attribute path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: max17040: synchronize work cancellation on suspend max17040_work() requeues itself after every poll. cancel_delayed_work() only cancels a pending instance and does not wait for a callback that is already running. If system suspend races with the polling callback, the callback can continue accessing the fuel gauge and requeue itself after the suspend callback returns. Use cancel_delayed_work_sync() to ensure polling is quiesced before suspend completes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: ucs1002: fix use-after-free on remove ucs1002 has no remove callback, so unbind runs entirely through devm. The alert IRQ handler queues the health_poll delayed work, and the work reschedules itself while the chip reports a bad-health condition. devm frees the alert IRQ, which only synchronizes the handler; it does not cancel the delayed work, which can then run after devm frees the driver data and dereference it. Register health_poll with devm_delayed_work_autocancel() before the alert IRQ is requested. devm then frees the IRQ before cancelling the work, so the handler can no longer queue it and the work is cancelled before the driver data is freed. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: twl4030_charger: cancel workers via devm bci is devm-allocated. Two workers (bci->work and bci->current_worker) dereference it. twl4030_bci_remove() disables charging and masks interrupts. It cancels neither worker. A worker pending at remove() can run after devm frees bci. The USB transceiver comes from devm_usb_get_phy_by_node(). devm unregisters its notifier only after remove() returns. A cancel_work_sync() in remove() can then race a notifier reschedule. devm_work_autocancel() and devm_delayed_work_autocancel() avoid that. They cancel the workers during devm release, before bci is freed. The current_worker is registered first, since devm will cancel in reverse order and bci->work can reschedule current_worker. [Move comment about order into the commit message]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: rt9455: quiesce delayed work before teardown The threaded IRQ handler can queue pwr_rdy_work, max_charging_time_work and batt_presence_work. pwr_rdy_work and batt_presence_work can also queue max_charging_time_work, while batt_presence_work can requeue itself. rt9455_remove() cancels max_charging_time_work before batt_presence_work. The latter can therefore queue max_charging_time_work after it has already been cancelled: rt9455_remove() workqueue cancel pwr_rdy_work cancel max_charging_time_work batt_presence_work queues max_charging_time_work cancel batt_presence_work return devres frees rt9455_info max_charging_time_work dereferences rt9455_info The IRQ also remains registered until devres cleanup and can queue more work after any of the cancellation calls. If rt9455_hw_init() fails after the IRQ has been requested, probe returns without cancelling work that may already have been queued. A pending callback can then access rt9455_info after it has been freed. Register rt9455_cancel_all_delayed_works() through devm_add_action_or_reset() right after devm_power_supply_register(). devres invokes the action in reverse registration order, after the managed IRQ has been freed and before rt9455_info is released, so the delayed works are drained in both rt9455_remove() and the probe error path. Cancel pwr_rdy_work and batt_presence_work before max_charging_time_work because both can queue the latter. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: qcom_battmgr: terminate the strings from firmware The qcom_battmgr_sc8280xp_strcpy() takes a Pascal-style string when the firmware sends one. Otherwise it copies all BATTMGR_STRING_LEN bytes and leaves the destination without a terminator. Those destinations are model_number, serial_number and oem_info, each BATTMGR_STRING_LEN and declared next to each other. They go out to user space as val->strval, which power_supply_format_property() prints with "%s", so a firmware string that fills the whole field makes that read run into the following members. Use strscpy() so the copy always terminates, the way the SM8350 path already does for the same field.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8788-charger: fix use-after-free on remove lp8788_charger_remove() flushes charger_work before unregistering the IRQs. An IRQ thread can queue charger_work after flush_work() has returned. The work can then run after devres frees pchg and dereference it in lp8788_charger_event(). Unregister the IRQs first. free_irq() waits for any running threaded handler, so no handler can queue more work afterwards. Then use cancel_work_sync() to cancel pending work or wait for running work to finish. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8727: fix use-after-free in lp8727_release_irq() lp8727_isr_func(), the threaded IRQ handler, is the only caller that arms pchg->work via schedule_delayed_work(). lp8727_release_irq() currently cancels the work before freeing the IRQ, so an IRQ delivered in between can re-arm the work through the threaded handler. After .remove returns the devm layer frees pchg while lp8727_delayed_func() may still run and dereference it. Free the IRQ first so the threaded handler is quiesced and can no longer queue work, then cancel the delayed work to drain the final generation. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd: Limit port counts to EC_USB_PD_MAX_PORTS Currently the cros_usbpd-charger driver probe iterates based on raw charger port count returned by the embedded controller. The only check is against the number of USB PD ports which the embedded controller also defines. A malicious embedded controller could return an inaccurate port count (up to 255) resulting in an out of bounds write and subsequent memory corruption. Update helper functions in cros_usbpd-charger to limit port counts to EC_USB_PD_MAX_PORTS.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: cros_usbpd-charger: bound the EC-reported port count cros_usbpd_charger_probe() reads two port counts from the EC and uses one of them, num_charger_ports, as the loop bound when populating a fixed-size array: struct port_data *ports[EC_USB_PD_MAX_PORTS]; /* 8 entries */ ... for (i = 0; i < charger->num_charger_ports; i++) charger->ports[charger->num_registered_psy++] = port; Both num_usbpd_ports (from EC_CMD_USB_PD_PORTS) and num_charger_ports (from EC_CMD_CHARGE_PORT_COUNT) are u8 values reported by the EC. The only validation is a sanity check that compares the two EC-reported values against each other: if (num_charger_ports < num_usbpd_ports || num_charger_ports > num_usbpd_ports + 1) return -EPROTO; It never checks either count against EC_USB_PD_MAX_PORTS, the size of the ports[] array. A malfunctioning, malicious or compromised EC that reports num_usbpd_ports == num_charger_ports == N for any N > 8 (for example both 255) passes this check, and the loop then writes N pointers into the 8-entry ports[] array embedded in the devm_kzalloc()'d charger_data, overflowing it by up to 255 - 8 = 247 entries (~1976 bytes): a slab out-of-bounds write. Reject a port count larger than the ports[] array can hold.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq25890: Fix power_supply reference leak bq25890_fw_probe() acquires a reference to a secondary charger using power_supply_get_by_name(), but the reference is not released on later probe failures or on driver detach. In particular, failures after bq25890_fw_probe() returns successfully, such as a failure in bq25890_hw_init(), also leak the reference. Register a device-managed cleanup action immediately after acquiring the secondary charger. This releases the reference on all subsequent probe failures and on driver detach. Found by code review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq256xx: drain usb_work before freeing the charger The USB-PHY notifier queues usb_work, whose handler calls power_supply_changed(bq->charger). The reset devm action only unregisters the notifier and was registered before the power supplies, so devm frees bq->charger on unwind before the action runs; a usb_work still queued can then dereference it. Register the reset action after the power supplies, so it unregisters the notifiers and drains usb_work before the supplies are released. Initialize usb_work and obtain the PHY references before registering the notifiers, so the worker cannot run before the supplies exist. Found by static analysis.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq24257: fix use-after-free on remove The STAT-pin interrupt is devm-managed, so it stays armed until the devm cleanup that runs after remove() returns. remove() cancels bq->iilimit_setup_work while the threaded handler can still fire; that handler reschedules the work and dereferences bq, so the work runs against freed memory once devm frees bq. Make the delayed work device-managed with devm_delayed_work_autocancel(), registered before the interrupt request. The devm cleanup then releases the interrupt first, so the handler can no longer reschedule the work, and cancels the work before bq is freed. The explicit cancel_delayed_work_sync() in remove() is no longer needed and is dropped. Found by static analysis.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: cluster: don't sleep while holding o2hb_live_lock in o2hb_region_pin() Patch series "ocfs2: cluster: o2hb_region_pin() fixes", v2. This series fixes three related issues in o2hb_region_pin(), all are from the original implementation in commit: 58a3158a5d17 ("ocfs2/cluster: Pin/unpin o2hb regions"): 1) It is called with o2hb_live_lock (a spinlock) held, but the underlying configfs_depend_item() sleeps (takes inode rwsem and pins the filesystem). This triggers BUG under CONFIG_DEBUG_ATOMIC_SLEEP. 2) When called from the configfs drop_item callback, it creates a lock order inversion: parent inode_lock -> configfs root inode_lock, which can deadlock against subsystem unregistration paths taking root -> parent. 3) If pinning fails partway through o2hb_region_inc_user(), the o2hb_dependent_users counter is leaked and partially-pinned regions are never released, leaving heartbeat regions unprotected on subsequent mounts. Patch 1 reworks o2hb_region_pin() to drop o2hb_live_lock across each sleeping configfs_depend_item() call, using a config_item reference to keep the region alive while unlocked. Patch 2 adds a from_callback parameter to select configfs_depend_item_unlocked() when called from configfs context, avoiding the inode_lock nesting. Patch 3 fixes the error path in o2hb_region_inc_user() to unpin and decrement the counter on failure. This patch (of 3): o2hb_region_pin() is always called with the o2hb_live_lock spinlock held (from o2hb_region_inc_user() and o2hb_heartbeat_group_drop_item()), but it calls o2nm_depend_item() -> configfs_depend_item(), which sleeps: it pins the configfs filesystem and takes the configfs root inode rwsem. Under CONFIG_DEBUG_ATOMIC_SLEEP this triggers: BUG: sleeping function called from invalid context at kernel/locking/rwsem.c in_atomic(): 1, ... name: mount.ocfs2 down_write configfs_depend_item o2hb_region_pin o2hb_region_inc_user o2hb_register_callback dlm_register_domain_handlers ... ocfs2_dlm_init ocfs2_mount_volume ocfs2_fill_super Rework o2hb_region_pin() to pin one region at a time with the lock dropped across the sleeping call: under o2hb_live_lock find the next eligible region and take a config_item reference to keep it alive, drop the lock, call o2nm_depend_item(), then retake the lock and record the pin. The config_item_put() is done with the lock released as well, since o2hb_region_release() also acquires o2hb_live_lock and can sleep. The region list may change while unlocked, so the scan restarts from the top after each pin. Local heartbeat still pins only the matching region; global heartbeat pins all eligible regions. The unpin path is unaffected: configfs_undepend_item() only takes a spinlock and does not sleep.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: validate lengths in dlm_mig_lockres_handler A node receiving a DLM_MIG_LOCKRES message trusts several fields of the peer-supplied dlm_migratable_lockres without validation. num_locks and lockname_len are bounded only on the sending side, and the message is never checked to actually carry num_locks migratable_lock entries. As a result dlm_process_recovery_data() walks mres->ml[0..num_locks) past the kmalloc(data_len) copy of the message (an out-of-bounds read that ends in a BUG_ON panic), and dlm_init_lockres() copies lockname_len bytes into the fixed 32-byte o2dlm_lockname slab object (a heap out-of-bounds write). Both are reachable by any node in the domain. Validate these fields right after dlm_grab(), before anything uses them -- including the not-joined error path, which already prints mres->lockname with the unbounded lockname_len as a %.*s precision. Reject the message unless lockname_len <= DLM_LOCKID_NAME_MAX, num_locks <= DLM_MAX_MIGRATABLE_LOCKS (the bound the sender already asserts), and the payload is large enough to hold the claimed locks. Conforming recovery and migration messages are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ocfs2: bound namelen in dlm_migrate_request_handler Patch series "ocfs2/dlm: bound peer-controlled lengths in the o2dlm". The o2dlm receive handlers trust u8 length and count fields from the wire without bounding them, so a node in a DLM domain can corrupt or panic any other node with a malformed message. Three defects: - dlm_migrate_request_handler() passes migrate->namelen unchecked to dlm_init_mle(), which memcpy()s it into the 32-byte mname[] of an o2dlm_mle slab object: a heap out-of-bounds write of up to ~215 attacker-controlled bytes. - dlm_mig_lockres_handler() passes mres->lockname_len unchecked to dlm_init_lockres(), which memcpy()s it into the 32-byte o2dlm_lockname slab object: a heap out-of-bounds write of up to ~223 bytes. - the same handler trusts mres->num_locks without checking that the message is large enough to hold that many entries, so dlm_process_recovery_data() walks mres->ml[] past the kmalloc(data_len) copy and trips a BUG_ON (an out-of-bounds read ending in a panic). The other o2dlm receive handlers already reject an oversized name; the migration and recovery handlers have omitted it since the DLM was added (see the Fixes tags). Patch 1 bounds namelen; patch 2 validates lockname_len, num_locks, and the payload size. Conforming recovery and migration traffic is unaffected. o2net authenticates peers only by the DLM domain key, so any node that has joined the domain -- including a compromised or malicious member -- can send these messages. There is no local trigger; the attacker must already be a member of the cluster. Each sink was confirmed under KASAN with an out-of-tree module mirroring it exactly -- a kmem_cache/kmalloc of the real destination size, then the same unclamped memcpy/loop: slab-out-of-bounds Write for the two writes, Read for the recovery walk, and a panic. A userspace AddressSanitizer build faults identically under -m32 and -m64. Scrubbed logs are available on request. I reported this privately to security@kernel.org and the ocfs2 maintainers on 2026-06-20; with no response after the standard embargo period I am posting the fix publicly. I have no embargo requirement. This patch (of 2): A node receiving a DLM_MIGRATE_REQUEST message trusts the peer-supplied name length (migrate->namelen) without bounding it. dlm_init_mle() then copies that many bytes into the fixed DLM_LOCKID_NAME_MAX-byte mname[] array of an o2dlm_mle slab object, so a malformed message from a cluster peer overflows the slab object by up to ~215 bytes: a heap out-of-bounds write of attacker-controlled data, reachable by any node in the domain. Reject an oversized name, the way dlm_master_request_handler() and the other o2dlm receive handlers already do; the migration handler omits the check entirely. Conforming messages are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: as3722_get_regulator_dt_data: fix premature of_node_put leaving dangling of_node pointer In as3722_get_regulator_dt_data(), of_get_child_by_name() acquires a reference on np, which is then assigned to pdev->dev.of_node. The function immediately calls of_node_put(np), releasing the reference and leaving pdev->dev.of_node as a dangling pointer. Remove the of_node_put(np) call to let the device hold the reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: remoteproc: scp: Fix device reference leak on failed lookup Make sure to drop the reference taken to the SCP device when attempting to look up its driver data before the driver has been bound. Note that holding a reference to a device does not prevent its driver data from going away.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath6kl: clamp assoc request/response lengths before subtracting IE offsets ath6kl_cfg80211_connect_event() subtracts fixed IE offsets from assoc_req_len (-= 4) and assoc_resp_len (-= 6), both u8, with no lower bound. The aggregate check recently added to ath6kl_wmi_connect_event_rx() bounds the declared lengths from above (their sum must fit the received event), but an assoc request/response shorter than its fixed offset still underflows here: the u8 wraps to ~250, and cfg80211_connect_result() / cfg80211_roamed() then treat that wrapped value as the IE length and copy that many bytes out of the small assoc_info buffer to user space via nl80211, disclosing adjacent slab memory. Clamp both lengths to their offsets before subtracting. Found by 0sec (https://0sec.ai) using automated source analysis; the missing lower bound is evident from source. Compile-tested.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: SUNRPC: Reject short RFC 4121 MIC tokens in gss_krb5_verify_mic_v2 gss_krb5_verify_mic_v2() reads the token ID at ptr[0..1], the flags byte at ptr[2], and padding at ptr[3..7], then passes ptr + GSS_KRB5_TOK_HDR_LEN and cksum_len to gss_krb5_mic_build_sg(). None of these accesses check read_token->len first. The minimum safe token size is GSS_KRB5_TOK_HDR_LEN (16) plus ctx->krb5e->cksum_len (12-24, depending on the enctype). All callers accept shorter tokens from the wire: - gss_unwrap_resp_integ() enforces only an upper bound (offset + len <= rcv_buf->len) before allocating mic.data = kmalloc(len) and passing it to gss_verify_mic(). A malicious NFS server can therefore supply a short checksum opaque, producing a small slab allocation that the Kerberos MIC verifier reads past. - gss_validate() enforces only len <= RPC_MAX_AUTH_SIZE (400) before passing the wire-supplied length to gss_validate_seqno_mic(), which constructs a mic xdr_netobj and calls gss_verify_mic(). - svcauth_gss_verify_header() enforces only checksum.len >= XDR_UNIT (4 bytes) before dispatching to gss_verify_mic(). - svcauth_gss_unwrap_integ() checks only that the checksum fits in gsd->gsd_scratch. Add a length guard at the top of gss_krb5_verify_mic_v2(), before any ptr[] access or scatterlist construction. Well-formed MIC tokens from gss_krb5_get_mic_v2() already have exactly GSS_KRB5_TOK_HDR_LEN + cksum_len bytes, so valid traffic is unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nouveau/gem: reserve the bo in the info ioctl around the vma lookup In the non-uvmm path, there could be a race between the info lookup finding the vma, and the gem close path closing the vma leading to a use-after-free. Spotted with the help of Opus 4.6.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: landlock: Require LANDLOCK_ACCESS_FS_MAKE_REG for whiteout creation Whiteout objects are used in the upper layer of an OverlayFS to indicate that the file with this name does not exist in the unified view, even if it is present in one of the lower layer file systems. For the userspace implementations of OverlayFS (fuse-overlayfs), whiteout objects can be created from userspace as well: * mknod(2) with S_IFCHR and makedev(0, 0) * renameat2(2) with RENAME_WHITEOUT, creating the whiteout in the old place of the moved file. This commit guards whiteout creation in both of these cases with LANDLOCK_ACCESS_FS_MAKE_REG. Whiteout objects are *not* considered character devices and are not bound to a driver. LANDLOCK_ACCESS_FS_MAKE_REG describes the same permission class as a whiteout object: creating one is the only S_IFCHR creation that the VFS exempts from CAP_MKNOD, so it is as unprivileged as creating a regular file, while LANDLOCK_ACCESS_FS_MAKE_CHAR and LANDLOCK_ACCESS_FS_MAKE_BLOCK keep meaning the creation of devices that expose a kernel interface [1]. For the mknod(2) case, introduce a Landlock erratum. The creation of whiteout objects through mknod(2) was previously guarded using LANDLOCK_ACCESS_FS_MAKE_CHAR, and it is now guarded using LANDLOCK_ACCESS_FS_MAKE_REG. For the renameat2(2) case, fix a bug: Before this commit, renameat2(2) with RENAME_WHITEOUT would create a directory entry even when all LANDLOCK_ACCESS_FS_MAKE_* rights were denied. This does not affect normal renames within layered OverlayFS mounts: When doing a regular rename() on a mounted fuse-overlayfs, it is the fuse-overlayfs daemon that exercises renameat2() with RENAME_WHITEOUT, and only the Landlock domain of that daemon is checked there. Depends-on: 49c9e09d9610 ("landlock: Fix handling of disconnected directories") Depends-on: fe72ce6710cb ("landlock: Add errata documentation section") [mic: Record why LANDLOCK_ACCESS_FS_MAKE_REG is the matching right, and add link(2) to the user doc]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ip6_gre: fix hardware header length for NBMA tunnels ip6gre_tnl_link_config_route() accumulates the lower device's hardware header length into dev->hard_header_len whenever header_ops is set. This is incorrect for both users of header_ops. ip6gretap and ip6erspan have a fixed Ethernet hardware header length. For an NBMA ip6gre tunnel, ip6gre_header() creates only the GRE header, the optional FOU or GUE header, and the outer IPv6 header. The lower device header is headroom needed later, not part of the tunnel device's hardware header. Keep the lower device header in needed_headroom. Set hard_header_len to the tunnel header length only for ARPHRD_IP6GRE devices with header_ops, and leave the fixed Ethernet header length unchanged for tap and erspan devices.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: eir: Fix OOB read in eir_get_service_data() eir_get_service_data() walks the advertising data for a Service Data field with a matching UUID. On a mismatch it advances: eir += dlen; eir_len -= dlen; eir_get_data() reports dlen as the field's data length, but the field spans dlen + 2 bytes once its length and type bytes count, and more when non-Service-Data fields were skipped to reach it. The pointer lands correctly on the next field. eir_len does not, and the shortfall compounds across fields until eir_get_data() reads the length and type bytes of a "field" past the end of the buffer. For an ISO broadcast sink that buffer is hcon->le_per_adv_data[], filled from the periodic advertising reports of a remote broadcaster. A PA payload packed with mismatching Service Data fields walks off the array into the rest of struct hci_conn. A drifted field that matches the BAA UUID puts those bytes in iso_pi(sk)->base, where user space reads them back with getsockopt(BT_ISO_BASE). Recompute eir_len from the end of the buffer each iteration.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: pfr_update: fix stack buffer overflow in query_capability() query_capability() copies four ACPI buffer objects returned by the firmware _DSM into fixed-size u8[16] fields in struct pfru_update_cap_info using memcpy with the firmware-supplied length: memcpy(&cap_hdr->code_type, elements[CAP_CODE_TYPE_IDX].buffer.pointer, elements[CAP_CODE_TYPE_IDX].buffer.length); The same pattern repeats for drv_type, platform_id, and oem_id. If the firmware returns buffer.length > 16 for any of these fields, memcpy writes past the destination array. struct pfru_update_cap_info is stack-allocated in pfru_ioctl(). Confirmed with KASAN on 7.2-rc6: three stack-out-of-bounds reports are generated when a DSM returns 64-byte buffers, with writes reaching 44 bytes past the end of cap_hdr's [64, 156) frame window into adjacent stack redzones. Introduce a helper pointer to out_obj->package.elements and use it to validate each buffer length against its destination field size before copying, returning -EINVAL if the firmware supplies an oversized buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fsnotify: Fix stale object mask after concurrent mark updates When a mark gets a new event bit, fanotify and inotify may avoid recalculating the object mask if the cached aggregate already contains that bit. This is racy with a recalculation triggered by a concurrent update to another mark on the same connector. The concurrent scan can read the mark before the new bit is added, while the updater reads the old aggregate before that scan publishes its result. The updater then skips recalculation and the scan publishes a mask without the bit, leaving the object mask stale after both updates complete. This can be reproduced with two fanotify groups watching the same inode: one thread removes FAN_MODIFY from one existing mark while another thread adds FAN_MODIFY to the other mark. After both fanotify_mark() calls return, writes can fail to produce FAN_MODIFY for the group whose mark now contains the bit. This was reproduced on an unmodified v6.12.95 kernel. The equivalent inotify interleaving loses IN_MODIFY events. For normal fanotify additions, recalculate whenever the raw mark mask changes. The normal mask is not cleared asynchronously, so an unchanged addition cannot introduce missing interest. Always recalculate ignore-mask updates because FS_MODIFY handling may clear the ignore mask without taking mark->lock, making snapshot comparisons unreliable. Always recalculate after updating an existing inotify watch. Its replace path temporarily sets mark->mask to zero, so a concurrent scan can observe zero even when the old and final masks are equal. Assigning the replacement mask directly would avoid the transient zero, but existing-watch updates are infrequent, so unconditional recalculation is simpler.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: uvesafb: unregister connector callback on init failure uvesafb_init() registers the v86d connector callback before registering the platform driver. If platform_driver_register() fails, the function returns the error directly and leaves the connector callback registered. The later platform-device failure path already unregisters the callback. Add the same cleanup before the final return when platform-driver registration fails. This issue was identified during our ongoing static-analysis research while reviewing kernel code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: ssd1307fb: defer I2C transfers from damage callbacks The fbdev damage callbacks may run from fbcon while printk has disabled preemption. They currently update the display synchronously, which enters the sleeping I2C transfer path from atomic context. A complete report from an RK3566 system follows: [ 258.129004] watchdog: watchdog0: watchdog did not stop! [ 258.129067] BUG: scheduling while atomic: systemd/1/0x00000003 [ 258.129076] Modules linked in: algif_hash algif_skcipher af_alg bnep binfmt_misc lz4hc lz4 zram snd_soc_hdmi_codec brcmfmac_wcc hci_uart fb_ssd1306(C) fbtft(C) btqca btrtl btintel btsdio snd_soc_simple_card motorcomm pwm_fan snd_soc_simple_card_utils ssd130x_spi nls_iso8859_1 ssd130x btbcm drm_shmem_helper display_connector brcmfmac ssd1307fb brcmutil bluetooth cfg80211 rfkill snd_soc_rockchip_i2s_tdm snd_soc_rk817 hantro_vpu snd_soc_core snd_compress snd_pcm_dmaengine v4l2_vp9 snd_pcm v4l2_h264 rockchip_rga snd_timer rk_crypto2 spi_rockchip_sfc videobuf2_dma_contig snd sm3_generic v4l2_mem2mem videobuf2_dma_sg dwmac_rk sm3 soundcore videobuf2_memops videobuf2_v4l2 stmmac_platform dw_hdmi_cec videodev videobuf2_common dw_hdmi_i2s_audio stmmac rk817_charger pcs_xpcs mc cpufreq_dt sch_fq_codel ip_tables x_tables autofs4 [ 258.129215] Preemption disabled at: [ 258.129216] [<ffff80008012f96c>] vprintk_emit+0x11c/0x340 [ 258.129234] CPU: 0 PID: 1 Comm: systemd Tainted: G C 6.6.0-rc5-rockchip-rk356x #4 [ 258.129239] Hardware name: Rockchip RK3566 OPi 3B (DT) [ 258.129243] Call trace: [ 258.129245] dump_backtrace+0xa0/0x128 [ 258.129252] show_stack+0x20/0x38 [ 258.129256] dump_stack_lvl+0x60/0xb0 [ 258.129265] dump_stack+0x18/0x28 [ 258.129269] __schedule_bug+0xa0/0xc8 [ 258.129274] __schedule+0x9ac/0xd30 [ 258.129279] schedule+0x60/0x100 [ 258.129282] schedule_timeout+0x194/0x338 [ 258.129289] rk3x_i2c_xfer_common.isra.0+0x384/0x498 [ 258.129296] rk3x_i2c_xfer+0x20/0x60 [ 258.129300] __i2c_transfer+0x194/0x648 [ 258.129308] i2c_transfer+0x9c/0x130 [ 258.129313] i2c_transfer_buffer_flags+0x64/0x98 [ 258.129318] ssd1307fb_update_rect+0x42c/0x560 [ssd1307fb] [ 258.129334] ssd1307fb_defio_imageblit+0x34/0x50 [ssd1307fb] [ 258.129343] soft_cursor+0x13c/0x210 [ 258.129350] bit_cursor+0x2dc/0x550 [ 258.129354] fbcon_cursor+0xec/0x108 [ 258.129359] hide_cursor+0x44/0xc8 [ 258.129365] vt_console_print+0x398/0x3b0 [ 258.129370] console_flush_all.isra.0+0x17c/0x410 [ 258.129377] console_unlock+0x4c/0x100 [ 258.129382] vprintk_emit+0x1c8/0x340 [ 258.129386] vprintk_default+0x40/0x58 [ 258.129389] vprintk+0xb8/0xd0 [ 258.129392] _printk+0x68/0x98 [ 258.129398] watchdog_release+0x170/0x230 [ 258.129404] __fput+0xbc/0x288 [ 258.129409] __fput_sync+0x58/0x70 [ 258.129413] __arm64_sys_close+0x40/0x90 [ 258.129419] invoke_syscall+0x4c/0x118 [ 258.129426] el0_svc_common.constprop.0+0x48/0xf0 [ 258.129432] do_el0_svc+0x24/0x38 [ 258.129437] el0_svc+0x48/0x100 [ 258.129443] el0t_64_sync_handler+0xc0/0xc8 [ 258.129448] el0t_64_sync+0x190/0x198 [ 258.573087] ------------[ cut here ]------------ [ 258.573098] DEBUG_LOCKS_WARN_ON(val > preempt_count()) [ 258.573111] WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:5871 preempt_count_sub+0x9c/0x148 [ 258.573130] Modules linked in: algif_hash algif_skcipher af_alg bnep binfmt_misc lz4hc lz4 zram snd_soc_hdmi_codec brcmfmac_wcc hci_uart fb_ssd1306(C) fbtft(C) btqca btrtl btintel btsdio snd_soc_simple_card motorcomm pwm_fan snd_soc_simple_card_utils ssd130x_spi nls_iso8859_1 ssd130x btbcm drm_shmem_helper display_connector brcmfmac ssd1307fb brcmutil bluetooth cfg80211 rfkill snd_soc_rockchip_i2s_tdm snd_soc_rk817 hantro_vpu snd_soc_core snd_compress snd_pcm_dmaengine v4l2_vp ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: omapfb: panel-dsi-cm: initialize lock before registering display dsicm_probe() registers the display before initializing ddata->lock. Once omapdss_register_display() publishes the display, another consumer can reach a dsicm callback that takes this mutex while it is still uninitialized. Initialize the mutex before registering the display so the published callbacks always see a valid lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ecryptfs: pass packet set buffer size to parser ecryptfs_parse_packet_set() receives a pointer into the file header, but it calculates the remaining packet buffer size from PAGE_SIZE - 8. For version 1 headers the packet set starts later in the header, so this can overstate the available buffer. Pass the actual packet set buffer length from the caller and calculate per-packet limits from the remaining bytes in that buffer. Recompute the remaining length after consuming a tag 3 packet before parsing the following tag 11 packet.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: mcp2221: validate report size in mcp2221_raw_event() mcp2221_raw_event() never validates the size of incoming HID reports. In the MCP2221_I2C_GET_DATA path it trusts the device-supplied data[3] as the copy length without checking that 4 + data[3] bytes actually exist in the received report. A malicious or misbehaving USB device can send a short report with a large data[3], causing the memcpy to read past the valid report data in the HID transfer buffer and leak uninitialized kernel memory back to userspace through the I2C/SMBus read path. Add a minimum size check at entry and validate that the source range fits within the received report before the copy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: mcp2221: clear rxbuf after I2C/SMBus transfer completes mcp_i2c_smbus_read() stores the caller-supplied buffer pointer in mcp->rxbuf for the duration of a transfer but never clears it when the transfer finishes or times out. Once the caller frees or reuses the buffer, mcp->rxbuf becomes a dangling pointer. A delayed or spurious MCP2221_I2C_GET_DATA report can then drive mcp2221_raw_event() to memcpy device data into the freed memory, causing a write use-after-free. Route all return paths through a single exit point that clears mcp->rxbuf and mcp->rxbuf_size, so that the existing !mcp->rxbuf guard in the raw_event handler can reject any report arriving after the transfer has ended.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: mcp2221: stop device IO before hid_hw_stop Quiesce device IO at the start of the devm cleanup callback mcp2221_hid_unregister() so that incoming HID reports cannot race with hardware teardown during probe failure or device removal, addressing a potential use-after-free. Guard the call to hid_device_io_stop() with io_started. On normal removal hid_device_remove() has already cleared io_started before the devres group is released, so an unconditional call would otherwise hit the !io_started path and emit a spurious "io already stopped" warning on every removal. The guard preserves the probe-failure balancing, where io_started is still set after hid_device_io_start(), while staying silent on the normal removal path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: sensor: custom: Fix field sysfs group cleanup on failure hid_sensor_custom_add_attributes() creates one sysfs group for each custom sensor field. If sysfs_create_group() fails after some groups have already been created, the function returns the error without removing the previously created groups. Add a local unwind path to remove the groups that were already created. With enable_sensor exposed only after the field attributes are ready, this path can free sensor_inst->fields without leaving enable_sensor able to access pointers into that array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: roccat: free buffered reports when destroying device roccat_report_event() duplicates each report with kmemdup() and stores the allocation in a circular-buffer slot. The allocation is released only when that slot is reused. The device destruction paths free struct roccat_device without releasing reports still stored in cbuf[]. This makes those allocations unreachable and leaks up to ROCCAT_CBUF_SIZE report buffers per device. Add a small destructor that frees every buffered report before freeing the device, and use it in both paths that can destroy a registered device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: picolcd: clamp eeprom debugfs read to bytes actually received picolcd_debug_eeprom_read() trusts resp->raw_data[2] -- a length byte supplied by the device in its REPORT_EE_DATA reply -- clamped only to the caller's read() count: ret = resp->raw_data[2]; if (ret > s) ret = s; if (copy_to_user(u, resp->raw_data+3, ret)) It never checks resp->raw_size, the number of bytes picolcd_raw_event() actually copied into the 64-byte raw_data[] of the kmalloc'd struct picolcd_pending. A device (or a spoofed picoLCD) returning a length byte of 0xff, read with a count >= 255, makes copy_to_user() read past raw_data[] into adjacent slab memory and return it to userspace through the debugfs "eeprom" file: BUG: KASAN: slab-out-of-bounds in _copy_to_user Read of size 255 ... picolcd_debug_eeprom_read+0x214/0x2f0 [hid_picolcd] The debug-dump path in the same file already validates the device length byte against the received size before trusting it; this read does not. The file is created S_IRUSR (root-only) and a crafted device is needed, so it is neither unprivileged- nor remotely-triggerable. Clamp the copy length to resp->raw_size - 3 (the payload actually received, minus the 3-byte header), floored at 0 for short replies.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix UAF and buffer leak in cifs_check_trans2() for malformed secondary T2 When a valid primary TRANSACT2 response has been received (mid->resp_buf set, mid->multiRsp true) and a subsequent secondary response causes cifs_check_trans2() to return false -- either because the SMB header is invalid (malformed != 0) or because check2ndT2() rejects the PDU -- handle_mid() overwrites mid->resp_buf with the new buffer (leaking the primary buffer) and, because mid->multiRsp is set, skips the server->smallbuf/bigbuf NULL-out. When the user thread frees mid->resp_buf, server->smallbuf or server->bigbuf is left dangling; the demux thread reuses it for the next packet, resulting in a use-after-free. Combine both early-exit conditions and, when mid->multiRsp is already set, abort the pending transaction inline: set multiEnd, call dequeue_mid() with malformed=true, and return true so handle_mid() exits without touching mid->resp_buf or the server buffer pointers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ceph: bound xattr value length in __build_xattrs() __build_xattrs() decodes the MDS-supplied xattr blob one attribute at a time. For each attribute it reads a 32-bit name length, advances past the name bytes, reads a 32-bit value length, records the value pointer, and advances past the value bytes. The two length fields are read with ceph_decode_32_safe(), but the value bytes themselves are advanced over with a bare "p += len" and no ceph_decode_need() check that "len" bytes remain in the blob. For every attribute except the last, the next iteration's ceph_decode_32_safe() on the following name length implicitly verifies that the previous value did not run past the blob end. The final attribute has no successor, so its decoded value length is never checked against the blob bounds. A malicious or compromised metadata server can set the last attribute's value length larger than the bytes actually present in the blob. The blob is a dedicated kvmalloc() allocation sized to the wire length (ceph_buffer_new() in ceph_fill_inode()). __set_xattr() records the oversized length in xattr->val_len verbatim, and a later getxattr(2) runs memcpy(value, xattr->val, xattr->val_len) into a user-supplied buffer, copying bytes past the end of the allocation back to user space. Impact: a malicious metadata server discloses adjacent kernel heap bytes to a local user via getxattr(2) on a CephFS file. Add the missing ceph_decode_need() so an out-of-bounds value length on the final attribute fails the decode and returns -EIO instead of being stored.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ceph: fix UAF in check_new_map() on session freed during unlock check_new_map() iterates mdsc->sessions[] and for each active session drops mdsc->mutex to perform per-session operations. The forced-close path (rank removed from map) correctly takes a reference on s via ceph_get_mds_session() before releasing mdsc->mutex, but three other paths do not: Path A (address changed): mutex_unlock -> mutex_lock(&s->s_mutex) Path B (reconnect): mutex_unlock -> send_mds_reconnect(mdsc, s) Path C (active transition): mutex_unlock -> mutex_lock(&s->s_mutex) Without the extra reference, another thread can acquire mdsc->mutex during the unlock window, call __unregister_session() which drops the last reference on s, and free it. The original thread then accesses freed memory via s->s_mutex. Fix by adding ceph_get_mds_session(s) before each mutex_unlock and ceph_put_mds_session(s) after the corresponding mutex_lock, matching the pattern already used in the forced-close path. Race timeline (Path A): Thread A (check_new_map) Thread B (another map update holds mdsc->mutex or session teardown) -------------------------- -------------------------- s = mdsc->sessions[i] (refcount == 1, held only by sessions[] array) mutex_unlock(&mdsc->mutex) ---> acquires mdsc->mutex __unregister_session(mdsc, s) sessions[i] = NULL ceph_put_mds_session(s) refcount: 1 -> 0 kfree(s) <--- freed! mutex_lock(&s->s_mutex) UAF on freed s->s_mutex


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ceph: fix UAF in __kick_flushing_caps() on cf entry freed during unlock list_for_each_entry() iterates ci->i_cap_flush_list but drops i_ceph_lock to send cap messages. During the unlock window, handle_cap_flush_ack() can acquire i_ceph_lock, detach cf entries with tid <= flush_tid from the list, release i_ceph_lock, and free them via ceph_free_cap_flush() outside any lock. When the original thread reacquires i_ceph_lock and the for-loop macro advances via cf = list_next_entry(cf, i_list), it dereferences cf->i_list.next on freed memory. The race timeline: __kick_flushing_caps() handle_cap_flush_ack() ----------------------- ----------------------- holds i_ceph_lock <--- iterates to cf (tid=10) prepares FLUSH message drops i_ceph_lock <--- __send_cap() ── FLUSH(tid=10) MDS sends FLUSH_ACK(tid=10) ---> acquires i_ceph_lock cf->tid(10) <= flush_tid(10), detaches cf from i_cap_flush_list drops i_ceph_lock ceph_free_cap_flush(cf) <- frees it! acquires i_ceph_lock <--- for-loop advances: cf = list_next_entry(cf, i_list) -- UAF on freed cf->i_list.next The cf was just sent by __kick_flushing_caps itself via __send_cap(). The MDS may respond with FLUSH_ACK quickly enough that handle_cap_flush_ack() frees cf before __kick_flushing_caps can finish the iteration. Fix by converting to a manual while loop: save the next pointer under i_ceph_lock before dropping it, then use the saved pointer after reacquiring, so the potentially-freed cf is never accessed again.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: libceph: reject buckets with mismatched CRUSH ids crush_decode() stores bucket data by array slot, and the mapper later derives the per-bucket workspace index from the decoded bucket id. A malformed map can therefore make one bucket reuse another bucket's workspace by encoding an id different from -1 - slot. For uniform buckets, the second replica selection expands the source bucket's permutation into that aliased workspace buffer. If the source bucket is larger than the aliased bucket, the write runs past the smaller permutation array and can escape the kvmalloc'd CRUSH workspace. KASAN reports a slab OOB write of 4 bytes in bucket_perm_choose(). Reject buckets whose encoded id does not match their array slot. Valid CRUSH maps already use the canonical negative id corresponding to the bucket slot, so this restores the invariant expected by work->work[-1 - in->id] without changing valid map behavior.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: libceph: validate OSD extent maps before cursor advance net/ceph/osd_client.c:osd_sparse_read() validates that the sparse-read data length matches the summed extent lengths, but it does not validate that each OSD-supplied extent is monotonic and lies inside the original request range. A malformed authenticated OSD reply can advertise a far-forward nonzero extent offset with a matching data length and make the client advance the message-data cursor beyond the request buffer. This reaches the BUG_ON(!*length) assertion in ceph_msg_data_next() from the client receive path. Impact: A malicious or compromised authenticated Ceph OSD peer can crash a kernel Ceph client via a malformed sparse-read reply. Reject sparse extent maps that overflow, move backwards, overlap, or extend outside the original sparse-read request before advancing the cursor. [ idryomov: perform sparse_extent_map_valid() check a bit earlier, in CEPH_SPARSE_READ_DATA_LEN instead of CEPH_SPARSE_READ_DATA_PRE state ]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: initialize copy-notify stateid before publishing it nfsd4_copy_notify() finished initializing the cpntf state after nfs4_alloc_init_cpntf_state() had already linked it into the s2s_cp_stateids IDR and the parent's sc_cp_list, with cs_count == 1 (the membership reference) and none held for the caller. A racing OFFLOAD_CANCEL (crafted cl_id == nn->s2s_cp_cl_id plus the guessable so_id) could reach manage_cpntf_state() and free the entry, turning the caller's subsequent cpn_cnr_stateid read and cp_p_stateid/cp_p_clid writes into use-after-free. The owning clientid was also only recorded after publication, so it could not gate an ownership check in that window. Record cp_p_stateid and cp_p_clid inside nfs4_alloc_init_cpntf_state() before nfs4_init_cp_state() publishes the entry, and return it with an extra reference. The caller reads the stateid under that reference and drops it with nfs4_put_cpntf_state(); on a late error the laundromat reaps the entry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: fix cpntf publish race in nfs4_init_cp_state nfs4_alloc_init_cpntf_state() published the new cpntf entry into the s2s_cp_stateids IDR (with cs_type set) in one s2s_cp_lock section, then took the lock again to list_add() it onto p_stid->sc_cp_list. In the gap the entry is reachable by so_id but cp_list is still {NULL,NULL} from kzalloc. A racing OFFLOAD_CANCEL (so_id is echoed to the client as cnr_stateid, so any NFSv4.2 client can drive it) reaches manage_cpntf_state() -> _free_cpntf_state_locked() and does list_del() on the zeroed list_head, oopsing the server. Fold the cs_type assignment and the list_add() into the same critical section as idr_alloc_cyclic(), so a concurrent lookup either misses the entry or sees a fully linked cp_list. INIT_LIST_HEAD() the entry after allocation and switch _free_cpntf_state_locked() to list_del_init() so a stale unlink is a no-op. nfs4_init_copy_state() passes NULL p_stid and skips the list_add, preserving NFS4_COPY_STID semantics.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfsd: Reset write verifier when async COPY writeback fails Async COPY captures nn->writeverf at request time and reports it to the client via CB_OFFLOAD after the worker kthread completes. When the post-copy vfs_fsync_range() or filemap_check_wb_err() in _nfsd_copy_file_range() reports an error, the worker correctly leaves NFSD4_COPY_F_COMMITTED clear so that CB_OFFLOAD encodes wr_stable_how as NFS_UNSTABLE, but the server's write verifier is not rotated. A client that receives NFS_UNSTABLE in CB_OFFLOAD follows up with COMMIT to make the copied data durable. With the verifier unchanged, COMMIT returns the same value the client just received via CB_OFFLOAD, and the client concludes the copy is durable -- silently dropping the data whose writeback in fact failed. This violates the UNSTABLE+COMMIT durability contract (RFC 7862 section 15.1, RFC 8881 section 18.32) and matches the bug just fixed in nfsd_vfs_write() and nfsd_commit(). Rotate nn->writeverf at the writeback-failure site. The async COPY worker has no svc_rqst, so commit_reset_write_verifier() is not available here; calling nfsd_reset_write_verifier() directly mirrors the trace-less reset already used by nfsd_file_check_write_error() for the same purpose. Filter out -EAGAIN and -ESTALE, matching commit_reset_write_verifier(), since neither indicates a durable-storage failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: vicodec: fix out-of-bounds write in FWHT encoder vidioc_s_fmt_vid_out() sizes the encoder CAPTURE buffer from the compressed descriptor pixfmt_fwht, whose sizeimage_mult is 3: coded_w * coded_h * 3 + sizeof(struct fwht_cframe_hdr). fwht_encode_frame() encodes one plane per component, and an incompressible plane takes the FWHT_FRAME_UNENCODED path in encode_plane(), copying the plane verbatim. For a 4-component pixel format all four planes are full resolution (width_div == height_div == 1), so a frame that forces every plane through the unencoded fallback writes sizeof(struct fwht_cframe_hdr) + 4 * coded_w * coded_h bytes, overrunning the plane by coded_w * coded_h, which can result in corruption of adjacent kernel heap memory. Bump pixfmt_fwht.sizeimage_mult from 3 to 4, matching the largest components_num among the supported raw formats, so the capture buffer is always large enough for the unencoded fallback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cec: stm32: prevent out-of-bounds write on RX overflow stm32_rx_done() appends each received CEC byte to rx_msg.msg[] using rx_msg.len as the write index, incrementing it on every RXBR (receive-byte-ready) interrupt without checking it against the buffer size: cec->rx_msg.msg[cec->rx_msg.len++] = val & 0xFF; rx_msg.msg[] is a fixed CEC_MAX_MSG_SIZE (16) byte array in struct cec_msg, and rx_msg.len is only reset on RXACKE/RXOVR or after a completed message (RXEND). The number of bytes received before RXEND is decided by the remote CEC device (it sets EOM), not by the driver. A peer that keeps sending bytes without ending the message drives RXBR repeatedly, pushing rx_msg.len past 16 and writing peer-controlled bytes out of bounds into the surrounding memory. This is reachable in normal operation once the driver has probed and receiving is enabled, from the IRQ thread, without any local privilege. The length check in the CEC core runs on the consumer side, after the byte has been stored, so it does not prevent the overflow. Bound the index in the driver before the store, as the other platform CEC drivers already do (e.g. tegra_cec), dropping the excess bytes of an overlong frame. Found by static analysis tool CodeQL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen() Patch series "lib/ucs2_string.c: fix out-of-bounds read in ucs2_strnlen()", v2. This series fixes an off-by-one out-of-bounds read in ucs2_strnlen(). The first patch is the real fix, the second patch comes as a bonus and fixes the code indentation. This patch (of 2): ucs2_strnlen() checks the current character before checking whether the caller-provided maximum length has been reached. If the input is not NUL-terminated within that bound, the loop can read one ucs2_char_t past the limit. Test the length before dereferencing to prevent an off-by-one out-of-bounds read.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: sensor-hub: Fix out-of-bounds write in sensor_hub_get_feature sensor_hub_get_feature() clamps its return value to the caller's buffer size, but the copy loop still copies field->report_size / 8 bytes for each report value. A malicious HID descriptor can advertise a large feature field size while an IIO caller supplies a small stack buffer, such as a single s32, causing an out-of-bounds write. HID core stores parsed report values in __s32 slots and clamps extracted values to 32 bits. Reject feature fields that require more than one slot per value, guard the total byte count calculation, and clamp each per-value copy to the remaining caller buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fpga: altera-cvp: Avoid out-of-bounds read in trailing byte write The trailing byte path in altera_cvp_send_block() dereferences a u32 pointer even when only 1-3 bytes remain in the input buffer. If the buffer ends at a page or scatterlist boundary, this can read past the valid image data and fault. Copy the remaining bytes into a zero-initialized u32 before writing the final word so only valid bytes are read from the input buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Prevent deadlock during ep0 read loop Currently, ffs_ep0_read() holds ffs->mutex when it prepares to go to sleep waiting for an event. When no setup events are pending, it calls wait_event_interruptible_exclusive_locked_irq() with the mutex still held. The wait macro deliberately drops the waitqueue spinlock before sleeping but does not drop the mutex. If a userspace daemon is polling ep0 via read() and the gadget is asynchronously torn down via configfs (e.g., echo "" > UDC), a deadlock can occur: 1. The configfs teardown calls functionfs_unbind(), which queues a FUNCTIONFS_UNBIND event. 2. The daemon wakes up, consumes the event, and drops the mutex. 3. However, if the daemon loops and immediately issues another read() before exiting, it reacquires ffs->mutex and again goes into an interruptible sleep. 4. Meanwhile, functionfs_unbind() continues execution and attempts to acquire ffs->mutex to tear down ep0req. 5. The kernel deadlocks because the configfs thread is stuck in an uninterruptible sleep waiting for the mutex, while the userspace daemon is in an interruptible sleep holding the mutex forever because no more events will arrive. To fix this, we drop both the waitqueue spinlock and ffs->mutex before going to sleep, and use wait_event_interruptible_exclusive() instead. Upon waking up, we jump back to the `retry` label to safely reacquire the mutex and re-evaluate the state machine. By not sleeping with ffs->mutex held, we natively decouple gadget teardowns (which require the mutex) from userspace polling.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: uvc: fix dangling pointers in uvc_function_bind() and uvc_function_unbind() In uvc_function_bind() error path, we use usb_ep_free_request which uses uvc->control_req but does not set it to NULL afterwards. Thus, uvc->control_req is a dangling pointer causing a UAF. Also we do not set the uvc->control_buf pointer to NULL after freeing it, which is another dangling pointer. Fix it by setting uvc->control_req to NULL after we run usb_ep_free_request() and uvc->control_buf to NULL after kfree. Do the same for uvc_function_unbind().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: u_audio: Fix use-after-free on sound card disconnect g_audio_cleanup() invokes snd_card_free_when_closed() to initiate sound card teardown and immediately frees the underlying struct snd_uac_chip context. However, snd_card_free_when_closed() returns asynchronously while ALSA control elements (kctls) remain open in userspace. When userspace control applications access or close these open file descriptors, kctl callbacks attempt to dereference kctl->private_data pointing to &uac->c_prm or &uac->p_prm within the freed uac structure, resulting in a use-after-free (UAF) memory corruption. Fix this issue by deferring the destruction of struct snd_uac_chip until all references to the ALSA sound card are released. Register a custom card->private_free callback (u_audio_card_free) during g_audio_setup() that frees uac and its associated playback/capture request and ring buffers only when the sound card reference count drops to zero.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: gadget: Fix use-after-free in dwc3_gadget_free_endpoints due to race condition In dwc3_gadget_init_endpoint, &dep->nostream_work is bound with dwc3_nostream_work, and dwc3_gadget_endpoint_stream_event can queue this delayed work on system_percpu_wq when a DEPEVT_STREAM_NOSTREAM event is received. If we remove the gadget, dwc3_gadget_free_endpoints makes cleanup and the memory allocated for dep with kzalloc() is released by kfree(dep), while the delayed work mentioned above may still be pending or running. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | dwc3_thread_interrupt | dwc3_endpoint_interrupt | dwc3_gadget_endpoint_stream_event | queue_delayed_work(system_percpu_wq, | &dep->nostream_work) dwc3_gadget_free_endpoints | dwc3_free_trb_pool(dep) | list_del(&dep->endpoint.ep_list) | dwc3_debugfs_remove_endpoint_dir(dep) | kfree(dep) | // dep is freed | | dwc3_nostream_work | // use dep (use-after-free) Fix it by canceling the delayed work before kfree(dep) in dwc3_gadget_free_endpoints.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Revert "media: v4l2-dev: fix error handling in __video_register_device()" This reverts commit 2a934fdb01db6458288fc9386d3d8ceba6dd551a. The intentions of that patch were good, but it doesn't work. The idea is that if device_register fails, you have to do a put_device to let the ref counter release resources. However, the V4L2 API says that if video_register_device() fails, then you have to call video_device_release(), which kfree()s the video_device struct. But the put_device() will already have freed the struct, so you end up in a double-free scenario. There is not really a good way of fixing this without breaking video_register_device() into two parts, one that initializes everything, and one that does the actual device_register, and then converting all V4L2 drivers to this new model. That is a massive job, and it is very unlikely that device_register will fail. So rather than ending up in a double-free scenario, just revert this patch, and in that case we'll have a small memory leak. Which is a lot more robust.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rapidio: mport_cdev: fix use-after-free in dma_req_free() dma_req_free() acquires buf_mutex through req->map, drops the mapping reference with kref_put(), and then dereferences req->map again to unlock the mutex. If kref_put() drops the last reference, mport_release_mapping() frees the mapping, and the subsequent mutex_unlock() dereferences a freed object. This is a use-after-free. Fix this by caching map and md before kref_put(), clearing req->map while holding buf_mutex, and using the cached md for mutex unlocking. The bug is reachable from userspace via the RapidIO mport character device interface.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: device property: fix infinite loop in fwnode_for_each_child_node() When iterate over children of a fwnode that has a secondary fwnode, fwnode_get_next_child_node() can enter an infinite loop if the secondary fwnode has more than one child. Parent Child (Primary fwnode) FWa: {FWa1, FWa2, FWa3} (Secondary fwnode) FWb: {FWb1, FWb2} In this case: ─> fwnode_get_next_child_node(FWa, FWa1) | - fwnode_call_ptr_op(FWa, get_next_child_node, FWa1) returns FWa2 | | ... | | fwnode_get_next_child_node(FWa, FWa3) | - fwnode_call_ptr_op(FWa, get_next_child_node, FWa3) returns NULL | - fwnode_call_ptr_op(FWb, get_next_child_node, FWa3) returns FWb1 | | fwnode_get_next_child_node(FWa, FWb1) | - fwnode_call_ptr_op(FWa, get_next_child_node, FWb1) returns FWa1 ────┘ This cause fwnode_for_each_child_node() to loop indefinitely, reapeatedly output {FWa1, FWa2, FWa3, FWb1, FWa1, ...}. The root cause is that when the current child (FWb1) belongs to the secondary fwnode, calling get_next_child_node() on the parimary fwnode incorrectly returns the first child (FWa1) again instead of NULL. Fix this by dynamically checking the parent fwnode of the current child before calling get_next_child_node(). This approach follows the pattern established in commit b5b41ab6b0c1 ("device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()").


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: x86/tdx: Fix off-by-one in port I/O handling handle_in() and handle_out() in arch/x86/coco/tdx/tdx.c use: u64 mask = GENMASK(BITS_PER_BYTE * size, 0); GENMASK(h, l) includes bit h. For size=1 (INB), this produces GENMASK(8, 0) = 0x1FF (9 bits) instead of GENMASK(7, 0) = 0xFF (8 bits). The mask is one bit too wide for all I/O sizes. Fix the mask calculation.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix out-of-bounds write when null terminating a label vec aa_vec_unique() null terminates at vec[n - dups] when VEC_FLAG_TERMINATE is passed. If the components are all distinct no duplicates are dropped, dups is 0 and the terminator goes to vec[n], so the caller has to provide room for n + 1 entries. aa_label_strn_parse() sets up its vector with vec_setup(profile, vec, len, gfp) and then calls aa_vec_unique(vec, len, VEC_FLAG_TERMINATE), but vec_setup() does not reserve the terminator entry. Up to LOCAL_VEC_ENTRIES it uses the local array of LOCAL_VEC_ENTRIES pointers, above that it allocates exactly len pointers. The terminator therefore lands one entry past the end of the local array when len is LOCAL_VEC_ENTRIES, and one entry past the end of the allocation when len is larger. len comes from the number of "//&" separated components in the label name and label_count_strn_entries() does not bound it. An unprivileged task reaches the parse by writing to /proc/self/attr/apparmor/current or through lsm_set_self_attr(2), both of which go through do_setattr(), and the name is parsed before the change_profile permission is checked. The query_label() path behind the securityfs .access file, which is mode 0666, performs no permission check at all. Every component has to resolve to a loaded profile, so a system with policy loaded is required. The other two VEC_FLAG_TERMINATE users work on a label vec that aa_label_alloc() has already sized with "+ 1 for null terminator entry on vec". Reserve the same entry in vec_setup() and DEFINE_VEC(). Passing len + 1 from the caller instead would move len == LOCAL_VEC_ENTRIES out of the local array and into kzalloc().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: SCO: hold sk properly in sco_conn_ready sk deref in sco_conn_ready must be done either under conn->lock, or holding a refcount, to avoid concurrent close. conn->sk and parent sk is currently accessed without either, and without checking parent->sk_state: [Task 1] [Task 2] sco_sock_release sco_conn_ready sk = conn->sk lock_sock(sk) conn->sk = NULL lock_sock(sk) release_sock(sk) sco_sock_kill(sk) UAF on sk deref and similarly for access to sco_get_sock_listen() return value. Fix possible UAF by holding sk refcount in sco_conn_ready() and making sco_get_sock_listen() increase refcount. Also recheck after lock_sock that the socket is still valid. Adjust conn->sk locking so it's protected also by lock_sock() of the associated socket if any.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: fix out-of-bounds read in ext4_read_inline_dir() ext4_read_inline_dir() can read a dirent header past the end of its inline buffer, triggering a slab-out-of-bounds read during getdents64(): BUG: KASAN: slab-out-of-bounds in __ext4_check_dir_entry Read of size 2 at addr ffff88800f3dd23c by task exploit/148 ... __ext4_check_dir_entry ext4_read_inline_dir iterate_dir The dirent payload lives in a buffer of exactly inline_size bytes: dir_buf = kmalloc(inline_size, GFP_NOFS); but iteration runs in a position space extra_offset bytes larger (extra_size = extra_offset + inline_size) so the synthetic "." and ".." land at their block-dir offsets. A dirent is formed at "dir_buf + pos - extra_offset", yet the ext4_check_dir_entry() length argument uses the larger extra_size. A position whose dirent header would extend past extra_size is therefore accepted, and the rescan loop's rec_len probe and ext4_check_dir_entry() dereference de->rec_len before the entry is rejected. Reject a position whose minimum-size dirent header would not fit within extra_size before forming de, in both the rescan and main loops, and pass inline_size rather than extra_size to ext4_check_dir_entry() so the length check matches the physical buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ext4: check dir entry fits before reading the hash trailer in ext4_search_dir() For casefolded encrypted directories ext4 stores an 8-byte hash trailer after the name (EXT4_DIRENT_HASHES()), at an offset derived from de->name_len. On the sb_no_casefold_compat_fallback() path ext4_match() reads that trailer, but ext4_search_dir()'s by-hand pre-check only tests de->name + de->name_len <= dlimit, which proves the name fits, not the rounded trailer. A crafted entry whose name ends at the block boundary passes the check while EXT4_DIRENT_HASHES(de) lands past the block end, so ext4_match() reads out of bounds on an ordinary lookup. KASAN reports it as a use-after-free when the page after the directory block holds a freed object: BUG: KASAN: use-after-free in ext4_match (fs/ext4/namei.c:1435) Read of size 4 at addr ffff888010458000 by task exploit Call Trace: ext4_match (fs/ext4/namei.c:1435) ext4_search_dir (fs/ext4/namei.c:1470) __ext4_find_entry (fs/ext4/namei.c:1268 fs/ext4/namei.c:1632) ext4_lookup (fs/ext4/namei.c:1703 fs/ext4/namei.c:1769) ... filename_lookup (fs/namei.c:2842) vfs_statx (fs/stat.c:353) __do_sys_newfstatat (fs/stat.c:538) do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) Require, for hash-in-dirent directories, that the whole entry including the rounded trailer fits before calling ext4_match(). This is the same bound ext4_check_dir_entry() already enforces via ext4_dir_rec_len(), so no well-formed entry is rejected. The other caller, ext4_find_dest_de(), runs ext4_check_dir_entry() first and is unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/uvmm: clear the dirty flag when unwinding an OP_UNMAP_SPARSE A successful OP_UNMAP_SPARSE marks its region dirty with nouveau_uvma_region_dirty() and defers the teardown to nouveau_uvmm_bind_job_cleanup(); it does not remove the region from uvmm->region_mt. If a later op in the job fails, the unwind path never clears reg->dirty (set in one place, cleared nowhere) and sets op->reg = NULL, so cleanup skips the teardown. The region is left in the tree with dirty set and its completion never signalled. Later binds over that range then fail permanently -- -ENOENT or -EINVAL from the dirty checks, or an unkillable wait_for_completion() in bind_validate_region() -- for the lifetime of the uvmm. Clear reg->dirty when the unwind reverts the sparse unmap, restoring the region to the state it was found in.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/uvmm: fix premature region free on failed OP_UNMAP_SPARSE In nouveau_uvmm_bind_job_submit()'s OP_UNMAP_SPARSE arm, op->reg is set from nouveau_uvma_region_find(), which only looks the region up and takes no reference; a region's sole reference is its membership in uvmm->region_mt. Two failure paths leave op->reg set: the -ENOENT check when the region is busy, and the drm_gpuvm_sm_unmap_ops_create() failure. The sibling nouveau_uvmm_sm_unmap_prepare() failure just below clears op->reg; these two do not. unwind_continue steps back one op, so the failing op is skipped by the unwind loop and its op->reg stays set. nouveau_uvmm_bind_job_cleanup() then enters its if (op->reg) branch and calls nouveau_uvma_region_remove() and nouveau_uvma_region_put() on it, dropping the tree's sole reference and freeing a region this job never created. The comment above the cleanup loop documents the broken invariant: op->reg must be NULL on submit failure. This frees a live region on an unrelated failure, reachable single-job when drm_gpuvm_sm_unmap_ops_create() returns -ENOMEM; if another job owns the same region, its cleanup then removes and puts the freed region, a use-after-free. Clear op->reg on both failure paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/uvmm: fix NULL deref unwinding an OP_MAP_SPARSE op Each bind_job_op is zeroed by kzalloc_obj() in bind_job_op_from_uop(), and the OP_MAP_SPARSE case in nouveau_uvmm_bind_job_submit() only creates a region, so op->ops stays NULL for a successfully processed sparse map. If a later op in the same job fails, the reverse unwind loop revisits that op and calls drm_gpuva_ops_free(&uvmm->base, op->ops) unconditionally. drm_gpuva_ops_free() dereferences its argument right away (list_for_each_entry_safe on &ops->list), so a NULL op->ops oopses. The path is reachable by any render-node fd holder, since NOUVEAU_VM_BIND is DRM_RENDER_ALLOW. Guard the free with IS_ERR_OR_NULL(), as nouveau_uvmm_bind_job_cleanup() already does for the identical free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: unsubscribe the channel-kill event before the fence context nouveau_channel_del() tears the fence context down first and only drops the channel-kill subscription later, in the middle of the nvif object teardown: if (chan->fence) nouveau_fence(chan->cli->drm)->context_del(chan); ... nvif_object_dtor(&chan->vram); nvif_event_dtor(&chan->kill); The subscribed handler is nouveau_channel_killed(), which calls nouveau_channel_kill() and from there nouveau_fence_context_kill() on chan->fence. A kill event delivered in that window takes fctx->lock and walks fctx->pending on a fence context that context_del() has already freed. Nothing reaches this below Fermi today, because the subscription is gated on FERMI_CHANNEL_GPFIFO and nothing kills a channel there. On Fermi and newer the window is real but narrow, since a kill has to land exactly while the channel is being destroyed. That is reason enough on its own, which is why this carries a Fixes: tag. The last patch in this series subscribes Tesla channels as well; nothing kills those today, so it does not widen the exposure now, but it is the groundwork for a recovery path that would, and the ordering is better fixed before that lands than alongside it. Drop the subscription before anything it depends on is torn down.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore Both create_queue_cpsch() and create_queue_nocpsch() unconditionally call mqd_mgr->restore_mqd() when a CRIU restore is in progress (qd != NULL), with no NULL guard. On any system where restore_mqd is not implemented for the given queue type, a user holding CAP_CHECKPOINT_RESTORE can trigger a kernel NULL pointer dereference and panic the machine by issuing KFD_IOC_CRIU_OP_RESTORE with a crafted queue restore object. Note that checkpoint_mqd is likewise unimplemented on GFX12, so no legitimate CRIU image can reach this path - only a hand-crafted restore payload. Add a NULL guard for restore_mqd immediately after mqd_mgr is resolved, unwinding via the existing error labels and returning -EOPNOTSUPP if the callback is not implemented. This mirrors the existing checkpoint_mqd guard in checkpoint_mqd().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used Commit 1c6ceeee6ebb ("drm/atomic: Fix memleak on ERESTARTSYS during non-blocking commits") fixed a very similar issue when the event was allocated by drm_atomic_helper_setup_commit() itself. However, if the event is allocated in prepare_signaling(), it will also be set to NULL in complete_signaling(), which prevents drm_crtc_commit from being put in __drm_atomic_helper_crtc_destroy_state(). Dropping the reference when the event is set to NULL at complete_signaling() fixes the leak. The leak can be reproduced by sending a signal to the thread using DRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic ioctl to block at drm_atomic_helper_wait_for_fences(). It happened both with amdgpu and vkms.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/gud: NUL-terminate TV mode names read from the device gud_connector_add_tv_mode() reads a buffer of fixed-size mode names from the USB device and passes pointers into it to drm_mode_create_tv_properties_legacy(), which calls strlen() on each one. Nothing guarantees the device NUL-terminates a name, so strlen() can run past the end of a slot and, for the last mode, past the end of the allocation. Terminate each name at the end of its slot before use.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/vcn: fix integer overflow in dec_msg buffer count check If the supplied msg[2] (num_buffers) is 0x3FFFFFFF, the expression 6 + num_buffers * 4 wraps to 2 and the bounds check passes, letting the parser loop far past the end of the message BO. Triggering it additionally requires a ~4GiB mapping so that msg[1] survives the earlier "header does not fit in BO" check. Rewrite the test in division form, which is overflow-free by construction. Also update the message to reflect that msg is invalid.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: validate plane degamma LUT size for private color prop Unlike the CRTC degamma path, which is guarded by amdgpu_dm_verify_lut_sizes(), the per-plane degamma LUT size was never validated before use. __set_dm_plane_degamma() passed the user-supplied size straight into __is_lut_linear() and, for a non-linear LUT, into __set_input_tf() -> __drm_lut_to_dc_gamma(), the latter always iterating MAX_COLOR_LUT_ENTRIES entries regardless of the actual LUT size. A malformed AMD_PLANE_DEGAMMA_LUT blob (e.g. a single entry) could thus trigger a divide-by-zero in __is_lut_linear() or an out-of-bounds read in __drm_lut_to_dc_gamma(). Reject any plane degamma LUT whose size does not match MAX_COLOR_LUT_ENTRIES, mirroring the invariant the code already asserts a few lines below (and which the CRTC path enforces). The AMD_PLANE_DEGAMMA_LUT property is only exposed on builds with AMD_PRIVATE_COLOR defined.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: avoid divide-by-zero in __is_lut_linear() __is_lut_linear() computes the expected value of each entry with expected = i * MAX_DRM_LUT_VALUE / (size - 1); If it is ever called with a single-entry LUT, size - 1 is zero and the kernel takes a divide error (#DE). A LUT with fewer than two entries cannot describe a linear mapping anyway, so return false early instead of dividing by zero.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915: Guard against NULL driver_data in i915_pci_probe() pci_match_device() can return the dummy pci_device_id_any entry when a device is force-bound via sysfs driver_override, in which case ->driver_data is unset (NULL). i915_pci_probe() casts it to struct intel_device_info * unconditionally and dereferences intel_info->require_force_probe, causing a NULL-ptr-deref. (cherry picked from commit 2727922084672cc274ecea726ea00363c2893731)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm: fix race between partial drm_dev_register() failure and ioctl If drm_dev_register() fails after registering a minor (e.g. render minor registered, primary minor fails), userspace could have opened the first minor and entered a drm_dev_enter() critical section. Since the unplugged flag was never set, the ioctl proceeds while the error path tears down device resources. Fix this by introducing drm_dev_synchronize_unplug(), which sets the unplugged flag and waits for the SRCU barrier, ensuring all in-flight drm_dev_enter() critical sections complete before cleanup proceeds; call it on the error path of drm_dev_register().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panel-edp: fix i2c adapter leak on probe failure Make sure to drop the i2c adapter reference on probe failure (e.g. probe deferral) and on driver unbind also if a devicetree redundantly uses the 'ddc-i2c-bus' property to point to the aux ddc bus.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/panthor: fix firmware control interface bounds checks panthor_init_cs_iface() and panthor_init_csg_iface() validate firmware control interface offsets with 32-bit arithmetic and the size of the host wrapper structures. The offsets are derived from firmware-provided strides, so the arithmetic can wrap before the bounds check, and the host wrapper size is not the size of the firmware control interface being mapped. Use 64-bit arithmetic for the computed offsets and validate against the actual firmware control interface structure sizes with subtraction-based bounds checks. Also validate that the shared section is large enough for the global control interface before using it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Skip NVMe LS reject IOCB when FW not started qla_nvme_xmt_ls_rsp() bails out to the out: label when firmware is not started (!ha->flags.fw_started), but the out: path unconditionally calls qla_nvme_ls_reject_iocb(), which ends in qla2x00_start_iocbs() and an unconditional doorbell write to the request queue in-pointer register. This rings the firmware doorbell and queues an IOCB that stopped or resetting firmware cannot consume, and touches MMIO during the reset/EEH window where fw_started is also clear. Only emit the LS reject IOCB (and ring the doorbell) when fw_started is set; otherwise just clean up and return. The post-allocation failure cases (SRB alloc / qla2x00_start_sp() failure) run with firmware started and still send the reject. Apply the same guard to the reject emission in qla2xxx_process_purls_pkt().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak Several bsg handlers stage their request/reply in an uninitialized 256-byte on-stack buffer (uint8_t bsg[DMA_POOL_SIZE]) and fill it via sg_copy_to_buffer(), which only copies as many bytes as the user-supplied request payload. When the request is shorter than the structure, the remainder of the buffer is left holding stale stack data. qla2x00_read_fru_status() and qla2x00_read_i2c() then copy the full structure back to the reply payload with sg_copy_from_buffer(), leaking the uninitialized stack bytes to user space. The write/update paths do not copy the buffer back, but can feed uninitialized fields to the device. Zero the stack buffer at declaration in all five handlers, mirroring the heap kzalloc() approach, so short requests can no longer expose stale memory.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Hold vport_slock for host map update in report ID acquisition qla24xx_report_id_acquisition() format-1 handling drops vport_slock after taking the vport reference and then calls qla_update_host_map() without the lock. That reaches qla_update_vp_map(), which mutates the ha->host_map btree via btree_insert32()/btree_update32()/btree_remove32() and is documented to require vport_slock to be held by the caller. Running it unlocked can race concurrent host_map updates and corrupt the btree. The format-2 path in the same function already wraps its host_map update (SET_AL_PA) in vport_slock; the format-1 path is the lone outlier. Hold vport_slock across the format-1 qla_update_host_map() call to honor the documented locking contract. The vref_count taken in the loop keeps the vport valid, so this only adds the missing host_map serialization.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Avoid req_q_map double-read in qla2x00_error_entry() qla2x00_error_entry() reads ha->req_q_map[que] twice: once for the NULL check and again when assigning it to req. The map slot is cleared by qla25xx_free_req_que() (ha->req_q_map[que_id] = NULL under mq_lock) during queue teardown, while the response-queue interrupt that drives qla2x00_error_entry() is still registered (the IRQ is released later in qla25xx_free_rsp_que()). If the slot is set to NULL between the two reads, req becomes NULL and is dereferenced. Read the slot once into req and NULL-check the local before use. mq_lock is a mutex and cannot be taken from interrupt context, so the single read plus local check is the appropriate fix for the reported NULL dereference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound rsp_info_len to avoid OOB sense-data read In qla2x00_status_entry(), the FWI2 status path advances sense_data and shrinks par_sense_len by rsp_info_len: if (IS_FWI2_CAPABLE(ha)) { sense_data += rsp_info_len; par_sense_len -= rsp_info_len; } rsp_info_len is a 32-bit value taken directly from the target's FCP response (sf.rsp_data_len), while par_sense_len is the IOCB data area size (28 bytes for 24xx, 60 bytes for 29xx). A hostile or buggy target reporting an rsp_info_len larger than par_sense_len makes the unsigned subtraction underflow to a huge value and advances sense_data out of bounds. The underflowed par_sense_len then defeats the cap in qla2x00_handle_sense(): if (sense_len > par_sense_len) sense_len = par_sense_len; memcpy(cp->sense_buffer, sense_data, sense_len); so the memcpy reads up to SCSI_SENSE_BUFFERSIZE bytes from the out-of-bounds sense_data pointer, leaking adjacent response-ring/heap memory into the command's sense buffer. Clamp rsp_info_len to par_sense_len before the subtraction so par_sense_len can never underflow and sense_data stays within the IOCB data area. The fix sits before the comp_status switch, covering both qla2x00_handle_sense() call sites.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Avoid double completion in async IOCB timeout qla2x00_async_iocb_timeout() tries to abort a timed-out async IOCB. When qla24xx_async_abort_cmd() fails, both the SRB_LOGIN_CMD path and the SRB_CTRL_VP/default path scan outstanding_cmds[] for the SRB and then call sp->done(sp, QLA_FUNCTION_TIMEOUT) unconditionally, without checking whether the SRB was actually found and removed. If the response ISR completes the same handle first, it removes the SRB under qp_lock_ptr and runs sp->done() -> complete(sp->comp). The submitter qla24xx_control_vp() wakes from wait_for_completion(), clears sp->comp, drops its reference and returns, reclaiming the on-stack completion. The timer reference keeps the SRB alive across the timeout handler, but not the submitter's stack. The timeout then issues a second sp->done() -> qla_ctrlvp_sp_done(), which evaluates "if (sp->comp) complete(sp->comp)"; with the pointer loaded before the submitter's NULL store, complete() writes into the freed stack frame, a use-after-free. Track whether this path removed the SRB from outstanding_cmds and only call sp->done() when it did, so the command is completed exactly once by whichever path owns it. This mirrors the sp_found guard already used in qla24xx_abort_iocb_timeout().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Quiesce response IRQ before freeing request queue qla2xxx_delete_qpair() deletes the request queue before the response queue. qla25xx_delete_req_que() frees the request queue memory (kfree(req) in qla25xx_free_req_que()), but the response-queue MSI-X is only released later, in qla25xx_free_rsp_que(). In that window the response interrupt can still fire, qla2xxx_msix_rsp_q() queues qpair->q_work, and qla_do_work() -> qla24xx_process_response_queue() dereferences the now-freed rsp->req (LOGINOUT/CT/ELS entries and the status path), a use-after-free. The cancel_work_sync() added for the qpair teardown lives in the response free path, which runs after the request queue is already freed, so it does not protect rsp->req. Release the response-queue interrupt and flush qpair->q_work before deleting the request queue, so no late completion can reach the freed request queue. Clearing have_irq makes the subsequent qla25xx_free_rsp_que() skip its free_irq(), and the firmware queue-delete order (request then response) is preserved; the request-delete mailbox completes on the default vector and is unaffected by dropping the qpair response interrupt early.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Reject non-SCSI SRB on status IOCB fast path qla2x00_status_entry() filters out non-TYPE_SRB entries and the SRB_NVME_CMD, SRB_BIDI_CMD and SRB_TM_CMD types, then falls through to a SCSI fast path that assumes the command is an SRB_SCSI_CMD. The first thing on that path, qla_chk_edif_rx_sa_delete_pending(), and the subsequent handling both evaluate GET_CMD_SP(sp), i.e. sp->u.scmd.cmd. The srb u union overlays the SCSI command pointer with other command layouts (bsg_job, iocb_cmd). If firmware delivers an unexpected STATUS_TYPE IOCB for a non-SCSI handle, sp->u.scmd.cmd can read as a non-NULL garbage pointer, bypassing the NULL checks in qla_chk_edif_rx_sa_delete_pending() and at the cp == NULL test, and leading to a wild pointer dereference. Reject any SRB whose type is not SRB_SCSI_CMD before entering the fast path. The outstanding_cmds slot is left untouched so a genuinely non-SCSI command still completes through its proper handler.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Don't query firmware state while chip is down qla2x00_fw_state_show() initializes rval to QLA_FUNCTION_FAILED and jumps to the out: label when the chip is down or EEH is busy. The out: block then re-issued qla2x00_get_firmware_state() because rval != QLA_SUCCESS, defeating the chip-down/EEH-busy guards and issuing a mailbox command (outside optrom_mutex) during ISP reset or PCI error recovery, which can hang the adapter. It also turned a normal in-lock mailbox failure into a second unsynchronized mailbox attempt. Make the out: fallback only mark the firmware state as unknown. The mailbox is now issued at most once, inside optrom_mutex, and only when the chip is up and not EEH-busy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero mailbox struct in qla2x00_get_firmware_state() The mbx_cmd_t is allocated on the stack but left uninitialized. qla2x00_mailbox_command() has several early-return paths (PCI permanent failure, device failed, EEH busy, ISP abort pending, mailbox access timeout, purge mbox) that return without writing the input mailbox registers back into mcp->mb[]. qla2x00_get_firmware_state() then unconditionally copies mcp->mb[1..6] (and mb[12]) into the caller's states[] array regardless of the return value. On such a failure the copied values are uninitialized kernel stack memory, which is then exposed to userspace via the fw_state and mpi_fw_state sysfs handlers. Zero the mailbox struct so a failed query yields deterministic zeroed state instead of leaking stack contents.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix FCE trace use-after-free during firmware dump qla2x00_free_fce_trace() freed and cleared ha->fce while holding only fce_mutex. The firmware-dump consumers qla27xx_fwdt_entry_t264() and qla25xx_copy_fce() read ha->fce (NULL check followed by a copy of the buffer) under hardware_lock and never take fce_mutex. A debugfs FCE disable could therefore free the DMA buffer between a dump's NULL check and its copy, resulting in a use-after-free. Unpublish ha->fce under hardware_lock, then release the lock and free the DMA buffer (dma_free_coherent() may sleep). A concurrent dump either completes its check and copy with the buffer still valid, or observes ha->fce == NULL and skips it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix cs84xx use-after-free on host teardown qla84xx_put_chip() drops the last reference to ha->cs84xx and frees it via __qla84xx_chip_release() without clearing ha->cs84xx. During teardown it ran before scsi_remove_host(), which is what removes the 84xx_fw_version host sysfs attribute. A concurrent read of that attribute in the window between the two calls executes qla24xx_84xx_fw_version_show(), which dereferences the freed ha->cs84xx, resulting in a use-after-free. Move qla84xx_put_chip() to after scsi_remove_host() in both qla2x00_remove_one() and qla2x00_disable_board_on_pci_error(). Once scsi_remove_host() returns, the sysfs attribute is gone and kernfs has drained any in-flight show(), so no reader can touch cs84xx; the put still runs before the host and ha are freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Serialize flash version read in reset handler The "update cache versions without reset" sysfs reset operation (0x20261) calls get_flash_version(), which reads hardware flash registers, without holding ha->optrom_mutex. The VPD update path serializes the same call under optrom_mutex, so this reset path can interleave its flash register accesses with a concurrent VPD or optrom flash operation and corrupt the reads. Hold ha->optrom_mutex across the get_flash_version() call to match the VPD update path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Clamp MSI-X derived queue counts to avoid truncation ha->msix_count is u16, but ha->max_req_queues, ha->max_rsp_queues and ha->max_qpairs are u8. Deriving the queue count as "ha->max_req_queues = ha->msix_count - 1" therefore truncates: a board (or a misconfigured/malicious hot-plugged device) advertising 257 MSI-X vectors yields msix_count - 1 == 256, which truncates to 0. An MSI-X count of 1 zeroes it as well, and in target mode the subsequent "ha->max_req_queues--" then underflows 0 to 255. When the count is 0, qla2x00_alloc_queues() calls kzalloc_objs(struct req_que *, 0), which returns ZERO_SIZE_PTR. That is not NULL, so the allocation check passes and the following "ha->req_q_map[0] = req" dereferences ZERO_SIZE_PTR, corrupting memory or crashing the kernel. Add qla_calc_queue_count() to clamp the derived value into [1, QLA_MAX_QUEUES - 1] so it always fits in u8 and is never zero, and use it at all three derivation sites (qla25xx_iospace_config(), qla83xx_iospace_config() and qla24xx_enable_msix()). Also guard the target-mode decrement so it cannot reintroduce a zero (which would in turn underflow max_qpairs).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Hold qpair lock when sending NVMe LS reject qla_nvme_ls_reject_iocb() allocates from and advances the request ring through __qla2x00_alloc_iocbs() (which assumes the hardware_lock is held) and qla2x00_start_iocbs() (which advances the ring and rings the request-in doorbell), but takes no lock itself. Two of its callers invoke it without the producer lock held: - qla_nvme_xmt_ls_rsp(), the NVMe-FC .xmt_ls_rsp transport callback, on its error path, and - qla2xxx_process_purls_pkt(), run from the purex work/DPC context. Both use ha->base_qpair, whose qp_lock_ptr is hardware_lock, so they can run concurrently with normal I/O submission on the base ring and corrupt the ring producer state, leading to duplicated or dropped commands. The third caller, qla2xxx_process_purls_iocb(), runs inside qla24xx_process_response_queue() with the qpair lock already held and is safe; that is also why the lock cannot be taken inside the helper itself (it would recursively re-acquire hardware_lock on the response path). Take qp_lock_ptr around the two unlocked callers and document the helper as caller-locked. Both run in process context, so spin_lock_irqsave() is used and nothing in the locked region sleeps.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound image count in qla2x00_update_fru_versions() qla2x00_update_fru_versions() copies the user-supplied BSG request into a fixed 256-byte stack buffer (bsg[DMA_POOL_SIZE]) and then iterates list->count times over the qla_image_version array embedded in that buffer, advancing the image pointer each iteration. count is taken directly from user input with no upper bound, while only (DMA_POOL_SIZE - sizeof(list->count)) / sizeof(struct qla_image_version) = 6 entries actually fit. A larger count walks the image pointer off the end of the stack buffer, reading adjacent kernel stack memory and sending it to the device via qla2x00_write_sfp(). Reject requests whose declared count does not fit in the buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero dport diagnostics buffer to avoid info leak qla2x00_do_dport_diagnostics() allocates the qla_dport_diag response buffer with kmalloc_obj() (non-zeroing) and, on success, copies the full sizeof(*dd) back to user space via sg_copy_from_buffer(). The inbound sg_copy_to_buffer() only fills as many bytes as the user request payload provides, and qla26xx_dport_diagnostics() zeroes only dd->buf. The options and unused[] fields are therefore copied out uninitialized, leaking kernel heap contents to user space. Allocate with kzalloc_obj(), matching qla2x00_do_dport_diagnostics_v2().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Initialize NVMe abort_work once at submission qla_nvme_fcp_abort() and qla_nvme_ls_abort() ran INIT_WORK() on priv->abort_work immediately before schedule_work(). INIT_WORK() reinitializes the work_struct, resetting its list head and clearing the pending bit. If an abort is issued more than once for the same command (for example, concurrent transport teardown and a timeout-driven abort), the second INIT_WORK() reinitializes a work item that is already queued, which can corrupt the workqueue list and lead to crashes or a looping worker. Initialize priv->abort_work once at command submission, next to the existing per-command spin_lock_init(&priv->cmd_lock), and leave only schedule_work() in the abort paths. schedule_work() already does nothing when the work item is still pending, so a repeated abort no longer disturbs an in-flight work item. The command is not returned to the transport until the final kref_put()/release callback runs after abort_work has completed, so the work item is idle before priv is reused and the single submission-time INIT_WORK() is safe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Hold vport reference in qla24xx_report_id_acquisition() In the format 1 path, the virtual port is located on ha->vp_list while holding vport_slock, but the lock is dropped before vp is used: qla_update_host_map() is called and VP_IDX_ACQUIRED/REGISTER_FC4_NEEDED/ REGISTER_FDMI_NEEDED are set on vp. No reference is taken across that window, so a concurrent qla24xx_deallocate_vp_id() can tear the vport down and free it, leading to a use-after-free. Take a vport reference (vref_count) under vport_slock when the matching vp is found, and drop it after the last use of vp. qla24xx_deallocate_vp_id() waits for vref_count to reach zero before unlinking and freeing the vport, so the pointer stays valid. This matches the reference idiom already used by the other ha->vp_list traversals.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix BSG job leak on validate flash image error path qla28xx_validate_flash_image() returns QLA_SUCCESS (0) unconditionally, telling the FC BSG transport (fc_bsg_host_dispatch()) that the driver owns and will complete the request. But bsg_job_done() is guarded by "if (!rval)", so on the error path (rval == -EINVAL) neither the driver nor the transport completes the job. The request dangles until it times out, leaking block layer resources. Commit c2c68225b145 ("scsi: qla2xxx: Fix bsg_done() causing double free") added the "if (!rval)" guard to a batch of BSG handlers. That is correct for handlers that also return the error code (the transport then completes the job once via fail_host_msg), but this function returns QLA_SUCCESS unconditionally, so the guard turned a correct single completion into a leak. Always call bsg_job_done(): bsg_reply->result is DID_OK and the error is reported in vendor_rsp[0], and since the function returns 0 the transport will not complete the job a second time.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: edif: Fix NULL pointer deref in RX SA delete check qla_chk_edif_rx_sa_delete_pending() obtains the SCSI command via GET_CMD_SP(sp) and immediately dereferences cmd->sc_data_direction. That command pointer can be NULL: the firmware may post a status completion for a command that has already been returned or aborted. The caller qla2x00_status_entry() acknowledges this on the very same status path, re-fetching GET_CMD_SP(sp) and bailing out with the "Command already returned" message when it is NULL -- but that check runs only after qla_chk_edif_rx_sa_delete_pending() has already dereferenced the pointer, so a NULL cmd crashes the kernel in interrupt context. Return early when cmd is NULL, before touching cmd->sc_data_direction.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound i2c->length in I2C bsg handlers struct qla_i2c_access carries a 16-bit length field alongside a fixed 64-byte buffer: struct qla_i2c_access { uint16_t device, offset, option, length; uint8_t buffer[0x40]; } __packed; qla2x00_write_i2c() and qla2x00_read_i2c() use the user-supplied i2c->length without any bounds check. i2c is overlaid on a 256-byte on-stack buffer and sfp is a 256-byte DMA-pool buffer, so a length up to 65535 overruns both: - write: memcpy(sfp, i2c->buffer, i2c->length) over-reads the stack and over-writes the sfp heap buffer, and qla2x00_write_sfp() then DMAs i2c->length bytes out of the 256-byte buffer. - read: qla2x00_read_sfp() DMAs i2c->length bytes into the 256-byte sfp, then memcpy(i2c->buffer, sfp, i2c->length) overflows the 64-byte buffer inside the on-stack array. A caller holding CAP_SYS_RAWIO can use this to corrupt the heap and the kernel stack. Reject requests whose length exceeds the buffer before any copy or DMA transfer in both handlers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero SFP DMA buffer in FRU/I2C bsg handlers The FRU and I2C bsg handlers stage their transfer in a DMA_POOL_SIZE (256-byte) bounce buffer obtained from dma_pool_alloc(), which does not zero the allocation. They initialize only a few leading bytes before handing the buffer to qla2x00_write_sfp(). qla2x00_write_sfp() can override the transfer length with a user-supplied value: if (len == 1) opt |= BIT_0; if (opt & BIT_0) len = *sfp; *sfp is the first byte of the (user-controlled) payload, so len can grow up to 255. The device then DMA-reads len bytes from the 256-byte pool buffer. Since only a small prefix was written (e.g. MAX_FRU_SIZE == 36 bytes for a FRU version, one byte for a FRU status register), the hardware reads past the initialized region and writes up to ~219 bytes of stale DMA-pool heap memory to the device flash. Allocate the buffer with dma_pool_zalloc() in all five FRU/I2C handlers so any bytes beyond the initialized data are zero rather than stale heap contents.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: zoran: Avoid freeing a registered video_device twice zoran_init_video_device() installs zoran_vdev_release() as the video_device release callback through zoran_template. After video_register_device() succeeds, video_unregister_device() drops the registered video_device reference and the V4L2 core eventually invokes that release callback, which kfree()s the video_device. zoran_exit_video_devices() called video_unregister_device() and then kfree(zr->video_dev), so device teardown could free the same video_device twice. Remove the direct kfree() and clear the cached pointer after unregistering. The pre-registration failure path keeps its manual free because the video_device was not registered there. This issue was found by a static analysis checker and confirmed by manual source review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: video-i2c: fix kthread error pointer left in kthread_vid_cap on failure kthread_run() returns an ERR_PTR on failure, not NULL. When start_streaming() fails, data->kthread_vid_cap is left holding this error pointer instead of being cleared. This causes two subsequent bugs: 1. A future call to start_streaming() sees a non-NULL kthread_vid_cap and returns 0 (success) immediately, without actually starting the capture thread. 2. A call to stop_streaming() checks 'kthread_vid_cap == NULL' which is false for an error pointer, and proceeds to call kthread_stop() on the error pointer, leading to a kernel crash. Fix this by resetting kthread_vid_cap to NULL on failure before jumping to the error path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-fwnode: Fix fwnode leak in v4l2_fwnode_parse_link In v4l2_fwnode_parse_link(), the remote endpoint fwnode reference is acquired using fwnode_graph_get_remote_endpoint(). This reference is properly released in the error paths, but it is leaked on the success path. Add the missing fwnode_handle_put() before returning 0 to prevent the reference leak. [Sakari Ailus: Fix subject prefix and coding style a little.]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-async: avoid deleting unlinked ASC entry on link error v4l2_async_match_notify() creates ancillary media links before adding asc->asc_subdev_entry to sd->asc_list. If ancillary link creation fails, the function jumps to err_call_unbind while asc_subdev_entry has not been linked yet. Async connections are zero-allocated, so the list entry still has NULL next and prev pointers on this path. Calling list_del() on it can therefore dereference NULL instead of returning the original link creation error. Do not delete asc_subdev_entry from err_call_unbind. There is no list insertion to undo on this path; the bound callback and sub-device registration are the operations that need to be rolled back.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: tda18250: fix possible integer overflow Integer overflow may occur, when variable exp equals to zero. Result of shift 1 << (exp - 1) may then leads to undefined behavior.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: saa7164: fix cleanup on resource allocation failure saa7164_dev_setup() adds the device to the global saa7164_devlist before requesting the PCI BAR memory regions. If get_resources() fails, saa7164_dev_setup() decrements the device count and returns an error, but leaves the device on saa7164_devlist. The probe error path then frees the device, leaving a dangling entry on the global list. Reuse the existing MMIO mapping error path to remove the device from saa7164_devlist and decrement the device count before returning. Also release BAR0 if it was successfully requested but the BAR2 request fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: s2255: check firmware size before reading trailing marker s2255_probe() reads a 4-byte marker and version from the last 8 bytes of the firmware blob (fw->data[fw_size - 8] and [fw_size - 4]). If the firmware file is shorter than 8 bytes, fw_size - 8 underflows and the access reads out of bounds. Validate the firmware size before indexing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: s2255: bound JPEG frame size before copying into the buffer s2255_fillbuff() memcpy()s vc->jpg_size bytes of a captured JPEG/MJPEG frame into the vb2 plane. vc->jpg_size is taken verbatim from the S2255_MARKER_FRAME header the device sends (pdword[4] in save_frame()) and, unlike the frame payload length just above it, is never bounded: payload = le32_to_cpu(pdword[3]); if (payload > vc->req_image_size) /* payload is checked ... */ return -EINVAL; vc->pkt_size = payload; vc->jpg_size = le32_to_cpu(pdword[4]); /* ... jpg_size is not */ A malicious or malfunctioning device can therefore report a jpg_size larger than the destination vb2 plane, and the memcpy() writes past it. jpg_size is a signed int, so a value with the top bit set also turns into a huge length. Reject a frame whose jpg_size is negative or exceeds the plane size before copying it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rtl2832_sdr: release URBs and stream buffers on start_streaming() failure rtl2832_sdr_start_streaming() calls rtl2832_sdr_alloc_stream_bufs(), rtl2832_sdr_alloc_urbs() and rtl2832_sdr_submit_urbs() in sequence and shares a single err: label that only unlocks the mutex and returns. When alloc_urbs() succeeds but submit_urbs() fails, or when alloc_urbs() itself returns -ENOMEM after alloc_stream_bufs() has already succeeded, the URBs and/or the coherent DMA stream buffers stay allocated while streaming reports failure to vb2. Two latent defects follow on the next VIDIOC_STREAMON: 1) rtl2832_sdr_alloc_stream_bufs() unconditionally resets dev->buf_num to 0 and overwrites dev->buf_list[]/dev->dma_addr[], permanently leaking the coherent DMA memory allocated by the previous attempt. 2) rtl2832_sdr_alloc_urbs() never resets dev->urbs_initialized and only increments it. After a second successful pass urbs_initialized can exceed MAX_BULK_BUFS, so the subsequent rtl2832_sdr_free_urbs() walks from urbs_initialized - 1 down to 0 and reads past the end of dev->urb_list[], passing garbage pointers to usb_free_urb(). Mirror the teardown that stop_streaming() already performs: on the error path call rtl2832_sdr_free_urbs() and rtl2832_sdr_free_stream_bufs() before unlocking. Both helpers are idempotent (free_urbs kills and zeros urbs_initialized; free_stream_bufs is gated on URB_BUF and clears the buf_num counter), so partial-failure paths and the no-allocation paths remain safe. Issue identified by automated review of the INV-003 series at https://sashiko.dev/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rtl2832_sdr: use vb2_video_unregister_device() on remove to fix DMA leak rtl2832_sdr_remove() runs on USB disconnect and clears dev->udev to NULL before any pending streaming teardown has run. When user space later closes its file descriptor, vb2 calls rtl2832_sdr_stop_streaming() which in turn calls rtl2832_sdr_free_stream_bufs(). That helper releases each coherent buffer with: usb_free_coherent(dev->udev, dev->buf_size, dev->buf_list[dev->buf_num], dev->dma_addr[dev->buf_num]); usb_free_coherent() returns immediately when its dev argument is NULL, so every DMA stream buffer that was live at disconnect is silently leaked. The URBs allocated in rtl2832_sdr_alloc_urbs() outlive the device for the same reason. The rtl2832_sdr driver uses vb2_fop_release() in its file_operations, so replace video_unregister_device(&dev->vdev) with vb2_video_unregister_device(&dev->vdev) and move it before clearing dev->udev. vb2_video_unregister_device() releases the vb2 queue, which synchronously runs rtl2832_sdr_stop_streaming() if streaming is active, so URBs and coherent DMA stream buffers are freed while dev->udev is still valid. vb2_video_unregister_device() locks vdev->queue->lock (vb_queue_lock) internally, and stop_streaming() locks v4l2_lock, so the previous outer mutex_lock(&dev->vb_queue_lock) / mutex_lock(&dev->v4l2_lock) pair around the unregister sequence would self-deadlock and has been removed. A short v4l2_lock critical section around dev->udev = NULL remains so any ioctl path that still holds the file descriptor sees coherent state. Issue identified by automated review of the INV-003 series at https://sashiko.dev/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: rc: sunxi-cir: Unregister rc device on probe failure After rc_register_device() succeeds, later probe failures must undo the registration with rc_unregister_device(). The current error path jumps to the allocation cleanup label and only calls rc_free_device(), leaving the rc device registration and resources created by rc_register_device() behind. Add a registered-device unwind label for the IRQ lookup, IRQ request, and hardware initialization failure paths. Keep rc_free_device() for failures before rc_register_device() succeeds.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: intel/ipu6: fix async notifier cleanup leak on parse error isys_notifier_init() calls v4l2_async_nf_init() and then adds fwnode remote subdevs in a loop with v4l2_async_nf_add_fwnode_remote(). If an endpoint parse or add fails partway through the loop, it jumps to err_parse and returns without calling v4l2_async_nf_cleanup(), leaking every v4l2_async_connection already added to the notifier's waiting list. The register-failure path just below already cleans up correctly, and the caller only tears the notifier down (isys_notifier_cleanup()) once isys_notifier_init() has returned success. Clean up the notifier on the parse error path too.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: i2c: ov7740: fix use-after-destroy in remove The ov7740_remove() function had a severe teardown order bug where it destroyed the driver's mutex before freeing the V4L2 control handler which relies on that mutex, leading to a use-after-destroy kernel panic. Furthermore, the driver explicitly called v4l2_ctrl_handler_free() and mutex_destroy() sequentially, but then called ov7740_free_controls() which invokes both of them a second time, resulting in a double-free. This patch fixes the issue by unregistering the subdevice first, and relying exclusively on ov7740_free_controls() to safely tear down the mutex and control handler in the correct order.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: i2c: ov02a10: fix endpoint parsing use-after-free The ov02a10_check_hwcfg() function calls fwnode_handle_put(ep) immediately after allocating and parsing the endpoint. However, it subsequently calls fwnode_property_read_u32() using the same 'ep' handle, leading to a potential use-after-free. Additionally, reading the optional 'ovti,mipi-clock-voltage' property used to overwrite the 'ret' variable. If the property was missing, 'ret' would become negative, and this failure code would be incorrectly returned at the end of the function, causing probe to fail entirely. Fix the use-after-free by moving fwnode_property_read_u32() before the endpoint is parsed and freed. Avoid the error leak by not assigning the result of fwnode_property_read_u32() to 'ret'.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: go7007: defer the ALSA v4l2 put until card release go7007_snd_init() already takes a v4l2_device reference for the ALSA side, but go7007_snd_remove() drops it immediately after calling snd_card_free_when_closed(). That is too early when a userspace process still has the capture PCM open. The ALSA card and its PCM callbacks remain alive until the last file is closed, so the release path can still reach struct go7007 through pcm->private_data and call go7007_snd_hw_free() after the V4L2 release path has freed the object. Move the matching v4l2_device_put() to the ALSA card private_free callback so the existing ALSA reference covers the whole deferred card lifetime.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: em28xx: fix use-after-free of dev_next->devlist on disconnect When a device with has_dual_ts=1 is probed and the is_audio_only path is taken, both dev and dev->dev_next are added to the global em28xx_devlist via em28xx_init_extension(). However, during disconnect, em28xx_close_extension(dev) only calls list_del(&dev->devlist), leaving dev->dev_next->devlist still linked in the global list. When dev_next is subsequently freed via kref_put(), its devlist entry becomes a dangling pointer in em28xx_devlist. The next device probe that calls em28xx_init_extension() triggers a list corruption BUG when list_add_tail detects the freed node. This bug was exposed by commit a368ecde8a50 ("USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor") which clears reserved bits in bEndpointAddress during endpoint parsing. This causes fuzzed endpoint addresses like 0xf3 to be normalized to 0x83, which em28xx interprets as a vendor audio endpoint, enabling the is_audio_only + has_dual_ts code path that was previously unreachable with such descriptors. Fix this by removing dev->dev_next->devlist from the global list in em28xx_close_extension() before the device is freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: em28xx: defer audio-only extension registration The audio-only path registers extensions while probing the primary device. For a dual-TS board, this happens before dev_next is created. The duplicate device inherits is_audio_only and is then independently inserted into em28xx_devlist. The list is intended to contain only primary devices: extension operations reach the secondary device through dev_next. The independently linked secondary can be freed during disconnect while its list node remains reachable, resulting in a use-after-free. Defer audio-only extension registration to the module-request work item. It runs only after probing has completed construction of the optional secondary device, so only the primary is registered and extension callbacks reach the secondary through dev_next.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cx23885: cancel NetUP CI work before teardown netup_ci_exit() frees a netup_ci_state while its work item, netup_read_ci_status(), may still be pending or running on the system workqueue. The worker obtains the state with container_of() and dereferences it, so it must not outlive the state. netup_ci_init() queues the initial status read, and CI GPIO interrupts subsequently queue the same work from netup_ci_slot_status(). During remove, cx23885_finidev() calls free_irq() before the CI device is unregistered. free_irq() prevents further IRQ handlers from running, but does not drain work queued previously, so the worker can run after netup_ci_exit() frees the state. Call cancel_work_sync() before dvb_ca_en50221_release() and kfree(). This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cx231xx: reject geometry changes while the VBI queue is busy vidioc_s_fmt_vid_cap() and vidioc_s_std() change the device-wide dev->width / dev->norm but only refuse the change when the *video* queue (dev->vidq) is busy. The VBI queue (dev->vbiq) shares that same geometry: cx231xx_init_vbi_isoc() latches dma_q->lines_per_field from dev->norm, the VBI videobuf2 plane is sized from dev->width / dev->norm in vbi_queue_setup() and vbi_buf_prepare(), and cx231xx_do_vbi_copy() then recomputes the destination offset from the *live* dev->width and the latched lines_per_field on every URB completion: offset = lines_completed * (dev->width << 1) + ...; if (dma_q->current_field == 2) offset += dev->width * 2 * dma_q->lines_per_field; memcpy(plane + offset, p_buffer, lencopy); Because the VBI node shares video_ioctl_ops with the video node, an application can size a small VBI plane (REQBUFS/QBUF with a small width, or with the NTSC standard), then enlarge dev->width (or switch dev->norm to PAL) through the video node while the VBI stream is running -- the change is allowed because only dev->vidq is checked -- and let the device deliver a field-2 VBI payload. cx231xx_do_vbi_copy() now computes the offset with the larger geometry and memcpy()s past the end of the smaller plane that was already allocated, a heap out-of-bounds write whose offset is attacker-chosen and whose contents come from the device. The per-field guard in cx231xx_copy_vbi_line() does not help: it bounds the copy against the latched lines_per_field, not the plane's real capacity, and vb2 does not re-run buf_prepare() for an already prepared buffer. Refuse the format/standard change when the VBI queue is busy as well, so the geometry cannot change underneath an allocated VBI buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cobalt: Avoid freeing ALSA private data twice snd_cobalt_card_create() stores cobsc in sc->private_data and installs snd_cobalt_card_private_free() as sc->private_free. From that point, snd_card_free(sc) releases cobsc through the ALSA card cleanup path. If cobalt_alsa_init() fails after snd_cobalt_card_create(), the err_exit_free path calls snd_card_free(sc) and then kfree(cobsc). That second free releases the same object again. Remove the explicit kfree(cobsc) and leave ownership with the ALSA card. This issue was found by a static analysis checker and confirmed by manual source review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cedrus: fix memory leak in cedrus_init_ctrls() In cedrus_init_ctrls(), the V4L2 control handler is initialized before allocating memory for ctx->ctrls. If this allocation fails, the function returns -ENOMEM without freeing the previously allocated handler resources, leading to a memory leak. Fix this by calling v4l2_ctrl_handler_free() on the ctx->ctrls allocation failure path. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1.1. An x86_64 allyesconfig build showed no new warnings. As we do not have an Allwinner SoC or board with a Cedrus VPU available to test with, no runtime testing was able to be performed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: cec: Serialize exclusive follower delivery cec_receive_notify() reads the exclusive follower pointer without the adapter lock. Serialize the no-follower check and message delivery against mode changes and release.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: airspy: use vb2_video_unregister_device() on disconnect to fix NULL deref airspy_disconnect() clears s->udev under v4l2_lock, but airspy_stop_streaming() unconditionally calls airspy_ctrl_msg() and airspy_free_stream_bufs() afterwards. If a streaming user closes the device after disconnect, stop_streaming() runs and dereferences the NULL s->udev: airspy_stop_streaming() airspy_ctrl_msg(s, CMD_RECEIVER_MODE, 0, 0, NULL, 0) usb_sndctrlpipe(s->udev, 0) /* NULL deref */ airspy_free_stream_bufs(s) usb_free_coherent(s->udev, ...) /* NULL deref */ The airspy driver uses vb2_fop_release() in its file_operations, so replace video_unregister_device(&s->vdev) with vb2_video_unregister_device(&s->vdev) and move it before clearing s->udev. vb2_video_unregister_device() releases the vb2 queue, which synchronously runs airspy_stop_streaming() if streaming is active, so the URBs, coherent DMA stream buffers and the hardware stop control message all execute while s->udev is still valid. vb2_video_unregister_device() locks vdev->queue->lock (vb_queue_lock) internally, and stop_streaming() locks v4l2_lock, so the previous outer mutex_lock(&s->vb_queue_lock) / mutex_lock(&s->v4l2_lock) pair around the unregister sequence would self-deadlock and has been removed. A short v4l2_lock critical section around s->udev = NULL remains so any ioctl path that still holds the file descriptor sees coherent state. Issue identified by automated review of the INV-003 series at https://sashiko.dev/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: hyper-v: Clamp stimer deadline to avoid livelock Fix an issue where userspace or the guest can program an Hyper-V synthetic timer to have a deadline in the past via integer overflow, preventing the CPU from making progress and triggering an RCU stall. Hyper-V's SynIC exposes 4 per-vCPU synthetic timers to the guest, which are emulated by KVM. Each is programmed through the HV_X64_MSR_STIMERi_CONFIG and HV_X64_MSR_STIMERi_COUNT MSRs. Depending on CONFIG, COUNT represents either the absolute expiration time or the period of a periodic timer, both expressed in 100ns ticks. These timers may be set both by the guest (WRMSR) and the host (KVM_SET_MSRS). When the timer is enabled, stimer_start() translates COUNT to an absolute monotonic deadline and arms an hrtimer. If COUNT is set to a value close to U64_MAX, the deadline calculation can overflow. ktime_add_ns(ktime_now, 100 * (stimer->exp_time - time_now)) This can result in a CPU livelock. stimer_start() arms the timer via hrtimer_start() with a deadline in the past, which causes it to immediately fire. The stimer callback then raises KVM_RQ_HV_STIMER, with the intention of causing KVM to deliver a synthetic interrupt on the next vCPU guest enter. Then, once userspace issues KVM_RUN, vcpu_enter_guest() consumes the request, calling kvm_hv_process_stimers(). This would normally disable the timer via stimer_expiration() once the deadline is in the past. However, the deadline comparison is done between the KVM reference counter and stime->exp_time, which is a big value close to U64_MAX, so this never happens for a few thousand years. kvm_hv_process_timers() then re-arms the timer via stimer_start(), since it was not disabled, which again fires immediately. Before entering the guest, kvm_vcpu_exit_request() checks kvm_request_pending(), which returns true due to the newly raised KVM_REQ_HV_STIMER. Then vcpu_enter_guest() aborts the guest entry, returning early into vcpu_run(), which loops back again into vcpu_enter_guest(), restarting the cycle. Since there are no manual yields in this loop, a task with SCHED_FIFO may starve RCU grace-period kthreads, which exposes the stalls found by syzcaller: rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: (detected by 1, t=10502 jiffies, g=14269, q=1142 ncpus=2) rcu: All QSes seen, last rcu_preempt kthread activity 10500 (4294965239-4294954739), jiffies_till_next_fqs=1, root ->qsmask 0x0 rcu: rcu_preempt kthread starved for 10500 jiffies! g14269 f0x2 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0 rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior. ( ... ) Call Trace: <IRQ> __run_hrtimer kernel/time/hrtimer.c:1773 [inline] __hrtimer_run_queues+0x408/0xc30 kernel/time/hrtimer.c:1841 hrtimer_interrupt+0x45b/0xaa0 kernel/time/hrtimer.c:1903 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1045 [inline] __sysvec_apic_timer_interrupt+0x102/0x3e0 arch/x86/kernel/apic/apic.c:1062 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1056 [inline] sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1056 </IRQ> <TASK> asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:697 RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline] RIP: 0010:_raw_spin_unlock_irqrestore+0xa8/0x110 kernel/locking/spinlock.c:194 Code: 74 05 e8 0b f4 5f f6 48 c7 44 24 20 00 00 00 00 9c 8f 44 24 20 f6 44 24 21 02 75 4f f7 c3 00 02 00 00 74 01 fb bf 01 00 00 00 <e8> 23 6b 27 f6 65 8b 05 7c 60 5a 07 85 c0 74 40 48 c7 04 24 0e 36 RSP: 0018:ffffc900040a7320 EFLAGS: 00000206 RAX: 5de15cb931505900 RBX: 0000000000000a06 RCX: 5de15cb931505900 RDX: 0000000000000007 RSI: ffffffff8daa9dc3 RDI: 0000000000000001 RBP: ffffc900040a73b0 R08: ffffffff8fc3d0 ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: nVMX: Always flush vpid02 on first use Make sure vpid02 is always flushed on first use by setting last_vpid=0 when allocating vpid02. nested_vmx_transition_tlb_flush() will always detect a VPID change on first VM-Enter after VMXON, because VPID=0 in vmcs12 is not allowed if L1 enables VPID. This avoids using stale TLB entries from a previous lifetime of the VPID, that might have been associated with a different vCPU (or a completely different VM). Note that last_vpid is already being initialized as 0 when the vCPU is created, but it is not reset when vpid02 is freed on VMXOFF. Hence, the problem can only occur if L1 does VMXOFF -> VMXON, runs an L2, and KVM happens to reuse a VPID that has TLB entries on the physical CPU.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: pressure: dps310: fix NULL pointer dereference on ACPI probe When the device is enumerated through its ACPI HID (IFX3100), i2c_client_get_device_id() returns NULL: the ACPI-derived client name does not match the driver's i2c_device_id table. dps310_probe() then dereferences that NULL pointer in "iio->name = id->name" and crashes the kernel during probe. The IIO device name is always "dps310", so set it directly and drop the now-unused device-id lookup.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: dac: m62332: Fix regulator reference count imbalance m62332_set_value() enables the Vcc regulator on every write of a non-zero value and disables it on every write of zero, without tracking the channel's current state. Because the regulator is reference counted, changing a channel directly from one non-zero value to another enables it more than once, while a later write of zero disables it only once. The reference count never returns to zero and the regulator is left enabled indefinitely. Only enable the regulator on the transition from zero to non-zero, and only disable it on the transition from non-zero to zero, using the previously stored channel value to detect the edge. Balance the regulator on the I2C error path so the reference count stays consistent if the write fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: chemical: sgp30: Handle IAQ thread creation failure kthread_run() can fail and return an error pointer, but sgp_probe() stores it and returns success, so the device is registered without its IAQ thread and sgp_remove() later passes the error pointer to kthread_stop(). Return the error from probe instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: chemical: atlas-sensor: use iio_trigger_poll_nested() to fix remove UAF The atlas driver requests its hardware data-ready IRQ with devm_request_threaded_irq(); its threaded handler queues an irq_work, atlas_work_handler(), that calls iio_trigger_poll(data->trig). The IRQ is devm-managed, so free_irq() runs from the devres unwind after atlas_remove() returns without flushing that irq_work. Once a buffer is enabled, conversion-complete IRQs keep firing and queueing it; a pending irq_work can therefore run after the unwind has freed atlas_data/indio_dev and the trigger, when atlas_work_handler() derives the atlas_data pointer via container_of() and dereferences data->trig, a use-after-free. Call iio_trigger_poll_nested() directly from the threaded handler instead of bouncing through irq_work. free_irq() then drains the threaded handler, closing the window; other iio drivers with a threaded data-ready IRQ do the same (e.g. bmi270). This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: chemical: atlas-sensor: fix PM reference leak in buffer postenable atlas_buffer_postenable() acquires a runtime PM reference with pm_runtime_resume_and_get() but returns the result of atlas_set_interrupt() directly. If atlas_set_interrupt() fails, the runtime PM reference is leaked and the device can never autosuspend. Add pm_runtime_put_autosuspend() on the error path to balance the reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: hdac_hda: Fix hlink refcount leak on component registration failure hdac_hda_dev_probe() gets the HDA link with snd_hdac_ext_bus_link_get() before registering the ASoC component. If component registration fails, the function returns without dropping the link reference. Always call snd_hdac_ext_bus_link_put() after the registration attempt so the reference taken during probe is balanced on both success and failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: cs35l34: drain threaded IRQ before runtime suspend cs35l34_runtime_suspend() currently switches the codec into regcache_cache_only(true), asserts reset low, and powers the device off without first quiescing the threaded IRQ registered by devm_request_threaded_irq(). That leaves a window where cs35l34_irq_thread() can still run after suspend has removed live hardware access. A running system can reach this during runtime PM while the driver still has critical fault IRQs unmasked. If the threaded handler runs in that window, it reads volatile INT_STATUS_1..4 after cache_only has been enabled, ignores the regmap_read() failures, and can still execute the PROT_RELEASE_CTL release sequence or the BST fault power-down writes. Use disable_irq() before entering cache_only/reset-low/power-off so any in-flight threaded handler is drained and no new IRQ thread can run while the device is suspended. Re-enable the IRQ only after runtime_resume() has restored live register access with regcache_sync(). Since probe only logs request_threaded_irq() failures and keeps going, track whether the IRQ was actually installed before disabling or re-enabling it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: cs35l33: drain threaded IRQ before runtime suspend cs35l33_runtime_suspend() currently switches the codec into regcache_cache_only(true) and powers it down without first quiescing the threaded IRQ registered by devm_request_threaded_irq(). That leaves a window where cs35l33_irq_thread() can still run after suspend has closed off live register access. A running system can reach this during runtime PM while the driver still has critical fault IRQs unmasked. If the threaded handler runs in that window, it reads volatile INT_STATUS_1/2 after cache_only has been enabled, ignores the regmap_read() failures, and can still drive the AMP_SHORT_RLS, CAL_ERR_RLS, OTE_RLS, and OTW_RLS release paths. Use disable_irq() before entering cache_only/power-off so any in-flight threaded handler is drained and no new IRQ thread can run during the suspended state. Re-enable the IRQ only after runtime_resume() has restored live register access with regcache_sync(). Since probe only warns if devm_request_threaded_irq() fails, track whether the IRQ was actually installed before disabling or re-enabling it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: bla: fix freeing of claims on meshif deletion When the mesh interface is getting deleted, then batadv_bla_del_backbone_claims() (via batadv_bla_purge_backbone_gw()) could make sure that all claims gets removed. But this function is only executed when bat_priv->bla.claim_hash is not NULL. And since batadv_bla_free() is always setting it to NULL before it is (indirectly) called, it was never actually executed. But the batadv_bla_purge_claims() -> batadv_handle_unclaim() is at the moment too fragile because the BLA code is not handling the rehashing in batadv_bla_update_orig_address(). The stored backbone address doesn't have to be the one actually used for the hash bucket selection during the initial adding of the backbone. The batadv_handle_unclaim() can therefore fail to find the respective backbone for the unclaim and then stop the deletion. But the actual backbone_gw object is not needed for the unclaim because all relevant information is always provided by the caller. And the check for the existence of the backbone_gw doesn't provide any additional security check for the deletion of a claim.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: dat: avoid unaligned fault in IP extraction Independent of the alignment of the ARP packet in the SKB, either the batadv_arp_ip_src or the batadv_arp_ip_dst will have an unaligned access (on HW without native unaligned read support). Use get_unaligned() to handle this properly on all architectures.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: batman-adv: fix stale receive device on merged fragments Fragment reassembly reuses the skb from the highest-numbered buffered fragment as the merged packet. When that fragment was received on a hard interface which is deleted before the chain completes, the merged skb can re-enter the receive path with a stale skb->dev and skb_iif. batadv_batman_skb_recv() passes such merged packets through the normal receive handlers again. DAT and bridge loop avoidance both derive the ARP header length from skb->dev, so they can dereference the freed net_device before the packet reaches the local mesh interface. Refresh the receive device metadata from the current receive device before running the packet handlers. This keeps internally reinjected merged fragments consistent with the normal receive path after hard interface teardown.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: validate ONFI extended parameter page sections nand_flash_detect_ext_param_page() allocates the length declared by the ONFI parameter page, then treats the data as a fixed header followed by variable-length sections. It reads that header and advances over sections without first proving that the fixed page and each current section fit in the allocation. Reject pages shorter than the fixed header, track the remaining variable area while walking sections, and require the ECC section to contain every field read from struct onfi_ext_ecc_info. Use device-scoped diagnostics that identify the malformed ONFI section.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: mtdoops: free page bitmap when the backing MTD is removed mtdoops_notify_add() allocates oops_page_used when the configured MTD device is registered. mtdoops_notify_remove() detaches from that device but leaves the bitmap allocated. If the same MTD device is later registered again, the add path allocates a new bitmap and overwrites the old pointer, leaking one vmalloc allocation per remove/add cycle. This is only visible when the backing MTD device can disappear and be registered again while mtdoops remains loaded, so the usual static MTD case does not expose it. Free the bitmap after unregistering the dumper and flushing the pending workers, then clear the pointer and page count before a later attach can allocate fresh state. Clearing the pointer also keeps the module exit path from freeing the same bitmap a second time after a remove event.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Fix race between non-atomic ops and trigger-start We protect the races of the concurrent state transitions between atomic PCM ops, but the checks between the non-atomic ops (hw_params, hw_free and prepare) and the atomic ops aren't perfect; there is a check of the conflicting PCM state at the beginning of hw_params & co, but the atomic PCM ops can be still issued during the non-atomic PCM operations. An example such scenario is that a thread A re-issues the PREPARE or HW_PARAMS for the already prepared stream, while another thread B triggers the PCM start in the middle of the prepare operation. Although this usually doesn't lead to much serious issues, it can give some inconsistency as reported by syzkaller (such as ODEBUG warning). There are various atomic PCM ops, and basically the only problem is the PCM start as it operates from the PREPARED state. Other trigger commands (stop, etc) are for the running or the other special state, hence they are filtered as pre-condition. This patch is for preventing the PCM trigger-start during the non- atomic operations in order to address the problems above. Fortunately, the hw_params, hw_free and prepare operations call snd_pcm_buffer_access_lock(), and this can be used for checking the concurrent operations at the PCM trigger -- which sets the runtime->buffer_accessing to a negative (if possible), so the PCM trigger just needs to check the runtime->buffer_accessing value; if it's negative, it means the concurrent non-atomic PCM ops is running.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: harmony: initialize locks before requesting IRQ snd_harmony_create() registers the IRQ before initializing h->lock and h->mixer_lock. A pending interrupt can invoke the handler while these locks are uninitialized. Initialize both locks before requesting the IRQ so the handler always sees valid lock state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: mux: Fix channel node leak on adapter add failure i2c_mux_add_adapter() takes a reference to the Device Tree channel node before registering the new adapter. If adapter registration fails, the error path frees the private data without dropping that reference. Release the channel node before freeing the private data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: core: fix debugfs UAF on adapter removal i2c_del_adapter() frees the adapter's debugfs directory before it unregisters the adapter device, but the new_device sysfs attribute stays writable until device_del(). A write racing with removal still reaches i2c_device_probe(), which passes the freed adap->debugfs to debugfs_create_dir() as the new client's parent: BUG: KASAN: slab-use-after-free in lookup_noperm_common+0x407/0x430 Read of size 4 at addr ffff88803ef87810 by task syz.0.61/6090 lookup_noperm_common+0x407/0x430 simple_start_creating+0x9c/0x110 debugfs_start_creating+0xdb/0x1a0 debugfs_create_dir+0x24/0x350 i2c_device_probe+0x814/0xbf0 It's technically possible to create a client after i2c_deregister_clients has run. That client will never be unregistered and make wait_for_completion hang. Close the window by removing the new_device attribute at the start of i2c_del_adapter(). device_remove_file() will drain any clients left.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw-edma: Initialize IRQ data before requesting IRQs dw_edma_irq_request() passes struct dw_edma_irq to request_irq() before dw_edma_channel_setup() fills the back pointer. A shared interrupt can therefore enter the handler with dw_irq->dw still NULL, leading to a NULL pointer dereference. Set the back pointer before installing each handler.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: wacom: validate report length in wacom_intuos_pro2_bt_irq wacom_intuos_pro2_bt_irq() receives the wire report length in `len` but never consults it before parsing. After the report-id gate it unconditionally calls wacom_intuos_pro2_bt_pen() and then, selected by features.type, a fixed chain of sub-parsers, none of which receive `len`: wacom_intuos_pro2_bt_pen(wacom); if (type == INTUOSP2_BT || type == INTUOSP2S_BT) { wacom_intuos_pro2_bt_touch(wacom); wacom_intuos_pro2_bt_pad(wacom); wacom_intuos_pro2_bt_battery(wacom); } else { wacom_intuos_gen3_bt_pad(wacom); wacom_intuos_gen3_bt_battery(wacom); } Each sub-parser dereferences wacom->data at fixed offsets. The furthest byte touched on each branch is: INTUOSP2_BT / INTUOSP2S_BT: wacom_intuos_pro2_bt_pad() reads data[285] (the touchring byte), so the report must be at least 286 bytes; INTUOSHT3_BT ("gen3"): wacom_intuos_gen3_bt_battery() reads data[45], so the report must be at least 46 bytes. features.type is selected from the VID/PID id_table entry and wacom_setup_device_quirks() force-registers the pen/pad/touch inputs for that type independent of the report descriptor, so a malicious or malfunctioning paired/spoofed Bluetooth peripheral can advertise that VID/PID and send an undersized report that still satisfies the data[0] == 0x80/0x81 gate. The driver then reads past the received report and forwards the bytes to userspace via evdev (MSC_SERIAL / ABS_MISC / ABS_WHEEL on the pen and pad input nodes), an out-of-bounds read with a concrete userspace read-back channel, and a true out-of-bounds read on transports whose backing buffer is sized to the (small) report descriptor rather than a fixed-size staging buffer. This is the same class of bug commit 2f1763f62909 ("HID: wacom: fix out-of-bounds read in wacom_intuos_bt_irq") already hardened in the sibling wacom_intuos_bt_irq(), which guards each report id against its minimum length before parsing. Guard wacom_intuos_pro2_bt_irq() the same way: before parsing, reject reports shorter than the furthest offset the selected branch actually dereferences, warn, and bail out. Because the whole pen/touch/pad/ battery chain runs unconditionally per branch, a single up-front check against the maximum offset (286 bytes for INTUOSP2_BT/INTUOSP2S_BT, 46 bytes for the gen3 branch) bounds every sub-parser. Returning 0 on a short report also skips those calls for the same malformed report, which is the safe, conservative behavior.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: rmi: fix OOB access with undersized RMI reports The hid-rmi driver sizes its writeReport/readReport buffer purely from the report descriptor supplied by the device, with no minimum bound: data->input_report_size = hid_report_len(input_report); data->output_report_size = hid_report_len(output_report); alloc_size = data->output_report_size + data->input_report_size; data->writeReport = devm_kzalloc(&hdev->dev, alloc_size, GFP_KERNEL); data->readReport = data->writeReport + data->output_report_size; but then reads and writes fixed offsets into it. A device declaring a 1-byte output and a 1-byte input report makes hid_report_len() return 2 for each, so alloc_size is 4, while rmi_set_page() -- reached unconditionally at probe time through rmi_input_configured() -- stores writeReport[4] and rmi_hid_read_block() stores writeReport[0..5]. Since readReport lives at writeReport + output_report_size, those stores also corrupt the window the next reply is parsed out of. The read path is worse: the copy length comes from readReport[1], which the device fills in and can be up to 255, and the copy starts at &readReport[2] with no regard for input_report_size, so it runs past the end of the allocation into adjacent slab objects. This does not even need a lying device -- rmi_f01_probe() issues a fixed 21-byte register read, so any device declaring an input report smaller than 23 bytes reads out of bounds even when it answers truthfully. Those bytes become the register values the RMI core acts on: rmi_f01_probe() prints them to the kernel log as the product id and exports them through the mode 0444 sysfs attribute of the same name, and rmi_driver_set_irq_bits() sends them back to the device as the interrupt mask, so an undersized report descriptor leaks heap contents both to unprivileged userspace and to the device itself. The write path has no bound either: rmi_hid_write_block() copies an unbounded len to &writeReport[4], and the largest caller a device can drive at probe time is rmi_driver_set_irq_bits(), whose length is derived from the interrupt source counts the device declares in its Page Description Table. Finally, the read loop cannot terminate on a zero-length reply: such a reply copies nothing and advances neither bytes_read nor bytes_needed, and because a reply did arrive the one second wait_event_timeout() does not fire either, so a device answering 0 forever keeps the loop running inside the probe worker with page_mutex held. khungtaskd does not notice, because every reply wakes the task. Reject reports too small for what the driver builds -- 6 output bytes for the write reports and 3 input bytes for the read handshake -- at probe time, clamp the write and the read copy to the report sizes the device declared, and treat a zero-length reply as an error. A device refused this way is started as an ordinary HID device, like one that does not carry the RMI report ids at all. RMI_DEVICE must not be left set in device_flags on that path, because rmi_input_configured() would then run the RMI setup and reach rmi_set_page(), which writes the writeReport buffer the refusal just skipped allocating. The bit can arrive set: rmi_probe() copies id->driver_data into device_flags before the report checks, and a bind through the new_id sysfs attribute can supply driver_data with RMI_DEVICE (BIT(0)) set. Strip the bit where driver_data is copied, so RMI_DEVICE keeps meaning exactly "this probe validated the reports"; the three jumps to start that predate this patch are covered as well. The error path also clears RMI_READ_DATA_PENDING on its way out, because that flag is what the wait at the top of the loop tests: leaving it set would make every later wait_event_timeout() return immediately on the stale reply and kill the read path for the rest of the device's life. Clamping does not regress working hardware: the read loop already handles ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xhci: fix lost bounce buffers on TDs spanning several ring segments When a TD reaches a link TRB with data that is not aligned to the endpoint's wMaxPacketSize, xhci_align_td() stages the unalignable tail through the bounce buffer of the ring segment holding that link TRB. xhci_unmap_td_bounce_buffer() later unmaps it and, for IN transfers, copies the data back into the URB's buffer. The enqueue path records the segment that was bounced in td->bounce_seg, under the assumption that a TD never spans more than two ring segments. That assumption does not hold: a TD large enough to span three or more segments crosses several link TRBs and can be bounced at each of them. Only the last one survives in td->bounce_seg, so every earlier bounce buffer is neither copied back nor DMA unmapped. The URB still completes with actual_length equal to the requested length and no error, so the transfer looks successful while a wMaxPacketSize sized hole in the destination buffer silently keeps its previous contents. It also leaks a DMA mapping per dropped bounce. Any sufficiently large and fragmented bulk transfer can hit this. It was found with a USB mass storage device behind xHCI backing a dm-verity target with 512 byte hash blocks, where the stale data is detected rather than silently consumed. The device enumerates as SuperSpeed, so wMaxPacketSize is 1024, while dm-bufio issues one 512 byte bio per hash block. verity_prefetch_io() makes the block layer merge hundreds of them into a single request of up to 512 scatterlist entries of 512 bytes each. At 256 TRBs per ring segment such a TD spans three segments, and every segment boundary falls on an odd multiple of 512, i.e. unaligned to wMaxPacketSize. dm-bufio then caches a hash block holding stale data and dm-verity declares the metadata block corrupted: device-mapper: verity: 8:2: metadata block 10850 is corrupted A reproducer running this under qemu is available at https://github.com/baloo/xhci-verity The bounce state (bounce_buf, bounce_dma, bounce_len, bounce_offs) already lives on the ring segment, so there is nothing extra to track. Keep recording the last bounced segment in td->bounce_seg and, on completion, walk the segments from td->start_seg up to it, unmapping every segment that still has a pending bounce. Stopping at td->bounce_seg rather than td->end_seg matters: a bounce implies the TD continues past that segment's link TRB, so bounce_seg is always strictly before end_seg, and a later TD may already have started in end_seg and been bounced there. Walking that far would copy a foreign bounce buffer into this URB and unmap it twice. It also keeps the walk correct if a TD ever wraps the whole ring so that end_seg == start_seg. [mn: Add ring->num_segs check to prevent unlikely infinite for loop.]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in rtw_action_frame_parse() rtw_action_frame_parse() takes a frame_len parameter but never actually checks it before indexing into the frame body: const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr); ... c = frame_body[0]; ... a = frame_body[1]; frame_body already points 24 bytes (sizeof(struct ieee80211_hdr_3addr)) into frame, so reading frame_body[0] and frame_body[1] requires frame_len >= 26. A management action frame shorter than that (e.g. exactly 24 bytes, the minimum a malicious peer can send) causes a 1-2 byte out-of-bounds read. This is reachable from rtw_cfg80211_monitor_if_xmit_entry() and cfg80211_rtw_mgmt_tx() in ioctl_cfg80211.c, both of which pass attacker/user-influenced frame buffers and lengths straight through. Add the missing length check before frame_body is dereferenced.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read / stack overflow in rtw_get_wps_attr() rtw_get_wps_attr() walks WPS attributes inside a WPS IE taken from a wireless management frame. For each candidate attribute it only checks that the fixed 4-byte attribute header (2-byte ID + 2-byte length) fits inside the IE: if (attr_ptr + 4 > wps_ie + wps_ielen) break; u16 attr_id = get_unaligned_be16(attr_ptr); u16 attr_data_len = get_unaligned_be16(attr_ptr + 2); u16 attr_len = attr_data_len + 4; attr_data_len (and therefore attr_len) is read directly from the wire and is never checked against the remaining bytes in the IE before being used as the size of: memcpy(buf_attr, attr_ptr, attr_len); Since attr_len is fully attacker controlled (0 to 65535+4), this is both a heap OOB read of wps_ie, and, more seriously, a stack buffer overflow at several call sites where buf_attr is a single-byte stack variable, e.g. rtw_get_wps_attr_content()'s callers passing WPS_ATTR_SELECTED_REGISTRAR into a stack "u8 sr"/"u8 selected_registrar" (drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c, drivers/staging/rtl8723bs/core/rtw_mlme_ext.c). A crafted WPS IE in a beacon or probe response processed during scanning can therefore smash the stack of the parsing thread. rtw_get_wps_attr_content() itself has no independent length check and simply trusts the attr_len it gets back from rtw_get_wps_attr(), so fixing the bound here also fixes that caller. The "attr_ptr + 4 > wps_ie + wps_ielen" header check above was added by commit 1463ca3ec6601 ("staging: rtl8723bs: fix OOB reads in rtw_get_sec_ie(), rtw_get_wapi_ie(), and rtw_get_wps_attr()"), which bounded the fixed header but never extended the check to cover the variable-length attribute data that follows it. Add that missing check before attr_len is used as a memcpy() length or accepted as a match.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: fix null pointer dereference in usb_put_function_instance() usb_put_function_instance() attempts to dereference fd inside fi struct to get mod in uvc_alloc_inst() error path. However, fd is not allocated until later in try_get_usb_function_instance() after allocating fi in uvc_alloc_inst() and thus guranteed to be null in error path. Fix this by adding a null check for fi->fd that returns if fd is null.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: gadget: fix NULL pointer dereference in gadget_dev_ioctl() gadget_dev_ioctl() reads dev->gadget before acquiring dev->lock, but dev->state is checked after acquiring the lock. Therefore a concurrent bind can change the device state between these operations, which can leave ioctl with a stale NULL gadget pointer and causing a NULL pointer dereference at gadget->ops->ioctl. Read dev->gadget while holding dev->lock so that the gadget pointer and device state are sampled consistently.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_midi: initialize work in f_midi_alloc() f_midi_alloc initializes free_ref to 1 and it can only be incremented when a sound card is registered via f_midi_register_card(). f_midi_register_card() is only called in f_midi_bind() which actually performs INIT_WORK. If f_midi_bind() is never run, work is not initialized and the if condition in f_midi_free becomes true, this results in a warning later in __flush_work as work->func = 0. Fix this by moving INIT_WORK from f_midi_bind() to f_midi_alloc().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: displayport: Fix OOB altmode array index The UCSI displayport driver indexes the connector's port altmode array with the GET_CURRENT_CAM response after checking it is not 0xff. The port altmode array is UCSI_MAX_ALTMODES elements long. If the PPM returns an invalid GET_CURRENT_CAM response above UCSI_MAX_ALTMODES and not equal to 0xff, the kernel may crash with an array index OOB error. Update the UCSI displayport driver to verify the current cam is less than UCSI_MAX_ALTMODES before accessing the port altmode array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: clear forceRM when issuing EndTransfer The forceRM bit of the DEPCMD register controls the behavior of the EndTransfer command used to stop an active transfer. Older DWC3 programming guide revisions recommended setting forceRM=1 when issuing EndTransfer. Newer programming guide revisions recommend issuing EndTransfer with forceRM cleared. With forceRM=1 on DWC_usb31 v2.00a and v2.10a controllers, a transfer aborted through the ep_dequeue path was observed to remain active after EndTransfer completion. A subsequent StartTransfer issued on the same endpoint triggered writes associated with the aborted transfer. This resulted in an SMMU fault because the transfer buffer had already been unmapped during EndTransfer command-completion cleanup. Using forceRM=0 eliminates the issue. Although older DWC3 programming guide revisions recommended setting forceRM=1, no issues are known from using forceRM=0. Clear forceRM when issuing EndTransfer to provide consistent EndTransfer behavior and align with newer programming guide recommendations.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb-storage: ene_ub6250: fix race between scan work and probe ene_ub6250_probe() calls usb_stor_probe2(), which starts the usb-storage infrastructure and schedules the delayed scan work. The driver then calls ene_get_card_type(), which sends an ENE command through ene_send_scsi_cmd() and the usb-storage bulk transfer helpers. Both the delayed scan work, through usb_stor_Bulk_max_lun(), and ene_get_card_type() use us->current_urb. The scan work serializes this access with us->dev_mutex, but the ENE card-type probe does not. If the scan work runs while ene_get_card_type() is still using us->current_urb, usb_submit_urb() warns that the URB is already active. Serialize ene_get_card_type() with us->dev_mutex, matching the locking used by the scan path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: usbtv: keep device alive while ALSA card exists The ALSA PCM callbacks store the driver state in pcm->private_data. An open PCM file can outlive USB disconnect because usbtv_audio_free() uses snd_card_free_when_closed(). The disconnect path can then drop the V4L2 device reference and free struct usbtv before ALSA releases the substream, so a later close dereferences freed memory in snd_usbtv_pcm_close(). Take a V4L2 device reference for the ALSA card and drop it from the card private_free callback. This keeps struct usbtv valid until ALSA has closed the remaining files and freed the card.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output() The snd_usbmidi_us122l_output() picks a count of 2 on anything slower than high speed and never relates it to ep->max_transfer. The URB buffer holds exactly max_transfer bytes, so a device declaring a one byte bulk endpoint takes two bytes from snd_rawmidi_transmit(), and the memset that pads the rest computes 1 - 2 in int and wraps to SIZE_MAX. Only 0x800e and 0x800f are pinned to nine bytes. The US-122MKII at 0x0644:0x8021 falls to the default and takes usb_maxpacket(), which the USB core only clamps downward. The akai and novation output ops in this file were given the same guard recently. Do the same here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: image: mdc800: change kmalloc() to kzalloc() Change the kmalloc() calls in usb_mdc800_init() for irq_urb_buffer and download_urb_buffer to kzalloc(), avoiding potential stack leaks if a shorter message is received in mdc800_usb_irq() and mdc800_usb_download_notify()


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: fix division by zero in get_estimated_bw() get_estimated_bw() divides by link->dpia_bw_alloc_config.bw_granularity, which is zeroed by reset_bw_alloc_struct() and only populated once DP_TUNNELING_BW_ALLOC_CAP_CHANGED has been handled. link_dp_dpia_handle_bw_alloc_status(), the DPCD interrupt handler, calls get_estimated_bw() whenever DP_TUNNELING_ESTIMATED_BW_CHANGED is set, independently of whether DP_TUNNELING_BW_ALLOC_CAP_CHANGED has ever fired for that link. A connected USB4/DPIA tunneling device that reports an estimated-bandwidth change before ever reporting a capability change drives a division by zero in this IRQ path. link_dpia_send_bw_alloc_request() already guards the same bw_granularity division; add the identical guard here rather than introducing a new pattern. (cherry picked from commit f2a961457c33dc34223aad5c9e8971de34a4eed3)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ceph: properly decrypt filenames in vmalloc() buffers The fscrypt subsystem uses the scatterlist crypto API, inheriting its requirement that any buffers are in the linear mapping region. However, the messenger client uses kvmalloc() to create buffers for messages, which will occasionally place those buffers in the vmalloc() region when physical memory fragmentation doesn't permit a large enough kmalloc(). The various callers of ceph_fname_to_usr() directly pass (slices of) raw messages from the MDS without considering that the messages may be in vmalloc() buffers, resulting in oopses especially on non-x86 platforms (see 'Closes:' for more details and a reproducer). Make ceph_fname_to_usr() explicitly tolerant of vmalloc()-allocated fname->ctext, fname->name, and/or oname->name buffers, using `tname` (which, when non-null, must be a linear address; when null, is briefly allocated as necessary) as a bounce buffer to avoid passing any inappropriate addresses to fscrypt_fname_disk_to_usr(). Additionally change parse_reply_info_readdir() -- the only function to supply its own `tname` -- to follow the new "tname must never come from vmalloc()" rule by passing NULL when the message is not in the linear region. Though this causes a per-dentry kmalloc()+kfree(), this overhead exists only when processing the minority of messages that spill into vmalloc(). My (crude) testing puts this at only about 1 in 8,000 readdir messages. Still, if the overhead proves unreasonable in the future, it is easy enough to mitigate: a future change could allocate a bounce buffer in parse_reply_info_readdir() and use that as `tname` instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix Use-After-Free in AIO error path In ffs_epfile_write_iter() and ffs_epfile_read_iter(), when ffs_epfile_io() fails with an error other than -EIOCBQUEUED, the io_data structure (`p`) is freed. However, for AIO operations, the kiocb cancel function was already armed and kiocb->private was set to `p`. If a concurrent cancel operation (such as sys_io_cancel()) executes after ffs_epfile_io() fails but before the function frees `p`, a Use-After-Free can occur when the cancellation handler accesses the freed pointer. To securely fix this race condition, we must properly un-arm the cancellation. Invoking `kiocb->ki_complete()` does exactly this by acquiring `ctx->ctx_lock` and safely removing the kiocb from the active sequence. In doing so, it ensures that a parallel io_cancel can no longer discover the kiocb, effectively closing the race window. We then return -EIOCBQUEUED to notify the VFS layer that the kiocb has been consumed and it should avoid attempting to complete the request again or triggering subsequent completion handlers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: gadget: ffs: fix mm lifetime handling io_data stores a pointer to the submitting task's mm_struct, but does not currently hold a reference to it while async requests are pending. This can result in a use-after-free if the task exits before completion handling finishes. Take a reference with mmgrab() when queuing the read request and release it with mmdrop() on request completion.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: atm: usbatm: fix invalid ci_range initialization syzbot reported a shift-out-of-bounds in __vcc_connect(): UBSAN: shift-out-of-bounds in net/atm/common.c:382:32 shift exponent -1 is negative CPU: 0 UID: 0 PID: 5987 Comm: syz.0.18 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 08/05/2026 Call Trace: <TASK> dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 ubsan_epilogue+0xa/0x30 lib/ubsan.c:233 __ubsan_handle_shift_out_of_bounds+0x36d/0x400 lib/ubsan.c:494 __vcc_connect+0x14b4/0x19c0 net/atm/common.c:382 vcc_connect+0x328/0x8f0 net/atm/common.c:498 pvc_bind+0x272/0x380 net/atm/pvc.c:52 __sys_bind+0x2e3/0x410 net/socket.c:1976 __x64_sys_bind+0x7a/0x90 net/socket.c:1979 ... ATM device ci_range fields (vpi_bits and vci_bits) represent the number of bits supported for VPI and VCI addressing on the device. net/atm/common.c directly uses these fields as bit shift counts: vpi >> dev->ci_range.vpi_bits vci >> dev->ci_range.vci_bits 1 << vcc->dev->ci_range.vpi_bits 1 << vcc->dev->ci_range.vci_bits usbatm_atm_init() sets ci_range.vpi_bits and ci_range.vci_bits to ATM_CI_MAX (-1), which is defined in <uapi/linux/atmdev.h> as a sentinel value for userspace ATM_SETCIRANGE requests, not a valid bit count. Shifting by -1 is undefined behavior and triggers UBSAN warnings. ATM UNI cell headers allow up to 8 bits for VPI (0..255) and 16 bits for VCI (0..65535). Initialize vpi_bits to 8 and vci_bits to 16, as done by solos-pci.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: control: Don't add invalid kcontrols to LED layer The kcontrol LED state layer tries to track the all associated kcontrol elements with naive assumptions that they are readable. But one can create a write-only element that has no get callback (even a user element can do it), and this may lead to a NULL dereference at the call chain of snd_ctl_led_notify(), as found by syzkaller. For avoiding the Oops, add a sanity check of the kcontrol's info and get callbacks, and just skip the invalid kcontrols before assigning the kctl to the LED layer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: dapm: Fix off-by-one check on the second enum channel The snd_soc_dapm_put_enum_double() rejects item[0] once it reaches e->items, but it lets item[1] be equal to it. Both go on to snd_soc_enum_item_to_val(), which indexes e->values with no bound of its own, so an enum with a value table reads one element past the end. The indexing arrived with the MUX consolidation, which relaxed the item[1] check in the same hunk. The value MUX handler it deleted used >= there, and the snd_soc_put_enum_double() in soc-ops.c still does. Only adav80x pairs a value table with two shifts, and its second channel looks accidental, but the control does report two values. Writing three into it reads off the end of adav80x_mux_values. The core catches that only under CONFIG_SND_CTL_INPUT_VALIDATION, which defaults off.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tpm: st33zp24: Return zero on status read failure st33zp24_status() ignores the result of the transport read and returns data even when no byte was received. The I2C transport, for example, skips i2c_master_recv() when the register-select write is short or fails, leaving data uninitialized. The resulting stack value can be interpreted as TPM_STS flags and let status checks complete spuriously. The status callback cannot propagate a transport error. Return zero unless recv() reports exactly one byte. With no status bits set, callers retry or take their existing timeout or error path instead of acting on an invalid status value. This issue was found by a static analysis checker and confirmed by manual source review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: Cap MSI-X vectors to the device MSI-X table size mana_gd_query_max_resources() sizes gc->num_msix_usable from resp.max_msix and the CPU count, but never from the device MSI-X table. On a 1792 vCPU M-series VM that yields 1793 while the table has 1024 entries, and mana_gd_setup_remaining_irqs() then walks indices 1..1792, running off the end of the region mapped by msix_map_region(): BUG: unable to handle page fault for address: ff8e347f8b99800c RIP: 0010:msix_prepare_msi_desc+0x7a/0x90 RAX: 0000000000004000 RBX: ff4330cb164ea780 RCX: ff8e347f8b998000 Call Trace: <TASK> __msi_domain_alloc_irqs+0x13a/0x440 msi_domain_alloc_irq_at+0x149/0x1b0 mana_gd_setup+0x351/0x890 mana_gd_probe+0x274/0x390 </TASK> RAX is index 1024 * PCI_MSIX_ENTRY_SIZE, one entry past the table. msi_insert_desc() does range check the index, but only against the MSI domain hwsize, which matches the table only for devices on an MSI parent domain. With a global PCI/MSI domain hwsize is MSI_XA_DOMAIN_SIZE, so nothing bounds the request. Cap num_msix_usable with pci_msix_vec_count().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: do not leak an hci_conn when a second LE connect is rejected create_le_conn_complete() decides whether the failed connection is still pending by comparing it against hci_lookup_le_connect(), which returns the first LE connection in BT_CONNECT. That is the same connection only while at most one is pending. Two can be pending. Connections created on the passive scan path sit in BT_CONNECT with HCI_CONN_SCANNING set and are invisible to hci_lookup_le_connect() until hci_le_create_conn_sync() clears the flag when their command is issued, so the -EBUSY guard in hci_connect_le() does not prevent a second connection from being queued while the first is still on the scan path. Whenever two connections are in BT_CONNECT at once, the lookup may return one connection while create_le_conn_complete() is reporting the failure of the other; the early exit then drops the error and hci_conn_failed() never runs on the connection that failed. The controller also rejects a second HCI_OP_LE_CREATE_CONN issued while another connection creation is still outstanding, per Core Spec Vol 4, Part E. The spec calls for Command Disallowed there; the bcm43438 observed here answers with an LMP/LL error code instead, which bt_to_errno() maps to the -EPROTO (-71) in the log below. The leaked connection stays in BT_CONNECT forever, and because hci_connect_le() refuses to dial while hci_lookup_le_connect() finds anything, every subsequent attempt to reach any peer fails with -EBUSY and no command reaches the controller at all. Seen on a bcm43438 with two BLE peers polled on the same interval (state 5 is BT_CONNECT; both handles are UNSET ones, allocated from the ida above HCI_CONN_HANDLE_MAX): Bluetooth: hci1: Opcode 0x2013 failed: -71 # hcitool con < LE 14:9C:EF:03:68:81 handle 3840 state 5 lm CENTRAL < LE C4:D3:6A:8C:B5:38 handle 3841 state 5 lm CENTRAL A btmon capture across the next ten minutes of connect attempts contains no HCI_OP_LE_CREATE_CONN at all; outgoing LE connections do not recover until the adapter is reset. With this change the same scenario fails the rejected connection cleanly and further connects to both peers go through. Ask about the connection itself instead of about the device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtksdio: Fix out-of-bounds DMA read in the TX path btmtksdio_tx_packet() rounds the transfer size up to the SDIO block size of 256 bytes, but hands the host controller the SKB buffer as is: err = sdio_writesb(bdev->func, MTK_REG_CTDR, skb->data, round_up(skb->len, MTK_SDIO_BLOCK_SIZE)); Only skb->len bytes hold packet data, so the controller reads up to 255 bytes of uninitialised memory and sends it to the device over the SDIO bus. Depending on how much tailroom slack the SKB allocation happens to carry, that read can also extend past the end of the buffer. Compute the padded length up front, ensure the SKB has tailroom for it, and zero-fill the padding with skb_put_zero(). skb->len then covers the padding, so sdio_writesb() no longer needs to round up. byte_tx keeps counting the header and the payload only, and the error path restores the SKB so that the caller can requeue it. Writing behind skb->tail is only safe because the driver owns the buffer, which "Bluetooth: btmtksdio: Take exclusive ownership of the SKB before TX" ensures.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: reject accept queue add unless BT_LISTEN New sk should not be added to parent socket accept queue after last l2cap_sock_cleanup_listen() has run in l2cap_sock_teardown_cb() and state set to BT_CLOSED, as that can result to UAF on dereferencing the dangling parent reference. l2cap_sock_new_connection_cb() may race with parent l2cap_chan teardown, due to chan->state accessed without consistent locking: [Task 1] [Task 2] l2cap_sock_release(parent) l2cap_connect l2cap_sock_shutdown pchan = l2cap_global_chan_by_psm l2cap_chan_lock(pchan) l2cap_chan_close l2cap_sock_teardown_cb pchan->state = BT_CLOSED l2cap_chan_unlock(pchan) ------> l2cap_chan_lock(pchan) l2cap_new_connection l2cap_sock_new_connection_cb l2cap_chan_lock(pchan) <-------- l2cap_chan_unlock(pchan) l2cap_sock_kill(parent) /* bt_sk(sk)->parent dangling */ Fix by adding check for sk_state == BT_LISTEN after acquiring sk lock in l2cap_sock_new_connection_cb(). Add lock_sock() around sk_state writes where missing, to avoid data races. Although the data races on pchan->state should be fixed too, this defensive sk_state check probably makes sense in any case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: access chan->conn safely in get/setsockopt Since commit b66774b48dd9 ("Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref") l2cap_chan::conn has held reference and remains non-NULL also after the corresponding hci_conn is deleted. In this state accessing various fields eg. hci_conn::hdev is invalid, which leads to KASAN crash in l2cap_sock_setsockopt() access of conn->hcon->hdev. Check l2cap_chan::conn.hcon corresponds to an alive hci_conn before trying to use it in l2cap_sock.c. Hold l2cap_chan_lock() in getsockopt/setsockopt to ensure it stays alive, and to avoid data races in l2cap_chan fields.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: ice1712: Fix the card leak at probe error with the auto-cleanup snd_ice1712_probe() performs multiple initialization steps after snd_card_new(), but directly returns on failures from later steps without releasing the ALSA card, causing resource leaks when probing fails. Use snd_devm_card_new() together with scope-based cleanup via __free(snd_card_unref), and clear the card pointer after successful registration to keep it alive.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: pcf8563: fix clock provider leak on unbind pcf8563_clkout_register_clk() registers the CLKOUT clock provider with of_clk_add_provider(), but nothing ever unwinds it: there is no of_clk_del_provider() call and the driver has no remove callback. Each of_clk_add_provider() allocates a struct of_clk_provider, takes a reference on the OF node and adds an entry to the global of_clk_providers list, none of which is released when the device is unbound. Every bind/unbind (or module reload) therefore leaks a provider structure and an of_node reference. The clock itself is already device-managed (devm_clk_register()); only the provider registration was not. Use devm_of_clk_add_hw_provider() so the provider is removed automatically on unbind. Tie it to the parent i2c device, whose OF node carries the #clock-cells and clock-output-names properties (the RTC class device has no OF node of its own).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vdpa/mlx5: fix wrong list iterated in add_direct_chain error path In add_direct_chain(), newly allocated direct MR entries are added to the local list 'tmp', which is spliced into mr->head only on success. On the error path, the cleanup loop was incorrectly iterating over mr->head instead of tmp. Fix by iterating over 'tmp' in the err_alloc cleanup path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd/hsmp: Reject negative power cap writes in hwmon hsmp_hwmon_write() takes the user-supplied hwmon value as a signed long and assigns "val / MICROWATT_PER_MILLIWATT" to msg.args[0], which is a __u32. MICROWATT_PER_MILLIWATT is an unsigned long, so a negative write to power1_cap (e.g. "echo -1 > power1_cap") is first converted to a huge unsigned value by the division and then stored into the u32 argument. As a result a nonsensical, multi-gigawatt socket power limit is sent to the SMU via HSMP_SET_SOCKET_POWER_LIMIT instead of the write being rejected. Reject negative values with -EINVAL before the conversion. Tested with HSMP enabled: CAP=$(dirname $(grep -l amd_hsmp_hwmon \ /sys/class/hwmon/hwmon*/name | head -1))/power1_cap # negative write echo -1000000 > $CAP ; echo "ret=$?" # valid positive write must still work echo 400000000 > $CAP ; echo "ret=$?" Before: # echo -1000000 > $CAP ; echo "ret=$?" ret=0 <- accepted; bogus limit sent to SMU # echo 400000000 > $CAP ; echo "ret=$?" ret=0 After: # echo -1000000 > $CAP ; echo "ret=$?" bash: echo: write error: Invalid argument ret=1 <- rejected with -EINVAL # echo 400000000 > $CAP ; echo "ret=$?" ret=0 <- valid write still works


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: hp-bioscfg: fix password encoding bounds check The password PSWD_ENCODINGS parser reads password_obj[elem + pos_values] while copying the supported password encodings from the ACPI package. The outer loop only guarantees that elem is within password_obj_count. The encoding count is bounded by MAX_ENCODINGS_SIZE, but that does not guarantee that the ACPI package contains enough entries for all elem + pos_values accesses. A malformed package can therefore declare a non-zero encoding count without providing enough string objects, causing the parser to read past the ACPI package array and pass an out-of-bounds string pointer and length to hp_convert_hexstr_to_str(). Add the same computed-index bounds check used by the other offset-based package parsing loops before reading password_obj[elem + pos_values].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: NFSv4: Fix incorrect argument passed to nfs4_delete_lease() in nfs4_add_lease() When nfs4_add_lease() races with a delegation return, it calls nfs4_delete_lease() to clean up. Previously, it passed priv, which can legitimately be NULL. Passing a NULL priv eventually leads to a NULL pointer dereference in generic_setlease().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: scan: fix bus ID cleanup on device_add() failures When device_add() fails after acpi_device_set_name() has allocated an instance ID and a new acpi_device_bus_id has been linked into acpi_bus_id_list, the rollback path only removes wakeup_list and detaches the ACPI handle data. That leaves the bus-ID bookkeeping behind and keeps the allocated instance number consumed. Move the bus-ID cleanup and wakeup-list removal into a single helper. Use it from both the normal device teardown path and the device_add() rollback path. The wakeup list node is initialized before registration, so it can be deleted without checking whether the device is wakeup- capable like in the original teardown path. [ rjw: Rename acpi_device_del_list() to acpi_device_cleanup() ] [ rjw: Subject and changelog edits ]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: validate topology volume range before allocation SOF treats the topology mixer min and max values as non-negative indices into its volume table. It stores them in signed fields, allocates max + 1 entries through an int argument, and later indexes the table with the stored range. An inverted range is invalid, while a maximum at or above INT_MAX cannot be represented safely after the increment or in the signed fields. Validate the complete range before storing it or allocating the table.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: midi: Serialize input teardown with event_input snd_midi_input_event() must not be running while a rawmidi substream is closing, since this can lead to the trigger state becoming out-of-step through this sequence in snd_rawmidi_input_trigger(): snd_rawmidi_input_trigger(up=0) snd_midi_input_event() -> snd_rawmidi_kernel_read() -> snd_rawmidi_input_trigger(up=1) -> cancel_work_sync() which ends with the underlying device being active unexpectedly. When this is called from close_substream(), further input can re-trigger the input event leaving it running after rawmidi_release_priv() has set rfile->rmidi to NULL which leads to: Unable to handle kernel NULL pointer dereference at virtual address 00000000000000b0 Call trace: snd_midi_input_event+0x3c/0x134 [snd_seq_midi] (P) snd_rawmidi_input_event_work+0x1c/0x2c process_one_work+0x150/0x3a4 worker_thread+0x190/0x318 Apply a similar approach to commit ef7607ab1c8ad ("ALSA: seq: midi: Serialize output teardown with event_input") which fixed the same issue in the output direction, but updated to use RCU following Takashi Iwai's proposed follow-on patch [1]. With this change in place, midisynth_unsubscribe() clears the input file so snd_midi_input_event() will not re-trigger the stream and will be quiesced by the cancel_work_sync() in snd_rawmidi_input_trigger(). [1] https://lore.kernel.org/linux-sound/20260813144224.753399-1-tiwai@suse.de/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: xilinx: formatter_pcm: fix stream_data leak on open error In xlnx_formatter_pcm_open(), stream_data is allocated and adata->play_stream or adata->capture_stream is assigned early. If a later step, such as snd_pcm_hw_constraint_step() or snd_pcm_hw_constraint_integer(), fails, the function returns the error immediately. ALSA does not call the close callback when open fails, so stream_data is leaked and the stream pointer is left dangling, pointing to a substream that ALSA frees. A later interrupt would then call snd_pcm_period_elapsed() on the freed substream. Free stream_data and clear the stream pointer on the error paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Don't leak the extension cell pointer in the bounce payload The bounce_error_event() embeds the failed event in the bounce payload by pointing data.ext.ptr at it. When that event is a queued variable-length event, its own data.ext.ptr holds the address of its first extension cell, put there by snd_seq_event_dup(). The payload goes out verbatim through snd_seq_expand_var_event(), so the address reaches userspace. That is the same address commit 705dd6dcbc0e ("ALSA: seq: Clear variable event pointer on read") removed from the event header. The read path still clears it there, just above the call that expands the payload. Embed a sanitised copy instead, treated exactly as snd_seq_read() treats the header. A stack copy is enough because delivery is synchronous and snd_seq_event_dup() copies before returning. An unprivileged client reaches this by setting SNDRV_SEQ_FILTER_BOUNCE, queueing a variable-length event to a port that does not exist and reading the bounce back. Eight bytes on 64-bit, from its own pool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix use of uninitialized memory in CORE_INIT_RSP parsing nci_core_init_rsp_packet_v1() and nci_core_init_rsp_packet_v2() parse the CORE_INIT_RSP packet without validating that the skb contains enough data. A malformed response (e.g. injected via virtual_ncidev) can declare a large num_supported_rf_interfaces while providing insufficient data, causing reads of uninitialized slab memory. This is later used in nci_init_complete_req(), triggering a KMSAN uninit-value warning. Add skb length checks before accessing packet fields: - Validate the skb has at least 1 byte for the status field. - Validate the skb can hold the fixed-size header before parsing. - In v2, bounds-check each variable-length rf_interface entry and its extension parameters within the parsing loop. - In v1, verify the skb is large enough for both the variable-length rf_interfaces array and the trailing rsp_2 structure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: hold a reference to the request skb during send_frame __pn533_send_async() publishes the command and then calls dev->phy_ops->send_frame(). Once dev->cmd is set, an incoming frame can be matched to this command: the I2C threaded IRQ runs pn533_recv_frame(), which queues cmd_complete_work, and pn533_send_async_complete() frees cmd->req with consume_skb(). On the I2C transport, pn533_i2c_send_frame() still dereferences the same skb after i2c_master_send() returns, so a completion that races the send can free the skb while the transport is still using it. The request skb is owned by the command object and may be freed by command completion at any time after dev->cmd is published, so the transport send path must not assume it stays alive. Hold a temporary reference to the request skb across the send_frame() call so the transport always sees a live skb even if completion races the send. Add a pn533_send_cmd_frame() helper and use it from all three send paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: bound SNL TLV parsing to the skb and add length checks nfc_llcp_recv_snl() walked the SNL TLV list using a u16 offset/length pair derived from skb->len, without bounding reads to the actual skb data. Three problems followed: - For a short frame (skb->len < LLCP_HEADER_SIZE), tlv_len underflowed. - The per-TLV header (type, length) was read without checking that two bytes remained. - A declared TLV length could run past the end of the buffer, and an SDREQ with length == 0 made "service_name_len = length - 1" underflow (size_t), driving an out-of-bounds read in the following strncmp() / nfc_llcp_sock_from_sn(). The SDRES case likewise read tlv[2]/tlv[3] without a length check. A nearby NFC device can reach this without authentication; LLCP link activation happens automatically after NFC-DEP. Walk the TLV list by pointer, bounded by skb_tail_pointer() over the linear skb data, and validate each TLV declared length before use. Add explicit length checks for SDREQ (>= 1) and SDRES (exactly 2). Found by 0sec automated security-research tooling (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: nci: fix double completion race in nci_data_exchange_complete nci_close_device() and nci_rx_work can both call nci_data_exchange_complete() concurrently. After commit 4527025d440ce8 ("nfc: nci: fix circular locking dependency in nci_close_device") moved flush_workqueue(ndev->rx_wq) after mutex_unlock(&ndev->req_lock), rx_work is no longer serialized with the explicit completion call in the close path. Both callers read the non-NULL callback pointer and invoke rawsock_data_exchange_complete(), which calls sock_put() -- but only one sock_hold() was taken, so the second sock_put() underflows the refcount and frees the socket while it is still in use. Replace the bare clear_bit(NCI_DATA_EXCHANGE) with test_and_clear_bit() so that only the first caller proceeds to invoke the callback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: read llcp_sock->local under the socket lock in getsockopt nfc_llcp_getsockopt() read llcp_sock->local before lock_sock(sk) and then dereferenced the cached pointer inside the locked region. llcp_sock_bind() assigns and clears llcp_sock->local under the same socket lock, dropping the last reference on its error path. A getsockopt() racing an in-flight bind() can observe the pointer, block on lock_sock(), and then dereference a freed nfc_llcp_local once bind() has unwound. Move the llcp_sock->local read and the NULL check inside the lock_sock(sk) region so bind() cannot mutate or free the pointer between the load and the use.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: avoid userspace overflow on invalid optlen nfc_llcp_getsockopt() casts optval to (u32 __user *) for put_user(), so the kernel always stores 4 bytes regardless of the caller-supplied optlen. The existing min_t(u32, len, sizeof(u32)) only clamps the length reported back to userspace; it does not constrain the store. A call with optlen < 4 therefore writes past the user buffer, violating the getsockopt(2) contract for all five supported optnames. Reject any call with optlen < sizeof(u32) up front. 'len' is int, so a plain size comparison would promote a negative optlen to size_t and slip past the check; an explicit 'len < 0' test is added first to catch negative values before the size compare.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nvme/ioctl: check SUBMIT_IO with nvme_cmd_allowed() Unlike IO_CMD / IO64_CMD, NVME_IOCTL_SUBMIT_IO never calls nvme_cmd_allowed(). Unprivileged callers can thus issue I/O on a partition device or write through a read-only file descriptor. Pass flags and open_for_write through and reject disallowed commands with -EACCES.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: kyro: Validate overlay viewport coordinates The overlay viewport end coordinates are computed from the viewport origin and dimensions using 32-bit unsigned arithmetic. Large input values can cause these calculations to wrap around before the resulting coordinates are passed to SetOverlayViewPort(). SetOverlayViewPort() packs the viewport coordinates into 16-bit register fields. The X coordinates are additionally adjusted by +2 and +1 before being written. Validate the coordinate calculations for 32-bit wraparound and ensure that the adjusted coordinates fit within their 16-bit register fields before calling SetOverlayViewPort(). Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MSFT: validate evt_prefix_len against the response length read_supported_features() only checks that the response covers the fixed part of struct msft_rp_read_supported_features, which is 11 bytes: if (skb->len < sizeof(*rp)) { bt_dev_err(hdev, "MSFT supported features length mismatch"); goto failed; } evt_prefix[] is a flexible array member and rp->evt_prefix_len is an unvalidated u8 taken straight out of that response, so msft->evt_prefix = kmemdup(rp->evt_prefix, rp->evt_prefix_len, GFP_KERNEL); copies up to 255 bytes from a reply that may have carried none of them. What is copied is data the controller never sent, and it is then used to match incoming vendor events in msft_vendor_evt(). This is not an out-of-bounds access. An skb data allocation always has at least SKB_DATA_ALIGN(sizeof(struct skb_shared_info)) bytes past the payload, which is more than the 255 byte maximum, so the read stays inside the allocation and KASAN does not report it. It is still a read of bytes the host was never given, with the length fully controlled by the controller. Reject a response that is too short for the prefix it declares. Verified with an emulated controller over /dev/vhci on a KASAN kernel, with vhci made to advertise an MSFT opcode the way btintel, btqca, btmtk and btrtl do unconditionally. A reply of exactly 11 bytes declaring evt_prefix_len = 255 reaches kmemdup and copies 255 bytes ("skb->len=11 evt_prefix_len=255", with the copied buffer dumped); since the reply ends at the fixed part, all 255 come from past the end of the response. No KASAN report is produced, as expected from the allocation slack described above. With this patch the response is rejected with "MSFT event prefix length mismatch" and msft->evt_prefix is left unset.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: free the mesh send cancel command when it is cancelled mesh_send_cancel() queues the pending command with a NULL destroy callback, so it is only freed if send_cancel() runs. A cancelled entry is leaked, as _hci_cmd_sync_cancel_entry() does not release entry->data when there is no destroy callback, and hci_cmd_sync_clear() cancels every pending entry when the controller is unregistered. Nothing else reclaims it either: mgmt_pending_new() does not put the command on hdev->mgmt_pending. The leak also pins the socket reference taken by mgmt_pending_new(), so the mgmt socket is never released. Free the command from a destroy callback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: free the advertising instance on the failure and cancel paths adv_timeout_expire() hands a kmalloc()ed instance byte to hci_cmd_sync_queue() with a NULL destroy callback, and only adv_timeout_expire_sync() frees it. That leaks on two paths: - the return value is not checked, and hci_cmd_sync_queue() does not take ownership when it fails (-ENETDOWN, -ENODEV, -ENOMEM); - a cancelled entry is not released, as _hci_cmd_sync_cancel_entry() does not free entry->data when there is no destroy callback. hci_cmd_sync_clear() cancels every pending entry when the controller is unregistered. Free the buffer from a destroy callback, and in the caller when the entry could not be queued at all.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: virtio_bt: avoid OOB read of build info string The virtbt_setup_zephyr() sends the Zephyr vendor command 0xfc08 (Read Build Information) and hands the response to bt_dev_info() and hci_set_fw_info() as a "%s" string starting at skb->data + 1, without checking the length. A backend that answers with status only leaves that pointer past the end of the received data, so the walk reads adjacent slab memory until it meets a NUL. Those bytes reach the kernel log and the firmware-info debugfs file. To fix this, print the string with a bounded "%.*s" limited to skb->len - 1. A short or unterminated response then prints as much as arrived instead of failing setup. This mirrors commit dd068ef04412 ("Bluetooth: bpa10x: avoid OOB read of revision string in bpa10x_setup()"), which fixed the identical pattern.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: phy: qcom: snps-femto-v2: Fix possible NULL-deref on early runtime suspend Runtime PM must be enabled before creating the PHY, since phy_create() only enables runtime PM on the PHY device if it is already enabled on this parent device. However, the runtime PM callbacks dereference the hsphy instance, which is not yet ready, leaving a window where a suspend callback may trigger a NULL pointer dereference. Take a runtime PM usage reference with pm_runtime_get_noresume() before enabling runtime PM and release it once the PHY has been created, so that no runtime suspend can run before the PHY is ready. This also prevents a short window where an unnecessary runtime suspend can occur. Use the devres-managed version to ensure PM runtime is symmetrically disabled during driver removal for proper cleanup.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware_loader: do not queue completed sysfs fallback requests fw_load_sysfs_fallback() calls device_add() before adding the fw_priv to pending_fw_head. device_add() publishes the fallback loading interface, so a userspace helper which discovers the device by scanning sysfs can write 0 to the loading attribute and complete the request before it is queued as pending. In that interleaving firmware_loading_store() calls fw_state_done() while pending_list still points to itself, so it cannot remove an entry from pending_fw_head. The subsequent unconditional list_add() then queues an already-completed fw_priv. Once the request is released, pending_fw_head can retain a pointer to freed memory and the next fallback request can fault while validating the list. Only in-flight fallback requests need suspend or reboot abort handling. If the request is already DONE after device_add(), return success from the fallback path without sending another uevent, waiting again, or queueing it as pending. This preserves the invariant that pending_fw_head contains only active fallback requests.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Remove redundant VPD flash read in sysfs read path qla2x00_sysfs_read_vpd() called ha->isp_ops->read_optrom() a second time after releasing optrom_mutex. The repeated read is redundant and, unlike the first, runs without optrom_mutex held, exposing flash access to concurrent optrom operations. Drop the duplicate call.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/gfx6: Use PFP on the compute queues too On GFX6, the compute rings use the same CP path as the graphics ring. The only difference is that they don't support draw commands. (As opposed to GFX7 and newer which have a separate command parser that is called MEC for compute queues.) This means that we have to take into consideration that the PFP also exists on compute queues on GFX6: Use PFP for register writes on both graphics and compute queues. In the pipeline sync, use the PFP to wait for the previous fence (and not the ME) to prevent the PFP from starting to execute the next submission while the ME is still in the previous submission. After a VM flush, emit PFP_SYNC_ME on compute queues as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: phy: sunplus: fix error handling in sp_uphy_init() Fix the error paths of sp_uphy_init() to undo exactly what each stage did: return directly if clk_prepare_enable() fails, release only the clock if reset_control_deassert() fails, and jump to err_reset if update_disc_vol() fails so the clock and reset are not leaked.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/sun4i: crtc: Propagate layer initialization error sun4i_crtc_init() returns plain NULL when layer initialization fails, while all its other error paths return an error pointer. The only caller, sun4i_tcon_bind(), checks the result with IS_ERR() and happily continues with tcon->crtc set to NULL. sun4i_rgb_init() and sun4i_lvds_init() then dereference it in drm_crtc_mask(), which oopses. Return the error pointer instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/sun4i: tcon: Drop TCON TOP device reference of_find_device_by_node() takes a device reference. Drop it after mux configuration succeeds.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/omap: dsi: Do not copy isr table To be able to unregister stuff from isrs, the corresponding table was copied. Nobody seems to unregister stuff that way, so it does not help. But there are stack-allocated objects passed to these isrs giving chances of UAF of these objects if irqs are unregistered while they are handled, so better do not copy that table.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rapidio: clear mport->net when rio_add_net() fails rio_alloc_net() stores the newly allocated rio_net in mport->net before rio_scan_alloc_net() registers the device. If rio_add_net() fails, rio_scan_alloc_net() drops the device reference with put_device(), which releases the rio_net through the device release callback. However, mport->net is left pointing at the freed object. A later mport unregister path can then dereference the dangling mport->net pointer and may try to free the same rio_net again. Clear mport->net in the rio_add_net() failure path, matching the cleanup done for the destID table allocation failure path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tty: clear cdev pointer after cdev_add() failure tty_cdev_add() drops the cdev reference when cdev_add() fails, but leaves driver->cdevs[index] pointing to freed memory. tty_unregister_device() later passes that stale pointer to cdev_del(), causing a use-after-free. Clear the slot after dropping the reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tty: skip cdev_del() when no cdev is registered TTY device registration can fail before a cdev is allocated. Serial core keeps the port so setserial can still use it, and later removal passes the NULL cdev slot to cdev_del(), causing a NULL-pointer dereference. Only delete the cdev when the slot is not NULL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: core: clear freed pointers on uart_register_driver() failure uart_register_driver() leaves drv->state pointing to freed memory when tty_alloc_driver() fails. If tty_register_driver() fails, drv->tty_driver also retains a pointer after its reference is dropped. Drivers that use drv->state as an "already registered" flag can then skip registration on the next probe and pass the freed state to uart_add_one_port(). This issue was found with failslab on QEMU's raspi1ap board by failing registration and binding the PL011 port again. Clear both pointers on their failure paths, as uart_unregister_driver() already does.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: disconnect on CSA to channel 0 The refactor for the CSA parsing erroneously equates channel zero and no information present, leading it to ignore a CSA on an AP that advertises a switch to that (invalid) channel. This leads to not disconnecting, which we should. For Intel devices, this can lead to a firmware crash. Fix this by using an int type for the channel number as well as the opclass, and using a (negative) value that cannot be encoded in the element to indicate it's not present.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix P2P action frame handling without device vif Some P2P action frame paths assume the P2P device vif is always available. That is not true when userspace sends non-P2P public action frames through the primary interface, or when action-frame abort runs after the P2P device vif has not been created. Fall back to the primary vif when aborting an action frame without a P2P device vif, and guard P2P device saved IE access before using it for peer channel search.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump On WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT). On arm64 such a mapping is not Normal-cacheable, so unaligned accesses to it are not permitted. ath10k_msa_dump_memory() copies the region with a plain memcpy(), whose optimized __pi_memcpy_generic implementation issues wide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in ath10k_snoc_fw_crashed_dump() while collecting the devcoredump: Unable to handle kernel paging request ... FSC=0x21: alignment fault pc : __pi_memcpy_generic lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc] The Oops both leaves the firmware RAM dump buffer zeroed (no dump is captured) and crashes the kernel, which in turn breaks modem SSR recovery. Use memcpy_fromio(), which only performs accesses that are valid for such a device-memory mapping. The generic memcpy_fromio() implementation aligns the source before issuing word-sized reads and stores the destination with put_unaligned(), so it is also safe for the coherent DMA allocation used on the non-reserved-memory path. ath11k and ath12k use the same pattern when copying target memory into crash dumps, so call it unconditionally here too. The MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is needed; use __force to keep sparse happy. Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: release hif2 reference on probe IRQ failure The hif2 reference obtained by mt7915_pci_init_hif2() is only released on error paths that key off dev->hif2, which is not assigned until after the IRQ setup. If pci_alloc_irq_vectors() or the primary devm_request_irq() fails, the reference leaks. Drop it explicitly on those paths via mt7915_put_hif2().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: fix ext PHY use-after-free on register error path After mt7915_register_ext_phy() succeeded, a failure of the main PHY mt7915_init_debugfs() or mt7915_coredump_register() unwound through free_phy2, which called ieee80211_free_hw() on the ext PHY hw while it was still registered with mac80211, since mt76_unregister_device() only unregisters the main hw. Unregister the ext PHY (thermal + phy + hw) first and skip the redundant free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: fix double hif2 init on the non-WED path mt7915_pci_init_hif2() was called unconditionally and again inside the WED-inactive branch. The helper increments the global hif_idx, writes the PCIe RECOG_ID register and takes a get_device() reference via mt7915_pci_get_hif2(), while removal only drops one reference. On non-WED dual-hif hardware this double-incremented hif_idx, wrote RECOG_ID twice and leaked a device reference. Only the call inside the WED-inactive branch is correct; drop the unconditional one. hif2 is already initialised to NULL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: unlink TWT flow if the MCU rejects the agreement The flow is added to dev->twt_list before sending the agreement to the firmware, but the error path leaves it linked while flowid_mask is never set. The flow slot can then be reused and memset while still on the list, corrupting twt_list, and station removal leaves a dangling entry behind that mt7915_mac_twt_sched_list_add() later walks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: core: use system_freezable_wq for init complete work schedule_delayed_work() uses system_wq, which is non-freezable, allowing regulator_init_complete_work to run concurrently with system suspend. This work fires ~30s after boot to disable unused regulators via I2C. When it races with PM suspend, the I2C adapter may already be suspended, triggering a -ESHUTDOWN warning in __i2c_transfer(): WARNING: ... at __i2c_transfer+0x36c/0x3c8 Call trace: __i2c_transfer i2c_transfer regmap_i2c_write _regmap_update_bits regulator_disable_regmap _regulator_do_disable regulator_late_cleanup regulator_init_complete_work_function process_one_work Switch to system_freezable_wq so the work is frozen before any device is suspended, eliminating the race.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/msm/dsi: Drop dev_pm_opp_set_rate(0) dev_pm_opp_set_rate(0) removes the vote specified in required-opps but does not actually park the clock, making it run without the necessary power backing. Drop the explicit call to it. Every call site of ops->link_clk_disable() is followed by pm_runtime_put(), so the power vote will be rescinded if deemed safe. Patchwork: https://patchwork.freedesktop.org/patch/742783/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: reserve space for the CSA-abort countdown TLV When a CSA countdown is active, mt7996_mcu_beacon_cntdwn() emits two bss_bcn_cntdwn_tlv entries (the CSA countdown and the CCA-abort BCC), but MT7996_BEACON_UPDATE_SIZE only reserved one. With MBSSID enabled and a near-maximum beacon template the extra 8 bytes could push the offload command past MT7996_MAX_BSS_OFFLOAD_SIZE and trigger skb_over_panic(). Reserve room for both countdown TLVs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: bound TLV walk in mt7996_mcu_get_chip_config The response TLV loop advanced by tlv->len without a minimum, so a theoretical firmware response containing a zero-length TLV could spin forever, hanging the CPU during device probe. The u32 payload was also read without bounds checking. Reject a short fixed field, stop on a TLV whose length underruns the header or overruns the skb.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: avoid nss underflow in mt7915_mcu_get_sta_nss If a peer's VHT/HE MCS map has no supported spatial stream (all fields 0x3), the loop exits with nss == 0 and the function returned (u8)-1 (255), which was then written into the firmware sta_rec_bf beamforming fields. Clamp the result to 0.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7915: clear wcid mask under mutex after RCU pointer clear mt7915_remove_interface() cleared the wcid mask bit with no lock held and before clearing the RCU wcid pointer. The mask is a non-atomic RMW shared with the allocators, which all run under dev->mt76.mutex; on DBDC the two wiphys share one mt76_dev, so this raced add_interface/sta_add on the other band and could leak or double-hand-out a wcid. Clearing the bit before the RCU pointer also let a concurrent allocation reuse the index and publish its wcid, which the subsequent NULL assignment then wiped. Move the clear into the existing mutex section, after the RCU pointer is cleared.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: validate RX band_idx before dereferencing phys[] band_idx comes from a 2-bit descriptor field (0-3) and was used directly to index dev->mt76.phys[] (size __MT_MAX_BAND == 3) and dereference the result. A corrupt or reserved descriptor value could index out of bounds or hit a NULL phy on parts with fewer bands. Reject invalid band indices, mirroring mt7996_rx_get_wcid().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt792x: Fix memory leak in SDIO TX path When tx_prepare_skb() returns an error in the SDIO TX path, the skb is not freed, leading to a memory leak. This can occur when zero-length frames (such as WNM NULL frames) are dropped to prevent potential hardware TX hangs. Fix this by properly releasing the skb with ieee80211_tx_status_ext() when tx_prepare_skb() fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt76x02: do not WARN on invalid rx descriptor length The MPDU length in the rx descriptor comes from the hardware. In monitor mode with the fcsfail filter enabled, the hardware passes up corrupted frames, and a corrupted frame can report a length larger than the received buffer. The bounds check correctly discards such frames, but its WARN_ON_ONCE wrapper means any over-the-air garbage frame taints the kernel, and panics it on the first such frame when panic_on_warn is set. Drop the WARN and discard the frame silently, matching what commit c2d4c8723dbf ("mt76x2: remove some harmless WARN_ONs in tx status and rx path") did for the neighboring rx and tx status paths. Observed immediately on rx with an MT7612U in fcsfail monitor mode on a busy channel.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: md/raid1: create serial pool adding rdev to array with serialize_policy=1 The following bug has been observed with kernel 7.1.3 after adding a new rdev to an existing RAID1 array with serialize_policy enabled: Oops: 0002 [#1] CPU: 0 UID: 0 PID: 19639 Comm: ext4lazyinit Not tainted 7.1.3-1-default RIP: _raw_spin_lock_irqsave+0x27/0x50 CR2: 0000000000004960 Call Trace: wait_for_serialization+0xb9/0x260 [raid1] raid1_make_request+0x762/0xaff [raid1] md_handle_request+0x1c9/0x2e0 [md_mod] The raid1.c code calls wait_for_serialization() if the MD_SERIALIZE_POLICY is set, and wait_for_serialization assumes that rdev->serial is initialized. Normally this will be the case for arrays that have the serialize_policy sysfs attribute set to 1. But when a new rdev is added to an existing array in bind_rdev_to_array(), the condition at mddev_create_serial_pool() causes creation of rdev->serial to be skipped. Fix it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i3c: dw: avoid shift-out-of-bounds when DAA assigns no devices On an empty bus ENTDAA assigns nothing, so cmd->rx_len (the count of addresses left unassigned) equals master->maxdevs. The GENMASK() index master->maxdevs - cmd->rx_len - 1 then becomes -1, which trips up UBSAN. This happens every time on boot on a Gigabyte/AMD server: UBSAN: shift-out-of-bounds in drivers/i3c/master/dw-i3c-master.c:905:12 shift exponent 64 is too large for 64-bit type 'long unsigned int' CPU: 7 UID: 0 PID: 963 Comm: (udev-worker) Not tainted 7.0.11-200.fc44.x86_64 #1 PREEMPT(lazy) Hardware name: Giga Computing E163-Z34-AAH1-000/MZ33-DC1-000, BIOS R32_F45 04/01/2026 Call Trace: <TASK> dump_stack_lvl+0x5d/0x80 ubsan_epilogue+0x5/0x2b __ubsan_handle_shift_out_of_bounds.cold+0xd7/0x1ab dw_i3c_master_daa.cold+0x1b/0x96 [dw_i3c_master] i3c_master_do_daa_ext.part.0+0x3e/0xf0 [i3c] Skip the mask when no new device was assigned.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix potential UAF in bpf_netns_link_update_prog In bpf_netns_link_update_prog, the checks for old_prog and prog type are currently performed locklessly before acquiring netns_bpf_mutex. This creates a race condition that can lead to a UAF issue. If two threads concurrently execute BPF_LINK_UPDATE on the same netns link, the following execution path can trigger a UAF: CPU0 CPU1 bpf_netns_link_update_prog if (old_prog && old_prog != link->prog) return -EPERM; bpf_netns_link_update_prog if (old_prog && old_prog != link->prog) ... old_prog = xchg(&link->prog, new_prog); bpf_prog_put(old_prog); if (new_prog->type != link->prog->type) <-- trigger UAF Fix this by moving the old_prog and prog->type checks inside the netns_bpf_mutex critical section. Meanwhile, use guard() to simplify lock management and avoid all the goto jumping.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: sc2731_charger: cancel work on remove The USB notifier and initial charger detection can schedule info->work. The remove path unregisters the notifier, but does not cancel queued or running work before the devm-allocated driver data is released. Set the platform drvdata used by remove, then cancel the work after unregistering the notifier. This issue was found by a static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: supply: isp1704_charger: cancel work on remove The USB notifier and initial VBUS detection can schedule isp->work. The remove path unregisters the notifier and power supply, but does not wait for queued or running work before tearing down the power supply state. Cancel the work after unregistering the notifier. Do this before unregistering the power supply. This issue was found by a static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix stride mismatch in mac_phy_caps_parse() Currently, in ath11k_wmi_tlv_mac_phy_caps_parse(), kcalloc() sizes the mac_phy_caps buffer as tot_phy_id * len, where len is clamped to min(firmware_len, sizeof(struct wmi_mac_phy_capabilities)). The subsequent memcpy() destination advances by sizeof(full struct) per slot via C pointer arithmetic, not by the clamped len. When firmware sends short TLVs, the second and later slots are written past the end of the allocation. The reader in ath11k_pull_mac_phy_cap_svc_ready_ext() also indexes the buffer with full-struct pointer arithmetic, so the allocation must match that stride. Fix by using kzalloc_objs(), which derives the element size from the pointer type, making allocation size and pointer stride provably consistent regardless of what len the firmware provides. Compile tested only.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix stride mismatch in mac_phy_caps_parse() Currently, in ath12k_wmi_mac_phy_caps_parse(), kzalloc() sizes the mac_phy_caps buffer as tot_phy_id * len, where len is clamped to min(firmware_len, sizeof(struct ath12k_wmi_mac_phy_caps_params)). The subsequent memcpy() destination advances by sizeof(full struct) per slot via C pointer arithmetic, not by the clamped len. When firmware sends short TLVs, the second and later slots are written past the end of the allocation. The reader in ath12k_pull_mac_phy_cap_svc_ready_ext() also indexes the buffer with full-struct pointer arithmetic, so the allocation must match that stride. Fix by using kzalloc_objs(), which derives the element size from the pointer type, making allocation size and pointer stride provably consistent regardless of what len the firmware provides. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: pci: fix error path in rtl_pci_probe() In the last error path in rtl_pci_probe(), the cleanup functions are skipped due to a wrong goto label. Moreover, the successful call to rtl_init_rfkill(), ieee80211_register_hw(), rtl_debug_add_one() have to be reverted. Fix this issue by updating the labels and adding the relevant cleanup functions to the last error path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/chrome: cros_ec_debugfs: Unregister panic notifier cros_ec_debugfs_probe() registers notifier_panic with the EC panic notifier chain. The remove path tears down debugfs and the console log, but leaves the notifier registered. A later panic notification can call back into the removed instance and queue work that accesses released data. Unregister the panic notifier before tearing down the debugfs and console log state. This issue was found by a static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix overreads in ath11k_wmi_process_csa_switch_count_event() There is no policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT, so the parse infrastructure does not enforce a minimum length for the event struct. Additionally, the num_vdevs field is taken directly from firmware and used as a loop bound over the vdev_ids array without checking that it fits within the TLV payload. Either condition can cause an out-of-bounds read. Add a TLV policy entry for WMI_TAG_PDEV_CSA_SWITCH_COUNT_STATUS_EVENT so the parse infrastructure enforces a minimum length for the fixed-size event struct. Add a helper ath11k_wmi_tlv_data_len() to recover the payload length of a parsed TLV from the header preceding its data pointer. Use it in ath11k_wmi_process_csa_switch_count_event() to bound num_vdevs before the loop. Compile tested only.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Fix integer overflow of user QP buffer size set_user_buf_size() computes the QP buffer size by left-shifting the user-supplied rq.wqe_cnt and rq.wqe_shift values as signed integers. A sufficiently large rq.wqe_cnt causes signed integer overflow, which is undefined behavior, and yields a small or negative buf_size, causing ib_umem_get() to map a buffer smaller than the hardware will actually write into. Replace the shifts and addition with check_shl_overflow() and check_add_overflow(), rejecting invalid user inputs. Moreover, guard the identical shift computing qp->sq.offset in _create_user_qp() before set_user_buf_size() is reached.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: keembay - Initialize completion before requesting IRQ kmb_ocs_aes_probe() requests the device IRQ before initializing irq_completion. Once the handler is registered it can run immediately, and ocs_aes_irq_handler() unconditionally calls complete(). An interrupt in this window would therefore use an uninitialized completion. Initialize the completion before requesting the IRQ, as the sibling OCS HCU and ECC drivers already do.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinctrl: mediatek: use devm_gpiochip_add_data() for GPIO chip The gpio_chip is allocated with device-managed memory but registered with the non-managed gpiochip_add_data(). This was harmless while the drivers were built-in, but once they can be built as modules and unbound/rmmod'd, devm frees the gpio_chip's memory while it is still registered, causing a use-after-free. Register it with devm_gpiochip_add_data() so it shares the same device-managed lifecycle, which also lets the manual gpiochip_remove() error paths go away.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: Avoid buffer overread in ath11k_wmi_tlv_op_rx() Currently, in ath11k_wmi_tlv_op_rx(), the firmware buffer is read without first verifying that the buffer has enough data to hold a header. This could result in a buffer overread. Add an upfront length check before dereferencing skb->data as a wmi_cmd_hdr. The check is placed before the trace_ath11k_wmi_event() call to preserve the existing trace semantics (tracing the full raw WMI event including the header), unlike the analogous ath12k fix which could use skb_pull_data() directly. Compile tested only.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Avoid buffer overread in ath12k_wmi_op_rx() Currently, in ath12k_wmi_op_rx(), the firmware buffer is read without first verifying that the buffer has enough data to hold a header. This could result in a buffer overread. Update the logic to verify the buffer contains at least enough data to hold a wmi_cmd_hdr before reading from the buffer. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath6kl: avoid buffer overreads in WMI event handlers The following WMI event handlers currently read from the event buffer without first verifying that the message was large enough to hold the expected event: ath6kl_wmi_scan_complete_rx() ath6kl_wmi_addba_req_event_rx() ath6kl_wmi_delba_req_event_rx() Add length checks to prevent overread.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thermal: intel: int3400: clean up ODVP on probe failures evaluate_odvp() creates per-ODVP sysfs files before the thermal zone and later probe resources are registered. The current unwind path only calls cleanup_odvp() from the late sysfs failure path, so failures after evaluate_odvp() but before that label, including thermal_tripless_zone_device_register() failures, leave the ODVP files and storage behind. Move the ODVP cleanup to the common ART/TRT unwind path so every failure after evaluate_odvp() releases the ODVP state. Also clear the cached ODVP pointers in cleanup_odvp(), because evaluate_odvp() can already call it for partial setup failures while probe continues.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Fix requested device removal race scmi_protocol_device_unrequest() drops scmi_requested_devices_mtx while notifying listeners but continues to retain the per-protocol list head. When two SCMI drivers for the same protocol unregister concurrently, one thread can remove the final request and free the list head while the other is running its notifier. The latter then dereferences the freed list head after reacquiring the mutex and can free it a second time. Complete the list and IDR updates, including freeing an empty list head, before dropping the mutex. Keep the blocking notifier outside the critical section and retain only the detached request across the callback.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/mana_ib: drain QP references after partial table insertion mana_table_store_ud_qp() publishes a QP at its send-queue id before inserting the receive-queue id, dropping the XArray lock between the two xa_insert_irq() calls. A concurrent completion handler can look up the QP and take a transient reference. When the second insertion fails, the rollback erased only the send-queue entry and returned, leaving both the initial table reference and the transient reference outstanding while RDMA core frees the QP, causing a use-after-free. Drain the reference as normal destruction does: drop the initial reference and wait for qp->free, releasing the QP only after every concurrent lookup returns its reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: PCI: Clear driver_data on all paths that free the acpi_pci_root acpi_pci_root_add() assigns the freshly allocated root to device->driver_data before dmar_device_add() and pci_acpi_scan_root(). Both failure paths reach the end: label where root is kfree()'d, but only the pci_acpi_scan_root() path clears driver_data first. When dmar_device_add() fails during a hot-add, root is freed while device->driver_data still points at it. The ACPI core does not clear driver_data on attach failure, so a later acpi_pci_find_root() call may dereference this dangling pointer. acpi_pci_root_remove() has the same problem: it frees root without clearing device->driver_data, leaving a dangling pointer behind after the root bridge is removed. Move the NULL assignment to the shared end: label so every error path in acpi_pci_root_add() clears driver_data before freeing root, and clear it in acpi_pci_root_remove() as well, so the object is never left reachable through driver_data after being freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPI: processor: validate MADT IOAPIC entry bounds The IOAPIC hotplug lookup parses both MADT and _MAT records directly. The MADT walk previously used a subtable's declared length to advance the cursor after only locating a generic header. The _MAT path likewise passed a generic header to the IOAPIC helper. Validate that a current record has a complete generic header, that its declared length is contained in the available record range, and that a typed IOAPIC record contains the full fixed IOAPIC body before reading its fields. Use the same relation for both MADT and _MAT provider paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw-edma: Serialize channel state checks pause() and resume() read and update channel state without holding vc.lock, while the interrupt handlers update the same state under it. Take the same lock around those state checks so that request, status, and configured stay consistent. For example, pause() can observe EDMA_ST_BUSY right before the interrupt handler completes the final descriptor and moves the channel to EDMA_ST_IDLE, and then record EDMA_REQ_PAUSE on an already idle channel. No further interrupt will acknowledge the request, and since issue_pending() requires EDMA_REQ_NONE, the channel is wedged for good: terminate_all() leaves the stale request behind, so even reconfiguring the channel does not recover it. issue_pending() already runs under vc.lock, but it tests configured before taking it. Move that test under the lock as well, so configured, request, and status are evaluated as one channel-state snapshot.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: dw-edma: Serialize abort state updates dw_edma_abort_interrupt() drops vc.lock before changing request and status. issue_pending() can acquire the lock in that small window, observe the old busy state, and skip starting queued descriptors. Then the abort handler overwrites the channel status as idle, leaving the new descriptors stranded for good. Keep descriptor completion and the state transition in the same critical section.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: software node: Fix software_node_get_reference_args() with index -1 The bounds check for the index passed to software_node_get_reference_args() was failing when passed UINT_MAX, this in turn would lead to an out of bound access in the property array. Fix the bound check to also cover the UINT_MAX case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: part: reject MTDPART_OFS_RETAIN in mtd_add_partition() mtd_add_partition() does not reject the special offset value MTDPART_OFS_RETAIN (-3), which leads to a WARN_ON in add_mtd_device() when called through the BLKPG ioctl on NAND devices. The RETAIN value depends on cur_offset being the end of the previous partition, but in the dynamic partition path cur_offset equals the offset argument itself, causing undefined behavior. Commit 5daa7b21496a ("mtd: prepare partition add and del functions for ioctl requests") introduced mtd_add_partition() and correctly rejected MTDPART_OFS_APPEND (-1) and MTDPART_OFS_NXTBLK (-2), since those special offsets rely on cur_offset tracking the previous partition's end. However, commit 1a31368bf92e ("mtd: add a flags for partitions which should just leave smth. after them") later added MTDPART_OFS_RETAIN (-3) for the static partition table path without updating mtd_add_partition() to also reject this value. With offset=-3 passed via BLKPG, the RETAIN size calculation in allocate_partition() underflows (parent_size - 0xFFFFFFFFFFFFFFFD = parent_size + 3). If the underflow result does not appear to leave enough space, allocate_partition() jumps to out_register via goto, skipping erasesize initialization. This results in erasesize=0, which triggers: WARN_ON((!mtd->erasesize || !master->_erase) && !(mtd->flags & MTD_NO_ERASE)) in add_mtd_device(). If the underflow result appears to leave enough space, a bogus partition size is calculated, but the "out of reach" sanity check catches the invalid offset and creates a disabled empty partition (offset=0, size=0) instead of returning an error. Fix this by adding MTDPART_OFS_RETAIN to the rejection list in mtd_add_partition(), consistent with the existing handling of APPEND and NXTBLK.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: mtdswap: Avoid freeing registered blktrans device twice In mtdswap_add_mtd(), debugfs setup failure after successful blktrans registration can free mbd_dev twice. add_mtd_blktrans_dev() initializes the blktrans device reference and publishes the disk. Once that succeeds, del_mtd_blktrans_dev() tears the disk down and drops the blktrans reference; when that reference reaches zero, blktrans_dev_release() frees the mtd_blktrans_dev. The debugfs failure path called del_mtd_blktrans_dev(mbd_dev), then fell through the common cleanup label and called kfree(mbd_dev) again. Clear the local pointer after deregistration so the common cleanup can still release the mtdswap state without freeing the blktrans object twice. This issue was found by a static analysis checker and confirmed by manual source review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: misc: bcm-vk: Use acquire/release for msgq_inited bcm_vk_sync_msgq() fills the message queue information and then sets msgq_inited. Readers call bcm_vk_drv_access_ok() before accessing the message queues and their cached queue information. atomic_set()/atomic_read() do not order those accesses. A reader can see msgq_inited set while still seeing stale queue information. Use release when publishing the initialized queues and acquire when checking the gate. Keep the clear in bcm_vk_blk_drv_access() as atomic_set(). It closes the gate and does not publish queue state to readers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: speakup: keyhelp: guard letter_offsets possible out-of-range indexing help_init() builds letter_offsets[] by using the first byte of each function name as an index via `(start & 31) - 1`. If function_names are overridden from sysfs (root) with a name starting outside [a-z], the index underflows or exceeds the array, leading to OOB write. Function names can be overridden with the following commands as root: modprobe speakup_soft echo "0 _bad" > /sys/accessibility/speakup/i18n/function_names # then press Insert+2 on /dev/tty This fix checks the first letter in help_init(), and if it is not in the [a-z] range the function returns an error to the caller. Eventually this error is propagated to drivers/accessibility/speakup/main.c:2217, which causes a bleep sound.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: uio: Fix stale info pointer in failed registration path After device_add(), the UIO device is visible to userspace and /dev/uioX can be opened. If a later setup step fails, __uio_register_device() unwinds the device but leaves idev->info pointing at the caller-owned struct uio_info. That is unsafe when an opener races with the failed registration path. The open file keeps a reference to the uio_device, while the caller sees registration failure and may free its struct uio_info. Later file operations can then follow idev->info and dereference freed memory. Handle post-device_add() failures like unregister: remove UIO attributes while the info pointer is still valid, then clear idev->info under info_lock and wake existing waiters/async users before removing the device and minor. This makes already-open file descriptors observe the same "device gone" state as normal uio_unregister_device().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_uac1_legacy: remove broken string configfs attributes The UAC1_STR_ATTRIBUTE macro defines configfs show/store handlers for the fn_play, fn_cap, and fn_cntl string options. The store function contains an inverted null check on the kstrndup() return value. This means every write attempt returns -ENOMEM on success and dereferences a NULL pointer on allocation failure. The attributes have been broken and unused for many years. Remove the UAC1_STR_ATTRIBUTE macro and the three attributes it generated. The internal defaults (FILE_PCM_PLAYBACK, FILE_PCM_CAPTURE, FILE_CONTROL) set in f_audio_alloc_inst() are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpu: host1x: Avoid stack over-read in debug output helpers host1x_debug_output() and host1x_debug_cont() used vsnprintf(), which returns the length the formatted string would have reached with an unbounded buffer. That return value was passed straight to o->fn as the number of bytes to emit. This could cause a read past end of the output buffer if a call to host1x_debug_* produced a string longer than 256 bytes. This only affected the debugfs files as the printk debug sink ignores the number of bytes. In practice, this is very unlikely to occur. Fix by switching to vscnprintf(), which returns the number of bytes actually written.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: guard against division by zero in iwl_dbg_tlv_alloc_fragments Make sure we don't end-up with a num_frags = 0 situation. For that, check that the required size is not 0 and put a checker on num_frags as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mei: check SAP message length before reading it Verify the SAP message size is not larger than the local buffer before reading the message to avoid buffer overflow.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: fix off-by-one in TXF key sanitiser iwl_mvm_frob_txf_key_iter() tracks the last matched byte position in loop variable 'i'. When a full key match is found (match == keylen), 'i' points at the last byte of the matched key. The memset start offset should therefore be i + 1 - keylen, not i - keylen; the current code zeroes one byte before the match and leaves the final key byte un-sanitised.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: fix counter type in iwl_fwrt_dump_error_logs The loop counter 'count' was declared as u8 while num_pc is u32. If firmware advertises more than 255 PC entries the counter wraps back to zero and the loop never terminates potentially causing an infinite loop or reading past the allocated pc_data array. Change the declaration to u32 to match num_pc.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/bridge: tc358767: clamp the reported AUX read size to the request tc_aux_transfer() clamps an AUX read to the payload limit: size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size); After the transfer it replaces size with the byte count the controller reports in AUX_BYTES: if (size) size = FIELD_GET(AUX_BYTES, auxstatus); AUX_BYTES is GENMASK(15, 8), so it can be up to 255. Nothing clamps it back to the request. tc_aux_read_data() reads that many bytes into the 16-byte auxrdata stack buffer, then copies them into the caller buffer. A reported count of 255 makes the read run to 256 bytes and overruns both. The controller should never report more than it was asked to transfer, so this is defense in depth rather than a live hole. The reported count is only lightly trusted, and the check is cheap. Clamp it back to the request, the same way ti-sn65dsi86 does in commit aca58eac52b8 ("drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer").


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Drop handle on protocol bind failures The SCMI bus notifier acquires an SCMI handle when the driver core emits BUS_NOTIFY_BIND_DRIVER, before invoking the protocol driver probe callback. The protocol probe path only checks whether sdev->handle is set. If device_link_add() fails after the handle has been acquired, the protocol device can still bind with a valid handle but without the dependency link to the SCMI parent. A concurrent parent unbind can then miss the child and tear down the SCMI instance while the child still holds a handle into it. If the protocol driver probe later fails, for example with -EPROBE_DEFER, the driver core emits BUS_NOTIFY_DRIVER_NOT_BOUND rather than BUS_NOTIFY_UNBOUND_DRIVER. The SCMI notifier only released the handle on BUS_NOTIFY_UNBOUND_DRIVER, so each failed protocol-device bind leaked the SCMI instance users refcount and left sdev->handle set after the failed probe. Make the link helper report failure and drop the acquired handle if the link cannot be created. Also handle BUS_NOTIFY_DRIVER_NOT_BOUND in the same cleanup path used for unbind so failed probes balance the earlier BUS_NOTIFY_BIND_DRIVER acquisition.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Reject out of range DT protocol IDs SCMI protocol IDs carried in message headers are limited by MSG_PROTOCOL_ID_MASK. The DT parsing paths noticed protocol IDs outside that range, but only logged an error and then kept processing the invalid value. That lets a malformed 32-bit DT reg value reach helpers which take a u8 protocol ID, where it can be truncated and/or treated as a different protocol. For channel setup, two different out-of-range values can also be used as distinct IDR keys while aliasing the generated SCMI protocol identity. Skip DT protocol nodes whose reg value does not fit the SCMI protocol ID field before setting up channels or creating protocol devices.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Avoid IDR updates while cleaning channels scmi_cleanup_channels() walks the TX/RX channel IDRs with idr_for_each() to free transport resources and destroy the dedicated transport devices before calling idr_destroy(). The destroy callback removed each entry from the same IDR being walked. That is not needed for this cleanup path, and it is unsafe because idr_for_each() has not advanced its radix-tree iterator while the callback is running. Removing the current entry from the callback can invalidate the iterator state. The callback also cannot be protected by rcu_read_lock(), because scmi_device_destroy() may sleep. Leave IDR teardown to the following idr_destroy() call and keep the callback limited to device destruction.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Free transport channel on IDR failure If transport channel setup succeeds but the following IDR insertion fails, the error path destroys the transport device and frees the channel info without invoking the transport cleanup callback. Call chan_free() before destroying the device so transport specific resources such as IRQs, mailbox channels and mapped shared memory are released consistently with the normal teardown path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Unregister device notifier before IDR teardown The requested-devices notifier looks up protocol fwnodes from the active_protocols IDR. During remove, unregister the notifier before releasing and destroying active_protocols so no notifier callback can race with the IDR teardown. Keep the bus notifier registered until after the protocol state is torn down, matching the existing remove ordering for SCMI bus users.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-async: Unregister sub-device if asc_list is empty When my em28xx USB device that uses the i2c tvp5150 driver is disconnected, it crashes. The cause is that the tvp5150 i2c module uses v4l2_async, but the em28xx driver does not since it predates v4l2_async. In that corner case sd->asc_list is empty, so v4l2_async_unregister_subdev() never calls v4l2_device_unregister_subdev(). Modify the code so that, if sd->asc_list is empty, v4l2_device_unregister_subdev() is still called.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/surface: acpi-notify: Check ACPI companion before use Since every platform driver can be forced to match a device that doesn't match its list of device IDs because of device_match_driver_override(), platform drivers that rely on the existence of a device's ACPI companion object should verify its presence. san_probe() dereferences the result of ACPI_COMPANION() when installing the GSBUS address space handler, so force-binding the driver to a device without an ACPI companion leads to a NULL pointer dereference. The dereference was introduced when the probe function was switched from ACPI_HANDLE() to ACPI_COMPANION(). Check the ACPI companion against NULL and return -ENODEV when it is missing, like commit e4865a56d013 ("ACPI: driver: Check ACPI_COMPANION() against NULL during probe") does for the core ACPI platform drivers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/mellanox: mlxbf-pmc: Check ACPI_COMPANION() against NULL Every platform driver can be forced to match a device that doesn't match its list of device IDs because of device_match_driver_override(), so platform drivers that rely on the existence of a device's ACPI companion object need to verify its presence. mlxbf_pmc_probe() passes the result of ACPI_COMPANION() to acpi_device_hid(), which dereferences it, so force-binding the driver to a device without an ACPI companion leads to a NULL pointer dereference. Accordingly, add a requisite ACPI_COMPANION() check against NULL to the mlxbf-pmc driver and return -ENODEV when the companion is missing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: fix UAF when probe runs concurrent to dyn ID removal Dynamic IDs are only guaranteed to be valid when usb_dynids_lock is held, as remove_id_store can free the node. Thus, make a copy in usb_probe_interface. Clarify the documentation that the id parameter is only valid during the probe. USB serial has the same pattern, but it does not need fixing as the IDs cannot be removed via sysfs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: aspeed_udc: check endpoint DMA allocation ast_udc_probe() allocates a coherent DMA buffer used as the backing store for endpoint buffers. ast_udc_init_ep() derives per-endpoint buffer pointers from udc->ep0_buf, so a failed allocation is dereferenced during probe. Check the allocation before endpoint setup. The existing probe error path called ast_udc_remove(), which unregisters the gadget unconditionally and is not safe before usb_add_gadget_udc() succeeds. Add a local cleanup helper for probe failures so pre-registration failures only unwind the resources that were actually initialized. This was found by a local static analysis checker for unchecked allocator returns while scanning Linux 6.16. The change was checked by applying it to current mainline and by running checkpatch. I do not have access to Aspeed UDC hardware, so no runtime testing was performed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: configfs: fix out-of-bounds read of qw_sign os_desc_qw_sign_show() passes OS_STRING_QW_SIGN_LEN as the input length to utf16s_to_utf8s(), but that argument counts UTF-16 code units while OS_STRING_QW_SIGN_LEN (14) is the byte size of qw_sign[]. The array holds only OS_STRING_QW_SIGN_LEN / 2 (7) code units, so the conversion reads up to 7 units (14 bytes) past the end of qw_sign[] into the following members of struct gadget_info when the stored signature fills the array without a NUL terminator, exposing those bytes through the configfs attribute. The store path halves the count for its input bound but passes the full byte count as the utf8s_to_utf16s() output limit; use the destination code-unit count in both directions.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: uac: validate rate list length before storing UAC1 and UAC2 configfs rate-list attributes parse a comma-separated list of sampling rates and store each parsed value in fixed-size arrays. The arrays have UAC_MAX_RATES entries, but the store paths do not check that the input contains at most that many tokens before writing through opts->name##s[i++]. Writing more than ten rates therefore writes past the end of the p_srates[] or c_srates[] array in struct f_uac1_opts or struct f_uac2_opts. With CONFIG_UBSAN_BOUNDS enabled, writing an 11-entry rate list to the UAC1 p_srate attribute reports: UBSAN: array-index-out-of-bounds drivers/usb/gadget/function/f_uac1.c:1669:1 index 10 is out of range for type 'int [10]' __ubsan_handle_out_of_bounds.cold f_uac1_opts_p_srate_store configfs_write_iter vfs_write ksys_write do_syscall_64 The same reproducer against the UAC2 p_srate attribute reports: UBSAN: array-index-out-of-bounds drivers/usb/gadget/function/f_uac2.c:2087:1 index 10 is out of range for type 'int [10]' __ubsan_handle_out_of_bounds.cold f_uac2_opts_p_srate_store configfs_write_iter vfs_write ksys_write do_syscall_64 Reject additional tokens once UAC_MAX_RATES entries have been parsed. Also keep the original kstrdup() pointer for kfree(), because strsep() advances the parsing cursor. Freeing the advanced cursor leaks the original buffer on successful parses and can free an interior pointer on some error paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: remoteproc: qcom_q6v5_adsp: Fix reference leak for device node When calling of_parse_phandle_with_args(), the caller is responsible to call of_node_put() to release the reference of device node. In adsp_map_carveout, it does not release the reference.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-wmi-base: Fix resource leak on module load failure We need to properly clean up the SMBIOS request and the privacy driver when the module load fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/x86: dell-privacy: Fix race condition Accessing priv->features_present needs to happen with the list mutex being held, otherwise priv can be freed at any moment.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bus: mhi: ep: Fix device refcount leak in the error path of MHI device creation mhi_ep_create_device() takes one device reference for the UL channel and another for the DL channel after allocating the transfer device. These references are normally released by mhi_ep_destroy_device() before the device itself is removed. If dev_set_name() or device_add() fails, the error path currently drops only one reference. The remaining channel references keep the device from being released and leave the channels associated with a device that was never registered. Route both failures through a common unwind path that drops the DL channel reference, the UL channel reference, and the initial reference from device_initialize().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: r8a66597: avoid double free of ep0_req in probe error path If usb_add_gadget_udc() fails, r8a66597_probe() jumps to err_add_udc and frees ep0_req, then falls through to clean_up2 where ep0_req is freed again when it is non-NULL. Remove the redundant free from err_add_udc and keep the cleanup in clean_up2 so the request is released exactly once. Issue found using a prototype static analysis tool and confirmed by code review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: rk3288 - fail ahash requests on HASH idle timeout rk_hash_run() waits for RK_CRYPTO_HASH_STS to become idle after the final DMA transfer, but ignores the poll result. If the hash engine never becomes idle, the driver still reads the digest registers and finalizes the request with the previous success value. Store the poll result and finalize the request with the timeout error before reading the digest registers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: sa2ul - stop probe if context pool creation fails sa_ul_probe() calls sa_init_mem() to create the DMA pool used for security context buffers, but ignores its return value. If pool creation fails, probe still continues with DMA setup, algorithm registration and child population even though later request setup depends on that pool. Stop probing when sa_init_mem() fails, and route that failure to the PM cleanup path without attempting to destroy an uncreated DMA pool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: atmel-sha204a - fix heap info leak on I2C transfer failure The nonblocking RNG path allocates a work_data structure to track the state of an in-flight asynchronous I2C request. This pointer is stored in rng->priv and later consumed by the read path once the transaction completes. If the underlying I2C transfer fails, the completion callback is invoked with a non-zero status. In this case, the allocated work_data is not usable for producing RNG output and must not remain associated with the hwrng state. Previously, the failure path only logged a warning but left the pointer state uncleared, which can result in subsequent read attempts observing stale state and interpreting it as valid completion data. Fix this by freeing the pending work_data. The I2C transaction reports an error. This ensures that failed requests do not leave residual state behind that could be interpreted as valid RNG data on later reads. Clearing rng->priv is done at the subsequent call to nonblocking read.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: qat - clear AES key schedule from stack qat_alg_xts_reverse_key() expands the forward XTS AES key on the stack. That schedule contains key material and can remain in the stack frame. Clear the temporary crypto_aes_ctx with memzero_explicit() after the copy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: qat - cancel work on re-enable SR-IOV timeout The QAT reset worker queues SR-IOV reenable work using a work_struct and completion embedded in an on-stack adf_sriov_dev_data. If the completion wait times out, the reset worker can return while device_sriov_wq still holds or executes the stack-backed work item. Cancel the work on the device_sriov_wq on timeout before the stack frame unwinds.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/chrome: sensorhub: Fix memory overread in ring handler `max_response` and `sensor_num` are read from different EC commands: - `max_response` is from cros_ec_get_proto_info(). ec_dev->max_response = info->max_response_packet_size - sizeof(struct ec_host_response); - `sensor_num` is from cros_ec_get_sensor_count(). sensor_num = cros_ec_get_sensor_count(ec); With a malfunctioning EC firmware, it is possible that the `msg->insize` (i.e., `fifo_info_length` in the context) could be clamped in cros_ec_cmd_xfer() because `msg->insize` is greater than `max_response`. int fifo_info_length = sizeof(struct ec_response_motion_sense_fifo_info) + sizeof(u16) * sensorhub->sensor_num; This means the number of read bytes could be less than expected. As a result, the subsequent memcpy() in cros_ec_sensorhub_ring_handler() overreads the `resp->fifo_info` buffer. Check the return value of cros_ec_cmd_xfer_status() and abort if the number of bytes read does not match the expected length.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: xilinx_dma: Fix CPU stall in xilinx_dma_poll_timeout Currently when calling xilinx_dma_poll_timeout with delay_us=0 and a condition that is never fulfilled, the CPU busy-waits for prolonged time and the timeout triggers only with a massive delay causing a CPU stall. This happens due to a huge underestimation of wall clock time in poll_timeout_us_atomic. Commit 7349a69cf312 ("iopoll: Do not use timekeeping in read_poll_timeout_atomic()") changed the behavior to no longer use ktime_get at the expense of underestimation of wall clock time which appears to be very large for delay_us=0. Instead of timing out after approximately XILINX_DMA_LOOP_COUNT microseconds, the timeout takes XILINX_DMA_LOOP_COUNT * 1000 * (time that the overhead of the for loop in poll_timeout_us_atomic takes) which is in the range of several minutes for XILINX_DMA_LOOP_COUNT=1000000. Fix this by using a non-zero value for delay_us. Use delay_us=10 to keep the delay in the hot path of starting DMA transfers minimal but still avoid CPU stalls in case of unexpected hardware failures. One-off measurement with delay_us=0 causes the cpu to busy wait around 7 minutes in the timeout case. After applying this patch with delay_us=10 the measured timeout was 1053428 microseconds which is roughly equivalent to the expected 1000000 microseconds specified in XILINX_DMA_LOOP_COUNT. Add a constant XILINX_DMA_POLL_DELAY_US for delay_us value.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: xilinx_dma: Fix channel idle state management in AXIDMA and MCDMA interrupt handlers Fix a race condition in AXIDMA and MCDMA irq handlers where the channel could be incorrectly marked as idle and attempt spurious transfers when descriptors are still being processed. The issue occurs when: 1. Multiple descriptors are queued and active. 2. An interrupt fires after completing some descriptors. 3. xilinx_dma_complete_descriptor() moves completed descriptors to done_list. 4. Channel is marked idle and start_transfer() is called even though active_list still contains unprocessed descriptors. 5. This leads to premature transfer attempts and potential descriptor corruption or missed completions. Only mark the channel as idle and start new transfers when the active list is actually empty, ensuring proper channel state management and avoiding spurious transfer attempts.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/pm/powerplay: bounds-check voltage index in Vega10 lookup vddInd, vddciInd and mvddInd from VBIOS-parsed tables index into vddc, vddci and vddmem lookup tables without bounds checks across nine sites. Return -EINVAL when any index is out of range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/pm/powerplay: bounds-check voltage index in SMU7 lookup vddInd and vddcInd fields from VBIOS-parsed tables are used to index into voltage lookup tables without a bounds check. Return -EINVAL when any index is out of range.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/powerplay: fix VoltageObjectInfo zero-stride loop and OOB read Reject voltage objects whose usSize is smaller than the header or would advance the cursor past the table end, preventing an infinite loop or heap OOB read when the VBIOS supplies a malformed VoltageObjectInfo table.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/lima: call drm_mm_init() with a valid allocation range lima_vm_create() is currently run before va_start and va_end are set up, meaning they are both 0. lima_vm_create() runs drm_mm_init() with them as arguments for the allocator, and if DRM_DEBUG_MM is enabled the DRM_MM_BUG_ON check in drm_mm_init then fires, as seen here on exynos4412-odroid-u2: [ 1.736297] ------------[ cut here ]------------ [ 1.740370] kernel BUG at drivers/gpu/drm/drm_mm.c:931! [ 1.745574] Internal error: Oops - BUG: 0 [#1] SMP ARM [ 1.750697] Modules linked in: [ 1.753734] CPU: 0 UID: 0 PID: 41 Comm: kworker/u16:1 Not tainted 7.0.10-postmarketos-exynos4 #11 PREEMPT [ 1.763372] Hardware name: Samsung Exynos (Flattened Device Tree) [ 1.769446] Workqueue: events_unbound deferred_probe_work_func [ 1.775261] PC is at drm_mm_init+0x9c/0xa4 [ 1.779339] LR is at lima_vm_create+0x144/0x17c [ ... ] Fix the issue by moving the lima_vm_create() call after va_start and va_end are set up.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: fsl_audmix: rework runtime PM handling in probe After pm_runtime_enable() the AUDMIX block is powered off and stays suspended until the first runtime resume. Register writes issued between probe() and the first resume (e.g. from DAPM or ALSA control paths) target unpowered hardware and cause a system hang. Fix this by calling pm_runtime_resume_and_get() immediately after pm_runtime_enable() to power the hardware up and enable its clocks. Release the reference afterwards with pm_runtime_put() to allow the runtime PM framework to suspend the device and switch the regmap to cache-only mode when idle. When CONFIG_PM is disabled or runtime PM is not enabled, pm_runtime_* calls are stubs that do not power up the hardware. Handle this case explicitly by calling fsl_audmix_runtime_resume() directly so the hardware is always initialised and its clocks are enabled, ensuring register accesses succeed regardless of PM configuration.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: rt700-sdw: always drain jack work on remove rt700_sdw_remove() drains jack_detect_work and jack_btn_check_work only when rt700->hw_init is true. That state bit is cleared by rt700_update_status() when the SoundWire slave becomes UNATTACHED, but a jack work item can already have been queued by rt700_interrupt_callback() or rt700_jack_init() while the device was initialized. Do not use hw_init as the remove-time guard for draining these work objects. The delayed works are initialized during rt700_init(), so remove can cancel them unconditionally and pair the object lifetime with the codec-private data lifetime instead of a mutable hardware state bit. This issue was found by our static analysis tool and then confirmed by manual review of the SoundWire status, interrupt and remove paths. The remove path should drain work based on whether the work object exists, not on a runtime hardware state bit that can change after the work was queued. A QEMU PoC queued jack_detect_work, simulated SDW_SLAVE_UNATTACHED, and then entered remove. DEBUG_OBJECTS reported an active timer/work object associated with the rt700 jack work path after remove skipped the cancel. This is sent as an RFC because the practical trigger depends on SoundWire core remove ordering after an UNATTACHED status update. If remove cannot run after hw_init has been cleared while jack work is still pending, this is a defensive lifecycle cleanup rather than a reachable race on current systems.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: roccat: bound device-supplied profile index kone_keep_values_up_to_date() and kone_profile_activated() use an 8-bit, device-supplied profile value as an index into the 5-element kone->profiles[] array without a range check. A malicious USB device claiming the Roccat Kone id can send a switch-profile event (or a startup_profile read at probe) with an out-of-range value and make the driver read out of bounds; the result is exposed via the actual_dpi sysfs attribute. Reject out-of-range indices in both paths. This was found with static analysis and confirmed with the KUnit test added in the following patch (KASAN: slab-out-of-bounds).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: core: quiesce input in hid_hw_stop() to prevent use-after-free A driver's probe calls hid_device_io_start() to enable input delivery, then fails at a later initialization step and unwinds via hid_hw_stop(). The unwind frees struct hidraw via hidraw_disconnect() while in-flight HID reports may still be running on another CPU, dereferencing the freed object through hidraw_report_event(). syzbot reports the resulting use-after-free for the corsair-psu HID driver. Edward Adam Davis posted a per-driver fix for corsair-psu that adds an explicit hid_device_io_stop() before hid_hw_stop() in the probe error path ("hwmon: prevent packets from going to driver for probe", 2026-04-28). Auditing the tree shows 15 drivers call hid_device_io_start(); 7 also call hid_device_io_stop() and 8 do not: drivers calling hid_device_io_start() without a matching hid_device_io_stop() before hid_hw_stop(): drivers/hwmon/corsair-psu.c (fix posted by Edward) drivers/hwmon/corsair-cpro.c drivers/hwmon/nzxt-kraken3.c drivers/hwmon/nzxt-smart2.c drivers/hwmon/gigabyte_waterforce.c drivers/hid/hid-logitech-dj.c drivers/hid/hid-nintendo.c drivers/hid/hid-mcp2221.c Roughly half of all callers of the API are exposed. Centralize the quiesce in hid_hw_stop() so callers do not have to remember the matching stop: if a driver has left hdev->io_started true on entry, call hid_device_io_stop() before hid_disconnect(). For the 7 drivers that already call hid_device_io_stop() correctly, hdev->io_started is false on entry, the guard short-circuits, and behavior is unchanged. No Fixes: tag because the affected drivers gained their hid_device_io_start() calls independently over years; the bug is a class-wide API misuse rather than a regression from one commit.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: platform/chrome: cros_ec_typec: Reject out-of-bounds PD cap count cros_typec_register_partner_pdos() copies the partner PDOs from the EC TYPEC_STATUS response into the fixed caps_desc.pdo[PDO_MAX_OBJECTS] array. memcpy(caps_desc.pdo, resp->source_cap_pdos, sizeof(u32) * resp->source_cap_count); ... memcpy(caps_desc.pdo, resp->sink_cap_pdos, sizeof(u32) * resp->sink_cap_count); PDO_MAX_OBJECTS is 7. source_cap_count and sink_cap_count are u8 fields from the EC. The only check is that they are not both zero. If either is larger than 7, the memcpy writes past the end of the array on the stack. A count of 255 overflows it by about 1 KB. The EC source arrays are only seven entries wide. A larger count reads past them too. The ChromeOS EC firmware caps these counts today, so a compliant setup does not hit this. The kernel should still validate these values rather than trust them. Validate the counts in cros_typec_register_partner_pdos() next to the memcpy. Skip the PDO registration if either count is above PDO_MAX_OBJECTS. The rest of cros_typec_handle_status() still runs so events are handled and cleared.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI/proc: Use file_ns_capable() when checking config space read access proc_bus_pci_read() decides how much of the config space is readable based on capable(CAP_SYS_ADMIN), which checks the credentials of the task calling read(), not the credentials of the process that opened the file. The sysfs equivalent, pci_read_config(), has checked the credentials of the opening process since commit de139a339395 ("pci: check caps from sysfs file open to read device dependent config space"), so a privileged process can open the config space file and pass the file descriptor to an unprivileged process (for example, a process running a KVM guest with an assigned device), which can then read the entire config space. The check was subsequently routed through the LSM framework in commit 47970b1b2aa6 ("pci: use security_capable() when checking capablities during config space read") and converted to the dedicated helper in commit ab0fa82b2df9 ("pci-sysfs: use proper file capability helper function"). Thus, the two interfaces check the same capability against different credentials. Checking the credentials of the task calling read() makes the outcome depend on who reads rather than who opened, so the restriction is bypassed whenever a more privileged process reads through the descriptor. Checking the credentials recorded in file->f_cred settles the decision at open() time and ties it to the file, where it cannot change with the caller. Use file_ns_capable() to check CAP_SYS_ADMIN against the credentials in effect when the file was opened, bringing the procfs interface in line with the sysfs behaviour. As a result, a file descriptor opened by a privileged process and passed to an unprivileged one now allows the entire config space to be read through procfs, matching sysfs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: use skb_get() instead of skb_clone() for req_skb BT enable fails intermittently with -ETIMEDOUT (-110). The kernel log shows the HCI Read Local Version command was sent and the firmware replied with status 0x00 (logged by hci_req_cmd_complete() BT_DBG), but the waiter in __hci_cmd_sync_sk() never woke up and timed out after 10 s: bluetooth hci0: Opcode 0xfc00 // __hci_cmd_sync_sk bluetooth hci0: opcode 0xfc00 plen 1 // hci_cmd_sync_add bluetooth hci0: skb len 4 // hci_cmd_sync_alloc bluetooth hci0: length 1 // hci_req_sync_run Bluetooth: hci0 cmd_cnt 1 cmd queued 1 // hci_cmd_work Bluetooth: hci0 type 1 len 4 // hci_send_frame Bluetooth: opcode 0xfc00 status 0x00 // hci_req_cmd_complete <-- req_skb NULL: req_complete_skb not set, hci_cmd_sync_complete() never called, req_status stays HCI_REQ_PEND --> <-- 10 s later: wait_event_interruptible_timeout expires --> bluetooth hci0: end: err -110 // __hci_cmd_sync_sk The root cause is that hci_send_cmd_sync() clones the sent command into hdev->req_skb so that hci_req_cmd_complete() can locate the registered completion callback. Under memory pressure this skb_clone() fails, leaving hdev->req_skb NULL. The firmware reply is received and processed, but hci_req_cmd_complete() finds NULL req_skb, so hci_cmd_sync_complete() is never called, req_status stays HCI_REQ_PEND, and the waiter times out with -ETIMEDOUT. req_skb is only used to read bt_cb(skb)->hci callbacks and opcode -- it is never modified. Replace skb_clone() with skb_get(), which simply increments the reference count of hdev->sent_cmd without allocating new memory and therefore cannot fail. This issue was first observed as a use-after-free in ttyport_close() when ttyport_open() failed, which was investigated in an earlier patch series [1]. That investigation led to the discovery of the true root cause described above. [1] https://lore.kernel.org/all/20250430111617.1151390-1-quic_cxin@quicinc.com/


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: smb: client: harden DFS cache against invalid target hints Currently, get_tgt_name() returns ERR_PTR(-ENOENT) when ce->tgthint is NULL, and dfs_cache_noreq_update_tgthint() assumes ce->tgthint is always valid. In preparation for clearing ce->tgthint in free_tgts(), harden callers of get_tgt_name() against ERR_PTR results and harden dfs_cache_noreq_update_tgthint() against NULL pointer dereferences.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: of: fix out-of-bounds read in of_alias_scan() stem parser The stem parser tests isdigit(*(end - 1)) before checking end > start and so reads one byte before the property name when the name is empty or all digits. Check the bound first.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_tcm: fix deadlock in usbg_make_tpg() usbg_make_tpg() held dep_lock while calling configfs_depend_item_unlocked(), which acquires the configfs root inode lock when operating across subsystems. This creates a circular lock dependency with configfs_rmdir(): dep_lock -> configfs root inode lock -> su_mutex -> dep_lock In usbg_make_tpg(), dep_lock only serialized the read of opts->ready, which is a monotonic flag that transitions from false to true exactly once (in tcm_set_name()) and never reverts. Remove dep_lock from usbg_make_tpg() entirely and use READ_ONCE/WRITE_ONCE to access opts->ready locklessly instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: media: tegra-video: fix of_node_put() on VIP parse errors tegra_vip_channel_of_parse() initializes np from dev->of_node without taking a reference, but its error paths drop one through the err_node_put label. This underflows the refcount of the VIP device's OF node when endpoint parsing fails on a malformed device tree. The only reference the function takes on np is the success-path of_node_get() stored in vip->chan.of_node, and that one is already released by the tegra_vip_init() error path and by tegra_vip_exit(). Return errors directly instead of jumping to the bogus cleanup label.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: svcrdma: Reject Write/Reply chunks with segcount 0 A peer can send a Write or Reply chunk whose segcount field is zero. xdr_check_write_chunk() only rejects segcount > rc_maxpages, so zero passes the range check, and xdr_inline_decode(stream, 0) returns the current (non-NULL) cursor without advancing. The function returns true and pcl_alloc_write() then links a struct svc_rdma_chunk with ch_segcount == 0 onto rc_write_pcl or rc_reply_pcl. An earlier patch in this series made pcl_for_each_segment() safe for ch_segcount == 0, so this no longer drives the memory walk it used to. Rejecting the malformed frame at the decode boundary is still worthwhile as defense in depth: it keeps degenerate zero-segment chunks off the parsed chunk lists entirely, so any future consumer that walks ch_segments directly cannot observe one, and it makes the zero-floor easy to backport to trees where the macro change is more intrusive. RFC 8166 has no meaning for a Write/Reply chunk that describes no remote buffer, so no legitimate client is affected. xdr_check_reply_chunk() funnels Reply chunks through xdr_check_write_chunk() and inherits the same rejection. pcl_alloc_write() also links each chunk onto the parsed chunk list before filling its segment array. If a future change weakens the segcount-0 rejection, an incomplete chunk is visible to consumers during the fill loop. Reorder so that list_add_tail() follows the segment fill loop, ensuring only fully-populated chunks appear on the list.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/gud: validate TV mode names before creating enum property The GUD protocol returns TV mode names as fixed-size GUD_CONNECTOR_TV_MODE_NAME_LEN entries and requires each name to be NUL-terminated. gud_connector_add_tv_mode() currently passes each fixed-size entry directly to drm_mode_create_tv_properties_legacy(), which eventually reaches drm_property_add_enum() and strlen(). If a device returns an entry without a terminating NUL byte, strlen() reads past the end of the slot and can run beyond the allocated buffer, triggering an out-of-bounds read. Validate that each returned TV mode name contains a NUL terminator within its fixed-size slot before passing it to the DRM property code. If a malformed entry is found, reject the device response with -EIO. This fixes the out-of-bounds read without changing the handling of valid devices, and avoids silently truncating malformed protocol data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: meson: vdec: fix NULL pointer deref in vdec_try_fmt_common When VIDIOC_TRY_FMT is called with an unsupported pixel format on the OUTPUT queue, vdec_try_fmt_common() falls back to V4L2_PIX_FMT_MPEG2. However, if a distro has locally patched MPEG2 support out (as it has been broken for some time) the platform format table does not contain MPEG2 so find_format() returns NULL and the subsequent dereference of fmt_out->max_width triggers a NULL pointer dereference. Fix this by falling back to the first format in the platform's format array instead of hardcoding V4L2_PIX_FMT_MPEG2. This is always valid since every platform defines at least one format.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix response queue over-consumption in __qla_consume_iocb() qla24xx_process_response_queue() advances ring_ptr past the head IOCB before dispatching, so by the time __qla_consume_iocb() runs, ring_ptr already points at the first continuation IOCB. The function however looped purex->entry_count times starting at ring_ptr. As entry_count includes the head, this consumed one entry too many: it stamped RESPONSE_PROCESSED on the next, unrelated IOCB and advanced the ring past it, silently dropping a legitimate firmware response. The head IOCB's signature was also never marked. Mark the head processed and account for it, then consume only the entry_count - 1 continuation IOCBs, matching __qla_copy_purex_to_buffer().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: md/raid5-ppl: fix use-after-free in ppl_do_flush() The loop in ppl_do_flush() continues iterating after calling ppl_io_unit_finished(), touching io->pending_flushes and leading to a use-after-free. Add a break statement to stop the loop once io is freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: cap out-of-range rx MCS instead of leaving bogus rate ath11k can receive HT/VHT/HE frames whose reported MCS is above the maximum that can be expressed in the corresponding mac80211 rate space (e.g. an HE frame reported with MCS 12, while HE tops out at MCS 11). The frame itself is valid and decodes correctly, but for such a frame ath11k_dp_rx_h_rate() leaves rx_status->rate_idx set to the out-of-range value and never assigns rx_status->encoding, so it stays RX_ENC_LEGACY from the ath11k_dp_rx_h_ppdu() initialization. Once that frame reaches mac80211 it trips the rate sanity check and the frame is dropped with a splat: ath11k_pci 0000:03:00.0: Received with invalid mcs in HE mode 12 WARNING: CPU: 0 PID: 0 at net/mac80211/rx.c:5433 ieee80211_rx_list+0xb0a/0xe90 [mac80211] Dropping the frame would discard otherwise valid data, so instead cap the reported MCS to the maximum the rate space can express and deliver the frame. Set rx_status->encoding before the range check and assign rate_idx from the capped value, so a frame with an out-of-range MCS no longer leaves partial or bogus rate metadata behind. Also downgrade the logging level since they are not treated as invalid frames now. The only loss is that such a frame is reported as the capped MCS in the rx rate statistics. Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.41


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: pinctrl: bcm2835: Don't remove an unregistered GPIO chip If the devm_pinctrl_register() function fails, bcm2835_pinctrl_probe() calls gpiochip_remove() before gpiochip_add_data() has registered the GPIO chip. This means that upon failure the gpio_chip.gpiodev is NULL resulting in a null pointer dereference inside the gpiochip_remove() function. Remove the unnecessary function call to gpiochip_remove(). No GPIO cleanup is required because the GPIO chip has not yet been registered. Without this change there is potential for a kernel panic upon registration failure


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: octeon: add missing tasklet_kill in cvm_oct_tx_shutdown The TX cleanup tasklet can be scheduled by the watchdog IRQ handler to execute cvm_oct_tx_do_cleanup. There can be a pending tasklet in the queue which might run after the cvm_oct_remove() frees net_device structures, causing a use-after-free in cvm_oct_tx_do_cleanup() as it iterates cvm_oct_device[] which is an array of netdevice pointers. Add tasklet_kill() after free_irq() to ensure the tasklet is no longer scheduled or running before teardown proceeds.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: fix HE extended capability length check rtw89_mac_check_he_obss_narrow_bw_ru_iter() reads extended capability byte 10, but rejects only datalen values below 10. Byte 10 requires at least 11 bytes. Require datalen >= 11 before reading data[10].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i3c: master: Fix device_register() error path When device_register() fails in i3c_master_register_new_i3c_devs(), put_device() is called to drop the reference taken by device_register(). That drops the last reference, so the device's release callback i3c_device_release() runs and frees the i3c_device. Two problems follow from that: i3c_device_release() does WARN_ON(i3cdev->desc), so it warns because desc->dev->desc still points back at the descriptor. Clear it before calling put_device(). After put_device() frees the i3c_device, desc->dev is left pointing at freed memory, so clear desc->dev as well. That prevents, for example, i3c_master_unregister_i3c_devs() seeing desc->dev as non-NULL and dereferencing it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: smbus: reject oversized block transfers in the common path The SMBus block transfer length data->block[0] is validated in i2c_smbus_xfer_emulated() but that check runs too late for tracepoints and is skipped entirely when the adapter provides a native smbus_xfer implementation. This allows user-controlled oversized block lengths to reach tracepoint memcpy calls and driver callbacks unchecked. Add an early validation in __i2c_smbus_xfer() that rejects block transfers whose caller-supplied length is zero or exceeds I2C_SMBUS_BLOCK_MAX before any tracepoint fires or driver callback runs. data->block[0] is filled in by the device on SMBus block reads, so the check is scoped to operations where the length is actually supplied by the caller. This is consistent with the existing -EINVAL convention in the emulated path and protects all downstream consumers at once: the smbus_write tracepoint, all native smbus_xfer driver implementations, and the emulated path. Two distinct bugs are fixed by this change: Bug 1: smbus_write tracepoint OOB (include/trace/events/smbus.h) trace_smbus_write() fires before any validation and copies data->block[0]+1 bytes into a 34-byte event buffer. With block[0]=0xfe the tracepoint copies 255 bytes, overflowing by 221. BUG: KASAN: stack-out-of-bounds in trace_event_raw_event_smbus_write+0x27c/0x530 Read of size 255 at addr ffff88800d98fcf8 by task poc_smbus/91 Call Trace: <TASK> __asan_memcpy+0x23/0x80 trace_event_raw_event_smbus_write+0x27c/0x530 __i2c_smbus_xfer+0x43a/0xa40 i2c_smbus_xfer+0x19e/0x340 i2cdev_ioctl_smbus+0x38f/0x7f0 i2cdev_ioctl+0x35e/0x680 __x64_sys_ioctl+0x147/0x1e0 do_syscall_64+0xcf/0x15a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> Bug 2: i2c-stub I2C_SMBUS_I2C_BLOCK_DATA OOB (drivers/i2c/i2c-stub.c) stub_xfer() implements .smbus_xfer directly and only clamps block[0] against 256-command, not I2C_SMBUS_BLOCK_MAX. With block[0]=0xff and command=0 the loop accesses block[1+i] for i up to 254, far past the 34-byte union. UBSAN: array-index-out-of-bounds in drivers/i2c/i2c-stub.c:223:44 index 34 is out of range for type '__u8 [34]' Call Trace: <TASK> __ubsan_handle_out_of_bounds+0xd7/0x120 stub_xfer+0x1971/0x198f [i2c_stub] __i2c_smbus_xfer+0x306/0xa40 i2c_smbus_xfer+0x19e/0x340 i2cdev_ioctl_smbus+0x38f/0x7f0 i2cdev_ioctl+0x35e/0x680 __x64_sys_ioctl+0x147/0x1e0 do_syscall_64+0xcf/0x15a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK> Both traces reproduced on v7.0-rc6+i2c/for-current with KASAN+UBSAN.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: validate skb length in rfcomm_recv_frame rfcomm_recv_frame() casts skb->data to struct rfcomm_hdr and dereferences hdr->addr and hdr->ctrl without validating skb->len first. A truncated frame with skb->len less than the minimum header size causes an out-of-bounds read of uninitialized memory. Additionally, a zero-length frame causes skb->len-- to underflow to UINT_MAX, making skb_tail_pointer() read far past the buffer. Commit 23882b828c3c ("Bluetooth: RFCOMM: validate skb length in MCC handlers") fixed the same class of missing-length-check bugs in the MCC sub-handlers, but the top-level rfcomm_recv_frame() was left unfixed. KMSAN reports: BUG: KMSAN: uninit-value in rfcomm_run ... Uninit was created at: __alloc_skb+0x474/0xb60 vhci_write+0xe9/0x870 Fix this by rejecting frames smaller than sizeof(struct rfcomm_hdr) + 1 (the minimum frame must have a 3-byte header and a 1-byte FCS).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: validate IEs in cfg80211_wext_siwgenie() The KASAN allocation trace shows that a malformed IE buffer is stored via SIOCSIWGENIE (cfg80211_wext_siwgenie()) without any validation. The crash trace shows that a subsequent SIOCSIWESSID triggers a connection attempt which calls cfg80211_sme_get_conn_ies() to process the stored IE buffer, causing: - An out-of-bounds read in skip_ie() which reads ies[pos+1] (the length byte) past the end of the 1-byte buffer. - An integer underflow in the memcpy size argument when offs returned by ieee80211_ie_split() exceeds ies_len, causing unsigned subtraction to wrap to SIZE_MAX and triggering a fortify panic. Fix this by validating the IE buffer in cfg80211_wext_siwgenie() before storing it. [drop unnecessary ie_len check, update commit message]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: acpi: validate WGDS table revision index Check tbl_rev bounds before BIT(tbl_rev) to avoid undefined shifts when firmware reports an invalid revision value.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: bound aligned TLV advance in FW parser Validate ALIGN(tlv_len, 4) against remaining parser length before consuming bytes from the firmware image. This avoids length underflow on malformed TLVs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: fix out-of-bounds tid_data access in BA notif mvmsta->tid_data was indexed by the TFD loop counter 'i' instead of the actual TID value 'tid'. This writes lq_color into a random tid_data slot unrelated to the BA entry. Since multi-TID blockack is not really in use, 'i' was always 0 and no harm was done. Add a out-of-bound check before accessing the array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: add a check on the tid coming from the firmware ba_notif->tid is a firmware-controlled u8 that is used directly as an array index into tid_data[] without any validation. Add a bounds check against IWL_MAX_TID_COUNT before dereferencing the array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: fix a possible underflow We shouldn't trust the firmware about the length of the wowlan packet.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: validate TX_CMD response layout TX_CMD parsing uses frame_count to walk status entries and then read the trailing SCD SSN. Make the minimum-length check follow that exact runtime layout calculation before parsing the payload. For new TX API, reject TX_CMD responses with frame_count != 1 and warn/return in the aggregation handler to document that aggregated accounting is expected via BA notifications.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: fix leaks and online flag on radix_tree_insert failure When radix_tree_insert() fails in blkg_create(), the error path has two issues: 1. blkg->online is set to true unconditionally, even when the blkg was never fully inserted. Move the assignment inside the success block. 2. The error path calls blkg_put() without first calling percpu_ref_kill(). Because the refcount is still in percpu mode, percpu_ref_put() only does this_cpu_sub() without checking for zero, so blkg_release() is never triggered. This permanently leaks the blkg memory, its percpu iostat, policy data, the parent blkg reference, and the cgroup css reference - the latter preventing the cgroup from ever being destroyed. Fix by replacing blkg_put() with percpu_ref_kill(), matching the pattern used in blkg_destroy().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: fix an off-by-1 boundary check Before looking at the 11th byte, check the length is big enough.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: btrfs: fix reloc root cleanup in merge_reloc_roots() If the root we got has zero root refs in its root item, we are resetting the root's ->reloc_root without using barriers like we do everywhere else. Sashiko complained about this while reviewing another patch, and it's correct (see the Link tag below). Also, we should not clear BTRFS_ROOT_DEAD_RELOC_TREE from the root unless the root points to the reloc root we have. Fix this by using clear_reloc_root(), which issues the memory barrier after setting the root's ->reloc_root to NULL and before clearing the bit BTRFS_ROOT_DEAD_RELOC_TREE from the root.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: validate sta_id in BA window status notif BA_WINDOW_STATUS_NOTIFICATION_ID extracts a 5-bit sta_id from the firmware notification and uses it to index fw_id_to_mac_id[] without bounds checking. Validate sta_id before array access to prevent out-of-bounds indexing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: validate beacon length before fixed buffer copy rsi_prepare_beacon() copies the mac80211 beacon frame after FRAME_DESC_SZ into a management skb whose usable tailroom may be smaller than MAX_MGMT_PKT_SIZE after alignment. Validate the beacon length against the actual tailroom before the copy and skb_put(). Leave ownership of the management skb with the caller on error, matching the existing rsi_send_beacon() cleanup path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: libipw: fix key index receive bound checks libipw_rx() reads skb->data[hdrlen + 3] to extract the WEP key index in both the software-decrypt key selection path and the hardware-decrypted IV/ICV strip path. In both places the existing guard only checks skb->len >= hdrlen + 3, which proves bytes up to hdrlen + 2 but not the byte at hdrlen + 3. Require hdrlen + 4 bytes before reading that item in both paths. This is a local source-boundary check only; it does not change the key index semantics.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: ibss: wait for in-flight TX on disconnect While leaving an IBSS in ieee80211_ibss_disconnect() mac80211 flushes stations, turns the carrier off and immediately tells the driver to leave as well. While there may be synchronize_net() in station flush and in this code later, packets can still be transmitted due to cross-CPU race conditions after carrier off is set. Therefore, it's possible for a race to happen where a TX to the driver occurs while or after telling it to leave the IBSS. This can be confusing to drivers, and in the case of iwlwifi leads to an attempt to use invalid queues. Move netif_carrier_off() to occur before sta_info_flush() during IBSS disconnect, and add synchronize_net() if flushing didn't, so that the synchronize_net() always happens between turning the carrier off and telling the driver, avoiding this race.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: validate rx/tx MLME callback frame lengths before access cfg80211_rx_mlme_mgmt() and cfg80211_tx_mlme_mgmt() call tracepoints before rejecting frames shorter than the frame-control field. After that, they only require len >= 2 before dispatching into subtype handlers that assume their fixed fields are present. The frames that trip this are not shorter than 2 bytes; they are short relative to their subtype. mwifiex is a concrete in-tree example on the length side: mwifiex_process_mgmt_packet() only requires a 4-address ieee80211_hdr plus the 2-byte firmware length prefix before handing the frame to cfg80211_rx_mlme_mgmt(). After stripping the length prefix and removing addr4, pkt_len can be exactly 24: a bare 3-address management header with no reason-code body. The existing WARN_ON(len < 2) does not fire on such a frame, and cfg80211_process_deauth() then reads u.deauth.reason_code as a two-byte access starting at offset 24, immediately past the 24-byte buffer. Add a frame-control length gate, then validate each subtype's minimum frame size in an if/else-if chain that mirrors the dispatch logic. Trace only after the frame is known to be well-formed. Side effects of this change: - The WARN_ON(len < 2) is dropped. It only guarded the frame_control read, never the subtype fixed fields, and it does not fire on the frames that actually trigger the out-of-bounds read (which are >= 2). The len >= 2 check is kept as the guard before dereferencing frame_control, but without the warning: these are exported callbacks and a malformed frame from a driver should be dropped silently rather than backtraced. - cfg80211_tx_mlme_mgmt() previously routed every non-deauth subtype through disassociation handling; it now silently ignores unrecognised subtypes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: avoid reading TKIP MIC keys for non-TKIP ciphers rsi_hal_load_key() copies tx_mic_key and rx_mic_key from data[16] and data[24] whenever key data is present. Those offsets are only part of the 32-byte TKIP key layout. Shorter keys used by other ciphers, such as CCMP, do not provide those bytes, so the unconditional copies can read past the supplied key buffer. Only copy the MIC keys for TKIP, and reject malformed TKIP keys that are shorter than the expected 32-byte layout. [drop useless length check]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: caiaq: validate EP1 reply lengths usb_ep1_command_reply_dispatch() uses buf[0] as a command byte and then reads command-specific fixed items from the same URB buffer. Several paths use buf + 1, buf[1], buf[2], or buf + 3 without first proving that urb->actual_length contains those bytes. Add per-command length checks, use a payload length derived from the bytes after the command byte for the control-state copy, and reject short analog input payloads before the input helper reads fixed offsets from the EP1 reply.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: flush pending RCU callbacks on module unload Call rcu_barrier() in module exit to wait for outstanding call_rcu() callbacks before freeing module text, preventing late callback execution in freed memory. BUG: unable to handle page fault for address: ffffffffc1d59c40 PGD 6a12067 P4D 6a12067 PUD 6a14067 PMD 13698b067 PTE 0 Oops: 0010 [#1] SMP NOPTI RIP: 0010:0xffffffffc1d59c40 Code: Unable to access opcode bytes at RIP 0xffffffffc1d59c16. RSP: 0018:ffffc900198c0f28 EFLAGS: 00010286 RAX: ffffffffc1d59c40 RBX: ffff897c7d6b61c0 RCX: ffff88826aff4590 RDX: ffff8884d8b35490 RSI: ffffc900198c0f30 RDI: ffff88812af67290 RBP: 000000000000000a (DONE segment entries) R08: 0000000000000000 R09: 0000000000000100 R10: 0000000000000000 R11: ffffffff82a06100 R12: ffff88811a4e3700 R13: 0000000000000000 R14: ffff897c7d6b6270 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff897c7d680000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffc1d59c16 CR3: 00000104a980a001 CR4: 0000000002770ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <IRQ> ? rcu_do_batch+0x163/0x450 ? rcu_core+0x177/0x1c0 ? __do_softirq+0xc1/0x280 ? asm_call_irq_on_stack+0xf/0x20 </IRQ> ? do_softirq_own_stack+0x37/0x50 ? irq_exit_rcu+0xc4/0x100 ? sysvec_apic_timer_interrupt+0x36/0x80 ? asm_sysvec_apic_timer_interrupt+0x12/0x20 ? cpuidle_enter_state+0xd4/0x360 ? cpuidle_enter+0x29/0x40 ? cpuidle_idle_call+0x108/0x1a0 ? do_idle+0x77/0xf0 ? cpu_startup_entry+0x19/0x20 ? secondary_startup_64_no_verify+0xbf/0xcb (cherry picked from commit feaa5039f6c12acc9aa934c2d45dcd251a12c69f)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: core: Abort active target transfer on controller suspend When an SPI controller operating in target mode has a transfer in progress at the time of system suspend, the suspend path proceeds without aborting the ongoing transfer. This can leave the hardware in an inconsistent state, potentially causing the system to hang or fail to resume cleanly. Fix this by invoking the controller's target_abort callback from spi_controller_suspend() when the controller is in target mode and the callback is registered. This ensures any active target transfer is cleanly terminated before the controller is suspended.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: perf: Fix addr_filter_ranges lifetime Lee Jia Jie reported that since event::addr_filter_ranges is used under RCU, it should be RCU freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: PCI: mediatek: Protect root bus removal with rescan lock Hold the pci_rescan_remove_lock lock while stopping and removing a root bus to avoid racing with concurrent rescan or hotplug operations triggered via sysfs. Such races may lead to use-after-free issues or system crashes. [bhelgaas: commit log]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Let driver decide buffer size at AMDKFD_IOC_GET_DMABUF_INFO ioctl amdkfd driver needs allocate buffer to return bo metadata to user space. The buffer size is controlled by user currently. It is a potential security issue that hostile value (e.g. 2 GiB) lets any render-group user trigger order-MAX allocation/OOM in kernel context. This patch first finds bo metadata size. If the size is smaller than user provided value drive can safely allocate buffer in kernel space and copy to user space buffer. If not, driver will let user know, not allocate and copy. User will redo with new buffer in user space. This patch lets driver decide buffer allocation size to avoid potential hostile size from user space. (cherry picked from commit f54ce9e8cbd3abe0eda3a285f54dc4f572fe589a)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: Add NULL check for spi_get_device_id() in spi_get_device_match_data() Prevent NULL pointer dereference when spi_get_device_id() returns NULL, which can happen when using driver_override without matching SPI ID entry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: rockchip: rockchip_pdm: Handle runtime PM resume failures in set_fmt rockchip_pdm_set_fmt() calls pm_runtime_get_sync() before accessing hardware registers, but ignores its return value. If the runtime resume fails, the function continues to perform register accesses while the device state is undefined. Replace pm_runtime_get_sync() with pm_runtime_resume_and_get() and return early on failure to avoid unpowered register accesses.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: validate connectionless PSM length Connectionless L2CAP frames carry a two-byte PSM at the start of the payload. l2cap_recv_frame() currently reads that PSM unconditionally after validating only the outer L2CAP length. A malformed connectionless frame with a zero- or one-byte payload can therefore make the parser read beyond the advertised skb payload and use tailroom bytes as part of the PSM. A VHCI-backed QEMU reproducer injected a one-byte connectionless payload and reached the unchecked read. Reject connectionless frames that cannot contain the PSM before reading or pulling it. This preserves all valid connectionless frames while dropping only structurally incomplete packets.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: es18xx: check control allocation before private data setup snd_es18xx_mixer() creates controls with snd_ctl_new1() and then stores bookkeeping pointers or sets private_free before calling snd_ctl_add(). snd_ctl_new1() can return NULL on allocation failure, so those writes can dereference a NULL control pointer. Check the returned control pointers before using them and return -ENOMEM on allocation failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: NUL-terminate replaced sysctl value When writing to sysctls, proc_sys_call_handler() guarantees that the buffer passed to proc handlers is NUL-terminated. If bpf_sysctl_set_new_value() replaces the pending sysctl value, it can hand a replacement buffer directly to proc handlers. However, the helper currently copies only buf_len bytes into that buffer without appending a NUL terminator, leaving downstream parsers vulnerable to out-of-bounds access. Fix this by appending a '\0' after the replaced value to restore the expected sysctl semantics. Since the helper already rejects buf_len greater than PAGE_SIZE - 1, there is always room for the extra byte. Reproduced in a QEMU x86_64 guest booted with KASAN while exercising the sysctl replacement path with a cgroup/sysctl BPF program. The reproducer targets `/proc/sys/net/core/flow_limit_cpu_bitmap`, fills the original user write buffer with non-zero bytes, and overrides the sysctl value so the replacement buffer lacks a terminating NUL. Under that setup, the pre-fix kernel reported: BUG: KASAN: slab-out-of-bounds in strnchrnul+0x72/0x90 Read of size 1 at addr ffff88800de57000 by task repro_patch3/66 CPU: 0 UID: 0 PID: 66 Comm: repro_patch3 Not tainted 7.1.0-rc3-00269-g8370ca1f87cc #6 PREEMPT(lazy) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcb/0x5e0 ? __virt_addr_valid+0x21d/0x3f0 ? strnchrnul+0x72/0x90 ? strnchrnul+0x72/0x90 kasan_report+0xca/0x100 ? strnchrnul+0x72/0x90 strnchrnul+0x72/0x90 bitmap_parse+0x37/0x2e0 flow_limit_cpu_sysctl+0xc6/0x840 ? __pfx_flow_limit_cpu_sysctl+0x10/0x10 ? __kvmalloc_node_noprof+0x5ba/0x870 proc_sys_call_handler+0x31d/0x480 ? __pfx_proc_sys_call_handler+0x10/0x10 ? selinux_file_permission+0x39f/0x500 ? lock_is_held_type+0x9e/0x120 vfs_write+0x98e/0x1000 ... </TASK> The buggy address is located 0 bytes to the right of allocated 4096-byte region [ffff88800de56000, ffff88800de57000) With this fix applied, rerunning the same sysctl-targeted path yields no corresponding KASAN reports.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix buffer overflow during vBIOS update Clamp the buffer postion to write by setting the bin attribute to the maximum buffer size so that VFS layer will block the out-of-bounds accessing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/pm: bound pp_dpm_set_pp_table() memcpy The powerplay path allocates hardcode_pp_table once with kmemdup(..., soft_pp_table_size). memcpy(..., size) used the sysfs store count (up to PAGE_SIZE) with no upper bound, causing heap overflow. Reject writes where size exceeds soft_pp_table_size.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: harden FRU PIA parsing with bounded helpers Replace the open-coded TLV walk with fru_pia_advance() and fru_pia_copy_field() helpers that bound every read by the actual EEPROM data length, preventing out-of-bounds reads on truncated or malformed FRU data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix UAF race in destroy_queue_cpsch wait_on_destroy_queue() drops locks to wait for queue resume, allowing a concurrent destroy to free the queue. Use is_being_destroyed flag to serialize destruction.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: xhci: Prevent queuing new commands if xhci is inaccessible Refuse to queue a new command on the command ring if xHC is marked inaccessible with the HCD_FLAG_HW_ACCESSIBLE. HCD_FLAG_HW_ACCESSIBLE is set and cleared in suspend and resume. Also print a warning if xhci is being suspended with commands still pending on the command ring.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix invalid data access in ath11k_dp_rx_h_undecap_nwifi In certain cases, hardware might provide packets with a length greater than the maximum native Wi-Fi header length. This can lead to accessing and modifying fields in the header within the ath11k_dp_rx_h_undecap_nwifi() function for the DP_RX_DECAP_TYPE_NATIVE_WIFI decap type and potentially result in invalid data access and memory corruption. Kernel stack is corrupted in: ath11k_dp_rx_h_undecap+0x6b0/0x6b0 [ath11k] Call trace: ath11k_dp_rx_h_mpdu+0x0/0x2e8 [ath11k] ath11k_dp_rx_h_mpdu+0x1e0/0x2e8 [ath11k] ath11k_dp_rx_wbm_err+0x1e0/0x450 [ath11k] ath11k_dp_rx_process_wbm_err+0x2fc/0x460 [ath11k] ath11k_dp_service_srng+0x2e0/0x348 [ath11k] Add a sanity check before processing the SKB to prevent invalid data access in the undecap native Wi-Fi function for the DP_RX_DECAP_TYPE_NATIVE_WIFI decap type. This adapted from the discussion/patch of the ath12k driver [1]. Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-04685-QCAHSPSWPL_V1_V2_SILICONZ_IOE-1


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: add boundary checks in two places Add boundary checks in acpi_ps_get_next_namestring() and acpi_ps_peek_opcode() to prevent out-of-bounds access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Enhance buffer validation in acpi_ut_walk_aml_resources() Enhance buffer validation in acpi_ut_walk_aml_resources() to prevent buffer overflows.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Fix NULL pointer dereference in acpi_ns_custom_package() acpi_ns_custom_package() unconditionally dereferences the first element of the package to read the _BIX version number, without checking for NULL: if ((*Elements)->Common.Type != ACPI_TYPE_INTEGER) When firmware returns a _BIX package whose first element is an unresolvable reference, ACPICA evaluates that entry to NULL. acpi_ns_remove_null_elements() does not strip NULL entries for ACPI_PTYPE_CUSTOM packages (fixed-position format would break if elements were shifted), so acpi_ns_custom_package() sees the NULL and causes a crash. Add a NULL check for the first element (version field) before dereferencing it. The caller then receives AE_AML_OPERAND_TYPE instead of crashing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Enhance OEM ID and Table ID validation in acpi_ex_load_table_op() Enhance OEM ID and Table ID validation in acpi_ex_load_table_op() to prevent buffer overflows.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Add validation for node in acpi_ns_build_normalized_path() Add validation for node in acpi_ns_build_normalized_path() to prevent use-after-free vulnerabilities.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Add package limit checks in parser functions Add package limit checks in parser functions to prevent out-of-bounds access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: validate handler object type in two places ACPICA: validate handler object type in acpi_ev_has_default_handler() and acpi_ev_find_region_handler().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Fix integer overflow in acpi_ex_opcode_3A_1T_1R() (mid_op) Add overflow check for Index + Length to prevent integer overflow when calculating the truncation length. This prevents negative size parameter being passed to memcpy().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Prevent adding invalid references Prevent adding references for local, argument, and debug objects in acpi_ut_copy_simple_object().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: validate byte_count in acpi_ps_get_next_package_length() Validate package length reading in acpi_ps_get_next_package_length().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: add boundary checks in acpi_ps_get_next_field() Add boundary checks in acpi_ps_get_next_field() to prevent out-of-bounds access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Fix use-after-free in acpi_ds_terminate_control_method() Fix use-after-free issue in acpi_ds_terminate_control_method() by clearing references to method locals and arguments.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ACPICA: Fix condition check in acpi_ps_parse_loop() Fix condition check for AML_ELSE_OP in acpi_ps_parse_loop() to prevent out-of-bounds access.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thermal/drivers/tegra/soctherma: Switch to devm cooling device registration Use devm_thermal_of_cooling_device_register() to simplify resource management and avoid manual cleanup in error paths. As a side effect this change has the benefit of solving an existing issue. Before, the function tegra_soctherm_remove() only called debugfs_remove_recursive() and never called thermal_cooling_device_unregister() for any of the cooling devices registered here. After the driver removal, the thermal framework's cdev list would still hold references to thermal_cooling_device objects whose devdata pointer (ts) pointed to memory already freed by the platform device's devm cleanup. With this change, the cooling device is unregistered when the driver is removed, thus fixing the issue above.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: 8250: fix possible ISR soft lockup There are rare cases in which the host gets stuck in the ISR because it is flooded with messages during the startup phase. The reason for the soft lockup in the ISR is the missing FIFO error IRQ (FIFOE) handling. Not handling it and reporting IRQ_HANDLED triggers the IRQ immediately again. Fix this by adding a check for the FIFOE status and clearing the FIFO if no data is ready (DR). This behavior was observed on an AM62L device which uses the OMAP 8250 driver. Fix it for all 8250 drivers, since the OMAP driver's special IRQ setup handling may trigger this behavior more frequently, but it is not ensured that other 8250 drivers aren't affected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: goku_udc: avoid NULL deref of dev->driver in INT_USBRESET log goku_irq() handles a number of bus events under a single ep0 path. It already guards the gadget driver suspend/resume callbacks against a NULL ->driver: if (dev->gadget.speed != USB_SPEED_UNKNOWN && dev->driver && dev->driver->resume) { spin_unlock(&dev->lock); dev->driver->resume(&dev->gadget); ... } but the very next branch unconditionally dereferences dev->driver when an INT_USBRESET arrives: if (stat & INT_USBRESET) { ACK(INT_USBRESET); INFO(dev, "USB reset done, gadget %s\n", dev->driver->driver.name); } If the controller raises INT_USBRESET before any gadget driver has been bound (or after one has been unbound), dev->driver is NULL and the printk dereferences NULL. smatch flags the inconsistency: drivers/usb/gadget/udc/goku_udc.c:1618 goku_irq() error: we previously assumed 'dev->driver' could be null (see line 1607) Fall back to a placeholder when the gadget driver is not bound. No functional change while a gadget driver is bound.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: core: hcd: fix possible deadlock in rh control transfers >From within the SCSI error handler memory allocations must not trigger IO. Handling errors in UAS and the storage driver may involve resetting a device. The thread doing the reset itself relies on VM magic. However, that is insufficient, as resetting a device involves resuming it. Resumption as well as resetting involves conrol transfers to the parent of the device to be reset. That may be a root hub. Hence usbcore must heed the flags passed to usb_submit_urb() processing control transfers to root hubs. The problem exist since the storage driver has been merged.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usbip: vhci_hcd: fix NULL deref in status_show_vhci platform_get_drvdata() can return NULL if a VHCI host controller's probe failed (e.g. due to USB bus number exhaustion). status_show_vhci() checked for a NULL pdev but not for a NULL hcd returned by platform_get_drvdata(). Passing NULL to hcd_to_vhci_hcd() does not return NULL - it returns a pointer offset of 0x260, causing a NULL pointer dereference when that value is subsequently dereferenced. Add a NULL check on hcd before calling hcd_to_vhci_hcd(). Move status_show_not_ready() above status_show_vhci() to make it callable from the new error path without a forward declaration.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: don't call ieee80211_handle_reconfig_failure when not needed In case reconfiguration of NAN fails, we call ieee80211_handle_reconfig_failure, that marks all interfaces as not in the driver. Then, at the error path of the reconfig, cfg80211_shutdown_all_interfaces is called to destroy all the interfaces. If we have any other interface but the NAN one, for example a BSS station, then when its state (links, stations) will be removed, we won't tell the driver about this, because we will think that the interfaces are not in the driver, and then drivers might remain with dangling pointers to objects like stations and links (at least for iwlwifi this is the case). ieee80211_handle_reconfig_failure is meant to be called after we cleaned up the state in the driver, there is no reason to call it for NAN reconfiguration failure. Fix the code to just warn in such a case, as we do in other error paths in reconfig where it is too complicated to rewind.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: validate and share PSP fw_pri_buf copies via psp_copy_fw Change psp_copy_fw from void to int: return -ENODEV when drm_dev_enter fails, and -EINVAL when the image size is zero or larger than the 1 MiB PSP private buffer. Replace open-coded memset/memcpy into fw_pri_buf with psp_copy_fw.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Check bounds on allocate_doorbell allocated_doorbell has an option to set the doorbell id to a specific value (used by CRIU). This value was not bounds checked. Check to confirm it's less than KFD_MAX_NUM_OF_QUEUES_PER_PROCESS.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Check bounds for allocate_sdma_queue restore_sdma_id allocate_sdma_queue has an option where the sdma queue id can be specified (used by CRIU). We weren't bounds-checking that value. Confirm it's less than the maximum number of queues.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: phy: check length before parsing PHY status IE Hardware might report PHY status IE with unexpected length, and parser might access out of range. Check the length ahead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: davinci: avoid NULL deref of host->data in IRQ handler mmc_davinci_irq() returns early only when both host->cmd and host->data are NULL: if (host->cmd == NULL && host->data == NULL) { ... return IRQ_NONE; } So we may legitimately reach the rest of the handler with host->data == NULL (and therefore data == NULL). The DATDNE branch already guards against this with an explicit "if (data != NULL)" check, but the subsequent TOUTRD ("read data timeout") and CRCWR/CRCRD ("data CRC error") branches dereference data unconditionally: if (qstatus & MMCST0_TOUTRD) { data->error = -ETIMEDOUT; <-- NULL deref ... davinci_abort_data(host, data); } if (qstatus & (MMCST0_CRCWR | MMCST0_CRCRD)) { data->error = -EILSEQ; <-- NULL deref ... } If either bit is set in qstatus while host->data is NULL, the kernel will crash inside the IRQ handler. smatch flags this: drivers/mmc/host/davinci_mmc.c:933 mmc_davinci_irq() error: we previously assumed 'data' could be null (see line 914) Gate both branches on a non-NULL data, matching the existing pattern used by the DATDNE branch. No functional change for callers where data is non-NULL, which is the only case in which these branches did meaningful work before this change.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: dm1105: fix missing error check for dma_alloc_coherent The return value of dm1105_dma_map(), which handles DMA memory allocation, is ignored in dm1105_hw_init(). If dma_alloc_coherent() fails, the driver will proceed using a NULL pointer for DMA transfers, leading to a kernel oops or invalid hardware access. Fix this by checking the return value and propagating -ENOMEM on failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Set tb->root_switch to NULL when domain is stopped Similarly what we do with the firmware connection manager. This makes tb_xdp_handle_request() return error to the remote host. However, we need to make sure we keep the uuid alive so that we can reply until the whole domain is released.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Keep XDomain reference during the lifetime of a service This is needed because we release the service ID in tb_service_release() and the ID array is owned by the parent XDomain.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Release request if tb_cfg_request() fails in __tb_xdomain_response() If tb_cfg_request() fails setting up the request (for example the control channel is shut down already) it returns an error without calling the callback. To avoid leaking that memory, call tb_cfg_request_put() if tb_cfg_request() fails.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: spi: spi-qcom-qspi: Fix incomplete error handling in runtime PM The runtime PM functions had incomplete error handling that could leave the system in an inconsistent state. If any operation failed midway through suspend or resume, some resources would be left in the wrong state while others were already changed, leading to potential clock/power imbalances. Reorder the suspend/resume sequences to avoid brownout risk by ensuring the performance state is set appropriately before clocks are enabled and clocks are disabled before dropping the performance state. Fix by adding proper error checking for all operations and using goto-based cleanup to ensure all successfully acquired resources are properly released on any error.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: Add NULL check for chip->edcca_th in rtw_fw_adaptivity_result() It was recently reported that rtw_fw_adaptivity_result() in fw.c dereferences rtwdev->chip->edcca_th without a NULL check. The issue is that devices with the 8821CE chip don't define edcca_th in their chip info. As a result, when rtw_fw_adaptivity_result() tries to dereference it, the kernel triggers an oops. Add a NULL check for edcca_th before dereferencing it in rtw_fw_adaptivity_result() in fw.c. Placing the check at the function entry avoids logging any garbage values. This change does not address the root cause for this behavior, but it prevents the NULL dereference and the resulting oops while a more permanent solution is developed. Tested on a 8822CE chip which defines edcca_th, so this issue is not present on it, but it still uses this driver and I can verify there are no regressions.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: nl80211: reject beacons with bad HE operation The HE operation element not only needs to be longer than the fixed part, but also have an appropriate size for the variable part inside of it. Check this.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: reject duplicate wiphy cipher suite entries Duplicate entries in wiphy->cipher_suites do not describe any additional capability, but cfg80211 currently accepts them and leaves individual consumers to deal with them. One such consumer is the WEXT compatibility code, which appends a WEP key length for each WEP cipher entry it sees. Repeated WEP entries can therefore overflow the fixed iw_range::encoding_size array returned by SIOCGIWRANGE. Reject duplicate cipher suite entries in wiphy_register() instead. This keeps the cipher suite invariant in one place and makes malformed wiphy descriptions fail early with -EINVAL, rather than relying on a single cfg80211 user to handle duplicates correctly.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Serialize NVMe unsol ctx list with a per-fcport lock The fcport->unsol_ctx_head list is modified from several contexts without a common lock. Entries are added in qla2xxx_process_purls_iocb() from the response queue ISR (under the qpair qp_lock), while they are removed from qla2xxx_process_purls_pkt() (DPC/purex worker), qla_nvme_xmt_ls_rsp() (NVMe-FC transport callback) and qla_nvme_release_lsrsp_cmd_kref() (SRB completion). The qpair qp_lock cannot serialize this per-fcport list since multiqueue adapters add entries through different qpairs, so a concurrent add and delete (or two concurrent deletes) can corrupt the list pointers. Introduce a dedicated per-fcport spinlock, unsol_ctx_lock, initialized in qla2x00_alloc_fcport(), and take it around every list_add_tail()/list_del() on unsol_ctx_head. The add nests under the existing qp_lock; no delete path takes qp_lock, so the lock order is consistent and deadlock free.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Unlink NVMe unsol ctx before freeing on LS reject error qla_nvme_xmt_ls_rsp() obtains uctx, which was linked into fcport->unsol_ctx_head by qla2xxx_process_purls_iocb() and is still linked when the NVMe transport calls back to transmit the LS response. On the error (out:) path the function frees uctx with kfree() but never removes it from the list. This leaves a freed node in fcport->unsol_ctx_head: the next list_add_tail() for that fcport writes through the freed node, and a subsequent list_del() can corrupt the list or panic. Unlink uctx with list_del() before kfree() on the error path, matching the other free sites in qla_nvme_release_lsrsp_cmd_kref() and qla2xxx_process_purls_pkt(). qla2x00_rel_sp() in the failure path only returns the SRB to its pool and does not invoke sp->put_fn, so the out: path is the sole free and uctx is always still linked there.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Validate BSG request_len before reading vendor_cmd[] The FC BSG transport allocates job->request via memdup_user() using the exact user-supplied request_len. For FC_BSG_HST_VENDOR, fc_bsg_host_dispatch() only guarantees request_len covers msgcode and vendor_id; it does not account for the vendor_cmd[] flexible array. qla2xxx then reads the command selector vendor_cmd[0] and, in several sub-handlers, vendor_cmd[1]/[2] or structures overlaid on the vendor command area without verifying request_len. A caller holding CAP_SYS_RAWIO can submit a short request whose vendor_id matches the host, triggering out-of-bounds heap reads (KASAN-detectable, and able to mis-select a command or panic). Add a central guard in qla2x00_process_vendor_specific() so the selector is always in bounds, restrict the early vendor_cmd[0] read in qla24xx_bsg_request() to sufficiently long vendor messages, and add request_len checks to the sub-handlers that read further: qla24xx_proc_fcp_prio_cfg_cmd(), qla2x00_process_loopback(), qla84xx_reset(), qla84xx_updatefw(), qla2x00_read_optrom(), qla2x00_update_optrom(), qlafx00_mgmt_cmd() and qla28xx_validate_flash_image().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix soft lockup polling continuation IOCB signature qla27xx_copy_multiple_pkt() and qla27xx_copy_fpin_pkt() poll rsp_q->ring_ptr->signature for RESPONSE_PROCESSED (0xDEADDEAD) to decide whether the next continuation IOCB has arrived, spinning on cpu_relax() without advancing the ring or decrementing the entry count while it has not. response_t::signature lives at byte offset 60, but a continuation IOCB (sts_cont_entry_t / struct sts_cont_entry_ext) carries raw FC frame payload at that offset (data[56..59]). A received frame whose payload bytes happen to equal 0xDEADDEAD is therefore misread as "not yet arrived", and the loop spins forever in interrupt/DPC context, causing a CPU soft lockup. The poll is also unnecessary: callers of qla27xx_copy_multiple_pkt() (PT_LS4_UNSOL and the NVMe purls path) already gate on qla_chk_cont_iocb_avail(), which guarantees all entry_count IOCBs are present before copying begins. The sibling helper __qla_copy_purex_to_buffer() already drops the signature poll and relies on the entry_type == STATUS_CONT_TYPE guard instead. Remove the signature busy-wait from both helpers, keeping the entry_type guard, and gate the FPIN path with qla_chk_cont_iocb_avail() so it defers and re-processes on the next interrupt once all continuation IOCBs have arrived, mirroring the ELS_AUTH_ELS and PT_LS4_UNSOL arms. With this the signature field is never read on a continuation IOCB, eliminating the payload-aliasing lockup.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Skip vport under deletion in report ID acquisition qla24xx_report_id_acquisition() format-1 handling walks ha->vp_list under vport_slock, takes a vref_count on the matching vport and calls qla_update_host_map() to register its port id. A vport teardown via qla24xx_vport_delete() sets VPORT_DELETE, then qla24xx_disable_vp() removes the vport from the host_map btree and zeroes vha->d_id (RESET_AL_PA). The vport is only unlinked from vp_list later, in qla24xx_deallocate_vp_id(), which clears vp_map[idx] (RESET_VP_IDX) but does not touch host_map. In the window in between, report ID acquisition can still find the vport on vp_list and call qla_update_host_map(); with d_id already zeroed it takes the btree_insert32() path and re-inserts the dying vport into host_map. Nothing cleans that entry afterwards, so once scsi_host_put() frees the vha a later host_map lookup dereferences freed memory. Skip a vport that has VPORT_DELETE set before taking the reference, so it is neither re-registered nor scheduled for DPC re-registration. This mirrors the existing guard in qla2x00_alert_all_vps().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Null out freed pointers in qla2x00_mem_alloc() error path When qla2x00_mem_alloc() fails, qla2x00_probe_one() jumps to probe_hw_failed and calls qla2x00_mem_free(). Several error labels in qla2x00_mem_alloc() freed adapter members (elsrej.c, purex_dma_pool, flt, sfp_data, loop_id_map, async_pd, sf_init_cb, ex_init_cb, npiv_info) but left the pointers dangling. qla2x00_mem_free() then freed them a second time. Worse, for the dma_pool members it issued dma_pool_free(ha->s_dma_pool, ...) after s_dma_pool had already been destroyed and set to NULL at fail_s_dma_pool, dereferencing a NULL pool. Clear each freed pointer (and its DMA handle) in the error labels so the subsequent qla2x00_mem_free() skips them.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Bound VP index against VP_CTRL IOCB bitmap size The VP control IOCB selects its target virtual port by setting one bit in vp_idx_map, a fixed 16-byte (128-bit) array in both vp_ctrl_entry_24xx and vp_ctrl_entry_24xx_ext. qla25xx_ctrlvp_iocb() computes map = (vp_index - 1) / 8 and writes vce->vp_idx_map[map] without checking that map stays within the array. max_npiv_vports is taken from firmware and only sanitized to a MIN_MULTI_ID_FABRIC-aligned boundary, so it can legitimately be 191 or 255, and qla24xx_control_vp() only rejects vp_index >= max_npiv_vports. A vp_index above 128 therefore yields map >= 16 and an out-of-bounds write of up to 16 bytes past vp_idx_map, corrupting the trailing IOCB fields (or the adjacent request-ring slot on the 64-byte layout). Reject a vp_index that cannot be represented in the IOCB bitmap in qla24xx_control_vp(), and add a defensive ARRAY_SIZE() guard in qla25xx_ctrlvp_iocb() before the write. Adapters that report the usual 63 or 127 NPIV vports are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix use-after-free of qpair work on queue teardown The response queue MSI-X handler qla2xxx_msix_rsp_q() schedules qla_do_work() via queue_work(ha->wq, &qpair->q_work). qla_do_work() dereferences the qpair (vha, rsp) and takes qpair->qp_lock. During teardown, qla2xxx_delete_qpair() deletes the response queue, which calls free_irq() in qla25xx_free_rsp_que(), and then frees the queue and the qpair. free_irq() waits for running hardirq handlers but does not cancel work already placed on ha->wq. A still-pending q_work then runs qla_do_work() against the freed qpair and response queue, causing a use-after-free. This is especially likely during full adapter teardown, where destroy_workqueue(ha->wq) forces pending work to run after the queue pairs have been freed. Flush the work item with cancel_work_sync() in qla25xx_free_rsp_que() after free_irq() has released the interrupt (so no new work can be queued) and before the response queue and qpair memory are freed (so the flushed handler still sees valid memory). Guard on rsp->qpair and ha->wq to match the INIT_WORK() condition and avoid operating on an uninitialized work_struct.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix queue teardown NULL dma_free and bitmap locking qla25xx_free_req_que() and qla25xx_free_rsp_que() have two pre-existing bugs exposed on the error path of qla25xx_create_{req,rsp}_que(): 1. When dma_alloc_coherent() fails during queue creation, the error path calls the free function with req->ring / rsp->ring still NULL (from kzalloc). The unconditional dma_free_coherent() with a NULL cpu_addr is undefined behavior and can panic. 2. The free functions clear req_qid_map / rsp_qid_map under vport_lock, but the create functions protect the same bitmaps with mq_lock. This provides no mutual exclusion. Additionally, the create error path clears the bit and releases mq_lock before calling the free function, creating a window where another thread can allocate the same que_id and have its ha->req_q_map entry clobbered by the subsequent lockless NULL assignment in the free function. Fix by: - Guarding dma_free_coherent() with a NULL check on the ring pointer. - Using mq_lock (the lock held by all creators) in the free functions to atomically NULL the map entry and clear the bitmap bit. - Removing the now-redundant clear_bit blocks from the create error paths since the free functions handle it atomically.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: xusbatm: don't rely on id table pointer arithmetic The current code is broken when dynamic ID is involved; in such cases usb_device_id parameter of probe lives on the heap and the pointer arithmetic will get an index that is wildly out of bound. xusbatm initialize the USB device IDs dynamically so it can just use driver_info too. Even with conversion, xusbatm still cannot support dynamic IDs, so also set no_dynamic_id.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: pegasus: don't rely on id table pointer arithmetic The current code is broken when dynamic ID is involved; in such cases usb_device_id parameter of probe lives on the heap and the pointer arithmetic will get an index that is wildly out of bound. Instead of keeping a side table for additional information, use driver_info field of the usb_device_id. The dynamic ID parsing code needs to be updated for this; convert it to just write to the reserved entry for dynamic ID and remove the weird loop.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k_htc: don't store usb_device_id usb_device_id is not guaranteed to live longer than probe due to presence of dynamic ID. All information apart from driver_data can be easily retrieved from usb_device, so just store driver_data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bnxt_en: Bound SW TPA IDs to prevent crashes FW supports up to 1024 concurrent TPAs, so the FW TPA ID is in the range 0..1023 (see commit ec4d8e7cf024 ("bnxt_en: Add TPA ID mapping logic for 57500 chips.")). bnxt_alloc_agg_idx is intended to wrap the FW ID down to a software ID which is used to index rxr->rx_tpa, and to generate a mapping between FW IDs and the wrapped software ID. On a 57608 with firmware version 233, the firmware advertises 32 concurrent TPAs. As of the commit under fixes, bp->max_tpa on this NIC is set to 32. If the software ID from bnxt_alloc_agg_idx is above 31, this results in an invalid address being loaded on this line: tpa_info = &rxr->rx_tpa[agg_id]; because rx_tpa is allocated with only bp->max_tpa (32) entries. Writes to tpa_info later in the code are out of bounds. This bug results in a crash at boot: Oops: general protection fault, kernel NULL pointer dereference 0x8: 0000 [#1] SMP NOPTI RIP: 0010:bnxt_rx_pkt+0xc0/0x1560 RSP: 0018:ffffc900009b8c78 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000048 RCX: 0000000206682516 RDX: ffffc900009b8db4 RSI: 0000000000000000 RDI: 01ffffff038fe1c0 RBP: ffffc9006e687480 R08: ffffc9006e687000 R09: 0000000000003048 R10: 0000000000000480 R11: ffff8881c6083900 R12: 0000000006682516 R13: ffff8881c6095400 R14: 0000000000000016 R15: ffff8881c6b66680 FS: 0000000000000000(0000) GS:ffff88fef3c77000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fc8bda40584 CR3: 000000807c812001 CR4: 0000000008772ef0 PKRU: 55555554 Call Trace: <IRQ> ? __netif_receive_skb_list_core+0x1ca/0x250 __bnxt_poll_work+0x152/0x280 bnxt_poll_p5+0x1cd/0x480 __napi_poll+0x30/0x180 net_rx_action+0x20b/0x3b0 ? note_gp_changes+0x53/0xe0 ? tick_setup_sched_timer+0x180/0x180 ? __napi_schedule+0x9a/0xb0 ? bnxt_msix+0x24/0x30 handle_softirqs+0xdd/0x2c0 __irq_exit_rcu.llvm.3171231171502365008+0x47/0xf0 common_interrupt+0x85/0x90 </IRQ> <TASK> asm_common_interrupt+0x22/0x40 This stack trace is from a crash triggered when an out of bounds rx_tpa is dereferenced. The invalid write mentioned above is silent in this particular crash. Fix this by allocating rx_tpa with bp->max_tpa rounded up to the next power of 2 (bp->max_tpa_roundup_size) entries and masking the FW TPA ID with that size, so the wrapped ID can never index past the end of the array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-ctrls: validate AV1 tile counts The stateless AV1 decoders use tile_info.tile_cols and tile_rows as loop bounds and as indices into the mi_*_starts[] and *_in_sbs_minus_1[] arrays, as the divisor for context_update_tile_id, and their product bounds the per-tile descriptor buffers, but std_validate_compound() does not bound these u8 fields. Reject a V4L2_CTRL_TYPE_AV1_FRAME whose tile_cols or tile_rows exceeds V4L2_AV1_MAX_TILE_COLS / _ROWS, or whose product exceeds V4L2_AV1_MAX_TILE_COUNT. A zero tile count is left to the consuming driver so the zero-initialised control that existing userspace submits is still accepted.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: v4l2-ctrls: validate HEVC tile counts The stateless HEVC decoders read num_tile_columns_minus1 + 1 entries from column_width_minus1[] and num_tile_rows_minus1 + 1 from row_height_minus1[] and use them as tile-loop bounds, but std_validate_compound() does not bound these u8 counts. Reject a V4L2_CTRL_TYPE_HEVC_PPS with tiling enabled whose tile counts exceed the uAPI array capacity, mirroring the existing compound-control range checks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: verisilicon: rockchip: reject AV1 frames exceeding the tile capacity rockchip_vpu981_av1_dec_set_tile_info() indexes the tile group entry array by tile1 * tile_cols + tile0, reading up to tile_cols * tile_rows entries, lays out one descriptor per tile in the AV1_MAX_TILES tile_info buffer, and programs the real tile_cols / tile_rows into the hardware. The tile group entry control is a dynamic array sized to the number of entries userspace submitted, independent of tile_cols / tile_rows, so a frame that claims more tiles than entries reads past the array. A frame that claims more than AV1_MAX_TILES tiles also leaves the hardware programmed for more tiles than the descriptor buffer holds. Reject both in prepare_run(): tile_cols * tile_rows must not exceed the submitted entry count or AV1_MAX_TILES. The entry count is read via v4l2_ctrl_find() (ctrl->elems). This mirrors the bound the mediatek AV1 decoder already enforces.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: verisilicon: rockchip: guard VPU981 AV1 divisor and tile buffer rockchip_vpu981_av1_dec_set_tile_info() divides context_update_tile_id by tile_info->tile_cols and writes one descriptor per tile into the tile_info DMA buffer, which holds AV1_MAX_TILES entries; tile_cols and tile_rows come from the bitstream. Guard the division against a zero tile_cols by initialising the context-update values to zero and computing them only when tile_cols is non-zero, and stop the descriptor writes once the tile_info buffer is full. The tile geometry written to the hardware registers is left unmodified; the per-dimension and total tile bounds are enforced by the control validation.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: verisilicon: hantro: bound G2 HEVC tile loop to the buffer capacity prepare_tile_info_buffer() writes one entry per tile into the tile_sizes DMA buffer, sized for a grid equal to the PPS uAPI array capacity. Use the bounded v4l2_hevc_pps_num_tile_columns() / v4l2_hevc_pps_num_tile_rows() helpers so the loops stay inside the buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (gpio-fan) Fix use-after-free in alarm work fan_alarm_irq_handler() queues fan_data->alarm_work, but nothing cancels it. fan_alarm_notify() dereferences fan_data and its hwmon device. On unbind, devres frees the interrupt, which only waits for the handler itself, and then releases the hwmon device and fan_data, so a pending fan_alarm_notify() can run after those frees. Replace INIT_WORK() with devm_work_autocancel(), registered before devm_request_irq(). The devres cleanup then frees the interrupt first, so no new work can be queued, and cancels the work while fan_data and the hwmon device are still alive. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iommu/s390: Fix NULL dereference in iova_to_phys() with ZPCI_TABLE_TYPE_RFX When using a 5-level translation table via ZPCI_TABLE_TYPE_RFX get_rso_from_iova() returns NULL when the region-first entry is invalid. Yet in get_rto_from_iova() the region-second origin rso is not checked to be non-NULL before accessing rso[rsx] leading to a NULL pointer dereference instead of a NULL return when iova_to_phys() is called on a unmapped IOVA. Fix this by adding the missing NULL check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: hwsim: serialize pib updates to fix double-free hwsim_update_pib() does an unserialized read-swap-free of phy->pib: pib_old = rtnl_dereference(phy->pib); ... rcu_assign_pointer(phy->pib, pib); kfree_rcu(pib_old, rcu); It assumes the RTNL is held, but ->set_channel is not always called under it: the mac802154 scan worker changes channels via drv_set_channel() without the RTNL. Such an update can race an RTNL-held one on the same phy; both read the same pib_old and both kfree_rcu() it, double-freeing the object. With SLUB percpu sheaves batching kfree_rcu(), this surfaces as a KASAN invalid-free in rcu_free_sheaf(). struct hwsim_phy has no lock for pib. Add one and make the swap atomic with rcu_replace_pointer() under it, dropping the misleading rtnl_dereference().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: cc2520: fix FIFOP work use-after-free The FIFOP interrupt handler queues cc2520_fifop_irqwork. On removal, cc2520_remove() only flushes the work. The devm-managed FIFOP IRQ remains active until after ->remove() returns and can queue the work again after that flush, allowing it to run after the private data is released. Disable the work with disable_work_sync() instead of flushing it, so the handler can no longer queue it once removal begins. Destroy the buffer mutex last, since the worker and the stop callback invoked through ieee802154_unregister_hw() both take it. Found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ieee802154: 6lowpan: fix NULL dereference in lowpan_newlink TUNSETLINK allows a TUN device to change its link-layer type to ARPHRD_IEEE802154 without initializing ieee802154_ptr. lowpan_newlink() checks only the device type before dereferencing the pointer, so an RTM_NEWLINK request can trigger a NULL pointer dereference. Reject devices without ieee802154_ptr along with devices of the wrong type.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: fbdev: vfb: defer cleanup until the last reference FBIOGETCMAP takes a shallow snapshot of info->cmap and performs the usercopy after dropping info->lock. vfb_remove() frees the colormap immediately after unregistering the framebuffer, even when an open file still holds a reference to fb_info. A concurrent driver unbind can therefore free the colormap while the ioctl copies it to userspace. KASAN reports: BUG: KASAN: slab-use-after-free in _copy_to_user Read of size 512 by task poc/125 _copy_to_user (./include/linux/instrumented.h:129 ./include/linux/uaccess.h:201 lib/usercopy.c:24) fb_cmap_to_user (./include/linux/uaccess.h:230 drivers/video/fbdev/core/fbcmap.c:211) do_fb_ioctl (drivers/video/fbdev/core/fb_chrdev.c:114) Allocated by task 1: fb_alloc_cmap_gfp (./include/linux/slab.h:973 ./include/linux/slab.h:1290 drivers/video/fbdev/core/fbcmap.c:108) vfb_probe (drivers/video/fbdev/vfb.c:459) Freed by task 124: fb_dealloc_cmap (drivers/video/fbdev/core/fbcmap.c:151) vfb_remove (drivers/video/fbdev/vfb.c:489) unregister_framebuffer() drops the registration reference, and fbdev calls fb_destroy after the last put_fb_info(). Move the registered framebuffer's cleanup into an fb_destroy callback so its colormap and screen buffer stay alive until all file references have been released.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: erofs: preserve LZMA decoders on resize failure The pool-resize path frees each stream's old decoder before allocating its replacement. If an allocation fails after some streams have already been replaced, the failed stream is put back on the list with state == NULL. z_erofs_lzma_max_dictsize is still advanced as if the whole pool had been resized. An existing LZMA mount can select the broken stream and pass NULL to xz_dec_microlzma_reset(). A retry at the same size also skip another resize attempt. Since the global maximum was advanced, thus, the invalid state is left unrepaired. Allocate each replacement before freeing the old decoder, temporarily retaining one old decoder during allocation. Stop at the first failure and advance z_erofs_lzma_max_dictsize only after all streams satisfy the request. Record each stream's dictionary capacity so retries can skip streams already enlarged before a partial failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: Reserve extra CQ slot for the fence completion CQE The RX completion queue is sized to hold exactly one CQE per posted RX WQE. MANA_FENCE_RQ makes hardware post an additional CQE_RX_OBJECT_FENCE after the packet CQEs. The current sizing reserves no extra slot for it and in rare cases, CQ has no guaranteed slot for the fence CQE when it is full of packet CQEs. This can lead to dropping the fence completion while the driver waits holding RTNL lock throughout the timeout duration. Reserve one extra CQE slot for CQE_RX_OBJECT_FENCE. mana_gd_alloc_memory() requires queue_size to be a power-of-two and at least MANA_PAGE_SIZE; the reservation pushes cq_size past a power-of-two, so round up the CQ size in mana_create_rxq().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915: Fix memory leak in query_perf_config_list() When krealloc() fails, free the original oa_config_ids before returning to avoid a memory leak. (cherry picked from commit 9977e9d84f46d4f12ad35fbbc0ec4638554bce87)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/drm_exec: fix up contended obj when num_objects is 0 drm_exec_prepare_array() silently returns success without calling drm_exec_lock_contended() when num_objects is zero. This breaks the invariant upheld by drm_exec_lock_obj(), where every entry point into the locking sequence must first attempt to lock any previously contended object before proceeding. Drivers that chain multiple drm_exec_prepare_array() calls per drm_exec_until_all_locked() iteration (e.g. amdgpu's userq signal/wait ioctls, which prepare separate read and write BO arrays) can pass an empty array for one of the two calls. If contention is hit while preparing the non-empty array, exec->contended is set and the loop retries; on retry, the empty-array call preceding it is a no-op that never clears exec->contended, so drm_exec_retry_on_contention() immediately jumps back to the top of the loop without ever reaching the call that would resolve the contention. This spins forever. Fix it by having drm_exec_prepare_array() call drm_exec_lock_contended() directly when num_objects is zero, so a pending contended object dont loop infinitely.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btrtl: Don't leak return code when parsing firmware format v2 When key_id from chip is zero, rtlbt_parse_firmware_v2() intentionally ignores all security headers. However, the implementation simply breaks from a switch statement and leaks uninitialized return code `rc' (if the first section is a security one) or the previous section's `rc'. Fix it by really skipping a loop with `continue'. For consistency and readability, also do the same for the default case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btqcomsmd: destroy RPMsg endpoints before freeing hci_dev The command and ACL RPMsg endpoints store struct btqcomsmd as their callback private data. The receive callbacks dereference btq->hdev without taking an hci_dev reference. The current teardown order frees the hci_dev before destroying the RPMsg endpoints in both the hci_register_dev() error path and the driver remove path. If WCNSS delivers data in that window, the endpoint callback can run with an already freed hci_dev and pass it to the Bluetooth core. For qcom_smd endpoints, rpmsg_destroy_ept() closes the channel and clears the callback under the channel recv_lock. The receive path holds the same lock while invoking the callback, so destroying the endpoints first both prevents new callbacks and serializes with any callback already running. Destroy the command and ACL endpoints before hci_free_dev(). Keep hci_unregister_dev() first during remove so the HCI core stops issuing operations before the transport endpoints are shut down. In the full registration-error cleanup path, return directly after freeing the hci_dev to avoid falling through to the partial-construction labels and destroying the endpoints twice.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: sti: initialize IRQ lock before requesting IRQ uni_reader_init() registers the shared IRQ before initializing reader->irq_lock. A pending interrupt can invoke the handler while the lock is still uninitialized. Initialize the lock before registering the IRQ so the interrupt path always sees valid lock state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: sprd: validate compress buffer sizes against fixed allocations sprd_platform_compr_open() allocates the stage 0 IRAM buffer (32K data area) and the stage 1 DDR buffer (2M data area) with fixed sizes, but sprd_platform_compr_copy() derives all copy lengths from the user controlled runtime->fragment_size and the write() count, never comparing them against the physical buffer sizes. The compress core only checks fragment_size * fragments for an u32 overflow in snd_compress_check_input(), so a local user can configure a logical buffer of up to ~4GB via SNDRV_COMPRESS_SET_PARAMS, far exceeding the fixed allocations. A fragment_size larger than the 32K IRAM data area makes the stage 0 copy_from_user() overflow past the IRAM allocation, and a buffer_size larger than the 2M DDR buffer makes the wrapping copy at the end of sprd_platform_compr_copy() write fully user controlled data past the buffer. No SNDRV_PCM_TRIGGER_START is needed, a write() in SETUP state reaches the copy callback directly. Reject parameters that do not fit into the fixed buffers in set_params(), and fix the advertised max fragment size: 128K never fitted into the 32K IRAM buffer. The caps values may have been carried over from the qdsp6 driver, which allocates its buffers according to the advertised maxima, unlike this driver. With 32K as max fragment size the advertised limits are self-consistent: 32K * 64 = 2M equals the DDR buffer size. Discovered by Atuin - Automated Vulnerability Discovery Engine.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Validate full buffer range in ivpu_to_cpu_addr Add a size parameter to ivpu_to_cpu_addr() and validate that the whole [vpu_addr, vpu_addr + size) range stays within the BO.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ufs: validate cylinder group metadata before caching it ufs_read_cylinder() copies the cylinder group index and the rotor positions straight from the on-disk group and caches them without any check: ucpi->c_cgx = fs32_to_cpu(sb, ucg->cg_cgx); ucpi->c_rotor = fs32_to_cpu(sb, ucg->cg_rotor); ucpi->c_frotor = fs32_to_cpu(sb, ucg->cg_frotor); ucpi->c_irotor = fs32_to_cpu(sb, ucg->cg_irotor); They are then used as indices during allocation and free: - c_cgx indexes the cylinder summary array as UFS_SB(sb)->fs_cs(ucpi->c_cgx), so a value past s_ncg writes a 32 bit count outside the s_csp allocation. - c_frotor becomes a bitmap scan start, start = c_frotor >> 3, and then length = ((s_fpg + 7) >> 3) - start. A start beyond the block bitmap wraps the unsigned length to a huge value, so ubh_scanc() walks far past the cylinder group buffers. c_irotor drives the inode bitmap the same way. A crafted image can set any of these freely, turning an ordinary allocation into an out of bounds access. Reject a cylinder group whose recorded index does not match the group being read, or whose rotors fall outside the group, before the metadata is cached. Valid filesystems keep cg_cgx equal to the group number and the rotors within the group, so only malformed images are rejected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usbusx2y: fix in04_last array size mismatch with in04_buf The in04_last array in struct usx2ydev is declared as char[24], but in04_buf is allocated as sizeof(struct us428_ctls) which is 21 bytes. In i_usx2y_in04_int(), when ctl_snapshot_last == -2 (initialization path): memcpy(usx2y->in04_last, usx2y->in04_buf, sizeof(usx2y->in04_last)); This copies 24 bytes from a 21-byte slab allocation, reading 3 bytes past the end of the source object. Introduce a USX2Y_IN04_SIZE constant defined as sizeof(struct us428_ctls) and use it consistently for the in04_last array, the in04_buf allocation, the URB transfer length, and the comparison loop, replacing the bare 24 and 21 literals throughout.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: powerpc/eeh: Fix recursive locking on devices without EEH sensitive driver The commit 1010b4c012b0 ("powerpc/eeh: Make EEH driver device hotplug safe") refactored the EEH code such that the pci_rescan_remove_lock is held at the beginning of eeh_handle_normal_event() and the eeh_reset_device() is called with that lock being held. Looks like the commit missed to remove the existing lock/unlock inside eeh_rmv_device() which is no longer necessary. This is causing the eehd to hang on the lock which it actually holds when that code path is taken. [<0>] 0xc00000011c78f870 [<0>] __switch_to+0xfc/0x1a0 [<0>] pci_lock_rescan_remove+0x30/0x44 [<0>] eeh_rmv_device+0x290/0x2e0 [<0>] eeh_pe_dev_traverse+0x80/0x130 [<0>] eeh_reset_device+0xcc/0x23c [<0>] eeh_handle_normal_event+0x830/0xa80 [<0>] eeh_event_handler+0xf8/0x190 [<0>] kthread+0x194/0x1b0 [<0>] start_kernel_thread+0x14/0x18 The issue is seen for cases where the errors are detected on the PHB directly AND|OR for devices where the driver error_detected() returns PCI_ERS_RESULT_NEED_RESET, and driver being not EEH sensitive(i.e no error handlers like slot_reset(), resume() etc defined).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: mana: restore the XDP program pointer when pre-allocation fails mana_xdp_set() publishes the new program into apc->bpf_prog before it allocates anything, because mana_pre_alloc_rxbufs() sizes the buffers from it via mana_get_rxbuf_cfg(). When that allocation fails the function returns the error directly, skipping the err_dealloc_rxbuffs label which is the only place that restores the previous pointer. The attach is reported as failed, so the BPF core drops the reference it held for the caller and the program can be freed, while apc->bpf_prog still points at it. The next consumer of mana_xdp_get() - typically mana_chn_setxdp() from mana_alloc_queues() on the following ifup, or after a TX timeout reset - then calls bpf_prog_add() on freed memory. This is reachable from an ordinary "ip link set dev ethX xdp obj ..." whenever the per-queue RX buffer pre-allocation cannot be satisfied. Restore the previous program on that error path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: msc313e: Fix clock leak and spurious timer in settimeout() msc313e_wdt_settimeout() unconditionally calls msc313e_wdt_start() which introduces two severe bugs: 1. If the watchdog is already active, calling start() again will increase the reference count of the clock again. However stop() is only called once, the reference count is unbalance. 2. If the watchdog is stopped, calling settimeout() will start the hardware timer accidentally. Factor out the register-writing logic into a helper function. Only call it in settimeout() if the watchdog is running. Otherwise, simply update `wdev->timeout`.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: msc313e: Avoid division by zero clk_get_rate() could return 0. Avoid a division by zero panic.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: validate packet_len before skb_put_data btintel_pcie_submit_rx_work() reads packet_len from rfh_hdr without checking if it exceeds the RX buffer size. An oversized packet_len can lead to an out-of-bounds read in skb_put_data(). Validate packet_len to ensure it is non-zero and does not exceed BTINTEL_PCIE_BUFFER_SIZE - sizeof(*rfh_hdr), logging an error when invalid. This issue was reported by Claude Mythos. It can be simulated either by using customized firmware configured to return an invalid packet_len or by modifying rfh_hdr->packet_len in the driver before calling btintel_pcie_submit_rx_work().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: Fix UAF of btusb_data by rx_work btusb_close() and btusb_flush() cancel data->rx_work with the asynchronous cancel_delayed_work(), so if btusb_rx_work() is already running on another CPU it keeps running after the cancel returns. btusb_disconnect() calls hci_unregister_dev(), which invokes btusb_close(), and then frees the btusb_data. A still running btusb_rx_work() then dereferences the freed data: while ((skb = skb_dequeue(&data->acl_q))) data->recv_acl(data->hdev, skb); Use cancel_delayed_work_sync() instead. In btusb_close() the cancel also has to happen after btusb_stop_traffic(), otherwise an URB completion racing with the cancel can requeue the work right after it has been waited for.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: Decoupling ep1_in_urb in caiaq dev The epq_in_urb object belonging to the caiaq device is coupled within the struct snd_usb_caiaqdev. After usb_submit_urb(epq_in_urb, GFP_KERNEL) executes successfully, epq_in_urb is successfully added to the urbp_list queue of the dummy HCD driver (userspace specifies dummy_hcd as the HCD layer driver for the caiaq USB device). When init_card() calls snd_usb_caiaq_send_command() which subsequently fails due to a timeout, and proceeds to call snd_card_free() to release the card, the embedded ep1_in_urb object is also freed. When the dummy HCD driver detects that the URB has been unlinked, it returns the URB (by usb_hcd_giveback_urb()), which triggers [1]. Decouple the ep1_in_urb object from the struct snd_usb_caiaqdev and switch to using a pointer instead. Separately allocate and manage the memory for ep1_in_urb to prevent the release of the snd_card memory object from interfering with it. midi_out_urb has the same issue as ep1_in_urb and is handled in the same way. [1] BUG: KASAN: slab-use-after-free in usb_free_urb+0x24/0x120 drivers/usb/core/urb.c:96 Write of size 4 at addr ffff88803cee1050 by task ktimers/1/29 Call Trace: usb_free_urb+0x24/0x120 drivers/usb/core/urb.c:96 dummy_timer+0xaac/0x4d50 drivers/usb/gadget/udc/dummy_hcd.c:2019 __run_hrtimer kernel/time/hrtimer.c:2067 [inline] __hrtimer_run_queues+0x3eb/0xaf0 kernel/time/hrtimer.c:2124 hrtimer_run_softirq+0x1e1/0x2e0 kernel/time/hrtimer.c:2141 Allocated by task 36: snd_card_new+0x7b/0x110 sound/core/init.c:184 create_card sound/usb/caiaq/device.c:429 [inline] snd_probe+0x236/0x1af0 sound/usb/caiaq/device.c:544 Freed by task 36: snd_card_free_when_closed sound/core/init.c:630 [inline] snd_card_free+0x138/0x1d0 sound/core/init.c:662 snd_probe+0x162b/0x1af0 sound/usb/caiaq/device.c:553


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: cx82310_eth: drop URB after 0xffff reboot sentinel to prevent partial_data heap overflow The 0xffff length sentinel detects a router reboot and schedules re-enabling of ethernet mode, but then falls through to the rest of the loop body. The next check is } else if (len > CX82310_MTU) { which is the else of the just-matched if -- it never fires for len == 0xffff. The MTU bound that normally caps the incomplete-packet save path is silently bypassed. With 0xffff > skb->len always true (rx_urb_size is 4096), the incomplete-packet branch saves dev->partial_len = skb->len bytes into dev->partial_data. partial_data is kmalloc(hard_mtu) = kmalloc(CX82310_MTU + 2) = 1516 bytes, but skb->len after the 2-byte header pull can be up to 4094. A device that sends a 4096-byte URB starting with [0xff 0xff] therefore copies 4094 device-provided bytes into a buffer allocated for 1516 bytes, exceeding its requested size by 2578 bytes. The next URB then reads dev->partial_len (4094) back from the same 1516-byte buffer and dev->partial_rem (65535 - 4094 = 61441) from the new URB's ~4KB skb, both well past their allocations, and delivers the spliced result as a 64KB "frame" to the network stack. Bail out of rx_fixup after scheduling the re-enable work; the remainder of a reboot-marker URB is not meaningful packet data. This restores the invariant that partial_len < CX82310_MTU + 2 on the save path, since every other route there has already passed the MTU check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Don't predict JMP32 pointer vs zero comparisons Consider the following program: r1 = map_value; /* low 32 bits are zero at runtime */ r6 = 0xdead000000000000; if w1 != 0 goto l1; l0: r1 += r6; r2 = *(u64 *)(r1 + 0); exit; l1: r6 = 0; goto l0; At the moment is_branch_taken() reports the jump as always taken, because it does not distinguish between BPF_JMP and BPF_JMP32 comparisons when processing 'if w1 != 0 ...'.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject legacy packet loads from callbacks check_ld_abs() models a failed BPF_LD_ABS or BPF_LD_IND in a subprogram as an implicit return with R0 set to zero. It calls prepare_func_exit() to explore this synthesized path. When the load is reached directly from a synchronous callback, prepare_func_exit() enforces the callback return contract and marks R0 precise. R0 is not derived from a real instruction on this path, so precision backtracking reaches the callback call with R0 still requested and triggers the "callback unexpected regs" verifier bug. A privileged program loader can therefore cause a verifier warning and an -EFAULT BPF_PROG_LOAD. These legacy packet-load instructions are deprecated. Reject them from callbacks rather than complicating their implicit-return model. Check all active frames before constructing the implicit return so nested static subprograms cannot hide the callback context. Global functions are verified independently with a fresh frame zero, so an active-frame check cannot identify a global function called from a callback. Also check the complete subprogram call graph during stack-depth validation and reject a function containing a legacy load when any caller is a callback. This covers global and static descendants without making has_ld_abs transitive, preserving its per-function BTF return-type check. Ordinary uses outside callbacks remain supported.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel: avs: Fix unbalanced module reference count strace_open() invokes try_module_get() which on success takes the module reference. If any follow up operation causes strace_open() to fail, the refcount shall be put down.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel: avs: Clean up the bus when fetching ML caps fails snd_hdac_ext_bus_get_ml_capabilities() may fail and its return code shall be checked and accounted for. Address the issue by updating the error-path for avs_pci_probe(). At the same time, if the function in question succeeds but the next part of avs_pci_probe() fails, the hlink list shall be cleaned up before leaving the scope.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: Fix potential double-free at error path The fix for caiaq driver's resource management to handle the errors tries to release the resources in a common destructor call, but as a sashiko review for another patch suggested, some of the audio resources such as URBs have been already freed, and this may lead to a double-free. For addressing the double-free, call the common destructor function from each place, and assure that the resource pointers get cleared.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: bpf: backtrack_insn(): Handle ld_{abs,ind} subprog exit edge Nicholas Carlini reported a bug in precision backtracking mechanism for BPF_LD | BPF_{IND,ABS} instructions. These instructions are modelled as two branches: - fallthrough; - implicit exit from current subprogram. The implicit exit case was not handled by the backtrack_insn() function. When backtracking such a path backtrack_insn() did not call bt_subprog_enter(), which meant that backtracking continued manipulating precision marks in a caller frame, while looking at instructions in a callee frame. This lead to segmentation faults during verification (see the selftest), or unsound state pruning.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: ump: do not touch legacy_rmidi before it exists snd_ump_parse_endpoint() sets ump->parsed on every exit, including error, before the caller attaches the legacy rawmidi device. ump_handle_ep_name_msg() then treats parsed as "legacy_rmidi is live" and calls ump_legacy_set_rawmidi_name(), which snprintf()s into ump->legacy_rmidi->name. If a UMP packet arrives in that window (IRQ path from snd_ump_receive), legacy_rmidi is still NULL (KASAN null-ptr-deref in snprintf). Guard the legacy helpers. parsed only means endpoint info was parsed, not that legacy_rmidi exists.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: amd: yc: fix memory leak in acp6x_pdm_dma_close() acp6x_pdm_dma_close() does not free the runtime->private_data buffer allocated in acp6x_pdm_dma_open(). Add the missing kfree.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix out-of-bounds write in l2cap_ecred_connect l2cap_chan_connect() tries to ensure there are no more than L2CAP_ECRED_CONN_SCID_MAX pending ECRED channels, so they fit in the same L2CAP_ECRED_CONN_REQ that l2cap_ecred_connect() constructs. However, the check only counts deferred channels. If 6 L2CAP sockets are connected at the same time in order DDDDND (D=deferred, N=non-deferred), the last can bump the total to max+1. It results to one __le16 written out of bounds of the scid array, and an invalid ECRED_CONN_REQ being sent. Fix by leaving room for the non-deferred pending ECRED channels in the counting in l2cap_chan_connect(), so the limit can't be exceeded. Move counting under same critical section where the channel is added. Although race conditions involving this appear unreachable, it's easier to see. Also add WARN_ON_ONCE check in l2cap_ecred_defer_connect() to make this less brittle.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix chan mode for LE_CONN_REQ + EXT_FLOWCTL pchan l2cap_new_connection() sets default value of channel mode to match the parent channel. l2cap_le_connect_req() left this at the default, and created L2CAP_MODE_EXT_FLOWCTL channels if listening pchan has that mode. This causes FLAG_DEFER_SETUP channels to reply to L2CAP_LE_CONN_REQ with L2CAP_ECRED_CONN_RSP, which is incorrect. It can also result to stack OOB write (of l2cap_alloc_cid determined values) in l2cap_ecred_rsp_defer(), as l2cap_le_connect_req() does not limit maximum number of deferred channels or check for duplicate ident. Fix by setting chan->mode correctly in l2cap_le_connect_req(). Also check channel mode in l2cap_ecred_rsp_defer(), and do WARN_ON_ONCE instead of OOB write to make it less brittle.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: Fix race condition during device registration In hci_register_dev(), the power_on work item is queued to hdev->req_workqueue before initializing hdev->adv_monitors_idr and registering the MSFT extension via msft_register(). For devices marked with quirks such as HCI_QUIRK_RAW_DEVICE, the HCI_UNCONFIGURED flag is set on the device. When the power_on work item runs concurrently on another CPU, hci_power_on() detects that the device is unconfigured and immediately invokes hci_dev_do_close(), which calls msft_do_close(). Concurrently, msft_register() allocates the msft structure and exposes it to hdev->msft_data prior to calling mutex_init(&msft->filter_lock). If msft_do_close() executes while hdev->msft_data is already assigned but the mutex has not yet been initialized, mutex_lock(&msft->filter_lock) operates on an uninitialized mutex, triggering a DEBUG_LOCKS warning: DEBUG_LOCKS_WARN_ON(lock->magic != lock) WARNING: kernel/locking/mutex.c:625 at __mutex_lock_common kernel/locking/mutex.c:625 [inline] WARNING: kernel/locking/mutex.c:625 at __mutex_lock+0x12d8/0x1550 kernel/locking/mutex.c:821 ... Call Trace: <TASK> msft_do_close+0x308/0x7b0 net/bluetooth/msft.c:693 hci_dev_close_sync+0x86b/0x10a0 net/bluetooth/hci_sync.c:5522 hci_dev_do_close net/bluetooth/hci_core.c:499 [inline] hci_power_on+0x32c/0x750 net/bluetooth/hci_core.c:937 process_one_work kernel/workqueue.c:3322 [inline] process_scheduled_works+0xa8e/0x14e0 kernel/workqueue.c:3405 worker_thread+0x92d/0xe10 kernel/workqueue.c:3486 kthread+0x388/0x470 kernel/kthread.c:436 ret_from_fork+0x514/0xb70 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> Fix this by moving the queue_work() call in hci_register_dev() to after idr_init(&hdev->adv_monitors_idr) and msft_register(hdev) so that device structures and extensions are fully initialized before asynchronous tasks can access them. Additionally, assign hdev->msft_data in msft_register() only after mutex_init(&msft->filter_lock) has completed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: bound firmware ID by TLV length The firmware ID is treated as a NUL-terminated string even though the TLV length is its only boundary. If the value does not contain a NUL terminator, snprintf() can read beyond the received response. Limit the conversion to the advertised TLV value length.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: validate version TLV value lengths btintel_parse_version_tlv() verifies that a complete TLV is present in the response, but it does not ensure that the value is long enough for the specific TLV type. A short value can therefore cause an out-of-bounds read through get_unaligned_le16(), get_unaligned_le32(), or memcpy(). Reject values shorter than the minimum required by each known TLV type. Also reject responses that do not contain the Command Complete Status field.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Serialize PCM mmap with buffer reallocation to fix page UAF snd_pcm_hw_params() and snd_pcm_hw_free() guard buffer reallocation with an mmap_count check performed under the PCM stream lock, but the lock is released long before the buffer is actually freed: snd_pcm_sync_stop(), constraint refinement and do_free_pages() all happen in between. snd_pcm_mmap_data(), on the other hand, takes no lock at all: it validates against the old buffer's state and dma_bytes, remaps its pages into the VMA, and only then increments mmap_count. A concurrent mmap() can therefore slip in between the check and the free. remap_pfn_range() installs writable PTEs for the old buffer's pages without taking page references, and the subsequent do_free_pages() returns those pages to the page allocator while the VMA still maps them. This leaves a stale, writable mapping of freed pages: a page-level use-after-free that can be leveraged for local privilege escalation. Make snd_pcm_mmap_data() participate in the buffer-access scheme introduced for hw_params/hw_free: acquire runtime->buffer_accessing before validating and remapping, and release it afterwards. Buffer reallocation already fails with -EBUSY while accessors are active, and the mmap side now fails with -EBUSY while a reallocation is in progress, so the validate/remap sequence and the check/free sequence can no longer interleave. A reproducer that turns this race into a stale writable mapping of the freed DMA buffer pages is available on request.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: msc313e: Fix NULL pointer dereference in PM callbacks msc313e_wdt_probe() doesn't set the driver data for the platform device. As a result, dev_get_drvdata() in msc313e_wdt_suspend() and msc313e_wdt_resume() will return NULL, leading to a NULL pointer dereference afterward. Set the platform device driver data in msc313e_wdt_probe().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: accel/qaic: Address potential out-of-bounds read in resp_worker() Although 'commit 2feec5ae5df7 ("accel/qaic: Handle DBC deactivation if the owner went away")' fixes the scenario it was intended for by walking the message and only decoding QAIC_TRANS_DEACTIVATE_FROM_DEV, if present, it skipped over the bounds checking code that is included in decode_message(). This could lead to issues such as reading past the slab allocation's end, infinite loops or kernel panics. For those issues to happen, a malformed wire message is needed to be sent from the device. Instead of duplicating the bounds checking code already present in decode_message(), use the function inside resp_worker().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7921: validate CLC firmware records The CLC region is supplied by firmware, but the loader trusts the region count and each record length. A malformed image can make the region table pointer precede the firmware buffer, make the record loop fail to advance, or index phy->clc past its end. Validate the table and record bounds before dereferencing or copying.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix mismatched free of HalData in rtw_sdio_if1_init() padapter->HalData is allocated via vzalloc(), but incorrectly freed using kfree() in the rtw_sdio_if1_init() error path. Using kfree() to release this vmalloc-backed buffer can lead to memory corruption. Use rtw_hal_data_deinit() to pair the free correctly and free HalData with vfree(). The bug was first flagged by an experimental static analysis tool we are developing for kernel memory-management bugs. Manual inspection confirms that the issue is still present in current mainline. An x86_64 allyesconfig build showed no new warnings. As we do not have suitable RTL8723BS SDIO hardware to test with, no runtime testing was able to be performed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/gud: fix out-of-bounds write in gud_plane_atomic_check() The plane property loop uses req->properties[num_properties + i] as write index while simultaneously incrementing `num_properties` inside the loop. At iteration i, num_properties has also incremented by i, so the write is done at `initial_num_properties + 2*i`, skipping every other index and advancing by 2 per iteration. With just 2 connector and 32 plane properties the last write happens at index 64, one slot past the end of the 64-slot (indices 0-63) allocation. A USB device can trigger OOB by advertising the maximum number of properties. Fix by dropping the redundant `+ i`; num_properties is already the correct running index, as gud_connector_fill_properties() fills the preceding slots.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: validate scan response extents mwifiex_ret_802_11_scan() subtracts the fixed response fields and the firmware-provided BSS length from resp->size without first proving that either extent fits. A short response or oversized BSS length can therefore underflow tlv_buf_size and make the TLV parser walk beyond the command response. Compute the fixed extent from the selected normal or background scan response. Validate that the fixed fields and BSS data fit before deriving the TLV extent and entering the parser.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: bound the pairwise-cipher OUI walk to the IE length mwifiex_search_oui_in_ie() reads a pairwise-cipher (PTK) count from a beacon/probe-response RSN or WPA information element and then walks that many 4-byte OUIs, comparing each with memcmp(). The count comes straight from the (attacker-supplied) IE and is never checked against the element's own length, and the callers admit the element on element_id alone (has_ieee_hdr() / has_vendor_hdr(), no length check). A crafted RSN/WPA IE with a large pairwise count therefore makes the walk read up to 255 * 4 bytes past the element -- an out-of-bounds read of the kmemdup()'d beacon buffer, reachable from any AP whose beacon/probe response is processed during scan-result parsing. Pass the number of IE bytes available at the OUI list and bound the walk to the element. Keep the length signed and reject a negative value before any unsigned arithmetic, so a small or zero IE length cannot underflow to a large size_t and defeat the bound. Found by 0sec automated security-research tooling (https://0sec.ai).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: p54: require a full exp_if record in PDR_INTERFACE_LIST The PDR_INTERFACE_LIST loop only checks that the record start is within the entry before reading an entire struct exp_if from it. A truncated trailing record makes the if_id/variant reads cross the entry boundary into the heap beyond the EEPROM buffer (verified with a KASAN reproducer of the loop). The variant also feeds the synth front-end selection, so this is not only a leak. Advance only while a full record still fits in the entry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: p54: validate curve data length in the calibration curve converters p54_convert_rev0() and p54_convert_rev1() read calibration curve data from the device-supplied EEPROM entry using channel and points-per-channel counts taken verbatim from that same entry, so an entry that declares more data than it carries drives an out-of-bounds read past the EEPROM buffer (verified with a KASAN reproducer of the conversion loop). The sibling converters p54_convert_output_limits() and p54_convert_db() already validate their counts against the entry length; this path was missed. Reject the entry when the counts do not fit in the entry data.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wilc1000: fix RX buffer OOB-write in wilc_wlan_handle_isr_ext() wilc_wlan_handle_isr_ext() takes the RX transfer size from the device-reported interrupt status register (a 15-bit field shifted left by 2, up to 131068 bytes) and reads that many bytes from the device into rx_buffer, which is only WILC_RX_BUFF_SIZE (96K) large. The wrap check only handles the current offset; the size itself is never compared against the buffer, so a bogus SDIO device can make the driver OOB-write rx_buffer by up to ~32K with data it controls. The oversized transfer also leaves rx_buffer_offset past the end of the buffer, after which the unsigned wrap check stops working and the overflow can repeat. Drop any transfer whose size exceeds the RX buffer, acknowledging the data interrupt and re-arming the RX engine so the bogus frame is discarded and reception can continue. This also restores the rx_buffer_offset <= WILC_RX_BUFF_SIZE invariant the wrap check relies on. This is not expected to change driver behavior in most cases: without this check, an oversized transfer would most likely corrupt neighboring kernel memory instead of completing anyway, and the drop path performs the same interrupt acknowledgment and RX engine re-arming as the normal path, so subsequent transfers are received unaffected. Discovered by Atuin - Automated Vulnerability Discovery Engine.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wilc1000: fix out-of-bounds read in P2P public action frames wilc_wfi_p2p_rx() and mgmt_tx() start parsing a frame once ieee80211_is_public_action() returns true. That helper only verifies the frame is long enough for the action category field, that is offsetofend(struct ieee80211_mgmt, u.action.category), 25 bytes. Both functions then read the P2P public action header up to oui_subtype at offset 30 and pass "size - ie_offset" to cfg80211_find_vendor_ie(), where ie_offset is offsetof(struct ieee80211_mgmt, u) + sizeof(*d), i.e. 32. A public action frame of 25 to 31 bytes passes the check but is shorter than that 32 byte header, so oui_subtype can be read out of bounds, and because the length is unsigned, "size - ie_offset" underflows to a value close to 4 GiB. cfg80211_find_vendor_ie() takes an unsigned int length, so even the size_t subtraction in mgmt_tx() is truncated to the same value. It then walks far past the buffer searching for a vendor element until it reaches unmapped memory. In the receive path the frame arrives over the air and needs no association, so a nearby unauthenticated device can crash the host while it is in P2P listen. Reject frames shorter than the P2P public action header in both paths before dereferencing it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wlcore: release runtime PM ref on regdomain config failure wlcore_regdomain_config() gets a runtime PM reference before sending the regulatory-domain command. When wlcore_cmd_regdomain_config_locked() fails, the function queues recovery and returns without dropping that reference. Release the reference after handling the command result so both success and failure paths balance the preceding pm_runtime_resume_and_get(). The recovery worker takes a separate runtime PM reference and cannot release the reference held here.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlegacy: fix broadcast stations deallocation On the error path of __il4965_up(), il_dealloc_bcast_stations() clears only IL_STA_UCODE_ACTIVE, leaving IL_STA_BCAST set. This causes the same broadcast stations to be deallocated again by __il4965_down(). This can occur when RF_KILL is toggled during driver startup. To fix clear the entire 'used' field, since we will not do any other operations on the station.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmsmac: fix UAF in brcms_free_timer() brcms_free_timer() calls brcms_del_timer() which uses the non-synchronous cancel_delayed_work() to cancel the timer's underlying delayed work. If the work callback (_brcms_timer) is already running, cancel_delayed_work() returns false without waiting, and brcms_free_timer() proceeds to kfree(t) while the callback still accesses t through container_of(). Add an explicit cancel_delayed_work_sync() after brcms_del_timer() to guarantee that any in-flight callback has completed before the timer structure is freed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: hwmon: (w83791d) remove fan/pwm 4-5 sysfs group on remove When the fan/pwm 4-5 pins are not used as GPIO, w83791d_probe() creates the w83791d_group_fanpwm45 sysfs group on the I2C client device. The probe error path removes this group when a later initialization step fails, but the normal remove path only removes w83791d_group. As a result, the optional fan/pwm 4-5 sysfs files can remain after the driver is unbound. The callbacks associated with these files access the driver data, which is devm allocated and released after driver unbind. Leaving the sysfs files behind can therefore result in accesses to stale driver data. Remove w83791d_group_fanpwm45 during normal teardown as well. This issue was found by manual code inspection.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: zero ff_effect before compat copy in input_ff_effect_from_user In the compat path input_ff_effect_from_user() aliases the caller's native struct ff_effect with the smaller struct ff_effect_compat and copies only the compat sized prefix: compat_effect = (struct ff_effect_compat *)effect; if (copy_from_user(compat_effect, buffer, sizeof(struct ff_effect_compat))) The tail of the native structure is never written. Callers pass an uninitialized on-stack object, for example evdev_do_ioctl() for EVIOCSFF, so those bytes keep their previous stack contents. input_ff_upload() then stores the full native structure in ff->effects[id], from where a uinput based force feedback daemon can read it back via UI_BEGIN_FF_UPLOAD, disclosing kernel stack memory to userspace. Zero the effect before the compat copy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - fix GPF in suspend and resume when unbound Transport drivers (such as rmi_i2c and rmi_spi) invoke rmi_driver_suspend() and rmi_driver_resume() on their child rmi_dev device during system power management events. However, transport drivers are fully registered and operational even if the physical RMI driver failed to bind or probe the rmi_dev device. When rmi_driver_suspend() or rmi_driver_resume() is called on an unbound rmi_dev, dev_get_drvdata() returns NULL. Calling rmi_disable_irq() or rmi_enable_irq() without driver data attached causes a NULL pointer dereference and General Protection Fault when attempting to lock data->enabled_mutex. Fix this by checking if driver data is attached to rmi_dev in rmi_driver_suspend() and rmi_driver_resume(), exiting early if no driver data is present.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: soc_button_array - check btns_desc->package.count Check that btns_desc->package.count is not 0 before accessing btns_desc->package.elements[0].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: rmi_smbus - fix out-of-bounds read in rmi_smb_write_block() When chunking writes into SMBus blocks in rmi_smb_write_block(), the loop calculates block_len using the original total length (len) instead of the remaining length (cur_len). If len is greater than 32 bytes (SMB_MAX_COUNT), block_len remains 32 for every iteration, even on the final partial chunk where fewer than 32 bytes remain. This causes smb_block_write() to read 32 bytes from the advanced data buffer pointer, reading past the end of the input buffer. Fix this by calculating block_len using cur_len and advancing the buffer and address pointers by block_len.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: evdev - zero absinfo before partial copy in EVIOCSABS The EVIOCSABS handler copies at most the user supplied ioctl size into an uninitialized on-stack struct input_absinfo: if (copy_from_user(&abs, p, min_t(size_t, size, sizeof(struct input_absinfo)))) The size comes from _IOC_SIZE() of the ioctl command and is therefore fully controlled by userspace. A short size leaves the trailing part of the structure holding whatever was on the kernel stack, and the whole structure is then stored into the device: dev->absinfo[t] = abs; EVIOCGABS hands that back to userspace, disclosing the stale stack bytes. Only the resolution field is currently cleared, which covers the legacy struct layout but not an arbitrarily short size. Zero the structure before the copy so any part not supplied by the caller reads back as zero. The existing resolution fixup is kept, since it also handles a size that partially overlaps that field.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Input: cyttsp5 - clamp the HID report size before memcpy The size field comes from the device and is used as the memcpy() length into response_buf, which is CY_MAX_INPUT bytes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: spi: reset bytes_xfered before retrying CRC failures mmc_spi_data_do() updates data->bytes_xfered after each block has been transferred successfully. If a later block in the same data request fails with a CRC error, data->bytes_xfered may therefore contain the number of bytes completed before the failing block. mmc_spi_request() has a private recovery path for such CRC failures. It sends STOP_TRANSMISSION, clears data->error and jumps back to crc_recover to issue the same command and data request again. However, it does not clear data->bytes_xfered before the retry. If the retry succeeds, the request is completed with the bytes from the failed attempt still included in data->bytes_xfered. For a multi-block request this can make the completed request report more bytes than were transferred by the successful retry, and can even exceed the request size when most blocks completed before the CRC error. This is most likely to be observed on MMC-over-SPI systems where long multi-block transfers occasionally hit a data CRC error but the mmc_spi-internal retry succeeds. The data itself is retried, but the completion accounting is not. Clear data->bytes_xfered together with data->error before repeating the request so the final completion reports only the bytes transferred by the successful attempt.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: sdio_uart: fix xmit_fifo leak when the port table is full sdio_uart_add_port() allocates the transmit fifo before claiming a slot in sdio_uart_table[]. When all UART_NR slots are taken, it returns -EBUSY with the fifo still allocated, but the probe error path only kfree()s the port, leaking the transmit fifo. Free the fifo in the failure path of sdio_uart_add_port() itself so the function retains nothing on error.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: sdhci-of-aspeed: Remove children before releasing SDC resources Probe failure and removal leave SDHCI child devices registered after the parent clock and managed resources are released. Unregister the OF children in reverse order before disabling the parent clock on both paths. Use of_platform_device_destroy() because manual child creation does not set the flag required by of_platform_depopulate(). This issue was identified during our ongoing static-analysis research while reviewing kernel code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: mxcmmc: cancel data work and watchdog on remove mxcmci_remove() frees the host through the devm tail, but neither it nor mmc_remove_host() drains the driver's own asynchronous state. host->watchdog, a 10 s timer armed on the DMA path in mxcmci_setup_data(), is deleted only by the DMA- and IRQ-complete paths, which the remove path does not explicitly drain; it can therefore fire after the host is freed and dereference it in mxcmci_watchdog(). host->datawork, armed from the IRQ handler on the PIO path, is not cancelled by the remove path either. Free the devm-registered IRQ, then cancel datawork and delete the watchdog in mxcmci_remove(), before dma_release_channel(). Freeing the IRQ first keeps a trailing handler from re-arming datawork between the cancel and the host free. Both callbacks are non-self-rearming. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: hsq: Fix use-after-free in retry work mmc_hsq_pump_requests() queues retry_work when request_atomic() returns -EBUSY; today sdhci-sprd is the only consumer that implements request_atomic(). The work is embedded in a devm-allocated mmc_hsq, but is never cancelled during driver removal. Work still pending at unbind can therefore run after the devm allocation has been released and dereference hsq->mmc and hsq->mrq. Use devm_work_autocancel() to cancel and drain retry_work before the devm allocation is released. By the time devres cleanup begins, mmc_remove_host() has already stopped the host, so no new requests can arm the work. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: core: Cancel SDIO IRQ work before freeing host A host controller that uses sdio_signal_irq() schedules host->sdio_irq_work from its interrupt handler. That work is only cancelled on the suspend path (mmc_sdio_suspend()), not on the remove/free path, so a worker armed just before the controller freed its IRQ can run after mmc_host_classdev_release() has freed the host and dereference it through container_of(). Cancel host->sdio_irq_work in mmc_free_host(), like the existing host->detect drain added by commit 1036f69e2513 ("mmc: core: Cancel delayed work before releasing host"). This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: i2c: atr: fix dangling adapter pointer on add failure i2c_atr_add_adapter() stores atr->adapter[chan_id] before i2c_add_adapter() so that the I2C bus notifier can match child clients during registration. On failure the channel is freed but the slot was left pointing at freed memory, which can lead to use-after-free in i2c_atr_del_adapter() / cleanup and also block reuse with -EEXIST. Clear the slot on the i2c_add_adapter() error path before freeing chan.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KEYS: trusted: Fix tpm2_load_cmd() boundary check tpm2_load_cmd() does boundary checks against the ASN.1 size i.e., payload->blob_len. Address this by passing the decoded blob size to tpm2_load_cmd(), and use it for the boundary checks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KEYS: encrypted: fix integer overflow of datablob_len encrypted_key_alloc() stores datablob_len in a u16. It is computed from multiple string and payload lengths. If the result exceeds U16_MAX, the assignment truncates the allocation size. KASAN reports a 32760-byte slab-out-of-bounds write when __ekey_init() copies the master key description into the undersized buffer. The total payload length stored in key->datalen is also a u16. Use check_add_overflow() to reject values that do not fit either destination, and use kzalloc_flex() for the flexible-array allocation.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: memstick: ms_block: destroy io_queue workqueue on removal msb_init_disk() creates the per-card ordered workqueue msb->io_queue with alloc_ordered_workqueue(). It is torn down with destroy_workqueue() only on the init error path; msb_remove() never destroys it. msb_stop() merely flushes the queue, and neither msb_data_clear() nor put_disk() free it. As a result every card insert/remove cycle leaks the workqueue and its kworker, exhausting kernel memory over repeated cycles. Destroy the workqueue in msb_remove() after the disk has been removed and the queue drained.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: mhi_wwan_mbim: check skb_copy_bits() return value mhi_mbim_rx() ignores the return value of skb_copy_bits() when it copies each datagram out of the NTB. The datagram offset and length come from the DPE, which is only checked to lie within the NTB itself, so a modem can point a datagram outside the received skb. The copy then fails and the freshly allocated skbn is passed to netif_rx() with its uninitialized contents still in place, leaking kernel heap memory into the network stack. Free the skb and account an error when the copy fails. Verified in a QEMU guest with a fault injector pointing a DPE outside the received NTB: the copy fails, and the unpatched driver hands the uninitialized skbn to the network stack (observed as "unknown protocol" on bytes that were never written). With this check the failed datagram is dropped and counted as an rx error. Changes in v2: factor the free-and-count sequence out into mhi_mbim_rx_drop(), shared with the unknown-protocol path, as suggested by Loic Poulain.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: mhi_wwan_mbim: guard against a cyclic NDP chain The NDP traversal in mhi_mbim_rx() only stops when wNextNdpIndex is zero. Nothing requires the offsets to advance, so a modem that points an NDP at itself, or at an earlier NDP, keeps the loop spinning forever on one CPU. Break out when the next NDP offset is not larger than the current one. Verified in a QEMU guest with a fault injector feeding the driver's receive callback an NTB whose single NDP points at itself: the unpatched driver spins in mhi_mbim_rx() with one CPU pinned at 100% and the thread never returns. With this check the loop terminates within one iteration. Changes in v2: move the non-increasing check to the wNextNdpIndex retrieval site, as suggested by Loic Poulain, instead of tracking the previous offset in a separate variable.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: wwan: t7xx: validate the netif index in t7xx_ccmni_recv_skb() The netif index carried in the DPMAIF PIT header is five bits wide, but ccmni_inst[] only has room for NIC_DEV_MAX (21) entries. t7xx_ccmni_recv_skb() indexes the array without a bounds check, so indexes 21 to 31 read past it. The out-of-bounds value lands in the callback table that follows the array, which is never NULL, so the existing !ccmni check does not catch it and the driver dereferences whatever sits there as a struct t7xx_ccmni. Drop the skb when the index is out of range. Verified in a QEMU guest with a fault injector setting the netif index to 25: the unpatched driver reads a value past ccmni_inst[], which lands in the callback table, and dereferences it far enough to queue the skb. With this check the packet is dropped. Well-formed traffic on index 0 is unaffected. Changes in v2: none.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: Serialize local codec list cleanup hci_dev_close_sync() clears hdev->local_codecs after releasing hdev->lock. Codec list additions and both traversals in sco_sock_getsockopt() use that lock, but the close path does not. A close and BT_CODEC query can therefore interleave as follows: hci_dev_close_sync() sco_sock_getsockopt() hci_dev_lock() fetch codec entry hci_codec_list_clear() kfree(entry) read entry->id The reader then accesses an entry which the close path has freed. KASAN BUG: KASAN: slab-use-after-free in sco_sock_getsockopt+0xfa0/0xfe0 Read of size 1 at addr ffff8881001c3450 Call Trace: sco_sock_getsockopt+0xfa0/0xfe0 do_sock_getsockopt+0x537/0x7b0 __sys_getsockopt+0xf2/0x170 Allocated by task 92: hci_codec_list_add.isra.0+0x2c/0x440 hci_read_codec_capabilities+0x224/0x590 hci_read_supported_codecs+0x2c2/0x640 Freed by task 92: kfree+0x131/0x3c0 hci_codec_list_clear+0xd8/0x160 hci_dev_close_sync+0x92a/0xfa0 Take hdev->lock around the clear operation at its existing point in the close path. This makes the clear wait for active readers and prevents a new traversal until the list is empty without changing teardown ordering.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_codec: validate vendor codec count length The Read Local Supported Codecs parsers consume the variable-sized standard codec array before parsing the vendor codec count. Although the initial reply-size check includes a vendor count byte in the fixed layout, it does not guarantee that the byte remains after the standard codec array. If a controller reply ends immediately after that array, calculating the vendor codec array size reads vnd_codecs->num beyond the skb data. Use skb_pull_data() to validate and consume each codec header before using its count in both command variants.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: arm64: hibernate: pass HVC_SET_VECTORS args to the resume hvc swsusp_arch_suspend_exit() reinstalls the restored kernel's hyp stub vectors with an hvc, but never passes the arguments. x0 is not set to HVC_SET_VECTORS and x1 is not set to the vector address, so the stub dispatch falls through and returns without writing vbar_el2. EL2 is left pointing at the trans_pgd copy of the vectors, a page that swsusp_free() releases right after resume. Set the arguments up the same way __hyp_set_vectors() does. Without this fix, Vladimir was able to trigger a hang when resuming from hibernation with CONFIG_PAGE_POISONING=y and page_poison=on.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: rt712-sdca-dmic: fix uninitialized stream_config->type stream_config is not initialized before being passed to sdw_stream_add_slave(). The type field may contain garbage and is later copied to stream->type by sdw_config_stream(). Zero-initialize stream_config so type defaults to SDW_STREAM_PCM. While at it, use snd_sdw_params_to_config() helper instead of open-coding the same logic.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: virtio: reset device before deleting virtqueues virtsnd_remove() and virtsnd_freeze() delete the virtqueues before resetting the device. del_vqs() frees the vring backing, but does not provide a generic device quiesce operation. In particular, modern virtio-pci keeps enabled queues active until the device is reset. Reset the device before deleting the virtqueues so it can no longer access the vring memory when that memory is released. This also covers probe failures after DRIVER_OK, which unwind through virtsnd_remove().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: check ras and obj before dereference nbio_v7_9_handle_ras_controller_intr_no_bifring() dereferences ras and obj without checking either for NULL. Both amdgpu_ras_get_context() and amdgpu_ras_find_obj() can return NULL, e.g. during the window between adev->nbio.ras being set (early in amdgpu_ras_init(), by design, to enable the fatal-error interrupt as soon as possible) and the PCIE_BIF ras object actually being created in RAS late_init. Any interrupt in that window crashes in hard-IRQ context. This is analogous to commit d190b459b2a4 ("drm/amdgpu: the warning dereferencing obj for nbio_v7_4"), which fixed the same issue in the nbio_v7_4 handler. Found by Linux Verification Center (linuxtesting.org) with SVACE. (cherry picked from commit c7071767a50a32ed727cf800ac84372429e3b4b3)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: avoid socket lock inversion in listener cleanup rfcomm_sock_cleanup_listen() closes unaccepted child sockets through rfcomm_sock_close(), which takes the child socket lock before rfcomm_dlc_close() acquires rfcomm_mutex. The RFCOMM worker takes these locks in reverse order while handling connections and DLC state changes, so lockdep reports a possible deadlock. Close dequeued children without taking their socket lock. The accept queue owns a reference to each child, and bt_accept_dequeue() locks the child while unlinking it and clearing its parent pointer. Dropping the child lock makes it important to prevent a concurrent rfcomm_connect_ind() from enqueueing a new child after cleanup observes an empty queue. Set a listening socket to BT_CLOSED while its lock is still held, before dropping the lock and draining the queue. The state check in rfcomm_connect_ind() then rejects new children once cleanup starts.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: fix off-by-one bounds check in RX submit btintel_pcie_submit_rx() used frbd_index > rxq->count to guard the FRBD array access, allowing frbd_index == rxq->count to pass through and index one element past the end of the array. Change the check to >= rxq->count so every out-of-range index is rejected. This issue was reported by Claude Mythos.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtksdio, btmtkuart: validate WMT event length before struct access btmtksdio.c and btmtkuart.c cast a received WMT event straight to struct btmtk_hci_wmt_evt and read its op/flag fields without checking the event is long enough to contain them, unlike btmtk.c. The FUNC_CTRL case then further casts to struct btmtk_hci_wmt_evt_funcc and reads its 2-byte status field, again without a length check. Firmware that sends a short or malformed WMT event makes both drivers read past the end of the received SKB. Mirror btmtk.c: validate the base WMT header with skb_pull_data() before touching any of its fields, and when a FUNC_CTRL event turns out to be the short, header-only form (a plain enable/disable ack with no status word), decode the result from the header's own flag byte instead (0 = success, otherwise failure). Verified setup on MT7920, MT7921, MT7922 and MT7925: no regression.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: Fix parent socket leak in iso_conn_ready() iso_get_sock() returns the parent socket with a reference held, which is dropped by sock_put() once the child socket has been set up. The error path taken when iso_sock_alloc() fails only calls release_sock() and returns, leaking the reference and thus the parent socket itself. Drop the reference on that path as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: coredump: Quiesce dump work on unregister hci_devcd_handle_pkt_init() arms dump_timeout and coredump producers queue dump_rx without holding an hdev reference. Unregister leaves both works live, so disconnecting during an active dump lets them access hdev after hci_release_dev() frees it. Shut down coredump processing during unregister. Close the producer gate under dump_q.lock before disabling both works, then free the active buffer and queued packets under hci_dev_lock. Serializing the gate with enqueue prevents controller-specific workers from adding packets after the final purge.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: mmp_pdma: fix wrong sg length in mmp_pdma_prep_slave_sg() In mmp_pdma_prep_slave_sg(), for_each_sg() iterates the scatterlist putting each entry into 'sg', but the entry length is read from 'sgl' (the list head) instead of 'sg' (the current entry): for_each_sg(sgl, sg, sg_len, i) { addr = sg_dma_address(sg); avail = sg_dma_len(sgl); /* should be 'sg' */ Consequently 'avail' is always the length of the first entry. For multi-sg lists this causes out-of-bounds reads when a later entry is shorter than the first, and silent data loss when it is longer. Single-sg or uniformly-sized lists happen to mask the issue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: seg6: set IPSKB_L3SLAVE from IP6SKB_L3SLAVE on IPIP decapsulation When an SRv6 packet arrives on an interface enslaved to a VRF, vrf_ip6_rcv() sets IP6SKB_L3SLAVE in IP6CB, but decap_and_validate() has never set IPSKB_L3SLAVE in IPCB. The bit stayed clear in the common case, and with CONFIG_IPV6_MIP6 the leftover frag_max_size of a reassembled outer packet could even set it, with no VRF involved. Commit 44930446dde4 ("ipv6: seg6: clear IPv4 control block on IPIP decapsulation") then made the unreliable bit reliably clear. The effect of the missing flag is visible with End.DX4 when a delivery to a local address of the node reaches the socket lookup. For example, a UDP socket bound to the enslaved ingress interface does not receive any of the decapsulated packets, while an unbound socket outside the VRF does. This contradicts Documentation/networking/vrf.rst: by default the scope of an unbound UDP or TCP socket is limited to the default VRF. Set IPSKB_L3SLAVE for IPv4 in decap_and_validate(), which already does the same for IPv6. The socket lookup then matches the decapsulated packet like any other packet received on that enslaved interface. Such a packet matches an unbound UDP or TCP socket only when udp_l3mdev_accept or tcp_l3mdev_accept is set.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: cleanup arsta in ath11k_mac_peer_cleanup_all() When mac80211 removes a sta, it calls .sta_state() which in turn calls ath11k_mac_station_remove(). In that function we clean up both peers & arsta related resources. But when the firmware crashes, ath11k calls ieee80211_restart_hw(), which assumes that all driver related resources are cleaned up beforehand. This cleanup is supposedly done by ath11k_mac_peer_cleanup_all() but does not in fact free arsta->rx_stats / tx_stats. Extract the arsta cleanup from ath11k_mac_station_remove() into a new ath11k_mac_station_cleanup() and call it from both there and ath11k_mac_peer_cleanup_all(). This should handle kmemleaks reports like: unreferenced object 0xffffff801ae66400 (size 1024): comm "hostapd", pid 1306, jiffies 4295011565 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc d61c08ec): kmemleak_alloc+0x3c/0x50 __kmalloc_cache_noprof+0x2b0/0x3e0 ath11k_mac_op_sta_state+0x1dc/0xb10 drv_sta_state+0xac/0x6f8 sta_info_insert_rcu+0x314/0x5e0 sta_info_insert+0x14/0x38 ieee80211_add_station+0x10c/0x1a0 nl80211_new_station+0x3e8/0x680 genl_family_rcv_msg_doit+0xc0/0x120 genl_rcv_msg+0x1b4/0x258 netlink_rcv_skb+0x4c/0x108 genl_rcv+0x38/0x60 netlink_unicast+0x190/0x278 netlink_sendmsg+0x15c/0x370 ____sys_sendmsg+0x120/0x290 ___sys_sendmsg+0x70/0xa0 Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: hda: trace PCM open only after assigning a stream Stream assignment can fail when hardware streams are exhausted. Move the tracepoint after the NULL check because its payload accesses the assigned stream tag. Detected by static analysis and reviewed with AI-assisted source auditing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/vc4: Use managed KMS polling to fix UAF on unbind vc4_kms_load() calls drm_kms_helper_poll_init() but the driver provides no matching drm_kms_helper_poll_fini(). The output poll work stays scheduled after unbind and runs on the freed drm_device: # modprobe vc4; rmmod vc4; sleep 10 BUG: KASAN: slab-use-after-free in delayed_work_timer_fn BUG: KASAN: slab-use-after-free in drm_client_dev_hotplug [drm] Workqueue: events output_poll_execute [drm_kms_helper] Allocated by task 171: __devm_drm_dev_alloc Freed by task 262 (rmmod): drm_dev_put / component_del Use drmm_kms_helper_poll_init() so polling is finalized with the device, as other drivers do.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: virt_wifi: don't transfer operstate before register virt_wifi_newlink() calls netif_stacked_transfer_operstate() before register_netdevice(). If the lower device is dormant, that queues the new netdev on lweventlist while it is still uninitialized. If registration fails after that, for example because of an invalid name such as "bad/name", free_netdev() immediately frees the object. A later linkwatch_fire_event() then use-after-frees the list entry. Move the transfer to after netdev_upper_dev_link(), as macvlan and ipvlan already do.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: 6fire: fix OOB write from device-reported iso length usb6fire_pcm_in_urb_handler() sizes each outgoing isochronous packet as (actual_length - 4) / (in_n_analog << 2) * (out_n_analog << 2) + 4, where actual_length is the unsigned length the device reported for the matching IN packet. A packet completed with status 0 and actual_length < 4 wraps the subtraction to 0x7fffffec; a zero-length isochronous packet is legal on the bus, and the preceding loop rejects only non-zero status. The sum reaches memset() on out_urb->buffer, a 4832-byte object from kcalloc(PCM_MAX_PACKET_SIZE, PCM_N_PACKETS_PER_URB). Even without the wrap the result is out of bounds: at 88.2/96 kHz the 4-in/6-out scaling turns a full 420-byte IN packet into 628, so eight packets span 5024 bytes of that buffer. usb_submit_urb() rejects an over-long descriptor only after the memset() and the usb6fire_pcm_playback() copy of user PCM data have run. Guard the subtraction as the sibling usb6fire_pcm_capture() already does, and limit the frame count to what fits in rt->out_packet_size, the OUT endpoint's wMaxPacketSize. This bounds total_length by the buffer size while keeping each packet length aligned to a whole output frame. BUG: KASAN: out-of-bounds in usb6fire_pcm_in_urb_handler (sound/usb/6fire/pcm.c:338) Write of size 18446744073709551456 at addr ffff88802a3d0000 by task vhci_rx/5018 Call Trace: dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) print_report (mm/kasan/report.c:378 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:595) kasan_check_range (mm/kasan/generic.c:186 mm/kasan/generic.c:200) __asan_memset (mm/kasan/shadow.c:84) usb6fire_pcm_in_urb_handler (sound/usb/6fire/pcm.c:338) __usb_hcd_giveback_urb (drivers/usb/core/hcd.c:1657) usb_hcd_giveback_urb (drivers/usb/core/hcd.c:1741) vhci_rx_loop (drivers/usb/usbip/vhci_rx.c:107 drivers/usb/usbip/vhci_rx.c:242) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) Allocated by task 10: __kmalloc_cache_noprof (mm/slub.c:5563) usb6fire_pcm_init (sound/usb/6fire/pcm.c:560 sound/usb/6fire/pcm.c:595) usb6fire_chip_probe (sound/usb/6fire/chip.c:133) usb_probe_interface (drivers/usb/core/driver.c:399) The buggy address belongs to the object at ffff88802a3d0000 which belongs to the cache kmalloc-8k of size 8192 The buggy address is located 0 bytes inside of 4832-byte region [ffff88802a3d0000, ffff88802a3d12e0) Kernel panic - not syncing: Fatal exception in interrupt


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: set timer->private_data before registering the PCM timer snd_pcm_timer_init() calls snd_device_register() to link the new struct snd_timer into the global timer list while it still carries hw.c_resolution = snd_pcm_timer_resolution (and hw.start/hw.stop), and only afterwards sets timer->private_data = substream. Once the timer is on the list under register_mutex, a concurrent reader can already reach it through the same mutex and invoke these callbacks. /proc/asound/timers does this via c_resolution(), and snd_timer_open()+snd_timer_start() reach start()/stop() the same way. All three dereference timer->private_data, which for this brief window is NULL, giving a NULL-pointer dereference: substream = timer->private_data; return substream->runtime ? ... // substream is NULL Move the private_data/private_free assignment before snd_device_register() so the timer is never visible on the list without its private_data set. On the snd_device_register() failure path, private_free() (snd_pcm_timer_free()) can now run, but it only does substream->timer = NULL, which is already NULL at that point since substream->timer is set to the new timer just once, after a successful registration -- so the failure path stays safe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: bcd2000: Fix race between rawmidi and disconnect Although we tried to fix the potential UAF issues at USB disconnect on bcd2000 driver, there is still an overlooked case -- namely, when a rawmidi trigger callback has been already running at USB disconnect handling, the in-flight function (e.g. bcd2000_midi_send()) could still access the URB, because the previous URB NULL-check & clearance was considered only for the URB complete callbacks, but not about the parallel rawmidi operations. For addressing the race, this patch introduced a new spinlock that covers each rawmidi operation as well as the rawmidi handling in the complete callback. The URB is cleared with the lock, so it guarantees that the pending rawmidi task already finished or a NULL check is effective.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr When an out_fence_ptr is provided but DRM_MODE_PAGE_FLIP_EVENT is not set, a drm_pending_vblank_event will be allocated. If later, there is an allocation failure or another failure at setup_out_fence(), that event will not have base.fence set and it will not be released at complete_signaling(). Release the event and set crtc_state->event to NULL just like in the DRM_MODE_PAGE_FLIP_EVENT case when there is a failure at drm_event_reserve_init(). That is, prepare_signaling() releases the event and there is nothing to be done at complete_signaling(). Use drm_event_cancel_free() as that will also undo drm_event_reserve_init() in case it has been called.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: set up the TX info early to fix failure paths The previous commit 2c51457d930f ("wifi: mac80211: free ack status frame on TX header build failure") cleaned up the leak, but still left the code a bit messy and the failed SKB didn't get reported to userspace. Fix this up by initialising skb->cb[] earlier, which allows using ieee80211_free_txskb() and therefore reports it for the failure in ieee80211_build_hdr(), and unifies the ieee80211_skb_resize() failure path with it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: mesh: release the channel if start fails ieee80211_join_mesh() acquires a channel context and then calls ieee80211_start_mesh(), which can fail. In that case, the chanctx isn't released then interface removal will attempt to unassign it after it's removed from the driver, hitting: wlan0: Failed check-sdata-in-driver check, flags: 0x0 WARNING: net/mac80211/driver-ops.c:366 at drv_unassign_vif_chanctx ieee80211_assign_link_chanctx __ieee80211_link_release_channel ieee80211_link_release_channel ieee80211_teardown_sdata unregister_netdevice_many_notify _cfg80211_unregister_wdev ieee80211_remove_interfaces ieee80211_unregister_hw mac80211_hwsim_del_radio hwsim_exit_net Correctly release the channel on start failures.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: mesh: reset the CSA state when leaving ifmsh->csa is allocated in ieee80211_mesh_csa_beacon() and only freed in ieee80211_mesh_finish_csa(), i.e. when the channel switch completes. Leaving the mesh while a switch is still pending therefore leaks it. Additionally, ifmsh->csa_role and ifmsh->chsw_ttl have their state leak in this case, so things can get mixed up in addition to the memory leak. Refactor the reset and call it in ieee80211_stop_mesh() to fix it all.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: add HE 6 GHz capability in the scan elems len The HE 6 GHz Band Capability element is in the probe request for every band if 6 GHz is supported, so add the size to scan_ies_len. Otherwise, building probe request elements can fail, triggering the WARN_ON in __ieee80211_start_scan().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: don't allow injecting frames wider than the chanctx Frames injected on a monitor interface can carry a radiotap field requesting a bandwidth, which mac80211 passes down to the driver regardless of the the actual operational bandwidth. If the bandwidth requested is too wide, that triggers a warning in hwsim: WARN_ON(hwsim_get_chanwidth(bw) > hwsim_get_chanwidth(confbw)) Drop such frames entirely instead since they cannot be sent.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: unlist vifs when their netdev is unregistered mac80211 only removes vifs from the local->interfaces list when an interface is removed via ieee80211_if_remove(), before it unregisters the netdev. However, it's possible for a netdev to be unregistered without going through that: When the netns that holds the wiphy is destroyed, the wiphy is supposed to move to the init_ns, but that can run into allocation failures. Then, mac80211 has an interface listed that doesn't exist, and will eventually hit BUG: failure at net/wireless/core.h:141/wiphy_to_rdev()! ... _cfg80211_unregister_wdev+0x24/0x36a [cfg80211] cfg80211_unregister_wdev+0x15/0x1d [cfg80211] ieee80211_remove_interfaces+0x1ff/0x257 [mac80211] ieee80211_unregister_hw+0x73/0x1d1 [mac80211] mac80211_hwsim_del_radio+0x114/0x166 [mac80211_hwsim] Remove the interface from the list in ->ndo_uninit if it's still around to avoid this.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: only operate on TDLS peers in the TDLS code ieee80211_tdls_oper() can operate on the AP station, which then yields various warnings when the AP station is removed then or at a later point in time after being confused for a TDLS peer. Always check that the station is a TDLS peer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: reset state when starting AP fails ieee80211_start_ap() can set enable_beacon (and beacon_int) and fail later, leaving it set forever. Scanning can then attempt to restore beaconing on such an interface, leading to: Oops: divide error: 0000 [#1] SMP KASAN NOPTI RIP: 0010:mac80211_hwsim_link_info_changed+0xca7/0xf00 Call Trace: drv_link_info_changed+0x413/0x860 net/mac80211/driver-ops.c:495 ieee80211_link_info_change_notify+0x24b/0x3c0 net/mac80211/main.c:427 ieee80211_offchannel_return+0x381/0x580 net/mac80211/offchannel.c:160 __ieee80211_scan_completed+0x993/0xe30 net/mac80211/scan.c:519 ieee80211_scan_work+0x472/0x2010 net/mac80211/scan.c:1193 cfg80211_wiphy_work+0x2b7/0x550 net/wireless/core.c:538 in hwsim. Also, cfg80211 then allows changing the interface type, and the off-channel path getgs confused about beaconing as well, leading to another warning: WARNING: net/mac80211/driver-ops.c:468 at drv_link_info_changed+0x583/0x880 ieee80211_link_info_change_notify+0x24b/0x3c0 net/mac80211/main.c:427 ieee80211_offchannel_stop_vifs+0x328/0x5c0 net/mac80211/offchannel.c:122 ieee80211_start_sw_scan net/mac80211/scan.c:583 [inline] __ieee80211_start_scan+0xfb6/0x1af0 net/mac80211/scan.c:882 Reset the state on failures to always have it correct.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: abort chanswitch when leaving a mesh The code in ieee80211_stop_mesh() leaves CSA active, but leaving the mesh released the channel context, so the CSA finalize work crashes: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000003 KASAN: null-ptr-deref in range [0x0000000000000018-0x000000000000001f] RIP: 0010:ieee80211_put_srates_elem+0x42/0x640 net/mac80211/util.c:3272 Call Trace: ieee80211_mesh_build_beacon+0xa83/0x1b50 net/mac80211/mesh.c:1093 ieee80211_mesh_rebuild_beacon+0xc7/0x170 net/mac80211/mesh.c:1147 ieee80211_mesh_finish_csa+0x131/0x210 net/mac80211/mesh.c:1542 ieee80211_set_after_csa_beacon net/mac80211/cfg.c:4085 [inline] __ieee80211_csa_finalize net/mac80211/cfg.c:4133 [inline] ieee80211_csa_finalize+0x633/0x1150 net/mac80211/cfg.c:4155 cfg80211_wiphy_work+0x2ab/0x450 net/wireless/core.c:438 Abort the channel switch properly.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: don't offload TC setup on AP_VLAN interfaces AP_VLAN interfaces are purely virtual, so don't try to offload TC setup to drivers. We can't really use the AP interface either since we may not know it all the time, and it could technically even change. Just reject the TC offload so things get done in software.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: don't start a ROC while scanning The ROC work can be pending when a scan starts (which requires ROC list to be empty, but that's possible), and then a new ROC can be added to the list and the work will pick it up. Avoid starting that ROC if a scan made it between things, as otherwise we'll hit a warning later: WARNING: net/mac80211/offchannel.c:404 at ieee80211_start_next_roc+0x256/0x2d0 Workqueue: events_unbound cfg80211_wiphy_work Call Trace: __ieee80211_scan_completed+0x4fd/0xe40 net/mac80211/scan.c:537 ieee80211_scan_work+0x472/0x1ff0 net/mac80211/scan.c:1193 cfg80211_wiphy_work+0x410/0x570 net/wireless/core.c:513


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: don't filter by BSS type when removing stale entries When an assoc AP switches to a channel that already has a BSS entry, cfg80211_update_assoc_bss_entry() removes that entry before rehashing the real one, since the two would otherwise collide in the BSS rbtree. The lookup for that entry also required it to match the connection's BSS type, so an entry advertising e.g. the IBSS capability bit was left in place, and the following cfg80211_rehash_bss() then ran into it: WARN_ON(!cmp) Changing the type shouldn't really happen, but can be triggered by a rogue AP/device, so drop the check and remove any entries matching the comparison.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: only group hidden BSSes with beacon entries When a probe response for an unknown BSS comes in, __cfg80211_bss_update() looks for an existing entry with the same BSSID and a hidden (zero-length or NUL-filled) SSID, and if it finds one it groups them, using the beacon IEs from the existing entry. But that could find another entry without a beacon, if it was also from a probe response (with SSID), so there's a group without beacon elements. If a beacon with a hidden SSID for that BSSID arrives later, cfg80211_combine_bsses() goes looking for the probe response entries that belong to it - i.e. entries with the same BSSID and channel that have no beacon IEs - and finds those two. They are already grouped with each other, so it hits its WARN_ON_ONCE(bss->pub.hidden_beacon_bss) WARN_ON_ONCE(!list_empty(&bss->hidden_list)) which are there because an entry without beacon elements is not supposed to be part of a group yet. Only combine entries when a beacon was already received, ones that are kept separate will be combined when a beacon arrives.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: wait for RCU readers before releasing dma_device dma_issue_pending_all() walks the dma_device_list with list_for_each_entry_rcu() under rcu_read_lock(). dma_device_release() unlinks the device with list_del_rcu() and then calls device->device_release() (which in many drivers, such as plx_dma.c, directly calls kfree()). Because there is no grace period between unlinking the device and freeing it, concurrent RCU readers in dma_issue_pending_all() can access the device after it has been freed. The lockless walk originally relied on clients holding a dmaengine reference to pin the provider module, and therefore the device, for as long as they might traverse the list. Commit 8ad342a86359 ("dmaengine: Add reference counting to dma_device struct") decoupled the dma_device lifetime from the module reference, so the device can now be released while a reader is still walking the list. Add synchronize_rcu() before the device is freed, so RCU readers are guaranteed to have finished. Keep it unconditional: providers that do not implement device_release() free the device themselves once dma_async_device_unregister() returns. This call will delay for a grace period with dma_list_mutex held, which is safe and only teardown path is delayed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: fix use-after-free in dma_chan_put() and dma_release_channel() When dma_device_put() drops the last reference on chan->device->ref, dma_device_release() runs and may free the dma_device along with its channels. dma_chan_put() then still reads chan->device->owner via dma_chan_to_owner() for the trailing module_put(). KASAN catches it: slab-use-after-free in dma_chan_put+0x3e6/0x4c0 Read of size 8 by task insmod/6319 Freed by task 6319: kfree+0x225/0x470 dma_chan_put+0x395/0x4c0 dmaengine_put+0xf8/0x160 Cache the module owner in dma_chan_put() before the put so the trailing module_put() does not need chan->device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: Fix device kref underflow in dma_chan_put() dma_chan_get() takes chan->device->ref only on the slow path: /* no kref on fast path */ if (chan->client_count) { __module_get(owner); chan->client_count++; return 0; } if (!try_module_get(owner)) return -ENODEV; if (!dma_device_get(chan->device)) { // calls kref_get_unless_zero() dma_chan_put() drops the ref unconditionally, so every fast-path get/put pair drops one extra device reference. The bug fires when two conditions hold together: a non-private provider has a persistent client holding chan->client_count > 0 and another client cycles dmaengine_get()/dmaengine_put(). When the kref hits zero, the subsequent dma_find_channel() returns NULL even though the provider module is still loaded. Fix this by dropping device->ref only on the last put, matching the single slow-path get.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: check IP header size in cfg80211_classify8021d() A frame that looks like IP can be transmitted, but be too short, so the DS field is read incorrectly: BUG: KMSAN: uninit-value in cfg80211_classify8021d+0x99d/0x12b0 net/wireless/util.c:1027 cfg80211_classify8021d+0x99d/0x12b0 net/wireless/util.c:1027 ieee80211_select_queue+0x37a/0x9e0 net/mac80211/wme.c:180 __ieee80211_subif_start_xmit+0x60f/0x1d90 net/mac80211/tx.c:4304 ieee80211_subif_start_xmit+0xa8/0x6d0 net/mac80211/tx.c:4538 ... packet_sendmsg+0x9173/0xa2a0 net/packet/af_packet.c:3108 Use skb_header_pointer() like the MPLS case.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: don't get the radio mask for netdev-less wdevs cfg80211_calculate_bi_data() calls rdev_get_radio_mask() with wdev->netdev, which can be NULL and then crashes in mac80211. To avoid that, invert the order of checks since wdev->netdev is always valid for beaconing interfaces.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: libipw: reject too-short association responses libipw_handle_assoc_resp() reads the capability, status and aid fields of the 30-byte association response prefix and then computes the information element length as stats->len - sizeof(*frame) stats->len is a u16 and sizeof() has type size_t, so the subtraction is evaluated as size_t and wraps instead of going negative. Truncating that to the u16 length parameter of libipw_parse_info_param() turns a frame shorter than the fixed fields into a length near 64 KiB, and the parser then reads past the receive buffer. Both the ipw2100 and ipw2200 management receive paths reach this function having established only that the frame carries the generic 24-byte three-address header. Reject the frame before any fixed field is touched. Found by an AI-assisted review of length arithmetic in management frame parsers. Verified with a KUnit case under Generic KASAN on arm64 under QEMU; I do not have the hardware, so it is not tested on a real device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: libipw: reject too-short beacon and probe responses libipw_process_probe_response() and the libipw_network_init() call it makes assume the frame contains the full 36-byte beacon and probe response prefix, but the ipw2100 and ipw2200 receive paths only establish that a management frame carries the generic 24-byte three-address header. libipw_network_init() then computes the information element length as stats->len - sizeof(*beacon) stats->len is a u16 and sizeof() has type size_t, so the subtraction is evaluated as size_t and wraps instead of going negative. Truncating that to the u16 length parameter of libipw_parse_info_param() yields 65524 for a 24-byte beacon, and the parser then walks the receive buffer as if it held almost 64 KiB of information elements, reading past the allocation. Reject the frame before any fixed field is touched. Found by an AI-assisted review of length arithmetic in management frame parsers. Verified with a KUnit case under Generic KASAN on arm64 under QEMU; I do not have the hardware, so it is not tested on a real device.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: virt_wifi: free skb when disconnected When the simulated link is disconnected, virt_wifi_start_xmit() returns NET_XMIT_DROP without freeing the skb. dev_hard_start_xmit() treats this return value as consumed, so every packet sent while disconnected leaks its skb. Free the skb before returning the drop status.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: RDMA/erdma: Use IRQ-safe XArray helpers for QP and CQ tables Locked QP and CQ lookups from EQ interrupts can deadlock with create-path XArray updates. If an interrupt arrives while the create path holds the plain xa_lock, the lookup spins forever trying to acquire the same lock. Use IRQ-safe XArray helpers for all QP and CQ create-path updates, including the GSI QP store and error paths. Initialize both arrays with XA_FLAGS_LOCK_IRQ so sleeping allocations preserve interrupt state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scpi: reject DVFS OPP count above MAX_DVFS_OPPS scpi_dvfs_get_info() already rejected a zero opp_count, but still trusted any larger value from the SCP firmware. The shared-memory reply only holds MAX_DVFS_OPPS entries in buf.opps[]; a bigger count over-reads that array and then sizes the allocated OPP table incorrectly (garbage OPPs / OOB). The missing upper bound dates back to the original SCPI DVFS support. Reject zero and out-of-range counts in one check and return -EINVAL.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: esp: downgrade zerocopy managed frags before mutating skb frags On the out-of-place output path (esp->inplace == false) ESP rewrites the skb frag array: esp_output_head() appends a trailer frag and esp_output_tail() replaces the frags with a destination page, both referenced with get_page(). When the skb carries zerocopy managed frags (SKBFL_MANAGED_FRAG_REFS) the payload frags are owned by the ubuf and must not be referenced or unreferenced individually, but ESP mutates the frag array without ever downgrading the skb. This breaks the managed-frag invariant two ways: - esp_ssg_unref() walks the source scatterlist and drops a page reference for every frag, including the ubuf-owned payload frags, pushing their refcount below the GUP pin bias while the pages are still pinned, i.e. a use-after-free of the zerocopy pages; - esp_output_tail() installs its destination page as frag 0 with get_page() but leaves SKBFL_MANAGED_FRAG_REFS set, so skb_release_data() takes the skip_unref branch and never drops that reference, leaking the x->xfrag page at packet rate. Fix this the way every other frag-mutating site does (__ip_append_data(), __ip6_append_data(), tcp_sendmsg_locked()) and call skb_zcopy_downgrade_managed() before ESP touches the frag array: it takes a real reference on each existing frag and clears SKBFL_MANAGED_FRAG_REFS, so the per-frag unref in esp_ssg_unref() and the frag release in skb_release_data() are both balanced and no mixed-ownership frag array is left behind.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tcp: fix use-after-free of retransmit_skb_hint in tcp_send_synack() When tcp_send_synack() replaces the cloned SYN skb at the head of the retransmit queue with a copy, it frees the original with tcp_rtx_queue_unlink_and_free() and only repairs tp->highest_sack. tp->retransmit_skb_hint keeps pointing at the freed skbuff_fclone_cache object. The dangling hint is read in tcp_verify_retransmit_hint() and used as the root of the rbtree walk in tcp_xmit_retransmit_queue(). An unprivileged TFO client (sendmsg(MSG_FASTOPEN)) can arm the hint with an attacker-supplied ICMP fragmentation-needed message, after which a simultaneous open frees the armed SYN skb: BUG: KASAN: slab-use-after-free in tcp_mark_skb_lost (net/ipv4/tcp_input.c:1316) Read of size 4 at addr ffff88800604d928 by task swapper/1/0 Call Trace: tcp_mark_skb_lost (net/ipv4/tcp_input.c:1316) tcp_simple_retransmit (net/ipv4/tcp_input.c:3158) tcp_v4_err (net/ipv4/tcp_ipv4.c:587) Sync the hint to the copy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Use memset_io() to clear QLAFX00 request ring slot For QLAFX00 the request ring is ioremapped device I/O memory (ha->iobase + req_que_off), not DMA-coherent RAM, which is why the rest of the FX00 path accesses it through memcpy_toio() and the wrt_reg_* helpers. __qla2x00_alloc_iocbs() however zeroed the producer slot with a plain memset(). On architectures such as ARM64 a regular memset() may emit unaligned or block-zeroing instructions (e.g. DC ZVA) that are invalid on Device memory, leading to a synchronous external abort. Use memset_io() to clear the slot for QLAFX00, matching the I/O accessors used elsewhere on this ring. Other adapters keep the plain memset() on their DMA-coherent rings. The zero-fill is retained for FX00 because its IOCB builders (e.g. qlafx00_fxdisc_iocb()) copy only part of the entry and rely on the unused tail being pre-zeroed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: fix tx_handle bounds off-by-one Valid indices into txq->urbd0s/tfds/bufs are 0..txq->count-1, so tfd_index == txq->count is already out of range. Change the guard in btintel_pcie_msix_tx_handle() from '> txq->count' to '>= txq->count'. This issue was reported by Claude Mythos.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: Fix a NULL vs ERR_PTR() bug in virtio_gpu_user_framebuffer_create() Smatch complains that returning a NULL here will lead to a NULL pointer dereference in drm_mode_addfb2(). Return an error pointer instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: avoid WARN in set_bitrate_mask when sdata not in driver ieee80211_set_bitrate_mask() checks if the interface is running via ieee80211_sdata_running(), but it does not check if the interface is still present in the driver. When sdata is running but IEEE80211_SDATA_IN_DRIVER is not set, the call reaches drv_set_bitrate_mask() in driver-ops.h which hits wlan1: Failed check-sdata-in-driver check, flags: 0x0 WARNING: net/mac80211/driver-ops.h:884 at drv_set_bitrate_mask Syzkaller triggers this via wext SIOCSIWRATE ioctl. The Call Trace shows wext_ioctl_dispatch() in wext-core.c dispatching the ioctl, calling ioctl_standard_call() for SIOCSIWRATE, which calls cfg80211_wext_siwrate() in wext-compat.c. That builds a bitrate mask and calls rdev_set_bitrate_mask() which ends up in ieee80211_set_bitrate_mask() in cfg.c. The interface is marked running via SDATA_STATE_RUNNING but flags is 0, so check_sdata_in_driver() fails. When the interface is being torn down, or when wext ioctl is issued during interface bringup before drv_add_interface() sets IN_DRIVER, the running check passes while IN_DRIVER is clear. Check IEEE80211_SDATA_IN_DRIVER in ieee80211_set_bitrate_mask() before calling the driver, returning -ENETDOWN. This avoids the WARN_ONCE in driver-ops.h and matches other cfg.c operations that bail early when not in driver. This change should be safe because wiphy mutex is held in cfg80211_wext_siwrate() via guard(wiphy), and IN_DRIVER is set/cleared under RTNL and wiphy paths in drv_add_interface() and drv_remove_interface() in driver-ops.c, so the check is race-free against driver add/remove. Returning -ENETDOWN is the same error other not-running paths use and does not introduce new locking. [also add second syzbot report]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: rsi: fix heap OOB write on key removal When a key is removed (data == NULL), rsi_hal_load_key() runs: memset(&set_key[FRAME_DESC_SZ], 0, frame_len - FRAME_DESC_SZ); set_key is a struct rsi_set_key *, so the subscript is scaled by sizeof(struct rsi_set_key) (160 bytes): &set_key[FRAME_DESC_SZ] is skb->data + 2560, and the memset writes 144 zero bytes starting 2.4KB past the end of the 160-byte skb data buffer, corrupting unrelated heap objects. The intended byte offset would have been (u8 *)set_key + FRAME_DESC_SZ. The write fires on every DISABLE_KEY callback, so plain disconnects, roams and interface teardowns trigger it on real networks. The memset is redundant: the whole buffer is zeroed right after allocation, so the frame sent to the device is byte-identical without it. Drop the else branch; normal operation is unaffected. Discovered by Atuin - Automated Vulnerability Discovery Engine.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: rtd119x: Avoid division by zero clk_get_rate() could return 0. Avoid a division by zero panic.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: watchdog: da9063: fix suspend/resume handling of HW_RUNNING watchdog da9063_wdt_suspend() and da9063_wdt_resume() only check watchdog_active(), when the watchdog is left running by the driver sets WDOG_HW_RUNNING in da9063_wdt_probe() but userspace never opens the device, so WDOG_ACTIVE remains cleared, the wdt_disable() will not be executed in da9063_wdt_suspend. In this case, the suspend callback is a no-op and the watchdog keeps counting during system suspend, leading to an unexpected system reset. Check WDOG_HW_RUNNING and wdd,can fix this issue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: sequencing: fix NULL-pointer dereference in pwrseq_device_register() If dev_set_name() fails in pwrseq_device_register(), we jump to the err_put_pwrseq label before initializing pwrseq->targets. pwrseq_release() will try to iterate over targets unconditionally and subsequently dereference an invalid pointer. Move the call to dev_set_name() after the list head is initialized.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: power: sequencing: fix NULL-pointer dereference in pwrseq_unit_new() If memory allocation fails in pwrseq_unit_setup_deps(), pwrseq_unit_put() is called to release the partially initialized unit. However, we've never initialized unit->list and pwrseq_unit_release() will unconditionally call list_del() on it. Initialize unit->list right after allocating the unit struct.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: k3-udma-glue: fix NULL dereference in k3_udma_glue_release_rx_chn() If devm_kcalloc() for rx_chn->flows fails in a channel request function, the error path calls k3_udma_glue_release_rx_chn(), which dereferences the NULL rx_chn->flows pointer in k3_udma_glue_release_rx_flow(). Skip the flow release loop in k3_udma_glue_release_rx_chn() when rx_chn->flows is not allocated. Found by Linux Verification Center (linuxtesting.org) with SVACE.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: require a peer station for TDLS setup confirm It's nonsense for the setup confirm to go to station that doesn't even exist, and it hits a warning when building the frame: WARN_ON_ONCE(!sta || !ap_sta) Only accept WLAN_TDLS_SETUP_CONFIRM when the station is already there as a TDLS station. Need to copy the call to ieee80211_tdls_prep_mgmt_packet() since the existing WLAN_TDLS_DISCOVERY_REQUEST already falls through to it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: reset the AP_VLAN tailroom counter on ifdown On ifup, AP_VLAN interfaces get crypto_tx_tailroom_needed_cnt from the AP interface, but it's never decremented again unless the AP is also brought down. Thus, bringing the same AP_VLAN up again will increment the counter again and eventually hit the sanity check: WARN_ON_ONCE(sdata->crypto_tx_tailroom_needed_cnt != master->crypto_tx_tailroom_needed_cnt); Reset it on ifdown to avoid that.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mwifiex: fix IRQ leak using wrong index in MSI-X error path mwifiex_pcie_request_irq() registers each MSI-X vector with a per-index dev_id (&card->msix_ctx[i]). On a request_irq() failure the cleanup loop "for (j = 0; j < i; j++)" frees msix_entries[j].vector but passes the failed index's &card->msix_ctx[i] as the dev_id. free_irq() matches on (irq, dev_id), so it fails to find the action registered with &card->msix_ctx[j]: the already-requested IRQ j is not freed (leaked) and free_irq() warns about freeing a non-existent IRQ. Use &card->msix_ctx[j].


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb: 6fire: Avoid embedded URBs The USB 6fire driver uses URBs embedded in different structs for PCM, MIDI and communication, and this is basically a buggy implementation nowadays; since a URB is managed with a refcount, this may lead to a UAF when the URB is released asynchronously. For addressing the problem, this patch converts those embedded URBs to ones that are properly allocated via usb_alloc_urb(). The pcm_urb.packets[] is gone, as it's allocated by usb_alloc_urb(), hence it's found in urb.iso_frame_desc[] instead. The conversions are rather straightforward; each embedded struct urb is changed to a pointer, and its callers are updated accordingly. The resource for those structs are released in the common destructor functions (usb6fire_comm_free(), etc), which are called at both the init error path and the disconnect. No functional changes, only compile-tested.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ipv4: free inet_opt and ireq_opt after an RCU grace period tcp_v4_syn_recv_sock() transfers ownership of ireq->ireq_opt to the child socket (newinet->inet_opt) without copying it. Another cpu can concurrently process a retransmitted SYN for the same request socket, and send a SYNACK from tcp_check_req(). tcp_v4_send_synack() and inet_csk_route_req() read ireq->ireq_opt under rcu_read_lock() only, and ip_build_and_send_pkt() and ip_options_build() then read opt->optlen twice. Note that the SYNACK timer itself is not an issue: it holds a reference on its request socket, and inet_csk_reqsk_queue_drop() calls timer_delete_sync() before the child can be freed. Since commit 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table"), request sockets are processed without holding the listener lock, so nothing prevents the child socket from being freed while the SYNACK is still being built. TCP child sockets do not have SOCK_RCU_FREE, and inet_sock_destruct() frees inet_opt with a plain kfree(), leading to a use-after-free in ip_options_build(). A similar issue exists with request socket migration (net.ipv4.tcp_migrate_req=1, or a BPF_SK_REUSEPORT_SELECT_OR_MIGRATE program). reqsk_timer_handler() clones the request socket with inet_reqsk_clone(), so that the old request socket and its clone share the same ireq_opt, then reqsk_migrate_reset() clears the pointer in the old one. Another cpu holding a reference on the old request socket can still be using these options (sending a SYNACK, or creating a child in tcp_v4_syn_recv_sock()) when the clone is freed, and tcp_v4_reqsk_destructor() also uses a plain kfree(). Readers already use RCU, and other paths replacing inet_opt (do_ip_setsockopt(), cipso_v4_sock_setattr()...) already use kfree_rcu(). Use kfree_rcu() in inet_sock_destruct() and tcp_v4_reqsk_destructor() as well. IPv6 is not affected by the first issue, because tcp_v6_syn_recv_sock() duplicates the options. tcp_v6_reqsk_destructor() has the same migration issue with ipv6_opt, which is only set by CALIPSO. This will be addressed in a separate patch.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: fix NULL dereference of dlc->session in RFCOMM_CONNINFO The RFCOMM_CONNINFO getsockopt handler accepts a socket that is not connected as long as deferred setup is enabled: if (sk->sk_state != BT_CONNECTED && !rfcomm_pi(sk)->dlc->defer_setup) { err = -ENOTCONN; break; } l2cap_sk = rfcomm_pi(sk)->dlc->session->sock->sk; dlc->defer_setup is set in rfcomm_sock_init() when rfcomm_connect_ind() creates a child socket for an incoming connection on a listening socket that has BT_DEFER_SETUP enabled. It is never cleared afterwards. The session, however, can go away underneath it. rfcomm_recv_disc() forces the dlc state before tearing it down: d->state = BT_CLOSED; __rfcomm_dlc_close(d, err); The RFCOMM_DEFER_SETUP early return in __rfcomm_dlc_close() only covers BT_CONNECT, BT_CONFIG, BT_OPEN and BT_CONNECT2, so with the state already BT_CLOSED that switch does not match and the function falls through to rfcomm_dlc_unlink(), which sets d->session = NULL, while d->defer_setup stays 1. A getsockopt(SOL_RFCOMM, RFCOMM_CONNINFO) on the accepted socket after that point therefore skips the -ENOTCONN path -- sk->sk_state is BT_CLOSED, but dlc->defer_setup is still set -- and dereferences the NULL session. No race is needed: once the DISC has been processed, the dereference is unconditional. Reproduced on a KASAN kernel under QEMU with a BR/EDR peer emulated over /dev/vhci: the peer brings up an ACL link, opens L2CAP on the RFCOMM PSM, starts a session and sends SABM for a channel bound with BT_DEFER_SETUP, and sends DISC for that dlci after the socket has been accepted. getsockopt(SOL_RFCOMM, RFCOMM_CONNINFO) on the accepted socket then hits: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000002: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017] CPU: 1 UID: 0 PID: 150 Comm: init Tainted: G B 7.3.0-rc3-g5dd1818b15d9 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:rfcomm_sock_getsockopt+0x529/0x780 Call Trace: <TASK> do_sock_getsockopt+0x3ad/0x7d0 __sys_getsockopt+0x10e/0x1b0 __x64_sys_getsockopt+0xc2/0x160 do_syscall_64+0xda/0x4b0 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> 0x10 is the offset of sock in struct rfcomm_session; rfcomm_sock_getsockopt_old() is inlined into rfcomm_sock_getsockopt(). Commit 43a556b2fd43 ("Bluetooth: RFCOMM: take rfcomm_mutex for the deferred setup accept") fixed the same "a remote DISC clears the session while deferred setup is still flagged" problem in rfcomm_dlc_accept(); this is the remaining instance of it, in the getsockopt path. Deferred setup only leaves a socket usable here once it has reached BT_CONNECT2, so restrict the exception to that state and check that a session is actually present before following it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: fix race in read_unconf_index_list() read_unconf_index_list() counts unconfigured controllers before allocating its response, then checks the device flags again while filling it. hci_dev_list_lock stabilizes list membership, but it does not serialize the per-device flags. During asynchronous controller setup, the worker can set HCI_UNCONFIGURED and clear HCI_SETUP between the two passes. A controller omitted from the allocation count can then become eligible for the fill pass, causing an out-of-bounds write to rp->index[]. Allocate space for every device on hci_dev_list. Since list membership cannot change while hci_dev_list_lock is held, the response remains large enough regardless of flag transitions. The reported count and response length still include only eligible unconfigured controllers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: validate frame length before control and FCS access l2cap_data_rcv() unpacks either a two-byte or four-byte control field without first ensuring that it is present. A short ERTM or streaming-mode frame can therefore cause an out-of-bounds read. There is a second short-frame case when CRC16 is enabled. After the control field is pulled, l2cap_check_fcs() subtracts two from skb->len without checking it. If fewer than two bytes remain, the subtraction wraps; skb_trim() leaves the buffer unchanged and the subsequent FCS load reads past the logical end of the frame. Validate that the frame contains both its control field and, when enabled, its FCS before either field is accessed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: balance the parent hold in hci_bind_bis() hci_conn_link() takes a lifetime reference to its parent with hci_conn_get(), but only takes an operational hold on the child. hci_conn_unlink() later balances both a hold and a reference on the parent. The SCO and CIS paths pass a parent acquired from a connect helper, so it already has a hold. For an additional BIS, hci_bind_bis() obtains the parent from hci_conn_hash_lookup_big(), which returns a bare pointer. Unlinking the child then drops the parent's existing hold and can schedule it for disconnection while its socket is still using it. Take a hold on the parent before linking it and drop that hold if linking fails. A successful link transfers the hold to hci_conn_unlink().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sock: reject out-of-range OCF values The raw HCI socket security filter has 128 OCF bits per supported OGF, but masks the 10-bit OCF with 127 before looking up the command. An unprivileged socket can therefore submit a reserved OCF that aliases an allowlisted command modulo 128. A conforming controller should reject reserved opcodes. Nevertheless, the security decision must apply to the opcode that will actually be sent, especially since controller-specific behavior is outside the host stack's control. Reject OCF values that cannot be represented by the security filter instead of aliasing them onto an unrelated command.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sock: validate event length before filtering is_filtered_packet() reads the event code from skb->data[0] without first checking that the skb is nonempty. When an opcode filter is configured, it also reads the command opcode at offsets 3 or 4 without checking that a Command Complete or Command Status event is long enough. hci_send_to_sock() invokes the filter before hci_event_packet() validates the event header. A malformed event supplied by a controller or a vhci device can therefore cause an out-of-bounds read. Keep the unmasked event code for the opcode checks. The masked value is needed for the 64-bit event bitmap, but using it to identify command events aliases event codes above 0x3f. In particular, Synchronous Train Complete (0x4f) was treated as Command Status (0x0f) even though its payload has no opcode. Reject actual command events that are too short for the field being inspected. A truncated command event cannot match a configured opcode.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_conn: fix CIS hold ownership on reuse Commit 69997d50ec57 ("Bluetooth: ISO: handle bound CIS cleanup via hci_conn") made hci_bind_cis() and hci_connect_cis() return a connection with one hold for the ISO layer. hci_bind_cis() currently takes that hold only after configuring a CIS, so its BT_CONNECTED and matching BT_BOUND paths return a bare lookup result. Its configuration failure path can likewise call hci_conn_drop() before taking a hold. Take the hold before any state-dependent return or configuration error so every successful return follows the documented ownership contract and every error drop is balanced. hci_connect_cis() also assumes hci_conn_link() always takes a new CIS hold before dropping the one returned by hci_bind_cis(). However, the helper returns an existing link without taking another hold. In that case, preserve the CIS hold for the caller and drop the redundant LE hold because the existing link already owns its parent hold. Returning early also avoids changing an existing CIS back to BT_CONNECT.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: SEV: Do cache maintenance on the source VM during intra-host migration Manually perform cache maintenance on the source VM during intra-host migration to ensure no stale data is left in CPU caches after the VM is destroyed. Because the source VM is "converted" to a non-SEV VM, KVM's memory reclaim flows won't trigger cache maintenance, e.g. when all guest memory is reclaimed in response to detaching from the mmu_notifier. Note, relying on the destination VM to do cache maintenance isn't an option as KVM doesn't require identical guest memory configurations, i.e. the source VM may have access to memory that the destination VM does not. Enforcing equivalent memory configurations is infeasible, as it would require a *deep* comparison of memslots, e.g. to verify that not only are the memslot identical, but what the memslots point at is also identical.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: port100: reject frames whose declared length exceeds the received data port100_recv_response() passes the URB transfer buffer to port100_rx_frame_is_valid(), which checksums le16_to_cpu(frame->datalen) bytes of frame->data. datalen is a 16-bit field supplied by the device and is never checked against the number of bytes actually received (urb->actual_length), so a device reporting a datalen larger than the received frame makes port100_data_checksum() read out of bounds past the transfer buffer. Reject a response whose declared frame size does not fit the received length before validating it. Found by 0sec (https://0sec.ai) using automated source analysis; the missing bound is evident from source. Compile-tested.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: drop truncated I/RR/RNR PDUs in nfc_llcp_recv_hdlc() nfc_llcp_recv_hdlc() reads the sequence byte skb->data[2], via nfc_llcp_ns()/nfc_llcp_nr(), before any length check. The receive path only guarantees the two-byte LLCP header -- __nfc_llcp_recv() checks it with pskb_may_pull() and nfc_llcp_recv_agf() admits two-byte inner PDUs -- so a two-byte I, RR or RNR PDU reads one byte of uninitialised skb tailroom. The byte becomes N(R)/N(S); a peer can already set those with a well-formed PDU, so this is acting on uninitialised memory, not new peer control. Guard the read with pskb_may_pull(), as commit 95674f506c63 ("nfc: llcp: reject PDUs shorter than the LLCP header") did for the two-byte header, so the sequence byte is present and linear before it is read. RR and RNR PDUs are LLCP_HEADER_SIZE + LLCP_SEQUENCE_SIZE bytes and an I PDU is longer, so no valid frame is rejected; a truncated PDU is malformed, so return without a DM reply.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: wacom: fix OOB read in wacom_wac_pen_serial_enforce() The 'wacom_wac_pen_serial_enforce()' function may calculate and pass an invalid offset to hid_field_extract(), resulting in memory reads at incorrect addresses -- possibly beyond the end of the report. If a field in the HID descriptor lists more usages than its Report Count actually reserves space for, the function's inner 'j' will walk past the end of the field: for (i = 0; i < report->maxfield; i++) { for (j = 0; j < report->field[i]->maxusage; j++) { ... value = hid_field_extract(hdev, raw_data + 1, offset + j * size, size); A descriptor listing 12288 usages against Report Count 1 has the loop extract the usage at index 12287 from bit offset 98296 -- about 12 KB past a 2-byte received report. The value is stored in wacom_wac->serial[0] and can reach userspace as an MSC_SERIAL event, making this an information disclosure. Clamp the loop to field->report_count, the number of value slots the report holds. Value slots past the last declared usage are still scanned; they reuse that usage (HID 1.11, 6.2.2.8). Verified on v6.12.105 with a UHID reproducer: a 2-byte report from such a descriptor trips KASAN before the patch and not after it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: alps: fix use-after-free on input2 registration failure alps_input_configured() stores data->input2 before calling input_register_device(). If registration fails, input_free_device() frees the input device but data->input2 still points to the freed memory. alps_input_configured() calls hid_hw_open() before allocating input2, so URBs are already active and raw_event can fire during the failure window. A U1_SP_ABSOLUTE_REPORT_ID report arriving then causes u1_raw_event() to dereference the freed data->input2 -> use-after-free. Fix by only storing input2 into drvdata after successful registration and adding a NULL guard in the raw_event path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: alps: unregister DualPoint Stick input device on remove alps_input_configured() allocates a second input device ("DualPoint Stick") with input_allocate_device() and registers it, but the alps_driver struct has no .remove handler and input2 is not tracked in hdev->inputs. The default remove path (hid_hw_stop -> hidinput_disconnect) only iterates hdev->inputs, so input2 is never unregistered and leaks on every device removal. Add a .remove handler that stops the device first (preventing URB callbacks from touching input2 during teardown) and then unregisters input2.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix NULL pointer dereference on fence allocation failure virtio_gpu_fence_alloc() can fail due to memory pressure and return NULL, but its caller like virtio_gpu_init_submit() never checks it. Later, virtio_gpu_init_submit() passes the NULL fence to virtio_gpu_fence_event_create(), which unconditionally dereferences it. Found when fuzzing the virtio driver with Syzkaller: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000012: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000090-0x0000000000000097] CPU: 1 UID: 0 PID: 9991 Comm: syz.0.121 Not tainted 7.2.0 #4 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/2014 RIP: 0010:virtio_gpu_fence_event_create drivers/gpu/drm/virtio/virtgpu_submit.c:295 [inline] RIP: 0010:virtio_gpu_init_submit drivers/gpu/drm/virtio/virtgpu_submit.c:398 [inline] RIP: 0010:virtio_gpu_execbuffer_ioctl+0xc78/0x1aa0 drivers/gpu/drm/virtio/virtgpu_submit.c:505 Code: 85 ed 0f 85 21 09 00 00 e8 05 5a c9 fb 48 8b 44 24 10 48 8d b8 90 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 9a 0d 00 00 48 8b 44 24 10 4c 89 b0 90 00 00 00 RSP: 0018:ffffc900039dfad0 EFLAGS: 00010216 RAX: dffffc0000000000 RBX: ffffc900039dfdd8 RCX: ffffffff85f6fd3d RDX: 0000000000000012 RSI: ffffffff85f6fd4b RDI: 0000000000000090 RBP: 0000000000000000 R0virtio_gpu_virgl_process_cmd: ctrl 0x102, error 0x1203 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880132c4000 R13: 0000000000000000 R14: ffff888073b6c700 R15: 000000000000003b FS: 00007fab480b96c0(0000) GS:ffff8880eb6e9000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007effbf5e55a8 CR3: 0000000048d19000 CR4: 0000000000350ef0 Call Trace: <TASK> drm_ioctl_kernel+0x1f4/0x3e0 drivers/gpu/drm/drm_ioctl.c:817 drm_ioctl+0x5f4/0xc70 drivers/gpu/drm/drm_ioctl.c:914 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fab471a82bd Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fab480b9018 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fab47435fa0 RCX: 00007fab471a82bd RDX: 00002000000000c0 RSI: 00000000c0406442 RDI: 0000000000000003 RBP: 00007fab480b9080 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 R13: 00007fab47436038 R14: 00007fab47435fa0 R15: 00007ffe85ab0740 </TASK> Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:virtio_gpu_fence_event_create drivers/gpu/drm/virtio/virtgpu_submit.c:295 [inline] RIP: 0010:virtio_gpu_init_submit drivers/gpu/drm/virtio/virtgpu_submit.c:398 [inline] RIP: 0010:virtio_gpu_execbuffer_ioctl+0xc78/0x1aa0 drivers/gpu/drm/virtio/virtgpu_submit.c:505 Code: 85 ed 0f 85 21 09 00 00 e8 05 5a c9 fb 48 8b 44 24 10 48 8d b8 90 00 00 00 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 9a 0d 00 00 48 8b 44 24 10 4c 89 b0 90 00 00 00 RSP: 0018:ffffc900039dfad0 EFLAGS: 00010216 RAX: dffffc0000000000 RBX: ffffc900039dfdd8 RCX: ffffffff85f6fd3d RDX: 0000000000000012 RSI: ffffffff85f6fd4b RDI: 0000000000000090 RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffff8880132c4000 R13: 0000000000000000 R14: ffff888073b6c700 R15: 000000000000003b FS: 00007fab480b96c0(0000) GS:ffff888098ae9000(0000) knlGS:00000000 ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix memory leak of fence event on execbuffer failure virtio_gpu_execbuffer_ioctl() reserves a DRM event with drm_event_reserve_init() when VIRTGPU_EXECBUF_RING_IDX selects a ring that userspace has enabled polling for. virtio_gpu_init_submit() does this before the BO handles, the command buffer, the syncobj arrays and the in-fence are processed, so every later error path runs with the event already pending, including plain argument validation failures such as an invalid bo_handle or an in-syncobj that carries no fence. On those paths, virtio_gpu_cleanup_submit() drops the out-fence without cancelling the event. The fence is freed without ever having been emitted, taking the only driver-side pointer to the event with it. Closing the DRM file does not help. drm_events_release() unlinks pending events but deliberately leaves the freeing to the driver's later drm_send_event(), which never runs for an orphaned event, so the allocation is leaked permanently. Found when fuzzing the virtio driver with Syzkaller: BUG: memory leak unreferenced object 0xffff88802c176e80 (size 96): comm "syz.1.367", pid 10561, jiffies 4294960122 hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ c8 6e 17 2c 80 88 ff ff 00 00 00 00 00 00 00 00 .n.,............ backtrace (crc e1973c6b): kmemleak_alloc_recursive include/linux/kmemleak.h:44 [inline] slab_post_alloc_hook mm/slub.c:4597 [inline] slab_alloc_node mm/slub.c:4917 [inline] __kmalloc_cache_noprof+0x49d/0x6f0 mm/slub.c:5485 _kmalloc_noprof include/linux/slab.h:988 [inline] _kzalloc_noprof include/linux/slab.h:1309 [inline] virtio_gpu_fence_event_create drivers/gpu/drm/virtio/virtgpu_submit.c:282 [inline] virtio_gpu_init_submit drivers/gpu/drm/virtio/virtgpu_submit.c:398 [inline] virtio_gpu_execbuffer_ioctl+0xbbf/0x1aa0 drivers/gpu/drm/virtio/virtgpu_submit.c:505 drm_ioctl_kernel+0x1f4/0x3e0 drivers/gpu/drm/drm_ioctl.c:817 drm_ioctl+0x5f4/0xc70 drivers/gpu/drm/drm_ioctl.c:914 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __x64_sys_ioctl+0x18e/0x210 fs/ioctl.c:583 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x116/0x800 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f Fix by cancelling and freeing the DRM event on the execbuffer error path before dropping the fence. Clear the fence's event pointer after cancellation so it does not retain a dangling pointer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: don't bump pin count on failed re-pin in nouveau_bo_pin_locked() nouveau_bo_pin_locked() checks whether an already pinned BO is in a memory domain compatible with a new pin request. When the domains are incompatible, it sets -EBUSY but still calls ttm_bo_pin() before returning. Callers treat a failed nouveau_bo_pin() as not having acquired a new pin, so the extra pin count is never decreased by a matching unpin. This triggers the warning in ttm_bo_release(): WARN_ON_ONCE(bo->pin_count); Found when fuzzing the nouveau driver with a modified Syzkaller: WARNING: drivers/gpu/drm/ttm/ttm_bo.c:256 at ttm_bo_release+0x827/0x9e0 drivers/gpu/drm/ttm/ttm_bo.c:256, CPU#1: syz.3.24/2212 Modules linked in: CPU: 1 UID: 0 PID: 2212 Comm: syz.3.24 Not tainted 7.2.0 #24 PREEMPT(lazy) nouveau 0000:01:00.0: gsp:msg fn:103 len:0x40/0x20 res:0x19 resp:0x19 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:ttm_bo_release+0x827/0x9e0 drivers/gpu/drm/ttm/ttm_bo.c:256 Code: 02 00 0f 85 51 01 00 00 48 8b 7b 08 e8 d2 20 01 00 e9 80 fd ff ff e8 d8 15 c0 fe 90 0f 0b 90 e9 e1 f8 ff ff e8 ca 15 c0 fe 90 <0f> 0b 90 e9 a4 f8 ff ff e8 bc 15 c0 fe be 03 00 00 00 4c 89 e7 e8 msg: 00000000: 05 00 d0 c1 04 00 f0 f1 01 30 00 00 2d 90 00 00 .........0..-... RSP: 0018:ffffc9000f5cf710 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff888018e5d2a8 RCX: ffffffff82bb1b36 RDX: ffff888017b68000 RSI: 0000000000000004 RDI: ffff888018e5d2a8 msg: 00000010: 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ RBP: ffff88801261c720 R08: 0000000000000001 R09: ffffed10031cba55 R10: ffff888018e5d2ab R11: 00000000000000f3 R12: ffff888018e5d290 R13: ffff888018e5d2d4 R14: ffff88801b219c18 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880e0f6f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b31223ffc CR3: 0000000028e00005 CR4: 0000000000770ef0 PKRU: 80000000 Call Trace: <TASK> kref_put include/linux/kref.h:65 [inline] ttm_bo_put drivers/gpu/drm/ttm/ttm_bo.c:325 [inline] ttm_bo_fini+0x55/0x80 drivers/gpu/drm/ttm/ttm_bo.c:330 nouveau_gem_object_del+0xb2/0x1b0 drivers/gpu/drm/nouveau/nouveau_gem.c:90 drm_gem_object_free+0x5f/0x90 drivers/gpu/drm/drm_gem.c:1165 kref_put include/linux/kref.h:65 [inline] __drm_gem_object_put include/drm/drm_gem.h:562 [inline] drm_gem_object_put include/drm/drm_gem.h:575 [inline] nouveau_abi16_chan_fini.constprop.0+0x44f/0x5a0 drivers/gpu/drm/nouveau/nouveau_abi16.c:195 nouveau 0000:01:00.0: syz.2.23[2209]: Unknown handle 0x00000000 nouveau_abi16_fini+0x1d0/0x340 drivers/gpu/drm/nouveau/nouveau_abi16.c:225 nouveau_drm_postclose+0x18b/0x3e0 drivers/gpu/drm/nouveau/nouveau_drm.c:1284 nouveau 0000:01:00.0: syz.2.23[2209]: validate_init drm_file_free.part.0+0x6d6/0xb60 drivers/gpu/drm/drm_file.c:267 drm_file_free drivers/gpu/drm/drm_file.c:237 [inline] drm_close_helper.isra.0+0x11a/0x160 drivers/gpu/drm/drm_file.c:290 drm_release+0x1ab/0x330 drivers/gpu/drm/drm_file.c:438 __fput+0x39c/0xa60 fs/file_table.c:512 nouveau 0000:01:00.0: syz.2.23[2209]: validate: -2 task_work_run+0x15a/0x230 kernel/task_work.c:233 exit_task_work include/linux/task_work.h:40 [inline] do_exit+0x82b/0x25a0 kernel/exit.c:1009 do_group_exit+0xc2/0x280 kernel/exit.c:1152 get_signal+0x1d6e/0x1f30 kernel/signal.c:3046 arch_do_signal_or_restart+0x7d/0x6e0 arch/x86/kernel/signal.c:337 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline] exit_to_user_mode_loop+0xdf/0x440 kernel/entry/common.c:101 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline] do_syscall_64+0x4f8/0x690 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RI ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: RCU-free the scheduler-containing nouveau_sched struct nouveau_sched embeds a struct drm_gpu_scheduler (base). nouveau_sched_destroy() calls nouveau_sched_fini() (which does drm_sched_fini(&sched->base)) and then frees the object with plain kfree(sched). drm_sched_fence_get_timeline_name() returns fence->sched->name, and the scheduler fence keeps a .release callback so it is not ops-detached on signalling. A finished fence exported to userspace via drm_syncobj / sync_file therefore keeps pointing at &sched->base after nouveau_sched_destroy(), and a later get_timeline_name() -- reachable unprivileged through SYNC_IOC_FILE_INFO -- dereferences freed memory (KASAN slab-use-after-free read). Per the dma-fence lifetime contract the exporter must keep the data backing a signalled fence alive for an RCU grace period. Free the scheduler-containing object with kfree_rcu() instead of kfree().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: Fix runtime PM leak in nouveau_connector_detect() If nvif_outp_edid_get() fails, nouveau_connector_detect() returns early without dropping the runtime PM reference taken at the start of the function, keeping the device powered on until the next successful detect. Balance the reference on the error path like the other exit paths do.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: Fix gem reference leak in validate_init() On the ttm_bo_reserve() failure and "vma not found" error paths, the loop breaks without adding the looked-up object to any validate list, so the reference taken by drm_gem_object_lookup() is never released; validate_fini() only walks the spliced lists. Drop the reference before breaking out on both paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: fix double-free in nvif_vmm_dtor On failure, nouveau_cli_init() calls nouveau_cli_fini() to tear the client down. Then, nouveau_drm_open() also enters into its cleanup path and calls nouveau_cli_fini() AGAIN. nouveau_cli_fini() calls nouveau_vmm_fini(): void nouveau_vmm_fini(struct nouveau_vmm *vmm) { nouveau_svmm_fini(&vmm->svmm); nvif_vmm_dtor(&vmm->vmm); vmm->cli = NULL; } Inside nvif_vmm_dtor(), vmm->page is freed unconditionally: void nvif_vmm_dtor(struct nvif_vmm *vmm) { kfree(vmm->page); nvif_object_dtor(&vmm->object); } vmm->page is never cleared after being freed, so the second call of nvif_vmm_dtor() will cause a double-free. Found by fuzzing the nouveau driver with a modified Syzkaller: BUG: KASAN: double-free in nvif_vmm_dtor+0x31/0x50 drivers/gpu/drm/nouveau/nvif/vmm.c:194 Free of addr ffff888010fcdc30 by task syz.0.173/2567 CPU: 1 UID: 0 PID: 2567 Comm: syz.0.173 Not tainted 7.2.0 #24 PREEMPT(lazy) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x95/0xe0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcb/0x5a0 mm/kasan/report.c:482 kasan_report_invalid_free+0xaa/0xd0 mm/kasan/report.c:557 check_slab_allocation+0xe4/0x110 mm/kasan/common.c:235 kasan_slab_pre_free include/linux/kasan.h:199 [inline] slab_free_hook mm/slub.c:2622 [inline] slab_free mm/slub.c:6377 [inline] kfree+0x192/0x590 mm/slub.c:6692 nvif_vmm_dtor+0x31/0x50 drivers/gpu/drm/nouveau/nvif/vmm.c:194 nouveau_vmm_fini+0x16/0x50 drivers/gpu/drm/nouveau/nouveau_vmm.c:127 nouveau_cli_fini+0x10e/0x210 drivers/gpu/drm/nouveau/nouveau_drm.c:225 nouveau_drm_open+0x24e/0x740 drivers/gpu/drm/nouveau/nouveau_drm.c:1255 drm_file_alloc+0x5f2/0xad0 drivers/gpu/drm/drm_file.c:176 drm_open_helper+0x1d7/0x4a0 drivers/gpu/drm/drm_file.c:335 drm_open+0x190/0x3d0 drivers/gpu/drm/drm_file.c:388 drm_stub_open+0x1f2/0x460 drivers/gpu/drm/drm_drv.c:1211 chrdev_open+0x21c/0x660 fs/char_dev.c:411 do_dentry_open+0x59d/0x12b0 fs/open.c:947 vfs_open+0x82/0x390 fs/open.c:1052 do_open fs/namei.c:4700 [inline] path_openat+0x2345/0x3420 fs/namei.c:4863 do_file_open+0x207/0x460 fs/namei.c:4892 do_sys_openat2+0xd1/0x1d0 fs/open.c:1368 do_sys_open fs/open.c:1374 [inline] __do_sys_openat fs/open.c:1390 [inline] __se_sys_openat fs/open.c:1385 [inline] __x64_sys_openat+0x144/0x200 fs/open.c:1385 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x115/0x690 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fc6d687594d Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fc6d5295008 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 00007fc6d6b06180 RCX: 00007fc6d687594d RDX: 0000000000022501 RSI: 0000200000000000 RDI: ffffffffffffff9c RBP: 00007fc6d691c303 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fc6d6b06218 R14: 00007fc6d6b06180 R15: 00007ffd9451d760 </TASK> Allocated by task 2567 on cpu 1 at 163.593900s: kasan_save_stack+0x24/0x50 mm/kasan/common.c:57 kasan_save_track+0x17/0x60 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5334 [inline] __kmalloc_noprof+0x304/0x7c0 mm/slub.c:5359 _kmalloc_noprof include/linux/slab.h:992 [inline] nvif_vmm_ctor+0x3c0/0x7e0 drivers/gpu/drm/nouveau/nvif/vmm.c:237 nouveau_vmm_init+0x40/0x90 drivers/gpu/drm/nouveau/nouveau_vmm.c:134 nouveau_cli_init+0x7b9/0 ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: Fix bridge reference leak in nv1a_ram_new() pci_get_domain_bus_and_slot() takes a reference to the PCI device, which is never released once the memory size has been read from its config space. Drop the reference before returning.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/uvmm: fix UAF in nouveau_uvmm_sm when BO is in TTM_PL_SYSTEM nouveau_uvmm_sm() calls op_map(), which passes bo->resource through nouveau_mem() to nouveau_uvma_map(). nouveau_uvmm_vmm_map() then reads mem->mem.type. But this is only valid when bo->resource is backed by struct nouveau_mem, as is the case for VRAM and TT resources. If the BO is left in TTM_PL_SYSTEM, bo->resource is only a struct ttm_resource. Treating it as struct nouveau_mem makes the mem->mem.type read past the end of the resource, causing a KASAN: slab-use-after-free Read in nouveau_uvmm_sm report: BUG: KASAN: slab-use-after-free in nouveau_uvmm_vmm_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:152 [inline] BUG: KASAN: slab-use-after-free in nouveau_uvma_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:199 [inline] BUG: KASAN: slab-use-after-free in op_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:849 [inline] BUG: KASAN: slab-use-after-free in nouveau_uvmm_sm.constprop.0+0x6ab/0x900 drivers/gpu/drm/nouveau/nouveau_uvmm.c:903 Read of size 1 at addr ffff888127d3e3a0 by task kworker/0:1/11 CPU: 0 UID: 0 PID: 11 Comm: kworker/0:1 Not tainted 7.2.0 #5 PREEMPT(lazy) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 Workqueue: nouveau_sched_wq_2224 drm_sched_run_job_work Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x95/0xe0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcb/0x5a0 mm/kasan/report.c:482 kasan_report+0xca/0x100 mm/kasan/report.c:595 nouveau_uvmm_vmm_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:152 [inline] nouveau_uvma_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:199 [inline] op_map drivers/gpu/drm/nouveau/nouveau_uvmm.c:849 [inline] nouveau_uvmm_sm.constprop.0+0x6ab/0x900 drivers/gpu/drm/nouveau/nouveau_uvmm.c:903 nouveau_uvmm_sm_unmap drivers/gpu/drm/nouveau/nouveau_uvmm.c:932 [inline] nouveau_uvmm_bind_job_run+0xd6/0x250 drivers/gpu/drm/nouveau/nouveau_uvmm.c:1532 nouveau_job_run drivers/gpu/drm/nouveau/nouveau_sched.c:350 [inline] nouveau_sched_run_job+0x62/0xd0 drivers/gpu/drm/nouveau/nouveau_sched.c:364 drm_sched_run_job_work+0x356/0xa10 drivers/gpu/drm/scheduler/sched_main.c:1061 process_one_work+0x8a5/0x1900 kernel/workqueue.c:3322 process_scheduled_works kernel/workqueue.c:3405 [inline] worker_thread+0x5dd/0xd80 kernel/workqueue.c:3486 kthread+0x31d/0x420 kernel/kthread.c:436 ret_from_fork+0x662/0x940 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> Allocated by task 2224 on cpu 0 at 66.550027s: kasan_save_stack+0x24/0x50 mm/kasan/common.c:57 kasan_save_track+0x17/0x60 mm/kasan/common.c:78 poison_kmalloc_redzone mm/kasan/common.c:398 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:415 kasan_kmalloc include/linux/kasan.h:263 [inline] __do_kmalloc_node mm/slub.c:5334 [inline] __kmalloc_noprof+0x304/0x7c0 mm/slub.c:5359 _kmalloc_noprof include/linux/slab.h:992 [inline] dma_resv_list_alloc+0x27/0x90 drivers/dma-buf/dma-resv.c:106 dma_resv_reserve_fences+0x60e/0xa30 drivers/dma-buf/dma-resv.c:205 ttm_bo_alloc_resource+0x12c/0xbd0 drivers/gpu/drm/ttm/ttm_bo.c:721 ttm_bo_validate+0x1bc/0x4a0 drivers/gpu/drm/ttm/ttm_bo.c:856 ttm_bo_init_reserved+0x2c3/0x570 drivers/gpu/drm/ttm/ttm_bo.c:970 nouveau_bo_init+0x159/0x2c0 drivers/gpu/drm/nouveau/nouveau_bo.c:359 nouveau_gem_new+0x234/0x5f0 drivers/gpu/drm/nouveau/nouveau_gem.c:272 nouveau_gem_ioctl_new+0x1eb/0x420 drivers/gpu/drm/nouveau/nouveau_gem.c:352 drm_ioctl_kernel+0x192/0x350 drivers/gpu/drm/drm_ioctl.c:817 drm_ioctl+0x4f8/0xb40 drivers/gpu/drm/drm_ioctl.c:914 nouveau_drm_ioctl+0xea/0x2c0 drivers/gpu/drm/nouveau/nouveau_drm.c:1338 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:597 [inline] __se_sys_ioctl fs/ioctl.c:583 [inline] __x64_sys_ioctl+0x180/0x1d0 fs/ioctl.c:583 do_syscall_x64 ar ---truncated---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix runtime PM leak in amdgpu_debugfs_test_ib_show() amdgpu_debugfs_test_ib_show() resumes the device with pm_runtime_get_sync() before taking the reset domain semaphore with down_write_killable(). If the write lock acquisition is interrupted, the function returns without calling pm_runtime_put_autosuspend(), leaking the runtime PM reference acquired for the device and keeping the GPU awake. Drop the runtime PM reference on the interrupted down_write_killable() error path before returning. (cherry picked from commit ec30a576c2d4c0364549e6c04218f50704ef56c8)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915: fix incorrect RCU teardown order i915_gem_busy_ioctl uses dma_resv_for_each_fence_unlocked() to iterate over the fences in an GEM object without holding a reference but only the RCU read side lock. What can happen here is that the GEM object is destroyed concurrently while i915_gem_busy_ioctl is still running. This won't free the GEM objects memory, but still drops all the dma_fence references. Now when dma_resv_for_each_fence_unlocked() sees a destroyed dma_fence it assumes that a new fence list was installed and re-starts the loop. But in the case of a destroyed GEM object a new fence list is never installed, only the old one freed and therefore the iteration never finishes resulting in an endless loop. The solution is to drop the fence references only after the RCU grace period. The fixes tag is not necessary the patch introducing the problem, but the one making it so worse that we need to address it. This problem was pointed out by Sashiko-bot. (cherry picked from commit 5113479556025093bf8133bb2dcaa33be2d50921)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/imagination: Propagate map failures correctly from pvr_mmu_map_sgl() Map failure from pvr_mmu_map_sgl() interface was not returned correctly to pvr_mmu_map() interface. This resulted in pvr_mmu_map() interface to continue instead of returning an error to caller. Fix it by returning a proper error code from pvr_mmu_map_sgl() interface. Call stack for crash: [ 1179.286237] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 [ 1179.295067] Mem abort info: [ 1179.297877] ESR = 0x0000000096000004 [ 1179.301656] EC = 0x25: DABT (current EL), IL = 32 bits [ 1179.306987] SET = 0, FnV = 0 [ 1179.310048] EA = 0, S1PTW = 0 [ 1179.313198] FSC = 0x04: level 0 translation fault [ 1179.318096] Data abort info: [ 1179.320993] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 1179.326483] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 1179.331546] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 1179.336895] user pgtable: 4k pages, 48-bit VAs, pgdp=000000009822a000 [ 1179.343402] [0000000000000008] pgd=0000000000000000, p4d=0000000000000000 [ 1179.350243] Internal error: Oops: 0000000096000004 [#2] SMP [ 1179.355908] Modules linked in: powervr gpu_sched drm_shmem_helper drm_gpuvm drm_exec xhci_plat_hcd xhci_hcd dwc3 usbcore usb_common snd_soc_simple_card snd_soc_simple_card_utils dwc3_am62 at24 sa2ul sha512 libsha512 sha256 authenc sch_fq_codel fuse dm_mod ipv6 [ 1179.378992] CPU: 1 UID: 1000 PID: 680 Comm: deqp-vk Tainted: G D 6.17.0 #1 PREEMPT [ 1179.388120] Tainted: [D]=DIE [ 1179.390994] Hardware name: Texas Instruments AM625 SK (DT) [ 1179.396467] pstate: 00000005 (nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1179.403415] pc : pvr_mmu_op_context_unmap_curr_page+0x6c/0x134 [powervr] [ 1179.410140] lr : pvr_mmu_op_context_unmap_curr_page+0x58/0x134 [powervr] [ 1179.416848] sp : ffff8000839ab8c0 [ 1179.420153] x29: ffff8000839ab8c0 x28: 0000000000000001 x27: 000000008f386000 [ 1179.427283] x26: ffff000016d1df98 x25: 0000000000247000 x24: 00000000000001e6 [ 1179.434413] x23: 0000000000000002 x22: 000000000000ffff x21: 0000000000000247 [ 1179.441540] x20: 0000000000000245 x19: ffff000016d1df60 x18: 0000000000000002 [ 1179.448668] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000001 [ 1179.455793] x14: 0000000000060810 x13: ffff80007fffffff x12: ffff000004190480 [ 1179.462921] x11: ffff8000853f7000 x10: ffff8000811ae000 x9 : ffff0000041900b8 [ 1179.470051] x8 : 0000000000000000 x7 : 00000000990c4001 x6 : 0000000000000007 [ 1179.477177] x5 : ffff000016d1df60 x4 : 0000000000000000 x3 : ffff00000a7d8000 [ 1179.484306] x2 : 00000000000001ff x1 : 0000000000000000 x0 : 0000000000000000 [ 1179.491433] Call trace: [ 1179.493872] pvr_mmu_op_context_unmap_curr_page+0x6c/0x134 [powervr] (P) [ 1179.500582] pvr_mmu_map+0x31c/0x388 [powervr] [ 1179.505027] pvr_vm_gpuva_map+0x40/0x88 [powervr] [ 1179.509732] __drm_gpuvm_sm_map+0x250/0x44c [drm_gpuvm] [ 1179.514952] drm_gpuvm_sm_map+0x48/0x5c [drm_gpuvm] [ 1179.519822] pvr_vm_bind_op_exec+0x64/0x70 [powervr] [ 1179.524785] pvr_vm_map+0x1f8/0x2a8 [powervr] [ 1179.529142] pvr_ioctl_vm_map+0x12c/0x188 [powervr] [ 1179.534018] drm_ioctl_kernel+0xb8/0x128 [ 1179.537941] drm_ioctl+0x21c/0x4ec [ 1179.541337] __arm64_sys_ioctl+0xac/0x108 [ 1179.545344] invoke_syscall+0x44/0x100 [ 1179.549091] el0_svc_common.constprop.0+0x40/0xe0 [ 1179.553790] do_el0_svc+0x1c/0x28 [ 1179.557106] el0_svc+0x34/0xf0 [ 1179.560159] el0t_64_sync_handler+0xd0/0xe4 [ 1179.564334] el0t_64_sync+0x198/0x19c [ 1179.567996] Code: 54000300 35000360 f9402261 79409a62 (f9400421) [ 1179.574081] ---[ end trace 0000000000000000 ]---


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpio: zynq: fix runtime PM leak on request error path pm_runtime_get_sync() leaves the usage counter incremented even when it fails, and zynq_gpio_request() returns the error without dropping it. gpiolib does not call ->free() when ->request() fails, so zynq_gpio_free(), which holds the only matching pm_runtime_put(), never runs. The reference is leaked and the controller can no longer runtime-suspend, so its clock stays enabled. Switch to pm_runtime_resume_and_get(), which only increments the usage counter on success.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: gpio: arizona: Fix runtime PM leak in arizona_gpio_direction_out() Switching a persistent GPIO line from input to output acquires a runtime PM reference on the parent device, but if the subsequent regmap_update_bits() fails the reference is never dropped and no later direction_in() can balance it since the direction was never changed. Drop the reference on the update failure path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/imagination: clamp freelist reconstruction requests The firmware reconstruction count controls accesses to the request's fixed freelist ID array and the copy into the fixed response array. Neither access currently bounds the count to those protocol arrays. Clamp the count to the request capacity, which is shared by the response layout, and use that count consistently for reconstruction and response publication. Keep the firmware recovery exchange instead of dropping an oversized request without a response, as discussed with the firmware maintainer. The issue was found by our static-analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: fix OOB read in pn533_acr122_is_rx_frame_valid() frame->ccid.datalen is read directly from the USB response frame and used, unchecked, as an index into frame->data[]. A malicious or malfunctioning device can set this field to an arbitrary value, causing the driver to read far outside the received buffer. Bound ccid.datalen against the maximum possible ACR122 frame size before using it. This replaces the existing datalen == 0 check, since datalen < 2 already covers that case and additionally rejects datalen == 1, which would still underflow the "datalen - 2" offset used below.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: fix slab-out-of-bounds reads when logging service names nfc_llcp_wks_sap() and nfc_llcp_build_sdreq_tlv() pass non-null- terminated strings to pr_debug() using the %s format specifier. The buffers are allocated via kmemdup() or come from netlink attributes and are not guaranteed to be null-terminated, causing __dynamic_pr_debug() to read beyond the allocated region: KASAN: slab-out-of-bounds Read in __dynamic_pr_debug Fix both call sites by using %.*s with the explicit length to limit the output to the actual length of the string.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: fix WKS SAP hijacking via prefix match in nfc_llcp_wks_sap() nfc_llcp_wks_sap() compares only service_name_len bytes, so a short service_name like "u" matches longer WKS strings like "urn:nfc:sn:snep". Fix by requiring exact length match before strncmp().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: st21nfca: validate ISO15693 inventory length The ISO15693 inventory helper removes a two-byte prefix without checking that it exists, then accepts a one-byte remainder before reading data[1] as the DSFID. Require the prefix and at least two remaining bytes before copying the UID data and reading the DSFID.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: fix sdreq TLV list leak on parse/alloc/send failure nfc_genl_llc_sdreq() builds a list of TLV nodes while walking nested netlink attrs, but 3 error paths (nested-attr parse failure, TLV alloc ENOMEM, nfc_llcp_send_snl_sdreq() failure) all skip freeing what was already queued. Route them through a new free_list label, mirroring the SDRES path in the same file which already does this. Harmless on the success path too -- send_snl_sdreq() drains the list as it moves nodes, so it's already empty by the time free_list runs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix race condition in accept_queue lifecycle In nfc_llcp_socket_release(), sockets and listener accept queues are walked under the local sockets rwlock and bh_lock_sock(). However, bh_lock_sock() does not synchronise against process-context lock_sock() held by nfc_llcp_accept_dequeue() during accept(). Because socket_release() does not check sock_owned_by_user(), both paths can concurrently unlink and release the same child socket, resulting in use-after-free or a NULL pointer dereference of child->parent in nfc_llcp_accept_unlink(). Fix this synchronisation race by having nfc_llcp_socket_release() use process-context lock_sock() instead of bh_lock_sock(): 1. Pop sockets from the local sockets list under the write lock using nfc_llcp_sock_list_pop() so lock_sock() can be acquired without holding the rwlock. 2. Because lock_sock() can sleep, defer the final release of the nfc_llcp_local structure to a workqueue (release_work). This avoids a sleeping-in-atomic bug when the last local reference is dropped from softirq context. Additionally, hold a single device reference on local from registration until final destruction. 3. In nfc_llcp_local_get(), use kref_get_unless_zero() to prevent resurrecting a local object whose teardown has been scheduled. 4. In llcp_sock_accept(), verify that the listener socket state is still LLCP_LISTEN after waking from schedule_timeout() to prevent hangs if the listener is closed concurrently. 5. When unlinking unaccepted child sockets during listener release, unlink them from local->sockets, call sock_orphan(), and drop their initial sk_alloc creation reference via sock_put(). 6. Make nfc_llcp_accept_unlink() idempotent by guarding parent access with a NULL check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: llcp: Fix list corruption / refcount desync in nfc_llcp_recv_dm() nfc_llcp_recv_dm() handles DM(NOBOUND)/DM(REJ) for a socket that is still linked on local->connecting_sockets: it looks the socket up with nfc_llcp_connecting_sock_get(), sets sk->sk_state = LLCP_CLOSED and returns, without taking the socket lock and without unlinking the socket from the connecting_sockets list. llcp_sock_release() selects the list to unlink from by sk_state: a socket in LLCP_CONNECTING is unlinked from connecting_sockets, otherwise from the sockets list. Because recv_dm left the socket physically on connecting_sockets but in the LLCP_CLOSED state, release() takes the else branch and calls nfc_llcp_sock_unlink(&local->sockets, sk). That runs sk_del_node_init() while holding sockets.lock, i.e. it removes the socket from the connecting_sockets hlist under the wrong lock. A concurrent connect() linking another socket onto connecting_sockets under connecting_sockets.lock then mutates the same hlist unserialized, which corrupts the list and desyncs the sk_add_node()/sk_del_node_init() sock_hold()/__sock_put() pairing. An unprivileged local process holding LLCP sockets, with the DM supplied by the remote peer over an established LLCP link, can drive this to leak kernel sockets without bound (the mis-decrement goes through the non-freeing __sock_put() path, so the object is never released), leading to memory exhaustion / DoS. This is the same class of bug that was fixed in the sibling handler nfc_llcp_recv_cc() by commit b493ea2765cc ("nfc: llcp: Fix use-after-free race in nfc_llcp_recv_cc()"); recv_dm did not receive the equivalent fix. Fix it the same way: take lock_sock(), re-check that the socket is still hashed (release() may have won the race), and for the NOBOUND/REJ case unlink it from connecting_sockets before moving it to LLCP_CLOSED. The unlink drops the connecting_sockets membership reference via sk_del_node_init(), leaving the socket unhashed, so the later nfc_llcp_sock_unlink() in llcp_sock_release() becomes a no-op and no double put occurs.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: st21nfca: validate received frame size st21nfca_hci_i2c_repack() trims a received frame at its EOF marker before removing byte stuffing. It then assumes the truncated frame contains the LLC header and two CRC bytes, and it unconditionally reads the byte after an escape marker. A malformed frame can place EOF immediately after the start marker or can end its data portion with an escape marker. The former leaves too few bytes for check_crc(), while the latter makes the unstuffing loop read past the current skb length. Require the minimum framing bytes both before and after unstuffing. Use separate input and output cursors while removing byte stuffing, and reject an escape marker without its encoded byte. This keeps malformed frames within the received frame boundary before CRC processing.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: nfc: nfcmrvl: validate helper command length before pull The firmware download receive path removes the NCI data header and reads the helper command before validating the remaining packet length. A short frame can therefore reach the data access before the malformed packet is rejected. Validate the complete helper command length before stripping the NCI data header.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: sr9700: include receive overhead in the length check The receive fixup subtracts the Ethernet CRC from the reported packet length, but compares that payload length against the whole remaining receive buffer. The following copy starts after the three-byte header, and the cursor advance consumes both that header and the four-byte CRC. Require the payload to fit after SR_RX_OVERHEAD before copying it or advancing to the next packet. The loop already ensures that the remaining buffer is larger than the overhead, so the subtraction is safe. The issue was found by our static-analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: Reject short EA=0 frames in rfcomm_recv_frame() While rfcomm_recv_frame() verifies that skb->len is at least sizeof(*hdr) + 1 (4 bytes: 3-byte header + 1-byte FCS), an RFCOMM frame with an extended 2-byte length field (!__test_ea(hdr->len)) has a 4-byte header plus a 1-byte FCS (5 bytes minimum, sizeof(*hdr) + 2). When a 4-byte RFCOMM frame with EA == 0 arrives: 1. The initial skb->len < sizeof(*hdr) + 1 check passes (4 < 4 is false). 2. Trimming the FCS byte decrements skb->len to 3. 3. If __check_fcs() succeeds, skb_pull(skb, 4) fails (4 > 3) and returns NULL without advancing skb->data. 4. Because the return value of skb_pull() is ignored, the un-pulled 3-byte struct rfcomm_hdr remains at skb->data and is either queued as application payload via rfcomm_recv_data() or parsed as a multiplexer control command via rfcomm_recv_mcc() on DLCI 0. Fix this by extending the length check in rfcomm_recv_frame() to also require skb->len >= sizeof(*hdr) + 2 when !__test_ea(hdr->len).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: validate device-supplied DMA indices In btintel_pcie_msix_rx_handle(), the driver processes RX completion descriptors (urbd1) written by the PCIe device into DMA-coherent memory. urbd1->frbd_tag (a 16-bit field fully controlled by the device firmware via DMA) is used directly as an array index into rxq->bufs[] without any bounds check. rxq->bufs[] has only BTINTEL_PCIE_RX_DESCS_COUNT (64) entries, while frbd_tag can be any value 0-65535. A malicious or malfunctioning device can write an out-of-range frbd_tag, causing the driver to dereference an out-of-bounds data_buf pointer. Additionally, cr_hia is read from a DMA-shared index array also writable by the device; if the device sets cr_hia >= rxq->count, the while-loop never terminates because cr_tia is wrapped via modulo rxq->count and can never equal an out-of-range cr_hia. Add bounds validation for cr_hia and frbd_tag in the RX path, and cr_hia in the TX path. Log invalid values with bt_dev_err before returning.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: bnep: fix out-of-bounds reads on short RX/TX frames and control fallthrough Fix multiple out-of-bounds reads in Bluetooth BNEP frame processing: 1. In bnep_rx_frame() and bnep_ctrl_frame() (net/bluetooth/bnep/core.c), use pskb_may_pull() to verify the BNEP header, control type byte, filter count, and extension headers exist before reading them, and return 0 after handling BNEP_CONTROL instead of falling through to Ethernet frame submission when no extension headers follow. 2. In bnep_net_xmit() (net/bluetooth/bnep/netdev.c), verify skb->len >= ETH_HLEN with pskb_may_pull() before reading the 14-byte Ethernet header to prevent an out-of-bounds heap read and infoleak on short AF_PACKET TX frames.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/bridge: samsung-dsim: fix TE GPIO lifetime for host attach When the Exynos DSI driver was generalized into samsung-dsim, the TE GPIO acquisition was switched from gpiod_get_optional() to devm_gpiod_get_optional() while keeping the matching gpiod_put() calls. That combination is wrong for a managed descriptor. However, dropping the puts and keeping the managed get is also wrong: samsung_dsim_register_te_irq() runs from the DSI host attach callback, and host detach/reattach can happen without destroying the device that owns the managed action. A second attach would then request the GPIO again without having released it. Switch back to a non-managed gpiod_get_optional() and keep the explicit gpiod_put() on the request_irq() error path and in samsung_dsim_unregister_te_irq(). [Luca: remove unnecessary comment]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: release the GEM object on virtio_gpu_vram_create() errors virtio_gpu_vram_create() frees the object with a bare kfree(vram) on both error paths after drm_gem_private_object_init() has run, and on the second one after drm_gem_create_mmap_offset() has linked obj->vma_node into the device's VMA offset manager. The freed object stays in that interval tree, so a later lookup or insertion walks freed memory, and the dma_resv and gpuva lock are never destroyed. Call drm_gem_object_release() before kfree() on both paths.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix object leaks in virtio_gpu_resource_create_blob_ioctl() virtio_gpu_resource_create_blob_ioctl() calls drm_gem_object_release() on both the virtio_gpu_resource_assign_uuid() and drm_gem_handle_create() error paths instead of dropping the reference it owns, so obj->funcs->free() never runs and the virtio_gpu_object, the resource id and the host-side resource are leaked. Use drm_gem_object_put() instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix object leak in virtio_gpu_resource_create_ioctl() virtio_gpu_resource_create_ioctl() calls drm_gem_object_release() on the drm_gem_handle_create() error path instead of dropping the reference it owns, so obj->funcs->free() never runs and the virtio_gpu_object, its pages and sg table, the resource id and the host-side resource are leaked. Use drm_gem_object_put() instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/virtio: fix object leak when drm_gem_handle_create() fails virtio_gpu_gem_create() owns the reference taken by virtio_gpu_object_create(). On the drm_gem_handle_create() error path it calls drm_gem_object_release() instead of dropping that reference. drm_gem_object_release() is the inverse of drm_gem_object_init() and does not touch the reference count or call obj->funcs->free(), so it is only correct as the last step of a destructor, as in virtio_gpu_cleanup_object(). Using it here leaves the bo at refcount 1 with no remaining reference, so virtio_gpu_free_object() never runs and the shmem pages, sg table and virtio_gpu_object are leaked. Since virtio_gpu_object_create() has already set bo->created, VIRTIO_GPU_CMD_RESOURCE_UNREF is not queued either, leaking the host-side resource and the resource id. drm_gem_handle_create_tail() drops the handle reference on all of its internal error paths, so the caller only has to drop its own. Use drm_gem_object_put(), matching the success path below.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: net: usb: catc: bound the RX packet length in catc_rx_done() catc_rx_done() walks a multi-packet URB, reading a two-byte length from each packet header. Its bound, pkt_len > urb->actual_length, ignores the header offset and compares against the whole transfer rather than the bytes left from pkt_start, so a crafted packet header makes skb_copy_to_linear_data() read past the buffer. A length below ETH_HLEN is also accepted, including zero, and eth_type_trans() then reads a MAC header from the uninitialised tailroom of a shorter skb. The is_f5u011 branch takes its length straight from the transfer, so a zero-length URB reaches the same path. Track the bytes remaining from the current packet, and reject a header that does not fit, a length past what is left, and a length below an Ethernet header. A transfer shorter than an Ethernet header, including a zero-length one, previously became a runt skb passed to netif_rx() and counted as received; it is now counted in rx_length_errors and ends the walk.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/clk: fix list cursor use after loop in nvkm_clk_ustate_update If list_for_each_entry() exits without hitting a break then "pstate" is not a valid pstate pointer. Introduce a "found" variable instead. The check is reachable from userspace: nvkm_clk_ustate_update() takes the pstate id straight from the 'pstate' debugfs file, so requesting an id that is not in clk->states - or any id at all when the perf tables are broken and the list is empty - makes the pstate->pstate != req test dereference the list head cast to a struct nvkm_pstate, which is an out-of-bounds read. [Francesco: rebased on drm-misc-next, expanded the commit message]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel In send_cancel(), pending mesh_tx objects are removed from the hdev->mesh_pending list and freed via mesh_send_complete(). However, if a mesh transmission was already queued onto hdev->cmd_sync_work_list via mesh_next(), the queued entry retains a raw pointer to mesh_tx. When hci_cmd_sync_work later processes the entry, it attempts to execute mesh_send_sync and its destroy callback mesh_send_start_complete using the already freed mesh_tx pointer, leading to a use-after-free. Fix this by invoking hci_cmd_sync_dequeue() for mesh_send_sync on the target mesh_tx before completing it. If the entry is found and dequeued, its destroy callback will complete and free the object; otherwise, mesh_send_complete() is called directly. Additionally, ensure the transmission queue advances after cancellation or errors. In mesh_send_start_complete(), call mesh_next() on error unless err is -ECANCELED, because hci_cmd_sync_dequeue() holds hdev->cmd_sync_work_lock and calling mesh_next() synchronously would deadlock. Instead, advance the queue in send_cancel() once the lock is released and if no transmission is in progress.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: HID: amd_sfh: Validate PCI BAR size before mapping The amd_sfh driver maps PCI BAR 2 using pcim_iomap_regions() and subsequently accesses MMIO registers at offsets up to 0x10958 (e.g., AMD_P2C_MSG3 at 0x1068C). However, the driver never validates that the BAR size is large enough to cover these accesses. If the driver is bound to a device with a smaller BAR 2, this leads to an out-of-bounds memory access and a page fault during the probe function. For example, a page fault can occur when reading from privdata->mmio + AMD_P2C_MSG3 in mp2_select_ops(): BUG: unable to handle page fault for address: ffffc9000390368c PGD 100000067 P4D 100000067 PUD 1012c1067 PMD 105b64067 PTE 0 Oops: Oops: 0000 [#1] SMP KASAN NOPTI RIP: 0010:readl arch/x86/include/asm/io.h:59 [inline] RIP: 0010:mp2_select_ops drivers/hid/amd-sfh-hid/amd_sfh_pcie.c:282 [inline] RIP: 0010:amd_mp2_pci_probe+0x337/0x5f0 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c:487 Call Trace: <TASK> local_pci_probe drivers/pci/pci-driver.c:332 [inline] pci_call_probe drivers/pci/pci-driver.c:394 [inline] __pci_device_probe drivers/pci/pci-driver.c:455 [inline] pci_device_probe+0x431/0xc90 drivers/pci/pci-driver.c:489 Fix this by verifying that the length of BAR 2 is at least 128KB before attempting to map it. Since the maximum accessed offset is 0x10958, and PCI BAR sizes are powers of 2, any legitimate hardware will have a BAR size of at least 128KB.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: trigger: cancel reenable_work before freeing trigger iio_trigger_notify_done_atomic() defers ->reenable() into trig->reenable_work on the system workqueue, and the worker dereferences the owning trigger through container_of(). Nothing cancels this work before iio_trig_release() frees the trigger, so a worker armed by the last in-flight IRQ can outlive the free and touch freed memory. Cancel it at the top of iio_trig_release(), which every free path reaches through the device core's final put_device(). Found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure pm_runtime_set_active() failing in probe() jumps to error_unreg_buffer, which only calls iio_triggered_buffer_cleanup() -- it does not undo the iio_device_register() that already succeeded a few lines above. probe() then returns the error, the devm-managed indio_dev is freed, but the iio core still has it registered: the sysfs/chardev nodes stay live and point at freed memory. Add an error_unreg_dev label that unregisters the iio device before falling through to the existing buffer cleanup, mirroring the teardown order already used in lidar_remove().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: pressure: bmp280: fix out-of-bounds access in sampling frequency lookup The sampling frequency tables store each frequency as an integer part and a fractional part in micro units. num_sampling_freq_avail is initialized to the number of flattened integer elements because read_avail() returns the table as a flat array. bmp280_write_sampling_frequency(), however, indexes the same table as a two-dimensional array and uses num_sampling_freq_avail as the number of rows. Convert the flattened element count back to the number of rows before iterating over the table.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: light: gp2ap020a00f: drain irq_work after free_irq The threaded IRQ handler queues data->work through irq_work_queue() so the trigger is polled from a per-CPU context. free_irq() does not flush an irq_work the handler already queued, so after gp2ap020a00f_remove() returns that work may still run and call iio_trigger_poll() on data->trig, which the devm cleanup has already freed, causing a use-after-free. Add irq_work_sync(&data->work) after free_irq() in remove() and in the probe error path, mirroring commit 78601726d4a5 ("iio: trigger: sysfs: fix use-after-free on remove"). Found by an in-house static analysis tool, confirmed by manual review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: imu: adis16480: fix unprotected debugfs reads The firmware_revision and firmware_date file operations are open coded and never call debugfs_file_get(), which debugfs_create_file_unsafe() requires. debugfs_remove_recursive() therefore does not wait for a read in progress, and unbind frees the iio_dev underneath it. Use debugfs_create_file() instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: imu: adis16400: fix unprotected debugfs reads adis16400_serial_number_fops is open coded and never calls debugfs_file_get(), so debugfs_remove_recursive() does not wait for a read in progress and unbind frees the iio_dev underneath it. Commit ae1d37a9bb4b ("iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE") converted product_id and flash_count to DEFINE_DEBUGFS_ATTRIBUTE, which protects itself, but moved all three files to debugfs_create_file_unsafe(). serial_number prints three registers as "%.4x-%.4x-%.4x" and DEFINE_DEBUGFS_ATTRIBUTE() formats a single u64, so it cannot be converted without changing what the file returns. adis16475 and adis16550 already use debugfs_create_file() for their open coded files. Use it here too.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: gyro: adis16136: fix unprotected debugfs reads The serial_number file operations are open coded and never call debugfs_file_get(), which debugfs_create_file_unsafe() requires. debugfs_remove_recursive() therefore does not wait for a read in progress, and unbind frees the iio_dev underneath it. Use debugfs_create_file() instead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: buffer: Ensure bounce buffer used for unaligned case is zeroed. iio_push_to_buffers_with_ts_unaligned() leaks uninitialized heap memory to userspace if the data passed in is not a multiple of 8 bytes and the timestamp is enabled. Specify __GFP_ZERO for the devm_krealloc() to ensure any extra space is cleared.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: buffer: serialize buffer teardown with mode claims Buffer-mode claims hold mlock to guarantee that the device remains in buffer mode until the claim is released. Normal buffer updates take info_exist_lock followed by mlock in iio_update_buffers(). However, iio_device_unregister() disables and deactivates all buffers without taking mlock. This can invalidate buffer state, including active_scan_mask, while a buffer-mode claim is held. Take mlock in iio_disable_all_buffers() so that unregister honors the mode-claim lifetime guarantee. The info_exist_lock -> mlock ordering matches iio_update_buffers().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: adc: sun4i-gpadc-iio: clean up on thermal zone registration failure If devm_thermal_of_zone_register() fails, probe returns without unregistering the IIO map array or disabling runtime PM. Jump to err_map to release them.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: accel: kxcjk-1013: reject duplicate event disable The IIO core does not filter duplicate writes to the event enable attribute. kxcjk1013_write_event_config() already ignores repeated enable requests, but a repeated disable request still calls kxcjk1013_set_power_state(data, false), dropping a runtime PM reference that was not acquired for this request. This can underflow the runtime PM usage count and trigger a "Runtime PM usage count underflow" warning. Return early when the requested state already matches ev_enable_state.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Reject oversized XDomain properties responses tb_xdp_properties_request() allocates room for 45 data dwords in its 252-byte response buffer. The XDomain length field is six bits wide, however, and a malicious peer can set it to 63. After the fixed response fields are subtracted, the driver treats this as 48 data dwords. Commit 322e93448d90 ("thunderbolt: Clamp XDomain response data copy to allocation size") only bounds the copy against data_len. If data_len is at least 48, memcpy() reads 192 bytes from the 180-byte res->data array, causing a 12-byte heap out-of-bounds read. Commit 4db2bd2ed478 ("thunderbolt: Limit XDomain response copy to actual frame size") limits the earlier copy but does not constrain this header-derived length. Reject response data lengths that exceed the allocated source buffer before copying them into the assembled property block.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Fix KASAN reported use-after-free when request is canceled Alan reported that when doing stress testing sometimes KASAN notices use-after-free during control channel operation (stripped down keeping the relevant parts): BUG: KASAN: slab-use-after-free in tb_cfg_request_sync+0x240/0x250 [thunderbolt] Read of size 24 at addr ffff88811067f290 by task kworker/u40:2/1760 <TASK> tb_cfg_request_sync+0x240/0x250 [thunderbolt] tb_cfg_read_raw+0x367/0x510 [thunderbolt] tb_cfg_read+0xec/0x240 [thunderbolt] tb_port_get_link_generation+0x258/0x420 [thunderbolt] tb_usb3_consumed_bandwidth+0x1c1/0x2c0 [thunderbolt] tb_tunnel_consumed_bandwidth+0xfd/0x910 [thunderbolt] tb_available_bandwidth+0x5f2/0xeb0 [thunderbolt] tb_recalc_estimated_bandwidth+0x2a0/0x1bc0 [thunderbolt] tb_handle_dp_bandwidth_request+0x1897/0x5e20 [thunderbolt] process_one_work+0x675/0x1230 worker_thread+0x5e6/0xf70 kthread+0x365/0x470 ret_from_fork+0x54d/0x710 ret_from_fork_asm+0x1a/0x30 </TASK> Allocated by task 1760: __kmalloc_cache_noprof+0x1ee/0x550 tb_cfg_read_raw+0x1d3/0x510 [thunderbolt] tb_cfg_read+0xec/0x240 [thunderbolt] tb_port_get_link_generation+0x258/0x420 [thunderbolt] tb_usb3_consumed_bandwidth+0x1c1/0x2c0 [thunderbolt] tb_tunnel_consumed_bandwidth+0xfd/0x910 [thunderbolt] tb_available_bandwidth+0x5f2/0xeb0 [thunderbolt] tb_recalc_estimated_bandwidth+0x2a0/0x1bc0 [thunderbolt] tb_handle_dp_bandwidth_request+0x1897/0x5e20 [thunderbolt] process_one_work+0x675/0x1230 worker_thread+0x5e6/0xf70 kthread+0x365/0x470 ret_from_fork+0x54d/0x710 ret_from_fork_asm+0x1a/0x30 Freed by task 926: kfree+0x18f/0x4a0 tb_cfg_request_put+0xb7/0xe0 [thunderbolt] tb_cfg_request_work+0x82/0x120 [thunderbolt] process_one_work+0x675/0x1230 worker_thread+0x5e6/0xf70 kthread+0x365/0x470 ret_from_fork+0x54d/0x710 ret_from_fork_asm+0x1a/0x30 Second to last potentially related work creation: __queue_work+0x575/0xd00 queue_work_on+0x77/0x80 tb_cfg_request_cancel+0xc7/0x260 [thunderbolt] tb_cfg_request_sync+0x1f6/0x250 [thunderbolt] tb_cfg_read_raw+0x367/0x510 [thunderbolt] tb_cfg_read+0xec/0x240 [thunderbolt] tb_port_get_link_generation+0x258/0x420 [thunderbolt] tb_usb3_consumed_bandwidth+0x1c1/0x2c0 [thunderbolt] tb_tunnel_consumed_bandwidth+0xfd/0x910 [thunderbolt] tb_available_bandwidth+0x5f2/0xeb0 [thunderbolt] tb_recalc_estimated_bandwidth+0x2a0/0x1bc0 [thunderbolt] tb_handle_dp_bandwidth_request+0x1897/0x5e20 [thunderbolt] process_one_work+0x675/0x1230 worker_thread+0x5e6/0xf70 kthread+0x365/0x470 ret_from_fork+0x54d/0x710 ret_from_fork_asm+0x1a/0x30 The last stack trace is helpful because it shows that we are cancelling a request and looking at tb_cfg_request_cancel() what might happen is that tb_cfg_request_work() completes right before tb_cfg_request_cancel() starts and because of this it will call schedule_work() queueing the same work to run again. However, it is already removed from the request_queue and reference count is dropped so when tb_cfg_request_work() triggers again it will access memory that is already released. Fix this so that we first make sure a cancelled request is not handed away from tb_cfg_request_find() or scheduled to run. Then instead of relying on the worker to clean up the request we will do it in tb_cfg_request_cancel() after the work is canceled from running. Make tb_cfg_request_dequeue() release the request only if it was actually removed from the queue.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: serial: fix driver deregistration order USB serial driver modules register one driver for the USB bus and one or more drivers for the ports on the USB serial bus. When unloading a driver module, the USB driver must be deregistered before the USB serial bus drivers so that I/O is stopped before unbinding the ports to avoid use-after-free in completion handlers accessing port data. Note that the "new_id" attributes must first be removed to prevent new ids from being added and triggering a probe of the USB driver after it has been deregistered.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: serial: fix dynamic id driver deregistration race Only free the dynamic ids after having deregistered the driver and removed the "new_id" attribute to avoid leaking any id added by a racing write to the attribute.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: handle empty FILS association request payload fils_encrypt_assoc_req() accepts a (Re)Association Request frame whose last element is the FILS Session element. crypt_len is then zero and aes_siv_encrypt() is called with an empty plaintext. kmemdup() returns ZERO_SIZE_PTR for a zero-length allocation, so the unconditional sg_init_one() puts an invalid page into the scatterlist. With CONFIG_DEBUG_SG this triggers a kernel BUG in sg_set_buf(); without the debug check the bogus page is handed to the crypto backend. AES-SIV is defined for empty plaintext and the S2V result is then the complete output, so handle this case before the CTR step, which has nothing to encrypt.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix mesh fast xmit path deletion UAF mesh_fast_tx_cache() stores raw mesh_path pointers. Path deletion flushes the cache and then frees the path with kfree_rcu(), but a lookup that already holds the path can insert a new cache entry after the flush. The cache then points at freed memory. Set MESH_PATH_DELETED before flushing, and skip inserting a cache entry if the path or MPP path is already deleted. Check this under the cache walk lock so it is ordered with the flush. Use WRITE_ONCE() for the deletion flag updates because the cache check reads flags without taking state_lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: set info->band for 802.3 encap offload frames Unlike the 802.11 TX paths, ieee80211_8023_xmit() does not set info->band from the channel context on non-MLD interfaces. It stays at 0, so ieee80211_get_tx_rates() uses the wrong band for these frames. Set it the same way as ieee80211_build_hdr(): drop the frame if there is no channel context, and leave the band at 0 on MLD interfaces.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: release mesh path quota on failed additions Repeated failed or duplicate mesh path additions can exhaust MESH_MAX_MPATHS while the path table holds fewer paths, which stops new paths to reachable destinations from being created. mesh_path_add() reserves a slot before allocating and inserting a path. If allocation fails, the function returns without releasing the slot. If the rhashtable insertion reports an error or an existing destination, the function discards its candidate but retains the reservation. No new path is installed in any of these cases. Release the reservation whenever the candidate is not installed.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: minstrel_ht: validate fixed rate index The fixed_rate_idx debugfs file is a plain u32 attribute, so any value can be written to it. minstrel_ht_update_stats() then copies the value into mi->max_tp_rate[] and mi->max_prob_rate, and minstrel_ht_set_rate() uses MI_RATE_GROUP()/MI_RATE_IDX() to index minstrel_mcs_groups[] (42 entries) and mi->groups[].rates[] (10 entries) with it. Writing e.g. 65535 selects group 4095 and rate index 15, far outside both arrays. The out-of-bounds entries are dereferenced and updated as struct minstrel_rate_stats (retry counts, etc.), so the invalid index corrupts adjacent kernel memory. With CONFIG_UBSAN_BOUNDS the access is reported as an array-index-out-of-bounds in minstrel_ht_set_rate(). Only a valid group/rate pair, or U32_MAX to disable fixed rate processing, can be used safely, so reject any other value when the debugfs file is written. The file is only reachable through a root-only debugfs mount, so this is not a privilege boundary. The out-of-bounds access is still a bug that must not be reachable through a writable debugfs attribute.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: account proxy paths against the mesh path limit Proxy-path churn can drive the interface path counter negative and let later mesh path additions exceed MESH_MAX_MPATHS. mesh_path_free_rcu() decrements the interface mpaths counter for entries from both the mesh and proxy path tables, but mpp_path_add() never reserves a slot in that counter. Removing or expiring a proxy path therefore returns a slot that was never charged. mesh_path_add() uses the same counter to enforce MESH_MAX_MPATHS, so once it falls below the number of installed paths the limit no longer holds. Reserve the shared quota before allocating a proxy path and release it on every unsuccessful addition. Mesh and proxy paths now share one 1024-entry budget, so mpp_path_add() can return -ENOSPC at that limit.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: drain PS delivery work during station teardown Removing an AP or mesh station can notify the driver and wake TXQs after the station has already been removed from the driver, and can update num_sta_ps and the power-save queues after station cleanup has purged them. sta_deliver_ps_frames() tests sta->dead only before it starts delivery. A worker that passes that test can be delayed while teardown sets sta->dead and removes the station from the driver; when it resumes it still runs the full delivery. The existing cancel_work_sync() sits near the end of __cleanup_single_sta(), after the final driver state transition and after PS accounting and queue purging, so it drains the worker only once the state it has to protect has already changed. Before commit d34ba2168a3c ("mac80211: don't delay station destruction") cleanup was deferred through the same ordered workqueue as the delivery work, which kept the two ordered. Cancel the work after setting sta->dead and before moving the driver state, and move the existing cancellation to the start of __cleanup_single_sta(). The first drain closes the driver-lifetime window; driver callbacks during the remaining state transitions can still queue drv_deliver_wk through ieee80211_sta_block_awake(), so retain the second drain at the start of __cleanup_single_sta(). That drain also covers insertion failures, which reach cleanup without setting sta->dead.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlegacy: 3945: free EEPROM data on remove il3945_pci_probe() calls il_eeprom_init(), which allocates memory for the EEPROM data. The probe failure paths release this allocation with il_eeprom_free(), but the remove path does not free it after a successful probe. As a result, the EEPROM data is leaked when the PCI device is removed. Free the EEPROM data in il3945_pci_remove() before releasing the mac80211 hardware structure. This issue was found by manual code inspection.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cw1200: fix TX padding OOB read leaking heap data to device The TX path rounds the transfer size up to the bus alignment (align_size(), up to 511 bytes for SDIO, 1 byte for SPI) but sends the padded length straight from the frame buffer, which has no room reserved for the padding. cw1200_data_write() therefore reads past the end of the frame and the bus transfer carries those bytes to the device. A bogus device can collect up to 511 bytes of kernel heap data per TX frame. The RX path does not have this problem: it allocates the skb with the aligned length (alloc_len) before reading. Compute the exact padding with the bus align_size() callback, make sure queued TX frames have tailroom for it, and zero the padding bytes before the transfer so nothing past the frame is exposed. This is not expected to change driver behavior on most cases: frame contents and transfer sizes are unchanged, only the content of the padding bytes (previously undefined stale memory, now zero), which the device never reads since the WSM header carries the real frame length. The skb expansion can only fail under memory exhaustion, in which case the frame is dropped like on the existing error paths of cw1200_tx(). Discovered by Atuin - Automated Vulnerability Discovery Engine.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86/mmu: Bail from shadow walks if the root is invalid or a dummy When walking shadow page tables, immediately terminate the walk if the root is a "dummy" root, i.e. a root whose top-level page table is backed by the zero page, but otherwise doesn't exist. If memslot creation races with a stage-2 page fault (EPT violation or #NPF) from L2, then if the stars align, KVM will attempt to walk shadow page tables using the zero page and hit a NULL pointer deref. BUG: kernel NULL pointer dereference, address: 0000000000000021 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP CPU: 30 UID: 1000 PID: 941 Comm: qemu Not tainted 7.2.0-rc2-1b731e5ded48-next-vm #1741 PREEMPTLAZY Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015 RIP: 0010:__kvm_mmu_invalidate_addr+0xea/0x210 [kvm] Call Trace: <TASK> kvm_mmu_invalidate_addr+0x92/0xe0 [kvm] __kvm_inject_emulated_page_fault+0x67/0x80 [kvm] ept_page_fault+0x160/0x850 [kvm] kvm_mmu_do_page_fault+0x102/0x1f0 [kvm] kvm_mmu_page_fault+0x8e/0x6b0 [kvm] vmx_handle_exit+0x163/0x640 [kvm_intel] kvm_arch_vcpu_ioctl_run+0x960/0x2120 [kvm] kvm_vcpu_ioctl+0x2c7/0x970 [kvm] __x64_sys_ioctl+0x90/0xd0 do_syscall_64+0x67/0x5f0 entry_SYSCALL_64_after_hwframe+0x4b/0x53 RIP: 0033:0x7f606d0b53bb Opportunistically harden the shadow walks against fully invalid roots, but WARN, as all callers are expected/required to pre-check for a valid root. Don't WARN in the dummy root case as the whole point of using a dummy root is to provide a root that's valid enough to enter the guest, i.e. it should Just Work for all flows except those that *need* to know about dummy roots. Alternatively, KVM could allocate a dedicated page and associated shadow page structure for the dummy root, which is very tempting as it such an approach should be more resilient against unexpected behavior. But that would be a much larger and thus riskier change than simply terminating walks of dummy roots.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mtd: rawnand: cadence: Initialize IRQ state before requesting IRQ The Cadence NAND interrupt handler uses both the IRQ lock and completion object. Registering the IRQ before initializing them leaves a window in which a pending interrupt can access uninitialized synchronization state. Initialize them before registering the handler.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: reject oversized TX packets in send_frame() btintel_pcie_send_frame() eventually copies skb->data into a fixed BTINTEL_PCIE_BUFFER_SIZE (4096) DMA buffer via memcpy() in btintel_pcie_prepare_tx(), with a 4-byte PCIe type header prepended. A user-space process with HCI_CHANNEL_USER access can inject an oversized packet and overflow the buffer. Reject packets larger than BTINTEL_PCIE_BUFFER_SIZE - BTINTEL_PCIE_HCI_TYPE_LEN on entry.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: fix plen overflow in btintel_pcie_recv_frame() plen is u16 and computed as HDR_SIZE + dlen. For ACL/ISO frames dlen is a 16-bit field, so a value >= 0xFFFC wraps the sum, bypassing the "skb->len < plen" check and letting skb_trim() truncate the packet. Widen plen to u32 so the addition cannot wrap.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: fix buffer over-read in btintel_hw_error() The "Exception info %s" print uses skb->data + 1, but the 12-byte payload is not guaranteed to be NUL-terminated and can be read past its end. Bound the print with "%.*s" and skb->len - 1.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: Serialize fragmented ISO packet queueing The fragmented path in hci_queue_iso() calls __skb_queue_tail() without holding conn->data_q.lock. The socket lock serializes senders, but the transmit worker can concurrently remove packets from this queue using skb_dequeue(). After an insertion saves the old tail pointer, hci_sched_iso() can dequeue that packet and pass it to the driver. The driver can free the packet before the insertion resumes and writes to the old tail's next pointer, causing a use-after-free. Concurrent updates can also corrupt the queue. KASAN reported: BUG: KASAN: slab-use-after-free in hci_send_iso+0xc7d/0xe10 Call Trace: hci_send_iso+0xc7d/0xe10 iso_sock_sendmsg+0x710/0x900 __sys_sendto+0x34a/0x3a0 Allocated by task 86: __alloc_skb+0xdd/0x820 alloc_skb_with_frags+0x7e/0x770 sock_alloc_send_pskb+0x67a/0x820 bt_skb_sendmsg.constprop.0+0xc0/0x6c0 iso_sock_sendmsg+0x44e/0x900 Freed by task 90: kmem_cache_free+0xcb/0x3d0 vhci_read+0x33f/0x4d0 vfs_read+0x177/0xa20 Hold the queue lock across the entire fragment batch, as hci_queue_acl() does, to serialize insertion against dequeue while preserving fragment ordering.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: Serialize ACL scheduling with channel deletion hci_chan_sent() selects a channel under RCU but drops the read lock before accessing chan->conn and returning the channel. The ACL and LE schedulers then use its packet queue and update its transmit counters without any protection against channel deletion. After TX selects a channel and releases RCU, a disconnect command timeout on the separate request workqueue can run hci_conn_failed() and l2cap_conn_del(). hci_chan_del() can then unlink the channel, complete synchronize_rcu(), purge its queue and free it before TX resumes. This causes use-after-free both in hci_chan_sent() and in its callers. KASAN reported: BUG: KASAN: slab-use-after-free in hci_chan_sent+0x892/0x9b0 Workqueue: hci0 hci_tx_work Call Trace: hci_chan_sent+0x892/0x9b0 hci_tx_work+0x5e6/0xb70 Allocated by task 91: hci_chan_create+0xe3/0x350 l2cap_conn_add.part.0+0x12/0xa30 l2cap_chan_connect+0x110d/0x1b60 l2cap_sock_connect+0x310/0x530 Freed by task 99: hci_chan_del+0x11f/0x170 l2cap_conn_del+0x4f1/0x800 l2cap_connect_cfm+0x88c/0xd30 hci_conn_failed+0x150/0x250 hci_abort_conn_sync+0x3e3/0x800 hci_cmd_sync_run+0x7e/0xc0 hci_abort_conn+0x105/0x1f0 disconnect_sync+0x157/0x290 hci_cmd_sync_work+0x13c/0x290 Hold the existing device mutex across channel selection and transmission in both schedulers to serialize them with channel teardown. Keep timeout handling outside the critical sections because hci_link_tx_to() acquires the same mutex. This also permits the transmit path to sleep, unlike extending the RCU read-side critical section across packet submission.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_conn: Lock parent access during enhanced SCO setup Bluetooth: hci_conn: Lock parent access during enhanced SCO setup hci_enhanced_setup_sync() runs on the request workqueue without the hci_dev_lock held by its caller when setup was queued. Its CVSD capability check and find_next_esco_param() dereference conn->parent while the receive workqueue can unlink and release that parent. The following interleaving can cause a use-after-free: hci_enhanced_setup_sync() hci_disconn_complete_evt() load conn->parent hci_dev_lock() hci_conn_del(ACL parent) unlink SCO child drop link's parent reference clear child->parent release ACL parent bt_link_release() kfree(parent) hci_dev_unlock() read parent->features[0][3] The reference held for the queued SCO child does not keep its ACL parent alive after unlinking. Commit 42de40abe25d ("Bluetooth: hci_conn: fix the SCO setup context lifetime") protects the child stored in the queued context, but leaves these parent accesses unprotected. With a 40 ms diagnostic delay after loading conn->parent, an instrumented kernel based on fd179f8a05be, which already contains 42de40abe25d, BUG: KASAN: slab-use-after-free in hci_enhanced_setup_sync+0xda5/0xdf0 Read of size 1 at addr ffff888102204047 by task kworker/u17:0/93 Call Trace: hci_enhanced_setup_sync+0xda5/0xdf0 hci_cmd_sync_work+0x13c/0x290 process_one_work+0x6b4/0x10e0 Allocated by task 92: __hci_conn_add+0x304/0x1df0 hci_connect_acl+0x349/0x3e0 hci_connect_sco+0x3b/0x9a0 sco_sock_connect+0x475/0xca0 Freed by task 94: kfree+0x121/0x3c0 bt_link_release+0x79/0xa0 device_release+0xc8/0x240 kobject_put+0x14d/0x280 hci_conn_del+0x524/0xe30 hci_disconn_complete_evt+0x403/0x8c0 hci_event_packet+0x71b/0xb20 hci_rx_work+0x293/0x730 The accessed address is 71 bytes into the freed ACL parent, at its features[0][3] byte; the queued SCO child is a different object. The diagnostic preserves the loaded parent across the delay, matching the unmodified compiled capability check, and does not change the parent references or teardown path. Hold hci_dev_lock() across the codec switch, including every call to find_next_esco_param(), and release it on all selection errors. Keep configure_datapath_sync() outside the critical section because it waits for HCI events. Preserve parameter selection and existing return values.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: Fix inquiry cache use-after-free The sync command worker holds hdev->req_lock, but inquiry-cache updates and flushes use hdev->lock. Both hci_acl_create_conn_sync() and hci_stop_discovery_sync() look up entries and read their fields without taking hdev->lock. After either lookup returns, a concurrent HCIINQUIRY ioctl can acquire hdev->lock and flush the cache, freeing the entry. The worker then reads the freed entry while preparing a create-connection or remote-name-cancel command. The list traversal also races with cache updates and removal. KASAN reported these accesses: BUG: KASAN: slab-use-after-free in hci_acl_create_conn_sync+0x5f1/0x650 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_acl_create_conn_sync+0x5f1/0x650 hci_cmd_sync_work+0x13c/0x290 Allocated by task 90: hci_inquiry_cache_update+0x3e6/0x7d0 hci_inquiry_result_evt+0x3cb/0x560 Freed by task 93: hci_inquiry_cache_flush+0x111/0x2b0 hci_inquiry+0x2f2/0x780 hci_sock_ioctl+0x269/0x5f0 BUG: KASAN: slab-use-after-free in hci_stop_discovery_sync+0x3b1/0x3c0 Workqueue: hci0 hci_cmd_sync_work Call Trace: hci_stop_discovery_sync+0x3b1/0x3c0 hci_cmd_sync_work+0x173/0x300 Allocated by task 86: hci_inquiry_cache_update+0x483/0x940 hci_inquiry_result_evt+0x3cb/0x560 Freed by task 91: hci_inquiry_cache_flush+0x13e/0x2f0 hci_inquiry+0x2f2/0x780 hci_sock_ioctl+0x269/0x5f0 Hold hdev->lock across each lookup and all reads from its result. Copy the remote address before unlocking so discovery cancellation does not retain a cache entry pointer. Release the lock before sending synchronous HCI commands, since their completion handlers may need the same lock.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: Fix initial port reference race For RFCOMM_RELEASE_ONHUP devices, rfcomm_tty_install() and __rfcomm_release_dev() both use RFCOMM_TTY_OWNED to decide who drops the initial tty_port reference. The release path tests the bit separately from the install path setting it, so both can drop that reference. The synchronous hangup does not prevent this race: port->tty is not assigned until tty_port_open(), after installation. The following interleaving is possible: 1. Install and release each obtain a reference with rfcomm_dev_get(). 2. Release observes RFCOMM_TTY_OWNED clear. 3. Install sets RFCOMM_TTY_OWNED and drops the initial reference. 4. Release drops the same initial reference again. 5. TTY cleanup drops its reference and frees the device. 6. Release performs its final tty_port_put() on the freed port. KASAN reported: BUG: KASAN: slab-use-after-free in tty_port_put+0x22/0x190 Write of size 4 at addr ffff8881001d3d5c by task poc/92 Call Trace: tty_port_put+0x22/0x190 rfcomm_dev_ioctl+0x1d4/0x1930 sock_do_ioctl+0x110/0x260 sock_ioctl+0x380/0x590 __x64_sys_ioctl+0x134/0x1c0 Allocated by task 88: rfcomm_dev_ioctl+0x8f6/0x1930 sock_do_ioctl+0x110/0x260 sock_ioctl+0x380/0x590 __x64_sys_ioctl+0x134/0x1c0 Freed by task 65: kfree+0x131/0x3c0 rfcomm_dev_destruct+0x23b/0x2f0 release_one_tty+0xc1/0x370 process_one_work+0x661/0x1090 Use test_and_set_bit() in both paths so that only the caller that changes RFCOMM_TTY_OWNED from clear to set drops the initial reference. Each path keeps its own lookup reference until release or TTY cleanup, preserving the existing callback ordering and error handling.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: ua101: reject mismatched capture/playback packet sizes detect_usb_format() cross-checks bSubframeSize, bBitResolution and tSamFreq between the capture and playback interfaces, but never relates the two endpoints' wMaxPacketSize and bNrChannels. Each playback URB gets a buffer of ua->playback.max_packet_bytes, while the number of bytes written into it is derived from the capture stream: capture_urb_complete() computes frames from the received capture packet and capture.frame_bytes, and start_usb_playback() and playback_work() multiply that by playback.frame_bytes. A device declaring a large capture wMaxPacketSize with few capture channels and a small playback wMaxPacketSize with many playback channels therefore memset()s and memcpy()s past the end of the playback buffer, in open() of the PCM node the driver registers during probe. usb_submit_urb() rejects the over-long iso_frame_desc[0].length with -EMSGSIZE, but only after the write. Reject such descriptors at probe time. Genuine UA-101/UA-1000 hardware declares proportional packet sizes and is unaffected. BUG: KASAN: slab-out-of-bounds in start_usb_playback (sound/usb/misc/ua101.c:586) Write of size 2048 at addr ffff8881098f3c00 by task exploit/5021 Call Trace: __asan_memset (mm/kasan/shadow.c:84) start_usb_playback (sound/usb/misc/ua101.c:586) playback_pcm_open (sound/usb/misc/ua101.c:679) snd_pcm_open_substream (sound/core/pcm_native.c:2829) snd_pcm_open (sound/core/pcm_native.c:2865 sound/core/pcm_native.c:2932) snd_pcm_playback_open (sound/core/pcm_native.c:2891) snd_open (sound/core/sound.c:166) chrdev_open (fs/char_dev.c:411) do_dentry_open (fs/open.c:996) vfs_open (fs/open.c:1101) path_openat (fs/namei.c:4837 fs/namei.c:5000) do_file_open (fs/namei.c:5029) do_sys_openat2 (fs/open.c:1417) __x64_sys_openat (fs/open.c:1423 fs/open.c:1439 fs/open.c:1434) do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) The buggy address belongs to the object at ffff8881098f3c00 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 0 bytes inside of allocated 168-byte region [ffff8881098f3c00, ffff8881098f3ca8)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: Serialize compat port-info ioctls The native sequencer ioctl path serializes handler calls with client->ioctl_mutex, but the translated port-info compat path invokes the same handlers through snd_seq_kernel_client_ctl() without taking that mutex. This lets concurrent compat CREATE_PORT requests pass the port-count check before any request reaches the serialized insertion. The computed integer port index can then exceed the address field range and wrap to an existing index. Subsequent subscriber teardown can resolve the duplicate address to the wrong port and access a freed subscriber. Take ioctl_mutex while dispatching converted port-info requests, matching the native ioctl path. All translated port-info commands share this helper, so their accesses to the client port state are serialized as well.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: rt1017-sdca-sdw: fix uninitialized stream_config->type stream_config is not initialized before being passed to sdw_stream_add_slave(). The type field may contain garbage and is later copied to stream->type by sdw_config_stream(). Zero-initialize stream_config so type defaults to SDW_STREAM_PCM. While at it, use snd_sdw_params_to_config() helper instead of open-coding the same logic.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: codecs: max98363: fix uninitialized stream_config->type stream_config is not initialized before being passed to sdw_stream_add_slave(). The type field may contain garbage and is later copied to stream->type by sdw_config_stream(). Zero-initialize stream_config so type defaults to SDW_STREAM_PCM.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: serial: 8250_bcm7271: fix use-after-free in brcmuart_remove() brcmuart_handle_irq() starts priv->hrt to work around a receive-timeout quirk of the 8250 core when hardware flow control is enabled; the timer callback brcmuart_hrtimer_func() dereferences priv. brcmuart_remove() cancels the hrtimer before it unregisters the port, so a receive-timeout interrupt that arrives in between re-arms the timer. After devm frees priv, the callback runs on freed memory. Unregister the port before cancelling the hrtimer. serial8250_unregister_port() shuts the port down and frees its IRQ, so brcmuart_handle_irq() can no longer restart the timer, and the final hrtimer_cancel() drains any timer that was armed before or during the unregister. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup vcc_cleanup() sets port->tty to NULL without holding port->lock, racing with vcc_event() LDC callbacks that read port->tty under port->lock and then use tty->port. This can cause a use-after-free when the callback dereferences tty->port after cleanup has already destroyed and freed it.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: tty: vcc: zero-initialize control packet in vcc_send_ctl() The stack-allocated struct vio_vcc pkt was partially initialized, leaving the tag.stype_env field uninitialized before being sent via ldc_write(), potentially leaking kernel stack data to the LDC peer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: cdns3: Fix NULL pointer dereference in cdns3_pci_probe The Cadence USBSS controller is a two-function PCI device. The first probed function allocates the driver data and stores it with pci_set_drvdata(), while the second function reuses it via pci_get_drvdata() when pci_is_enabled() reports that the first function has already been probed. When the second function is probed while the first one has been enabled but has not yet set its driver data, pci_get_drvdata() returns NULL, and the subsequent wrap->devfn assignment dereferences a NULL pointer and crashes the kernel. logs: Call trace: cdns3_pci_probe+0xa4/0x300 local_pci_probe+0x44/0xa8 pci_call_probe+0x54/0x158 pci_device_probe+0x84/0x100 really_probe+0x184/0x3d0 __driver_probe_device+0x80/0x178 driver_probe_device+0x44/0xe8 __driver_attach+0xec/0x1f8 bus_for_each_dev+0x7c/0xe0 driver_attach+0x28/0x38 bus_add_driver+0x110/0x238 driver_register+0x64/0x128 __pci_register_driver+0x50/0x60 cdns3_pci_driver_init+0x28/0x38 do_one_initcall+0x5c/0x280 do_initcalls+0x104/0x1d8 kernel_init_freeable+0x140/0x218 kernel_init+0x28/0x1f8 ret_from_fork+0x10/0x20 Return -EPROBE_DEFER in this case so that probing is retried after the first function has completed its probe.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: cdns3: fix use-after-free in cdns3_gadget_exit() cdns3_gadget_start() arms two works on system_freezable_wq: pending_status_wq for the deferred ep0 status stage and aligned_buf_wq for realigned request buffers. Both handlers use the cdns3_device the works are embedded in, and cdns3_pending_setup_status_handler() also calls the ep0 request completion. cdns3_gadget_exit() does not wait for these works. It frees all endpoints and aligned buffers and drops the last reference to the gadget device, which frees priv_dev, so a work queued before the exit can run after the free. Fix this by waiting for both works after the gadget driver is unbound and the IRQ is freed, when no new work can be queued, and before the endpoints and buffers are released. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: ucsi: glink: fix use-after-free of ucsi on remove The pmic_glink client is released by the devres cleanup, which runs after pmic_glink_ucsi_remove() has returned, so its notification callbacks can queue work until then. Work that runs after ucsi_unregister() has been called touches freed state: it dereferences the connector array that ucsi_unregister() freed, or registers and unregisters the instance a second time. Disable both work items with disable_work_sync() before unregistering, and unregister only if the instance is still registered. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: tipd: fix uninitialized typec_partner_desc in tps6598x_connect() tps6598x_connect() passes a stack-allocated typec_partner_desc to typec_register_partner() after initializing only usb_pd, accessory and identity. typec_register_partner() copies attach and deattach from the descriptor into the partner. With those fields left unset, garbage function pointers may be stored and later invoked from typec_partner_link_device() when a USB device is linked to the port. Uninitialized pd_revision and usb_capability similarly leak stack data through partner sysfs. Zero-initialize the descriptor so optional callbacks remain NULL and the remaining fields are zero.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: recover after failure to start the frs ams Reset the port if the tcpm fails to start the FAST_ROLE_SWAP AMS by initiating error recovery on it. This helps in cases where some cables (incorrectly) signal an FRS to an FRS capable port during disconnection. The TCPC autonomously starts sourcing VBUS on detecting the FRS signal. However, the VBUS sourcing is left on when the FAST_ROLE_SWAP AMS fails to start (as tcpm_sink_tx_ok is 0 as CC is open due to the cable disconnect). This is because the code sets the state to INVALID_STATE without resetting the port state. Log snippet before changes: [ 101.401960] AMS FAST_ROLE_SWAP start [ 101.401971] Sink TX No Go [ 101.401982] sourcing vbus [ 101.401987] VBUS on [ 101.402159] VBUS on [ 109.257809] CC1: 0 -> 0, CC2: 5 -> 0 [state SNK_READY, polarity 1, disconnected] [ 111.267442] VBUS on After changes: [ 70.541211] AMS FAST_ROLE_SWAP start [ 70.541220] Sink TX No Go [ 70.541228] state change SNK_READY -> ERROR_RECOVERY [rev3 NONE_AMS] [ 70.541362] VBUS on [ 70.541365] sourcing vbus [ 70.541367] VBUS on [ 70.541374] state change ERROR_RECOVERY -> PORT_RESET [rev3 NONE_AMS] [ 70.541410] disable vbus discharge ret:0 [ 70.543028] Setting usb_comm capable false [ 70.544009] Setting voltage/current limit 0 mV 0 mA [ 70.544034] polarity 0 [ 70.544239] Requesting mux state 0, usb-role 0, orientation 0 [ 70.555550] cc:=0 [ 70.555595] pending state change PORT_RESET -> PORT_RESET_WAIT_OFF @ 100 ms [rev3 NONE_AMS] [ 70.555697] VBUS off [ 70.555702] VBUS VSAFE0V [ 70.555762] CC1: 5 -> 0, CC2: 0 -> 0 [state PORT_RESET, polarity 0, disconnected] [ 70.587794] VBUS off [ 70.587799] VBUS VSAFE0V [ 70.655672] state change PORT_RESET -> PORT_RESET_WAIT_OFF [delayed 100 ms] [ 70.655682] state change PORT_RESET_WAIT_OFF -> SNK_UNATTACHED [rev3 NONE_AMS] [ 70.655686] Start toggling [ 70.656274] CC1: 0 -> 0, CC2: 0 -> 0 [state TOGGLING, polarity 0, disconnected]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: core: clear both ep_in and ep_out for non-ep0 control endpoints In usb_enable_endpoint(), non-zero control endpoints (where usb_endpoint_xfer_control(&ep->desc) is true) populate both dev->ep_in[epnum] and dev->ep_out[epnum] with the same struct usb_host_endpoint pointer. However, usb_disable_endpoint() only clears either dev->ep_out[epnum] or dev->ep_in[epnum] depending on the direction bit of epaddr when reset_hardware is set, leaving the opposite direction's array slot pointing to the disabled/freed endpoint. Clear both dev->ep_out[epnum] and dev->ep_in[epnum] when disabling a non-ep0 control endpoint with reset_hardware set, and update the function kerneldoc accordingly. Tested in QEMU against Linux 7.3.0-rc3 using dummy_hcd and raw-gadget to enumerate a USB device with a non-zero control endpoint (bEndpointAddress 0x01, bmAttributes USB_ENDPOINT_XFER_CONTROL), verifying that both dev->ep_in[1] and dev->ep_out[1] are cleared when the interface is disabled.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix NULL pointer dereference in FUNCTIONFS_ENDPOINT_DESC When user space sets up FunctionFS with only full-speed descriptors (e.g., flags = FUNCTIONFS_HAS_FS_DESC) and the gadget operates at a higher speed (such as USB_SPEED_HIGH or USB_SPEED_SUPER), config_ep_by_speed() detects that the function lacks descriptors for the current speed, logs a warning, and falls back to full-speed descriptors. The endpoint is then successfully enabled via usb_ep_enable(), and epfile->ep becomes valid. However, when user space subsequently issues the FUNCTIONFS_ENDPOINT_DESC ioctl to query the endpoint descriptor, ffs_epfile_ioctl() selects the descriptor index solely based on gadget->speed: switch (epfile->ffs->gadget->speed) { case USB_SPEED_SUPER: case USB_SPEED_SUPER_PLUS: desc_idx = 2; break; case USB_SPEED_HIGH: desc_idx = 1; break; default: desc_idx = 0; } desc = epfile->ep->descs[desc_idx]; memcpy(&desc1, desc, desc->bLength); Because user space only supplied full-speed descriptors, epfile->ep->descs[1] is NULL. Dereferencing desc->bLength triggers an immediate kernel NULL pointer dereference panic. Fix this by falling back through lower speed descriptors if the current speed descriptor was not supplied, matching the fallback logic in config_ep_by_speed() and historical f_fs behavior. If still missing, fall back to epfile->ep->ep->desc (the active descriptor), and return -EINVAL safely if no valid descriptor is found. In addition, mark desc as const to match struct usb_ep::desc and avoid discarding qualifiers.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: gadget: dummy-hcd: Fix wait for outstanding request completions The dummy-hcd driver emulates synchronize_irq() by waiting until its private callback_usage counter drops to 0 (with the private lock not held). This counter is incremented whenever a gadget driver callback occurs (which requires the private lock to be dropped), but not when a request completion handler is called. This is an oversight. Request completion is triggered by timer interrupts (emulating device IRQs in a real UDC), and the interrupt handlers are supposed to have completed when the synchronize_irq() emulation routine returns -- they aren't supposed to be in the middle of a completion callback. If this happens it can lead to a gadget driver's unbind routine running before all outstanding request completions have finished, maybe even allowing the gadget driver's module to be unloaded while a completion handler is still running. Fix the oversight by incrementing the callback_usage value across request completion callbacks.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: aspeed-vhub: cancel wake work on device removal wake_work is armed from the gadget .wakeup callback to resume suspended downstream ports, and it is never cancelled in ast_vhub_remove(), so a work item queued before or during removal can run after devm has freed vhub and its ports, a use-after-free. Cancelling the work alone is not sufficient: usb_gadget_wakeup() takes no lock and the unbind path never clears wakeup_en, so a remote-wakeup request in flight on another CPU can re-arm the work after the cancel and before vhub is freed. ast_vhub_del_dev() already clears d->registered under vhub->lock before unregistering the gadget. Refuse the wakeup in ast_vhub_udc_wakeup() once d->registered is clear: the check and the schedule_work() are then atomic against the unbind, so a wakeup that passed before the flag was cleared is drained by the cancel_work_sync() after the del_dev loop, and one that arrives later returns without arming. Also move INIT_WORK() to the top of ast_vhub_probe(), since the probe error path reuses ast_vhub_remove() and would otherwise cancel a never-initialized work item. This issue was found by an in-house static analysis tool.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: typec: anx7411 - stop the IRQ before destroying the workqueue The IRQ is devm-managed, so it can still queue plat->work while remove() is tearing the queue down. Disable it first.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_uac1_legacy: validate bRequest index in generic_{set,get}_cmd generic_set_cmd() and generic_get_cmd() use the low nibble of ctrl->bRequest as an index into con->data[]: u8 cmd = (ctrl->bRequest & 0x0F); /* 0 .. 15 */ ... con->data[cmd] = value; /* OOB when cmd >= 5 */ struct usb_audio_control (include/linux/usb/audio.h) declares data as a 5-element array, so indices 5 through 15 write (or read) up to 44 bytes past the end of the array on the heap. A malicious USB host can craft a class-specific SET_CUR / GET_CUR request with an arbitrary bRequest value, triggering the out-of-bounds access from an IRQ completion handler with no further preconditions. Add an ARRAY_SIZE() guard to both functions.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: storage: sierra_ms: reject short SWoC info transfers sierra_get_swoc_info() requests sizeof(struct swoc_info) (60) bytes from the device via usb_control_msg(), but its callers only treat a negative return value as failure. A device that answers the vendor-specific GetSwocInfo request with a short IN transfer is therefore accepted, leaving the tail of the freshly allocated (kmalloc(), non-zeroing) swoc_info buffer uninitialized. truinst_show() subsequently prints swocInfo->rev, swocInfo->LinuxSKU and swocInfo->LinuxVer from that buffer into the world-readable (0444) "truinst" sysfs attribute. An emulated/malicious USB device (VID 0x1199, PID 0x0fff) can exploit this to disclose up to 5 bytes of stale kernel heap memory (kmalloc-64) to unprivileged userspace, once per sysfs read, indefinitely. On kernels built without init_on_alloc this leaks recently freed heap contents. Only accept the transfer when the full structure was received. sierra_ms_init() already retries failed queries, so well-behaved devices are unaffected.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: serial: fix port tear down use-after-free Some drivers for multiport devices access port driver data from completion handlers of shared URBs submitted at attach() or first open() and stopped at disconnect() or last close(), respectively. A simple NULL check before accessing the driver data makes sure that a port state container has at least been allocated, but a completion handler can still race with port tear down. Reorder the disconnect handling so that ports are not deregistered (and their driver data freed) until after all ports have been hung up and the driver disconnect() callback has run so that all I/O has been stopped.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: cdc-acm: skip URB restart in port_shutdown if disconnected acm_port_shutdown() is called from the tty-port machinery whenever the last user closes the port. acm_disconnect() sets acm->disconnected and calls tty_port_tty_vhangup(), which eventually triggers port_shutdown(). At that point acm_disconnect() has already called acm_poison_urbs() and is about to free the control and read URBs. However, acm_port_shutdown() unconditionally calls acm_unpoison_urbs() and, when the ALWAYS_POLL_CTRL quirk is set, immediately re-submits the ctrlurb and all read URBs. If the concurrent acm_disconnect() then frees those URBs and their DMA buffers while they are in-flight, the result is a use-after-free in acm_ctrl_irq() or acm_read_bulk_callback() accessing the freed DMA memory. Fix by checking acm->disconnected after draining the delayed anchor and returning early: if we are in a disconnect path the URBs must remain poisoned and must not be resubmitted. The early return is placed after the delayed-anchor drain loop because that loop only cancels write-side accounting (wb->use = false and autopm counter) and does not touch the hardware path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix ACP MFD device leak on init failure acp_hw_init() registers ACP child devices with mfd_add_devices() before attaching them to the ACP power domain and initializing the hardware. If attaching a child to the power domain fails, or if the ACP reset or clock enable operation times out, the failure path frees only the source cell, resource, and platform-data allocations. The child platform devices already registered by mfd_add_devices() remain registered and are never released. Remove the children from the power domain and unregister the MFD devices on failures that occur after mfd_add_devices() succeeds. Keep mfd_add_devices() failures on the existing cleanup path since the MFD core already rolls back partially registered children itself. The issue was identified by a static analysis tool I developed and confirmed by manual review. (cherry picked from commit 63da68d6a2279ec945581c990c5a59a5ae8b5560)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix IP instance memory leak on kobject add failure amdgpu_discovery_sysfs_ips() allocates ip_hw_instance with kzalloc_flex() and initializes its embedded kobject before calling kobject_add(). If kobject_add() fails, the return value is ignored and execution continues without dropping the initial kobject reference. The failed kobject is not retained in the kset list, so the normal sysfs teardown path cannot find it. As a result, ip_hw_instance_release() is never called and the ip_hw_instance allocation is leaked. Call kobject_put() when kobject_add() fails so the initial reference is dropped and ip_hw_instance_release() can free the allocation. Keep the existing best-effort sysfs behavior by continuing with the remaining IP entries after the failed registration. The issue was identified by a static analysis tool I developed and confirmed by manual review. (cherry picked from commit 5c75fbcca8af1096d8d9415b91d8ea6212c22ee1)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Fix pdev reference leak in mtk_drm_bind() When the device is not the mmsys master, mtk_drm_bind() returns early after taking a reference on the disp-mutex device via of_find_device_by_node(), without ever dropping it: mtk_drm_unbind() only puts mutex_dev for the master. Drop the reference before returning from the non-master path.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Fix ovl adaptor platform device leak mtk_drm_probe() creates an OVL adaptor platform device with platform_device_register_data() when the display pipeline requires the OVL adaptor. If a later initialization step fails, the probe error path releases the DRM resources without unregistering the already registered OVL adaptor device. The normal remove path likewise leaves the device registered after the DRM driver is unbound. Keep track of whether the OVL adaptor was successfully registered and unregister it on probe failure. Also recover the platform device from the stored DDP component device and unregister it during normal removal. The issue was identified by a static analysis tool I developed and confirmed by manual review.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/mediatek: Add missing IS_ERR check for ovl_adaptor platform device platform_device_register_data() can fail and return an ERR_PTR, but the return value is used without checking, leading to an invalid pointer being stored in ddp_comp[].dev and passed to component_match_add() and mtk_ddp_comp_init(), which could result in a kernel crash. Add an IS_ERR() check to jump to the error handling path on failure.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu/gfx6: fix firmware leak on teardown The firmware requested in gfx_v6_0_init_microcode() is not released when the GFX block is torn down, leaking the firmware resources. Add gfx_v6_0_free_microcode() and call it from gfx_v6_0_sw_fini() to release the PFP, ME, CE and RLC firmware. (cherry picked from commit 386e81346f95ab0be5a82c5535de932e7a456924)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: check dc_state_create_copy() for NULL in dm_suspend dc_state_create_copy() can return NULL on allocation failure. dm_suspend() only conditionally skips dm_gpureset_toggle_interrupts() and continues execution, returning success. dm_resume() then dereferences the NULL cached_dc_state in link_enc_cfg_copy() and the following dc_state->stream_count loop, crashing during GPU reset recovery. Return -ENOMEM immediately if the copy fails, so the caller aborts suspend instead of leaving a NULL cached state for resume. (cherry picked from commit 84b6d7932fdd2857795a257f9f258562a3cddcab)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sync: don't drain cmd_sync backlog on unregister hci_unregister_dev() disables cmd_work and cmd_timer, then calls hci_cmd_sync_clear(), whose cancel_work_sync() waits for hci_cmd_sync_work() to return. That worker dequeues and runs every entry on cmd_sync_work_list. With cmd_work disabled nothing reaches the controller, so each queued HCI command waits the full HCI_CMD_TIMEOUT (2s). The backlog has no bound. Userspace can keep queuing MGMT commands such as MGMT_OP_GET_CLOCK_INFO against a controller that doesn't answer. Closing /dev/vhci then blocks in vhci_release() for backlog * 2s: INFO: task syz-executor:5749 blocked for more than 143 seconds. cancel_work_sync hci_cmd_sync_clear hci_unregister_dev vhci_release In a local reproduction the backlog held more than 5000 entries, which comes to hours of hang. Stop the worker from taking new entries once HCI_UNREGISTER is set, and wake any request still waiting with -ENODEV before cancelling the work. The entries left over are destroyed with -ECANCELED by the existing sweep in hci_cmd_sync_clear(). They stay on the list until the work has stopped, so hci_cmd_sync_dequeue() and friends still see them. A callback already running may still issue another command, which delays unregister by at most one timeout per remaining command, not by the whole backlog.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel: validate DDC record lengths Parse DDC record lengths in unsigned storage so 0xFF does not wrap. Reject records smaller than the mandatory three-byte header, records exceeding U8_MAX, and records exceeding remaining firmware bytes before issuing Intel_Write_DDC. This issue was reported by Claude Mythos.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: prevent AP VLAN tx from other interfaces Since the station lookup was factored out of ieee80211_build_hdr(), ieee80211_lookup_ra_sta() uses sta_info_get_bss() for all AP and AP VLAN frames, not only for control port frames. A unicast frame sent on one interface thus matches a station of a different VLAN of the same BSS and is transmitted to it. Only match stations of the interface the frame is sent on, except for control port frames, since those may be sent for VLAN stations directly on the BSS interface.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: cfg80211: preserve hidden-group beacon IE ownership A hidden-group probe-response entry borrows its beacon IEs from the group's beacon entry. cfg80211_update_assoc_bss_entry() can pass such an entry to cfg80211_update_known_bss() when merging scan entries after a channel switch. Copying the borrowed beacon_ies into the associated entry gives the same allocation two owners. Releasing the group's beacon entry can then leave the associated entry pointing to freed IEs, which are freed again when that entry is released. Skip beacon IE replacement when the source entry belongs to a hidden group. Preserve probe-response processing, the subsequent metadata updates, and the existing rejection path for conflicting hidden beacon updates.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() devm_clk_get(&pdev->dev, "rtcref")'s return value was passed straight into clk_get_rate() without checking it for an error first, unlike the "rtc" clock a few lines above which is correctly checked with IS_ERR(). clk_get_rate() only guards against a NULL clk, not an error pointer: if (!clk) return 0; ... rate = clk_core_get_rate_recalc(clk->core); so if devm_clk_get() ever returns an error pointer here (for example ERR_PTR(-EPROBE_DEFER), which is the normal, expected outcome if the clkcfg clock-provider this RTC depends on has not registered its clocks yet by the time this driver probes), clk_get_rate() dereferences that error pointer instead of returning 0, crashing instead of letting probe defer. Capture the clock in the existing 'clk' local and check it with IS_ERR() before calling clk_get_rate(), matching the handling already used for the "rtc" clock in this same function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: wfx: validate MIB read length before copying to caller wfx_hif_read_mib() copies reply->length bytes from the firmware response into the caller-provided buffer without checking that reply->length does not exceed val_len. A firmware response with a length field larger than expected overruns the caller buffer and reads past the end of the reply allocation. Replace the dead -ENOMEM check with an active validation that reply->length fits within val_len before the memcpy.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: iio: accel: kionix-kx022a: Fix array boundary check The driver performs a sanity check for an array size, when converting a register value to an array index. The check incorrectly accepts the sizeof(array) as a last index, when last valid index should be sizeof(array) - 1. Fix the check by bailing out when index >= sizeof(array).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: line6: reject oversized playback packets Each playback URB is handed a slice of out.buffer that is exactly LINE6_ISO_PACKETS * max_packet_size_out bytes, sized from the OUT endpoint, but the number of bytes written into that slice is never compared against it. submit_audio_out_urb() takes the frame count from prev_fsize, which audio_in_callback() derived from the *IN* endpoint's received packet length, and rescales it with the playback frame size; when prev_fsize is still zero it synthesizes a length from the sample rate instead. On a device declaring a large IN wMaxPacketSize and a small OUT wMaxPacketSize, the resulting memcpy(), or the memset() when the playback stream is idle, runs past its slice and, as the reproducer below shows, beyond the allocation. usb_submit_urb() is not a backstop. max_packet_size_out comes from usb_maxpacket(), which returns only the low 11 bits of wMaxPacketSize, while USB core validates a high-speed isochronous length against that base scaled by usb_endpoint_maxp_mult(). A length of up to three times the allocated slice is therefore accepted, and even a rejected URB is only rejected after the write. Reject a packet that does not fit the slice the driver allocated for it. Clamping it instead would silently shorten the capture-derived rate feedback and desynchronize the two streams. BUG: KASAN: slab-out-of-bounds in submit_audio_out_urb (sound/usb/line6/playback.c:229) Write of size 1024 at addr ffff888100bbd400 by task kworker/1:2/5002 Workqueue: events line6_startup_work Call Trace: __asan_memcpy (mm/kasan/shadow.c:106) submit_audio_out_urb (sound/usb/line6/playback.c:229) line6_submit_audio_out_all_urbs (sound/usb/line6/playback.c:291) line6_stream_start (sound/usb/line6/pcm.c:194) line6_pcm_acquire (sound/usb/line6/pcm.c:337) line6_startup_work (sound/usb/line6/driver.c:728) process_one_work (kernel/workqueue.c:3396) worker_thread (kernel/workqueue.c:3479 kernel/workqueue.c:3560) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) The buggy address belongs to the object at ffff888100bbd400 which belongs to the cache kmalloc-256 of size 256 The buggy address is located 0 bytes inside of allocated 256-byte region [ffff888100bbd400, ffff888100bbd500)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: unregister the input device when probe fails setup_card() registers the input device, whose name and phys point into struct snd_usb_caiaqdev, and then goes on to snd_card_register() and snd_usb_caiaq_control_init(). If either fails, snd_probe() calls snd_card_free(), which frees the device state but leaves the input device registered: card_free() only clears the pointer, and the input device is unregistered from snd_disconnect() alone. Reading its "uevent" attribute afterwards dereferences freed memory: BUG: KASAN: slab-use-after-free in string+0x4a9/0x4f0 Read of size 1 at addr ffff8880208f5043 by task caiaq/4967 add_uevent_var+0x183/0x3a0 input_dev_uevent+0x162/0x900 dev_uevent+0x2f1/0x870 uevent_show+0x1ca/0x3a0 ... Unregister the input device on the probe error path, as snd_disconnect() does. snd_usb_caiaq_input_disconnect() is a no-op when no input device was registered. Reproduced with a raw-gadget Audio Kontrol 1 and a temporary hack that makes snd_usb_caiaq_control_init() fail.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vt: skip screen update for DEC alignment test on backgroup consoles [BUG] Recently, we encountered a KASAN warning as follows: BUG: KASAN: slab-out-of-bounds in fb_pad_aligned_buffer+0x11f/0x140 Read of size 1 at addr ff1100015fd9f6a4 by task tty_fbcon_oob/1239 CPU: 7 UID: 0 PID: 1239 Comm: tty_fbcon_oob Not tainted 7.3.0-rc1 #100 PREEMPT(full) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-4.fc41 04/01/2014 Call Trace: <TASK> ... kasan_report+0xf0/0x120 fb_pad_aligned_buffer+0x11f/0x140 ccw_putcs+0x86c/0xa80 fbcon_putcs+0x338/0x410 do_update_region+0x21d/0x450 do_con_write+0x1e0e/0x4880 con_write+0x13/0x80 n_tty_write+0x374/0x1010 file_tty_write.isra.0+0x404/0x7a0 ... reproduce: 1) open /dev/tty0, set a KDFONTOP ioctl with op.op = KD_FONT_OP_SET, op.width = 8 and op.height = 16 (visible VC1) 2) open /dev/tty1, set a KDFONTOP ioctl with op.op = KD_FONT_OP_SET, op.width = 28 and op.height = 24 (invisible VC2) 3) echo 3 > /sys/devices/virtual/graphics/fbcon/rotate_all 4) write EShash8(esc hash8) to tty1 [CAUSE] All VCs render to the framebuffer. setfont only modifies the target VC's font without resizing the framebuffer backing buffer (par->rotated.buf); the buffer is only resized for the visible VC (fbcon_do_set_font -> ... -> vc_do_resize -> update_screen). This relies on the con_should_update() check performed before every update_region(). However, the ESC # 8 path (do_con_trol -> do_update_region) omits the con_should_update() check. After changing the font size of an invisible VC, do_update_region() fills using the new font size against a buffer that was never resized, causing an out-of-bounds access. [FIX] Only push the update when the console is visible and not blanked, add the con_should_update() check in the do_con_trol() like every other call site of do_update_region() (update_region(), invert_screen(), ...).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: vc_screen: reload vc pointer before if (ret) in vcs_write() to avoid UAF The reload of 'vc' added by commit 8fb9ea65c9d1 ("vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF") sits after the 'if (ret)' block, so the copy-failure break path exits the loop without reloading vc. If the vc was kfree()'d via vc_port_destruct during the unlocked copy_from_user() window, the post-loop 'if (written && vc) vcs_scr_updated(vc)' is reached with a stale non-NULL vc. The '&& vc' guard from commit a287620312dc ("vc_screen: fix null-ptr-deref in vcs_notifier() during concurrent vcs_write") only handles the NULL case, not this stale-non-NULL case; vcs_notifier() then reads param->vc->vc_num from freed memory: BUG: KASAN: slab-use-after-free in vcs_notifier+0x7c/0xd0 Read of size 2 at addr ffff888007149190 Call Trace: vcs_notifier+0x7c/0xd0 atomic_notifier_call_chain+0x70/0xa0 vcs_scr_updated+0x77/0xa0 vcs_write+0x71b/0x7e0 Allocated by task: vc_allocate -> con_install -> tty_open Freed by task: kfree <- vt_ioctl (VT_DISALLOCATE -> vc_port_destruct) Move the reload to immediately after console_lock(), before 'if (ret)', so every break path below passes a fresh vc to the post-loop vcs_scr_updated().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: spear: initialize IRQ state before requesting alarm IRQ devm_request_irq() enables the interrupt before it returns, so the handler may run while probe is still initializing the device. Initialize the MMIO address and spinlock before requesting the alarm IRQ.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: ac100: Assign .num before accessing .hws Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with __counted_by") annotated the hws member of 'struct clk_hw_onecell_data' with __counted_by, which informs the bounds sanitizer (UBSAN_BOUNDS) about the number of elements in .hws[], so that it can warn when .hws[] is accessed out of bounds. As noted in that change, the __counted_by member must be initialized with the number of elements before the first array access happens, otherwise there will be a warning from each access prior to the initialization because the number of elements is zero. This occurs in ac100_rtc_register_clks() due to .num being assigned only after every clkout clock has been stored in .hws[]. With CONFIG_UBSAN_BOUNDS and a compiler that implements __counted_by (GCC 15.1+ or Clang 20.1+), this triggers an array-index-out-of-bounds report during probe, and with CONFIG_UBSAN_TRAP the first store traps. Initialize .num with AC100_CLKOUT_NUM, the number of elements .hws[] was allocated with, right after the allocation. That is the value the loop counter ends up at on the success path anyway, so the provider's behaviour is unchanged.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Re-pend GET_NESTED_STATE_PAGES if getting said pages fails Re-pend GET_NESTED_STATE_PAGES before exiting to userspace if getting the nested pages fails in the KVM_RUN path. If userspace re-runs the vCPU, and vmcs02 holds valid PFNs from the *previous* run of L2, then KVM could re-enter L2 with stale, unpinned PFNs mapped into e.g. the vAPIC page. Note, both SVM and VMX (as of commit 11722439fb20 ("KVM: nVMX: Ensure KVM_REQ_GET_NESTED_STATE_PAGES is cleared on VM-Exit") ensure the request is cleared on VM-Exit (including the "forced" case), i.e. there is no risk of double-mapping due to emulated VMLAUNCH/VMRESUME/VMRUN *and* the request trying to map the nested pages.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: crypto: ccp - Fix possible deadlock in SEV init failure path __sev_platform_init_handle_init_ex_path() calls rmp_mark_pages_firmware() with locked=false while the parent function of init_ex_path already acquired the sev_cmd_mutex. In the case of an RMPUPDATE failure for any page after the first, the cleanup path would invoke reclaim pages which would result in a deadlock in sev_do_cmd. Pass locked=true to honor the lock status of the parent function.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: host1x: bus: Fix missing ops null check in error teardown In host1x_device_init(), the error teardown paths do not check client->ops before dereferencing it, unlike the forward init paths which correctly guard with 'client->ops &&'. This can result in a NULL pointer dereference if client->ops is NULL. Fix by adding the missing client->ops check in both the teardown and teardown_late labels.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: core: Add validation for host-provided max_segs The max_segs field is of type unsigned short, and if a host driver sets an excessively large value, it may be truncated to zero. This can cause mmc_alloc_sg() to call kmalloc_objs() with a zero size allocation request, which leads to undefined behavior. Under the SLUB allocator, kmalloc(0) returns a special pointer (ZERO_SIZE_PTR). The subsequent 'if (sg)' check will evaluate to true, and sg_init_table() will then attempt to access invalid memory, resulting in a crash: dwmmc_rockchip 2a310000.mmc: Successfully tuned phase to 133 mmc1: new UHS-I speed SDR104 SDHC card at address aaaa Unable to handle kernel paging request at virtual address 0000001ffffffff0 Mem abort info: ESR = 0x0000000096000004 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x04: level 0 translation fault Data abort info: ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 CM = 0, WnR = 0, TnD = 0, TagAccess = 0 GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 user pgtable: 4k pages, 48-bit VAs, pgdp=0000000102c88000 [0000001ffffffff0] pgd=0000000000000000, p4d=0000000000000000 Internal error: Oops: 0000000096000004 [#1] SMP Modules linked in: CPU: 2 UID: 0 PID: 102 Comm: kworker/2:1 Not tainted 7.0.0-rc6-next-20260331-00013-g4d93c25963c5-dirty #80 PREEMPT Hardware name: Rockchip RK3576 EVB V10 Board (DT) Workqueue: events_freezable mmc_rescan pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : sg_init_table+0x2c/0x50 lr : sg_init_table+0x24/0x50 sp : ffff8000837db710 x29: ffff8000837db710 x28: 000000000000c000 x27: 0000000000000300 x26: 0000000000000000 x25: 0000000000000040 x24: ffff0000c46a0000 x23: 0000000000000000 x22: ffff0000c0c73c00 x21: 0000000000000010 x20: 0000000000000010 x19: 0000000000000000 x18: 000000000000002c x17: 0000000000000000 x16: 0000000000000001 x15: 0000000000000000 x14: 0000000000000400 x13: ffff8000837dc000 x12: 0000000000000000 x11: ffff0000c0c73ca0 x10: 0000000000000040 x9 : 459ec1f0abbdbb00 x8 : 0000001fffffffe0 x7 : 0000000000000000 x6 : 000000000000003f x5 : 0000000000035579 x4 : 0000000000000901 x3 : 0000000000000000 x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000010 Call trace: sg_init_table+0x2c/0x50 (P) mmc_mq_init_request+0x64/0x90 blk_mq_alloc_map_and_rqs+0x3ac/0x480 blk_mq_alloc_set_map_and_rqs+0x98/0x1e0 blk_mq_alloc_tag_set+0x1c0/0x290 mmc_init_queue+0x120/0x370 mmc_blk_alloc_req+0x150/0x420 To prevent this, add a validation check in mmc_mq_init_request() to detect when sg_len (derived from max_segs) is zero. If sg_len is zero, we return an error and print an error message, allowing host driver developers to identify and fix incorrect max_segs configuration. This is a defensive measure that ensures the MMC core fails gracefully when host drivers provide invalid max_segs values, rather than crashing with a page fault.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/gma500: return errors from Oaktrail HDMI I2C reads xfer_read() waits for the HDMI I2C transaction to reach I2C_TRANSACTION_DONE, but it ignores both timeout and signal returns from wait_for_completion_interruptible_timeout(). If the interrupt never advances the transaction state, the loop can wait forever. Return -ETIMEDOUT when the completion wait expires, propagate interrupted waits, and make the I2C master_xfer callback return the first transfer error instead of reporting a successful message count.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: mvm: fix sched scan IE sizing Scheduled scan built the probe request before iwl_mvm_scan_fits(), so oversized IEs could be copied into the fixed preq buffer before length validation. Move iwl_mvm_build_scan_probe() after the fits check. Also advertise max_sched_scan_ie_len using iwl_mvm_max_scan_ie_len() so userspace limits account for driver-inserted DS/TPC bytes.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: validate deauth frame length before reason access ieee80211_rx_mgmt_deauth() reads the deauth reason code before checking that the fixed field is actually present in the received frame. Validate the deauth frame length first and only then read the reason code.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Validate BASE_ERROR_EVENT payload size BASE_ERROR_EVENT carries a variable number of message reports, with the count encoded in error_status. The notification parser used that count without checking whether the received payload contained all reported entries. Reject truncated payloads before copying the report array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scmi: Validate SENSOR_UPDATE payload size SENSOR_UPDATE carries one or more sensor readings after the fixed notification header. The parser derives the expected reading count from the sensor description, but it did not verify that the received payload contains those entries before parsing them. Reject truncated update notifications before reading the variable array.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: thunderbolt: Keep the domain reference while processing hotplug We process hotplug events in a workqueue that may run after the domain has been removed by tb_domain_remove(). For example if user unloads the driver while at the same time plugging a device router we may have scheduled tb_handle_hotplug() to run. Avoid possible UAF in this case by taking the domain reference before scheduling the hotplug handler in tb_queue_hotplug().


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amd/pm/si: Don't schedule thermal work when queue isn't initialized When DPM is turned off with the amdgpu.dpm=0 module parameter, the thermal work queue isn't initialized so we shouldn't schedule any work on it. (cherry picked from commit bd018d36171a695952c6d391471c279c9e05c8b2)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Unwind debug trap enable on copy_to_user failure If kfd_dbg_trap_enable() fails while copying runtime_info to userspace, it had already activated the trap, set debug_trap_enabled, taken an extra process reference, and opened the debug event file. Return -EFAULT without unwinding that state, leaving inconsistent trap state and a refcount imbalance that could break later DISABLE/ENABLE. On copy_to_user failure, deactivate the trap and undo the rest of the enable setup before returning.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: oss: Reject reads that cannot fit the next event snd_seq_oss_read() checks whether the next queued OSS sequencer event fits in the remaining userspace buffer before removing it from the read queue. The check is inverted. It currently stops when the event is smaller than the remaining buffer, so a normal 4-byte event is not copied for an 8-byte read buffer. Conversely, an 8-byte event can be copied for a smaller read count. Break only when the remaining userspace buffer is smaller than the next event, and report -EINVAL if no complete event has been copied. This prevents an undersized read from looking like end-of-file while leaving the event queued for a later read with a large enough buffer.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: media: video-i2c: use vb2_video_unregister_device on driver removal The driver uses vb2_fop_release() as its file release operation, so vb2_video_unregister_device() should be used instead of video_unregister_device() during driver removal. This ensures that the vb2 queue is properly disconnected before the video device is unregistered.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: usb: hub: use shorter 120ms post resume hold for SS root hubs Holding a USB3 hub PM runtime reference for 200ms at hub resume triggers an AMD platform issue. Users running Android adb report crashes after adb has been polling and waking up the USB subsystem once a second for some time. Vendors are working on a solution. Disabling USB runtime PM is one way to prevent this issue, but it is also proven that reducing the hold time to 120ms in resume also mitigates it. See Link for more details. Reducing the hold time to 120ms for the USB3 roothub is in itself a valid change and optimization, as the current 200ms is excessive: a root hub has no upstream suspended hub whose wake propagation needs to be accounted for, but still need some time for USB3 link training to complete. Keep the 200ms hold for external hubs that commit 8f5b7e2bec1c ("usb: hub: fix detection of high tier USB3 devices behind suspended hubs") is intended for.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: rtc: dev: zero-initialize struct rtc_wkalrm to prevent information leak The struct rtc_wkalrm has padding holes after the 'pending' member. When returned to userspace via the RTC_WKALRM_RD ioctl, uninitialized kernel stack data residing in these holes may be leaked. Zero-initialize the struct at declaration to eliminate this information leak risk. Fixes smatch warnings: - drivers/rtc/dev.c:392 rtc_dev_ioctl() warn: check that 'alarm' doesn't leak information (struct has a hole after 'pending')


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: reset ar->num_stations on hardware start When (multiple) hw restart occurs, we end up in a situation where we cannot accept new stations / mesh peers. This seems to be the 'num_stations' in 'struct ath11k' that did not get reset properly in this case. In ath11k_mac_op_start(), it was indeed the only accounting var that did not get reset so let's clear it too. This avoids problems like those: [1248828.088023] WARNING: CPU: 0 PID: 12281 at net/mac80211/util.c:1682 ieee80211_reconfig_stations+0x98/0xc0 [1248828.088115] Call trace: [1248828.088116] ieee80211_reconfig_stations+0x98/0xc0 (P) [1248828.088119] ieee80211_reconfig+0x774/0x1438 [1248828.088123] ieee80211_restart_work+0x10c/0x178 [1248828.088127] process_one_work+0x178/0x3c0 [1248828.088130] worker_thread+0x280/0x440 [1248828.088133] kthread+0xe0/0xf8 [1248828.088137] ret_from_fork+0x10/0x20 [1248828.088141] ---[ end trace 0000000000000000 ]--- [1248836.686604] ath11k_pci 0000:04:00.0: refusing to associate station: too many connected already (128) [1248836.686609] ath11k_pci 0000:04:00.0: Failed to add station: xx:xx:xx:xx:xx:xx for VDEV: 1 Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: lpass-cpu: use DAI table index for playback constraints The DAI ID is a hardware port ID and is not necessarily the index of the corresponding entry in variant->dai_driver. When configuring a DAI with LPAIF_I2SCTL_MODE_QUAD01, the probe code currently uses dai_id to index variant->dai_driver. This is incorrect for platforms where DAI IDs are sparse. For example, the IPQ806x MI2S DAI has ID 4 while it is the only entry in the DAI driver table. If that DAI is configured for QUAD01 and probe reaches this branch, the code writes beyond that single entry via dai_driver[4] instead of updating the DAI being processed. Use the loop index i when updating the current DAI's playback channel constraints, while retaining dai_id for indexing the hardware-port specific playback SD-line mode array. This fixes the incorrect DAI table access for platforms where the DAI ID does not match its position in the driver table.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/imagination: Fix reference and vm_bo handling in remap() When a map overlaps part of an existing mapping, pvr_vm_gpuva_remap() splits the mapping into prev/next parts covering what the request did not take, instead of creating something new. It gets two things wrong. - A GEM reference is taken for each part but it's never needed and never dropped, so it leaks one reference per split (remap-next-in-2m in tests/imagination/pvr_vm_map.c): CRITICAL: 33558528 bytes of shmem still held after close - The parts still belong to the original object being split, but pvr_vm_gpuva_remap() links them to ctx->gpuvm_bo, the new object's vm_bo: prev_va --obj--> BO_A BO_B <--obj-- vm_bo (ctx->gpuvm_bo) \___________link___________/ (mismatch: BO_A != BO_B) drm_gpuva_link() catches the mismatch: WARNING: drivers/gpu/drm/drm_gpuvm.c:2108 at drm_gpuva_link+0x2ec/0x310 drm_WARN_ON(obj != vm_bo->obj) Call trace: drm_gpuva_link pvr_vm_gpuva_remap __drm_gpuvm_sm_map pvr_vm_map pvr_ioctl_vm_map Link them to op->remap.unmap->va->vm_bo instead. The locking of the GPUVA lists of the other objects touched by a split is not addressed here; it is handled by switching the GPUVM to immediate mode.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: ASoC: adau1372: allow sleepy powerdown GPIOs gpiod_set_value() emits a WARN when the GPIO provider indicates that it can sleep, as is typical for I2C controlled GPIO expanders. Since the powerdown GPIO is only manipulated in process context, use the _cansleep variant instead. This lets the driver use sleepy GPIOs to power off the chip.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/imagination: Size page table preallocation by device address Commit 0a8224058a58 ("drm/imagination: Fix page count for page table for map() interface") passed the device address to pvr_mmu_op_context_create(), but the preallocation is still sized from device_addr + sgt_offset with an exclusive end. The offset into the object's pages has no place in a device-virtual range, and the exclusive end allocates one table too many when the range ends on a table boundary. Count the tables from device_addr and the inclusive end of the range. The new calculation does not take page table indices into account. This fixes another issue with the previous implementation, where the difference between start and end indices could underflow when a mapping crossed a page table boundary. This would lead to the driver preallocating a huge number of MMU pages, exhausting system memory and triggering an out of memory panic. [Alessio: add paragraph to point out OOM bug being fixed, cc stable]


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915/gt: Unmask interrupts only when ACTIVE is true There is a small race window between intel_rps_boost() reading a stale ACTIVE state and queuing rps->work, where ACTIVE may be changed via asynchronous calls triggered by wakeref drop. This means that rps_work() could be triggered after the GT has been parked, so unmasking RPS PM interrupts would happen without holding PM wakelock. This sequence of events may be observed during live_rc6_ctx_wa() selftest: 1) live_rc6_ctx_wa() -> intel_engine_pm_put() -> wakeref_put() ASYNC1) wakeref_put() callback -> __engine_park() -> intel_gt_pm_put_async() -> intel_gt_pm_put_async_untracked() -> intel_wakeref_put_async() ASYNC2) wakeref_put_async() callback -> __gt_park() -> intel_rps_park() -> intel_rps_clear_active() [clear ACTIVE] WITH INTERRUPTS: -> rps_disable_interrupts() -> cancel_work_sync(rps->work) -> rps_reset_interrupts() [rps->pm_iir = 0] WITHOUT INTERRUPTS (TIMER mode): -> rps_stop_timer() -> cancel_work_sync(rps->work) 2) live_rc6_ctx_wa() -> intel_gt_wait_for_idle() -> intel_gt_retire_requests_timeout() -> dma_fence_wait_timeout() -> ops->wait() [i915_fence_wait()] -> i915_request_wait_timeout() -> intel_rps_boost() -> intel_rps_is_active() [check ACTIVE] [OPEN RACE WINDOW] -> queue_work(rps->work) -> retire_requests() -> i915_request_retire() -> intel_rps_dec_waiters() [from 1 to 0] If ASYNC1 and ASYNC2 would execute during [OPEN RACE WINDOW], then: 3) rps_work() executes from the workqueue and may satisfy "(!pm_iir && !client_boost)" test (in TIMER mode rps->pm_iir is zeroed by an earlier rps_work() call or never gets a new value after previous intel_rps_unpark() event), so it jumps to "out" label, bypassing intel_rps_is_active() guard and executes gen6_gt_pm_unmask_irq(); 4) GT is parked and runtime PM wakelock is dropped, so only a raw reference in __gt_park() -> intel_display_power_put_async() remains for 100ms, then the MMIO write in gen6_gt_pm_unmask_irq() detects missing wakelock via assert_rpm_wakelock_held() and emits "RPM wakelock ref not held during HW access" tainting kernel. Commit 3e7abf814193 ("drm/i915: Extract GT render power state management") dropped the "if (rps->interrupts_enabled)" guard that gen6_pm_rps_work() had around this unmask in i915_irq.c. INTEL_RPS_ACTIVE brackets the same window, since it is set in intel_rps_unpark() before rps_enable_interrupts() and rps_start_timer() and cleared in intel_rps_park() before rps_stop_timer() and rps_disable_interrupts(). Skip unmasking when RPS is no longer active (reaching unmask operation is independent of INTERRUPT mode). This does not prevent RPS operation from resuming on the next unpark. In interrupt mode, intel_rps_unpark() calls rps_enable_interrupts(), which enables and unmasks the PM interrupts. In timer mode, it calls rps_start_timer(), restarting periodic engine-busyness evaluation. The timer generates software RPS events and queues rps_work() directly, independently of PM interrupt delivery. Neither mode requires the late worker to unmask interrupts while the GT is parked (cherry picked from commit ca4a6deadad15b91ee083afe445fa6bdbfb68206)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/i915/gem: Prevent overstepping exec array boundary It is possible for eb_relocate_parse_slow() to call kvfree() on entries outside the original exec array during following scenario inside eb_relocate_parse_slow(): 1) eb_copy_relocations() allocates as many as eb->buffer_count copies for exec entries; 2) eb_parse() appends up to two VMAs, right after incrementing eb->buffer_count; 3) cleanup under "out" label uses this incremented buffer_count to release relocation pointers from exec array via kvfree(), not from VMA array. To amend this problem, ensure that relocation cleanup uses the original exec object count, excluding the VMAs appended by the command parser. (cherry picked from commit 2a0158925fb943c7ba8f3216e2734952128defc9)


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN __drm_fb_helper_initial_config_and_unlock() calls drm_client_modeset_probe() first, which already fills in each mode_set->mode/num_connectors for every connected output, and only afterwards calls drm_fb_helper_single_fb_probe() to create fb_helper->fb and wire it into those mode_sets via drm_setup_crtcs_fb(). If drm_fb_helper_single_fb_probe() fails with anything other than -EAGAIN (e.g. dev->driver->fbdev_probe() itself fails), the function bails out before drm_setup_crtcs_fb() runs and before setting fb_helper->deferred_setup. The client is left with mode_sets that have a mode and connectors but mode_set->fb == NULL, and nothing marks this fb_helper as needing a retry. __drm_fb_helper_restore_fbdev_mode_unlocked() only skips committing when fb_helper->deferred_setup is set, so a later .restore() call (drm_lastclose() on process exit, in this report) commits the stale mode_set through drm_client_modeset_commit() -> drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(), which hits WARN_ON(!set->fb). Mark fb_helper->deferred_setup on any drm_fb_helper_single_fb_probe() failure, not just -EAGAIN, so restore keeps skipping the commit until a later hotplug event successfully re-probes and re-populates mode_set->fb. The real error code is still returned to the caller unchanged.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: Fix NULL tty_dev dereference in rfcomm_dev_shutdown syzbot hit a NULL pointer dereference in rfcomm_dev_shutdown() when an RFCOMM tty is closed. rfcomm_dev_add() puts the new device on rfcomm_dev_list first and only then registers the tty device and saves it in dev->tty_dev. If that registration fails, dev->tty_dev is never set at all. The device can be looked up in the meantime, so an open() of /dev/rfcommN gets through rfcomm_tty_install() and attaches to it. When that tty is closed again, rfcomm_dev_shutdown() uses dev->tty_dev without checking it: Oops: general protection fault, probably for non-canonical address KASAN: null-ptr-deref in range [0x0000000000000040-0x0000000000000047] RIP: 0010:rfcomm_dev_shutdown+0x48/0xb0 net/bluetooth/rfcomm/tty.c:131 Call Trace: tty_port_shutdown+0x1bf/0x220 drivers/tty/tty_port.c:372 tty_port_close+0x4e/0x150 drivers/tty/tty_port.c:705 tty_release+0x359/0x1670 drivers/tty/tty_io.c:1718 __fput+0x418/0xa50 fs/file_table.c:512 rfcomm_dev_destruct() already copes with a NULL dev->tty_dev. Add the same check to rfcomm_dev_shutdown(), so the tty device is only moved when it was actually registered.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: RFCOMM: free the skb when the DLC has no owner rfcomm_recv_data() hands the skb to d->data_ready() and returns 0 without freeing it, so the callback owns the skb from that point on. The tty implementation frees it when the DLC has been detached from its device: static void rfcomm_dev_data_ready(struct rfcomm_dlc *dlc, struct sk_buff *skb) { struct rfcomm_dev *dev = dlc->owner; if (!dev) { kfree_skb(skb); return; } The socket implementation returns without freeing it, and the skb is leaked. A connected DLC can have no owner: rfcomm_sock_destruct() clears d->owner, while the DLC itself stays on the session until it is closed. Data frames that arrive in that window still find d->state == BT_CONNECTED in rfcomm_recv_data() and are handed to the callback, one leaked skb each. The leak does not stop on its own either. The remote runs out of credits only once RFCOMM_RX_THROTTLED is set, and for a socket the only place that sets it is rfcomm_sk_data_ready() itself, below the return. rfcomm_process_dlcs() keeps granting credits, so the remote keeps sending and the leak keeps growing. Free the skb, as the tty side does.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: Serialize concurrent connect calls iso_sock_connect() checks the socket state before taking the socket lock and drops the lock again before setting up a connection. Two callers can both pass the admission check while the socket is open or bound. Caller A can copy its destination for route selection, then caller B can replace the socket destination before A binds or connects the CIS. A then uses B's destination with the route selected for its own request. B can also proceed after A attaches a connection and sets BT_CONNECT. For deferred BIS setup, B can bind a second BIS and overwrite iso_pi(sk)->conn, leaving the first connection's reference and conn->sk back-pointer stranded. Concurrent CIS connects can likewise replace the socket's connection. Later teardown only detaches the current connection, so a callback on the old connection can race with socket release and access a freed socket. KASAN reported: BUG: KASAN: slab-use-after-free in iso_sock_hold+0xf7/0x1b0 Call Trace: iso_sock_hold+0xf7/0x1b0 iso_conn_del+0x7b/0x1d0 iso_connect_cfm+0x186/0x16a0 hci_conn_failed+0x154/0x280 hci_abort_conn_sync+0x3dc/0x7d0 hci_cmd_sync_work+0x173/0x300 Allocated by task 121: sk_alloc+0x2b/0x6d0 bt_sock_alloc+0x29/0x370 iso_sock_alloc.constprop.0+0x19/0x300 iso_sock_create+0x94/0x100 Freed by task 121: kfree+0x121/0x3c0 __sk_destruct+0x42b/0x540 iso_sock_release+0x29d/0x340 __sock_release+0xa1/0x260 Check admission under the socket lock and mark the connect operation in progress before publishing its destination. Keep that flag set across route lookup and connection setup, rejecting another connect with -EBADFD before it can change the destination or attach a connection. Clear the flag after either helper returns, including on failure, so a failed setup can be retried. A separate flag is needed because the socket lock must be released before acquiring the HCI device lock, while BT_CONNECT requires an attached connection. Keep the existing state transitions and the deferred CIS completion through iso_sock_recvmsg(). Reject an existing socket attachment in __iso_chan_add() before taking a new reference or publishing either pointer, so every caller preserves the connection association. Keep the same-socket, same-connection success case for deferred CIS setup. Reject an attached socket before BIS setup so a reusable BIS is not claimed before the attachment is rejected. In CIS setup, reject a different HCI connection before iso_conn_add() and drop the per-attempt HCI hold directly. An unowned iso_conn may still carry another reference after detachment, so its destruction cannot be relied on to release that hold. iso_listen_bis() creates a fresh PA HCI/ISO pair under the device lock, so the temporary iso_conn_put() frees the ISO candidate and drops its HCI hold on rejection. iso_conn_ready() uses a freshly allocated, unpublished child with no connection, making the socket-side rejection unreachable.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: ISO: Reject concurrent BIS listener setup iso_sock_listen() drops the socket lock before calling iso_listen_bis() to preserve the hdev->lock ordering. Two concurrent listen() calls on the same broadcast socket can therefore both observe BT_BOUND. Caller A can attach connA and release the locks, then caller B can acquire them and attach connB before A publishes BT_LISTEN. __iso_chan_add() checks whether connB already has a socket, but not whether the socket already has a connection. The second attachment overwrites iso_pi(sk)->conn, leaking the connA reference and leaving connA->sk intact. Socket teardown follows connB, so later events on connA can cause a stale socket access. Recheck BT_BOUND and require iso_pi(sk)->conn to be NULL after taking both the HCI device and socket locks in iso_listen_bis(). The connection check also covers the interval between attachment and publication of BT_LISTEN. Reject a competing setup with -EBADFD through the existing unlock path before allocating another connection. A recorded KASAN report from an instrumented kernel shows: BUG: KASAN: slab-use-after-free in iso_sock_hold+0x119/0x1f0 Call Trace: iso_sock_hold+0x119/0x1f0 iso_conn_del+0xe4/0x270 hci_disconn_complete_evt+0x351/0x8c0 hci_event_packet+0x71b/0xb20 hci_rx_work+0x293/0x730 Allocated by task 93: sk_prot_alloc+0x113/0x220 sk_alloc+0x2b/0x6d0 bt_sock_alloc+0x29/0x370 iso_sock_alloc.constprop.0+0x19/0x300 iso_sock_create+0x94/0x100 Freed by task 93: kfree+0x121/0x3c0 __sk_destruct+0x42b/0x540 iso_sock_release+0x29d/0x340 __sock_release+0xa1/0x260 sock_close+0x10/0x20


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_sock: Serialize dead-device detachment Rebinding an HCI socket after its controller is unregistered can race monitor control replay and crash the kernel. hci_sock_bind() clears hci_pi(sk)->hdev and drops the device reference under only the socket lock, whereas send_monitor_control_replay() holds hci_sk_list.lock for reading. Replay can observe a non-NULL hdev, then bind can clear it and drop the last reference before create_monitor_ctrl_open() reads hdev->id. This can cause a NULL pointer dereference if the pointer is reloaded, or a use-after-free if the old pointer is retained. The kernel reported: KASAN: null-ptr-deref in range [0x0000000000000068-0x000000000000006f] RIP: 0010:create_monitor_ctrl_open+0x579/0x800 Call Trace: hci_sock_bind+0xd96/0x1190 __sys_bind+0x166/0x200 __x64_sys_bind+0x6d/0xb0 do_syscall_64+0xdd/0x4a0 entry_SYSCALL_64_after_hwframe+0x77/0x7f The same missing serialization lets hci_send_to_sock() select a socket for the old device and queue its frame after bind has detached the socket or installed a new binding. Take hci_sk_list.lock for writing when clearing the device pointer and resetting the socket state. This waits for existing replay and delivery readers to finish before detachment and prevents later readers from using the old binding. Keep hci_dev_put() outside the critical section because the final device release can sleep.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: regulator: ltc3676: don't read the write-only HRST and CLIRQ registers HRST (0x1e) and CLIRQ (0x1f) are write-only command strobes. Writing HRST triggers a hard reset of the chip and writing CLIRQ clears the interrupt; reading them returns nothing useful, and the read itself fires the command. The result is that a plain register dump resets the board: cat /sys/kernel/debug/regmap/2-003c/registers walks every readable register, hits HRST, and the board reboots. Split the callback back in two so HRST and CLIRQ stay writable but are no longer readable. The readable range is left unchanged (LTC3676_BUCK1 ... LTC3676_IRQSTAT).


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: mmc: sdhci-sprd: disable runtime PM on remove sdhci_sprd_probe() enables runtime PM, while sdhci_sprd_remove() does not perform the corresponding runtime PM cleanup. The probe failure path disables runtime PM before disabling the clocks, but the normal remove path directly disables clocks that are also managed by the runtime PM callbacks. If the device is runtime suspended, those clocks may already be disabled. Resume the device before removal, disable runtime PM and drop the temporary runtime PM reference before disabling the clocks. This issue was found by manual code inspection.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: memstick: core: wait for request completion before freeing card In memstick_alloc_card() and memstick_set_rw_addr(), wait_for_completion_timeout() is used to wait for device identification and address configuration requests to complete. The memstick subsystem does not provide an abort or cancellation callback in struct memstick_host for in-flight requests. If wait_for_completion_timeout() expires (for instance, when a USB transfer or command retry is delayed), memstick_alloc_card() returns an error and frees the memstick_dev structure via kfree(card). However, the host controller driver (such as rtsx_usb_ms) is still running the request asynchronously in worker context. When the transfer eventually finishes, the driver writes into host->req->data, which points to memory inside the already freed card structure. This leads to a KASAN slab-use-after-free write: BUG: KASAN: slab-use-after-free in ms_read_bytes+0x8fe/0x990 Write of size 1 at addr ffff88813c188079 by task kworker/1:5/5239 Workqueue: events rtsx_usb_ms_handle_req Call Trace: ms_read_bytes+0x8fe/0x990 drivers/memstick/host/rtsx_usb_ms.c:450 rtsx_usb_ms_issue_cmd drivers/memstick/host/rtsx_usb_ms.c:477 [inline] rtsx_usb_ms_handle_req+0x557/0x1a00 drivers/memstick/host/rtsx_usb_ms.c:531 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560 kthread+0x373/0x450 kernel/kthread.c:436 Allocated by task 1662: memstick_alloc_card drivers/memstick/core/memstick.c:383 [inline] memstick_check+0x2c1/0x10d0 drivers/memstick/core/memstick.c:452 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 Freed by task 1662: kfree+0x20c/0x650 mm/slub.c:6792 memstick_alloc_card drivers/memstick/core/memstick.c:420 [inline] memstick_check+0x72b/0x10d0 drivers/memstick/core/memstick.c:452 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396 Host controller drivers (rtsx_usb_ms, jmb38x_ms, tifm_ms, r592) already implement their own hardware and bus timeouts, and callers in mspro_block and ms_block already rely on wait_for_completion() unconditionally. Replace wait_for_completion_timeout() with wait_for_completion() in memstick_set_rw_addr() and memstick_alloc_card() so that the card structure is never freed while an asynchronous request is in flight.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix P2P device removal race in brcmf_detach() When the driver is removed while the user space process that created the P2P device (e.g. wpa_supplicant) is still exiting, the P2P device interface is removed twice and the kernel crashes. The two paths are: - wpa_supplicant, on exit, sends NL80211_CMD_DEL_INTERFACE for the P2P device. nl80211_del_interface() holds RTNL and the wiphy mutex and calls brcmf_p2p_del_vif(), which disables discovery and waits up to 1.5 s for BRCMF_E_IF_DEL. Then it calls brcmf_remove_interface(), which unregisters the wdev and frees the vif and the ifp. - brcmf_detach() sets the bus down, so BRCMF_E_IF_DEL never arrives, and calls brcmf_remove_interface(ifp, false) for the same ifp. brcmf_p2p_ifp_removed() reads ifp->vif and then blocks on rtnl_lock(). When brcmf_p2p_del_vif() releases RTNL, it calls cfg80211_unregister_wdev() on the wdev that was already unregistered and freed. The second list_del_rcu() of wdev->list faults on LIST_POISON2: brcmfmac: brcmf_p2p_del_vif delete P2P vif brcmfmac: brcmf_p2p_deinit_discovery enter brcmfmac: brcmf_p2p_del_vif P2P: GO_NEG_PHASE status cleared brcmfmac: brcmf_detach Enter brcmfmac: brcmf_bus_change_state 1 -> 0 brcmfmac: brcmf_remove_interface Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_del_if Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_p2p_ifp_removed P2P: device interface removed [1.5 s later, brcmf_p2p_del_vif() timed out] brcmfmac: brcmf_remove_interface Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_del_if Enter, bsscfgidx=1, ifidx=0 brcmfmac: brcmf_p2p_ifp_removed P2P: device interface removed Unable to handle kernel paging request at virtual address dead000000000122 Internal error: Oops: 96000044 [#1] PREEMPT_RT SMP pc : _cfg80211_unregister_wdev+0x6c/0x264 [cfg80211] Call trace: _cfg80211_unregister_wdev+0x6c/0x264 [cfg80211] cfg80211_unregister_wdev+0x10/0x1c [cfg80211] brcmf_p2p_ifp_removed+0x84/0xb0 [brcmfmac] brcmf_remove_interface+0x1f4/0x254 [brcmfmac] brcmf_detach+0x88/0x180 [brcmfmac] brcmf_sdio_remove+0x90/0x7b0 [brcmfmac] brcmf_sdiod_remove+0x20/0xa0 [brcmfmac] brcmf_ops_sdio_remove+0xbc/0x12c [brcmfmac] sdio_bus_remove+0x38/0x144 device_release_driver_internal+0x1e8/0x2c0 device_release_driver+0x14/0x20 brcmf_sdio_bus_remove+0x2c/0x40 [brcmfmac] brcmf_fwvid_unregister_vendor+0xd8/0x170 [brcmfmac] __exit_compat+0x18/0x418 [brcmfmac_cyw] __arm64_sys_delete_module+0x1ac/0x244 The log was taken with debug=0x406 on an i.MX 8M Plus board with a CYW55513 (Sona IF513) on SDIO. The driver is the Ezurio backport of brcmfmac from v6.18.22 on a 5.4-rt kernel. The code involved is the same in mainline. To reproduce: 1. Start wpa_supplicant on wlan0 and let it associate. It creates the P2P device (iw dev shows "type P2P-device"). 2. Stop wpa_supplicant and remove the driver without waiting for wpa_supplicant to exit: kill $(pidof wpa_supplicant) rmmod brcmfmac_cyw brcmfmac The crash is reproducible on that board. For the interface without a netdev (the P2P device), take RTNL and the wiphy mutex in brcmf_detach() before reading iflist, and remove it with locked=true. If brcmf_p2p_del_vif() runs first, brcmf_detach() finds the slot empty. If brcmf_detach() runs first, nl80211 does not find the wdev any more. The interfaces with a netdev are removed as before, because brcmf_del_if() takes RTNL on its own for the primary interface.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки

Описание

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btintel_pcie: fix TX descriptor bounds check btintel_pcie_prepare_tx() uses tfd_index to access the TFD and data buffer arrays before the index is advanced modulo txq->count. An index equal to txq->count is one past the end of both arrays, so reject it in the bounds check.


Затронутые продукты
Container bci/bci-sle15-kernel-module-devel:latest:kernel-default-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-devel-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-macros-6.4.0-150700.53.90.1
Container bci/bci-sle15-kernel-module-devel:latest:kernel-syms-6.4.0-150700.53.90.1

Ссылки
Уязвимость SUSE-SU-2026:5091-1 в SUSE CVRF — exploitDog