ALT-PU-2024-17892-1
Package kernel-image-6.6 updated to version 6.6.64-alt1 for branch sisyphus in task 364533.
Closed vulnerabilities
BDU:2024-09855
Уязвимость компонента usb-storage ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании
BDU:2025-00138
Уязвимость драйвера блока обработки данных (drivers/edac/bluefield_edac.c) операционных систем Linux, позволяющая нарушителю вызвать отказ в обслуживании
BDU:2025-00141
Уязвимость функции scpi_dvfs_get_info() драйвера System Control and Power Interface (SCPI) Message Protocol Driver (drivers/firmware/arm_scpi.c) ядра операционных систем Linux, позволяющая нарушителю вызвать отказ в обслуживании
BDU:2025-00150
Уязвимость функции bitmap_ip_uadt() в модуле net/netfilter/ipset/ip_set_bitmap_ip.c ядра операционной системы Linux, позволяющая нарушителю оказать воздействие на конфиденциальность, целостность и доступность защищаемой информации
BDU:2025-00524
Уязвимость компонента um ядра операционной системы Linux, позволяющая нарушителю выполнить произвольный код
BDU:2025-00525
Уязвимость компонента svcrdma ядра операционной системы Linux, позволяющая нарушителю выполнить произвольный код
BDU:2025-00527
Уязвимость функции ocfs2_file_read_iter() ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании.
BDU:2025-00528
Уязвимость функции applnco_probet() ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании.
BDU:2025-00530
Уязвимость компонента usb-audio ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании
BDU:2025-00532
Уязвимость функции decode_cb_compound4res() ядра операционной системы Linux, позволяющая нарушителю выполнить произвольный код.
BDU:2025-00536
Уязвимость функции htc_connect_service() ядра операционной системы Linux, позволяющая нарушителю вызвать отказ в обслуживании
Modified: 2025-01-14
CVE-2024-27059
In the Linux kernel, the following vulnerability has been resolved: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values in the ATA ID information to calculate cylinder and head values when creating a CDB for READ or WRITE commands. The calculation involves division and modulus operations, which will cause a crash if either of these values is 0. While this never happens with a genuine device, it could happen with a flawed or subversive emulation, as reported by the syzbot fuzzer. Protect against this possibility by refusing to bind to the device if either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID information is 0. This requires isd200_Initialization() to return a negative error code when initialization fails; currently it always returns 0 (even when there is an error).
- https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49
- https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49
- https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133
- https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133
- https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636
- https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636
- https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964
- https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964
- https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325
- https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325
- https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34
- https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34
- https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f
- https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f
- https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa
- https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa
- https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html
- https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html
Modified: 2024-12-15
CVE-2024-53141
In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: add missing range check in bitmap_ip_uadt When tb[IPSET_ATTR_IP_TO] is not present but tb[IPSET_ATTR_CIDR] exists, the values of ip and ip_to are slightly swapped. Therefore, the range check for ip should be done later, but this part is missing and it seems that the vulnerability occurs. So we should add missing range checks and remove unnecessary range checks.
- https://git.kernel.org/stable/c/15794835378ed56fb9bacc6a5dd3b9f33520604e
- https://git.kernel.org/stable/c/2e151b8ca31607d14fddc4ad0f14da0893e1a7c7
- https://git.kernel.org/stable/c/35f56c554eb1b56b77b3cf197a6b00922d49033d
- https://git.kernel.org/stable/c/3c20b5948f119ae61ee35ad8584d666020c91581
- https://git.kernel.org/stable/c/591efa494a1cf649f50a35def649c43ae984cd03
- https://git.kernel.org/stable/c/78b0f2028f1043227a8eb0c41944027fc6a04596
- https://git.kernel.org/stable/c/7ffef5e5d5eeecd9687204a5ec2d863752aafb7e
- https://git.kernel.org/stable/c/856023ef032d824309abd5c747241dffa33aae8c
- https://git.kernel.org/stable/c/e67471437ae9083fa73fa67eee1573fec1b7c8cf
Modified: 2024-12-15
CVE-2024-53142
In the Linux kernel, the following vulnerability has been resolved: initramfs: avoid filename buffer overrun The initramfs filename field is defined in Documentation/driver-api/early-userspace/buffer-format.rst as: 37 cpio_file := ALGN(4) + cpio_header + filename + "\0" + ALGN(4) + data ... 55 ============= ================== ========================= 56 Field name Field size Meaning 57 ============= ================== ========================= ... 70 c_namesize 8 bytes Length of filename, including final \0 When extracting an initramfs cpio archive, the kernel's do_name() path handler assumes a zero-terminated path at @collected, passing it directly to filp_open() / init_mkdir() / init_mknod(). If a specially crafted cpio entry carries a non-zero-terminated filename and is followed by uninitialized memory, then a file may be created with trailing characters that represent the uninitialized memory. The ability to create an initramfs entry would imply already having full control of the system, so the buffer overrun shouldn't be considered a security vulnerability. Append the output of the following bash script to an existing initramfs and observe any created /initramfs_test_fname_overrunAA* path. E.g. ./reproducer.sh | gzip >> /myinitramfs It's easiest to observe non-zero uninitialized memory when the output is gzipped, as it'll overflow the heap allocated @out_buf in __gunzip(), rather than the initrd_start+initrd_size block. ---- reproducer.sh ---- nilchar="A" # change to "\0" to properly zero terminate / pad magic="070701" ino=1 mode=$(( 0100777 )) uid=0 gid=0 nlink=1 mtime=1 filesize=0 devmajor=0 devminor=1 rdevmajor=0 rdevminor=0 csum=0 fname="initramfs_test_fname_overrun" namelen=$(( ${#fname} + 1 )) # plus one to account for terminator printf "%s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%s" \ $magic $ino $mode $uid $gid $nlink $mtime $filesize \ $devmajor $devminor $rdevmajor $rdevminor $namelen $csum $fname termpadlen=$(( 1 + ((4 - ((110 + $namelen) & 3)) % 4) )) printf "%.s${nilchar}" $(seq 1 $termpadlen) ---- reproducer.sh ---- Symlink filename fields handled in do_symlink() won't overrun past the data segment, due to the explicit zero-termination of the symlink target. Fix filename buffer overrun by aborting the initramfs FSM if any cpio entry doesn't carry a zero-terminator at the expected (name_len - 1) offset.
- https://git.kernel.org/stable/c/1a423bbbeaf9e3e20c4686501efd9b661fe834db
- https://git.kernel.org/stable/c/49d01e736c3045319e030d1e75fb983011abaca7
- https://git.kernel.org/stable/c/6983b8ac787b3add5571cda563574932a59a99bb
- https://git.kernel.org/stable/c/bb7ac96670ab1d8d681015f9d66e45dad579af4d
- https://git.kernel.org/stable/c/c509b1acbd867d9e09580fe059a924cb5825afb1
- https://git.kernel.org/stable/c/d3df9f26cff97beaa5643e551031795d5d5cddbe
- https://git.kernel.org/stable/c/e017671f534dd3f568db9e47b0583e853d2da9b5
- https://git.kernel.org/stable/c/f892ddcf9f645380c358e73653cb0900f6bc9eb8
- https://git.kernel.org/stable/c/fb83b093f75806333b6f4ae29b158d2e0e3ec971
Modified: 2025-01-07
CVE-2024-53145
In the Linux kernel, the following vulnerability has been resolved: um: Fix potential integer overflow during physmem setup This issue happens when the real map size is greater than LONG_MAX, which can be easily triggered on UML/i386.
- https://git.kernel.org/stable/c/1575df968650d11771359e5ac78278c5b0cc19f3
- https://git.kernel.org/stable/c/1bd118c5f887802cef2d9ba0d1917258667f1cae
- https://git.kernel.org/stable/c/5c710f45811e7e2bfcf703980c306f19c7e1ecfe
- https://git.kernel.org/stable/c/a875c023155ea92b75d6323977003e64d92ae7fc
- https://git.kernel.org/stable/c/a98b7761f697e590ed5d610d87fa12be66f23419
- https://git.kernel.org/stable/c/a9c95f787b88b29165563fd97761032db77116e7
- https://git.kernel.org/stable/c/d1a211e5210d31da8f49fc0021bf7129b726468c
- https://git.kernel.org/stable/c/e6102b72edc4eb8c0858df00ba74b5ce579c8fa2
Modified: 2025-01-07
CVE-2024-53146
In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent a potential integer overflow If the tag length is >= U32_MAX - 3 then the "length + 4" addition can result in an integer overflow. Address this by splitting the decoding into several steps so that decode_cb_compound4res() does not have to perform arithmetic on the unsafe length value.
- https://git.kernel.org/stable/c/084f797dbc7e52209a4ab6dbc7f0109268754eb9
- https://git.kernel.org/stable/c/3c5f545c9a1f8a1869246f6f3ae8c17289d6a841
- https://git.kernel.org/stable/c/745f7ce5a95e783ba62fe774325829466aec2aa8
- https://git.kernel.org/stable/c/7f33b92e5b18e904a481e6e208486da43e4dc841
- https://git.kernel.org/stable/c/842f1c27a1aef5367e535f9e85c8c3b06352151a
- https://git.kernel.org/stable/c/90adbae9dd158da8331d9fdd32077bd1af04f553
- https://git.kernel.org/stable/c/ccd3394f9a7200d6b088553bf38e688620cd27af
- https://git.kernel.org/stable/c/dde654cad08fdaac370febb161ec41eb58e9d2a2
- https://git.kernel.org/stable/c/de53c5305184ca1333b87e695d329d1502d694ce
Modified: 2025-01-07
CVE-2024-53150
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix out of bounds reads when finding clock sources The current USB-audio driver code doesn't check bLength of each descriptor at traversing for clock descriptors. That is, when a device provides a bogus descriptor with a shorter bLength, the driver might hit out-of-bounds reads. For addressing it, this patch adds sanity checks to the validator functions for the clock descriptor traversal. When the descriptor length is shorter than expected, it's skipped in the loop. For the clock source and clock multiplier descriptors, we can just check bLength against the sizeof() of each descriptor type. OTOH, the clock selector descriptor of UAC2 and UAC3 has an array of bNrInPins elements and two more fields at its tail, hence those have to be checked in addition to the sizeof() check.
- https://git.kernel.org/stable/c/096bb5b43edf755bc4477e64004fa3a20539ec2f
- https://git.kernel.org/stable/c/45a92cbc88e4013bfed7fd2ccab3ade45f8e896b
- https://git.kernel.org/stable/c/74cb86e1006c5437b1d90084d22018da30fddc77
- https://git.kernel.org/stable/c/a3dd4d63eeb452cfb064a13862fb376ab108f6a6
- https://git.kernel.org/stable/c/a632bdcb359fd8145e86486ff8612da98e239acd
- https://git.kernel.org/stable/c/ab011f7439d9bbfd34fd3b9cef4b2d6d952c9bb9
- https://git.kernel.org/stable/c/da13ade87a12dd58829278bc816a61bea06a56a9
- https://git.kernel.org/stable/c/ea0fa76f61cf8e932d1d26e6193513230816e11d
Modified: 2025-01-07
CVE-2024-53151
In the Linux kernel, the following vulnerability has been resolved: svcrdma: Address an integer overflow Dan Carpenter reports: > Commit 78147ca8b4a9 ("svcrdma: Add a "parsed chunk list" data > structure") from Jun 22, 2020 (linux-next), leads to the following > Smatch static checker warning: > > net/sunrpc/xprtrdma/svc_rdma_recvfrom.c:498 xdr_check_write_chunk() > warn: potential user controlled sizeof overflow 'segcount * 4 * 4' > > net/sunrpc/xprtrdma/svc_rdma_recvfrom.c > 488 static bool xdr_check_write_chunk(struct svc_rdma_recv_ctxt *rctxt) > 489 { > 490 u32 segcount; > 491 __be32 *p; > 492 > 493 if (xdr_stream_decode_u32(&rctxt->rc_stream, &segcount)) > ^^^^^^^^ > > 494 return false; > 495 > 496 /* A bogus segcount causes this buffer overflow check to fail. */ > 497 p = xdr_inline_decode(&rctxt->rc_stream, > --> 498 segcount * rpcrdma_segment_maxsz * sizeof(*p)); > > > segcount is an untrusted u32. On 32bit systems anything >= SIZE_MAX / 16 will > have an integer overflow and some those values will be accepted by > xdr_inline_decode().
- https://git.kernel.org/stable/c/21e1cf688fb0397788c8dd42e1e0b08d58ac5c7b
- https://git.kernel.org/stable/c/3c63d8946e578663b868cb9912dac616ea68bfd0
- https://git.kernel.org/stable/c/4cbc3ba6dc2f746497cade60bcbaa82ae3696689
- https://git.kernel.org/stable/c/838dd342962cef4c320632a5af48d3c31f2f9877
- https://git.kernel.org/stable/c/c1f8195bf68edd2cef0f18a4cead394075a54b5a
- https://git.kernel.org/stable/c/e5c440c227ecdc721f2da0dd88b6358afd1031a7
Modified: 2025-01-07
CVE-2024-53154
In the Linux kernel, the following vulnerability has been resolved: clk: clk-apple-nco: Add NULL check in applnco_probe Add NULL check in applnco_probe, to handle kernel NULL pointer dereference error.
- https://git.kernel.org/stable/c/066c14619e8379c1bafbbf8196fd38eac303472b
- https://git.kernel.org/stable/c/534e02f83889ccef5fe6beb46e773ab9d4ae1655
- https://git.kernel.org/stable/c/72ea9a7e9e260aa39f9d1c9254cf92adfb05c4f5
- https://git.kernel.org/stable/c/969c765e2b508cca9099d246c010a1e48dcfd089
- https://git.kernel.org/stable/c/9a5905b725739af6a105f9e564e7c80d69969d2b
Modified: 2025-01-07
CVE-2024-53155
In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix uninitialized value in ocfs2_file_read_iter() Syzbot has reported the following KMSAN splat: BUG: KMSAN: uninit-value in ocfs2_file_read_iter+0x9a4/0xf80 ocfs2_file_read_iter+0x9a4/0xf80 __io_read+0x8d4/0x20f0 io_read+0x3e/0xf0 io_issue_sqe+0x42b/0x22c0 io_wq_submit_work+0xaf9/0xdc0 io_worker_handle_work+0xd13/0x2110 io_wq_worker+0x447/0x1410 ret_from_fork+0x6f/0x90 ret_from_fork_asm+0x1a/0x30 Uninit was created at: __alloc_pages_noprof+0x9a7/0xe00 alloc_pages_mpol_noprof+0x299/0x990 alloc_pages_noprof+0x1bf/0x1e0 allocate_slab+0x33a/0x1250 ___slab_alloc+0x12ef/0x35e0 kmem_cache_alloc_bulk_noprof+0x486/0x1330 __io_alloc_req_refill+0x84/0x560 io_submit_sqes+0x172f/0x2f30 __se_sys_io_uring_enter+0x406/0x41c0 __x64_sys_io_uring_enter+0x11f/0x1a0 x64_sys_call+0x2b54/0x3ba0 do_syscall_64+0xcd/0x1e0 entry_SYSCALL_64_after_hwframe+0x77/0x7f Since an instance of 'struct kiocb' may be passed from the block layer with 'private' field uninitialized, introduce 'ocfs2_iocb_init_rw_locked()' and use it from where 'ocfs2_dio_end_io()' might take care, i.e. in 'ocfs2_file_read_iter()' and 'ocfs2_file_write_iter()'.
- https://git.kernel.org/stable/c/366c933c2ab34dd6551acc03b4872726b7605143
- https://git.kernel.org/stable/c/66b7ddd1804e2c4216dd7ead8eeb746cdbb3b62f
- https://git.kernel.org/stable/c/6c8f8d1e595dabd5389817f6d798cc8bd95c40ab
- https://git.kernel.org/stable/c/83f8713a0ef1d55d6a287bcfadcaab8245ac5098
- https://git.kernel.org/stable/c/8c966150d5abff58c3c2bdb9a6e63fd773782905
- https://git.kernel.org/stable/c/8e0de82ed18ba0e71f817adbd81317fd1032ca5a
- https://git.kernel.org/stable/c/adc77b19f62d7e80f98400b2fca9d700d2afdd6f
- https://git.kernel.org/stable/c/dc78efe556fed162d48736ef24066f42e463e27c
- https://git.kernel.org/stable/c/f4078ef38d3163e6be47403a619558b19c4bfccd
Modified: 2025-01-07
CVE-2024-53156
In the Linux kernel, the following vulnerability has been resolved:
wifi: ath9k: add range check for conn_rsp_epid in htc_connect_service()
I found the following bug in my fuzzer:
UBSAN: array-index-out-of-bounds in drivers/net/wireless/ath/ath9k/htc_hst.c:26:51
index 255 is out of range for type 'htc_endpoint [22]'
CPU: 0 UID: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.11.0-rc6-dirty #14
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Workqueue: events request_firmware_work_func
Call Trace:
- https://git.kernel.org/stable/c/3fe99b9690b99606d3743c9961ebee865cfa1ab8
- https://git.kernel.org/stable/c/5f177fb9d01355ac183e65ad8909ea8ef734e0cf
- https://git.kernel.org/stable/c/70eae50d2156cb6e078d0d78809b49bf2f4c7540
- https://git.kernel.org/stable/c/8619593634cbdf5abf43f5714df49b04e4ef09ab
- https://git.kernel.org/stable/c/8965db7fe2e913ee0802b05fc94c6d6aa74e0596
- https://git.kernel.org/stable/c/b6551479daf2bfa80bfd5d9016b02a810e508bfb
- https://git.kernel.org/stable/c/bc981179ab5d1a2715f35e3db4e4bb822bacc849
- https://git.kernel.org/stable/c/c941af142200d975dd3be632aeb490f4cb91dae4
- https://git.kernel.org/stable/c/cb480ae80fd4d0f1ac9e107ce799183beee5124b
Modified: 2025-01-07
CVE-2024-53157
In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scpi: Check the DVFS OPP count returned by the firmware Fix a kernel crash with the below call trace when the SCPI firmware returns OPP count of zero. dvfs_info.opp_count may be zero on some platforms during the reboot test, and the kernel will crash after dereferencing the pointer to kcalloc(info->count, sizeof(*opp), GFP_KERNEL). | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028 | Mem abort info: | ESR = 0x96000004 | Exception class = DABT (current EL), IL = 32 bits | SET = 0, FnV = 0 | EA = 0, S1PTW = 0 | Data abort info: | ISV = 0, ISS = 0x00000004 | CM = 0, WnR = 0 | user pgtable: 4k pages, 48-bit VAs, pgdp = 00000000faefa08c | [0000000000000028] pgd=0000000000000000 | Internal error: Oops: 96000004 [#1] SMP | scpi-hwmon: probe of PHYT000D:00 failed with error -110 | Process systemd-udevd (pid: 1701, stack limit = 0x00000000aaede86c) | CPU: 2 PID: 1701 Comm: systemd-udevd Not tainted 4.19.90+ #1 | Hardware name: PHYTIUM LTD Phytium FT2000/4/Phytium FT2000/4, BIOS | pstate: 60000005 (nZCv daif -PAN -UAO) | pc : scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | lr : clk_register+0x438/0x720 | Call trace: | scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | devm_clk_hw_register+0x50/0xa0 | scpi_clk_ops_init.isra.2+0xa0/0x138 [clk_scpi] | scpi_clocks_probe+0x528/0x70c [clk_scpi] | platform_drv_probe+0x58/0xa8 | really_probe+0x260/0x3d0 | driver_probe_device+0x12c/0x148 | device_driver_attach+0x74/0x98 | __driver_attach+0xb4/0xe8 | bus_for_each_dev+0x88/0xe0 | driver_attach+0x30/0x40 | bus_add_driver+0x178/0x2b0 | driver_register+0x64/0x118 | __platform_driver_register+0x54/0x60 | scpi_clocks_driver_init+0x24/0x1000 [clk_scpi] | do_one_initcall+0x54/0x220 | do_init_module+0x54/0x1c8 | load_module+0x14a4/0x1668 | __se_sys_finit_module+0xf8/0x110 | __arm64_sys_finit_module+0x24/0x30 | el0_svc_common+0x78/0x170 | el0_svc_handler+0x38/0x78 | el0_svc+0x8/0x340 | Code: 937d7c00 a94153f3 a8c27bfd f9400421 (b8606820) | ---[ end trace 06feb22469d89fa8 ]--- | Kernel panic - not syncing: Fatal exception | SMP: stopping secondary CPUs | Kernel Offset: disabled | CPU features: 0x10,a0002008 | Memory Limit: none
- https://git.kernel.org/stable/c/025067eeb945aa17c7dd483a63960125b7efb577
- https://git.kernel.org/stable/c/06258e57fee253f4046d3a6a86d7fde09f596eac
- https://git.kernel.org/stable/c/109aa654f85c5141e813b2cd1bd36d90be678407
- https://git.kernel.org/stable/c/12e2c520a0a4202575e4a45ea41f06a8e9aa3417
- https://git.kernel.org/stable/c/2a5b8de6fcb944f9af0c5fcb30bb0c039705e051
- https://git.kernel.org/stable/c/380c0e1d96f3b522f3170c18ee5e0f1a28fec5d6
- https://git.kernel.org/stable/c/8be4e51f3ecfb0915e3510b600c4cce0dc68a383
- https://git.kernel.org/stable/c/9beaff47bcea5eec7d4ead98f5043057161fd71a
- https://git.kernel.org/stable/c/dfc9c2aa7f04f7db7e7225a5e118a24bf1c3b325
Modified: 2025-02-03
CVE-2024-53161
In the Linux kernel, the following vulnerability has been resolved: EDAC/bluefield: Fix potential integer overflow The 64-bit argument for the "get DIMM info" SMC call consists of mem_ctrl_idx left-shifted 16 bits and OR-ed with DIMM index. With mem_ctrl_idx defined as 32-bits wide the left-shift operation truncates the upper 16 bits of information during the calculation of the SMC argument. The mem_ctrl_idx stack variable must be defined as 64-bits wide to prevent any potential integer overflow, i.e. loss of data from upper 16 bits.
- https://git.kernel.org/stable/c/000930193fe5eb79ce5563ee2e9ddb0c6e4e1bb5
- https://git.kernel.org/stable/c/1fe774a93b46bb029b8f6fa9d1f25affa53f06c6
- https://git.kernel.org/stable/c/4ad7033de109d0fec99086f352f58a3412e378b8
- https://git.kernel.org/stable/c/578ca89b04680145d41011e7cec8806fefbb59e7
- https://git.kernel.org/stable/c/8cc31cfa36ff37aff399b72faa2ded58110112ae
- https://git.kernel.org/stable/c/ac6ebb9edcdb7077e841862c402697c4c48a7c0a
- https://git.kernel.org/stable/c/e0269ea7a628fdeddd65b92fe29c09655dbb80b9
- https://git.kernel.org/stable/c/fdb90006184aa84c7b4e09144ed0936d4e1891a7
Modified: 2025-02-11
CVE-2024-53165
In the Linux kernel, the following vulnerability has been resolved: sh: intc: Fix use-after-free bug in register_intc_controller() In the error handling for this function, d is freed without ever removing it from intc_list which would lead to a use after free. To fix this, let's only add it to the list after everything has succeeded.
- https://git.kernel.org/stable/c/3c7c806b3eafd94ae0f77305a174d63b69ec187c
- https://git.kernel.org/stable/c/588bdec1ff8b81517dbae0ae51c9df52c0b952d3
- https://git.kernel.org/stable/c/63e72e551942642c48456a4134975136cdcb9b3c
- https://git.kernel.org/stable/c/6ba6e19912570b2ad68298be0be1dc779014a303
- https://git.kernel.org/stable/c/971b4893457788e0e123ea552f0bb126a5300e61
- https://git.kernel.org/stable/c/b8b84dcdf3ab1d414304819f824b10efba64132c
- https://git.kernel.org/stable/c/c3f4f4547fb291982f5ef56c048277c4d5ccc4e4
- https://git.kernel.org/stable/c/c43df7dae28fb9fce96ef088250c1e3c3a77c527
- https://git.kernel.org/stable/c/d8de818df12d86a1a26a8efd7b4b3b9c6dc3c5cc
Modified: 2025-03-07
CVE-2024-53166
In the Linux kernel, the following vulnerability has been resolved:
block, bfq: fix bfqq uaf in bfq_limit_depth()
Set new allocated bfqq to bic or remove freed bfqq from bic are both
protected by bfqd->lock, however bfq_limit_depth() is deferencing bfqq
from bic without the lock, this can lead to UAF if the io_context is
shared by multiple tasks.
For example, test bfq with io_uring can trigger following UAF in v6.6:
==================================================================
BUG: KASAN: slab-use-after-free in bfqq_group+0x15/0x50
Call Trace:
- https://git.kernel.org/stable/c/01a853faaeaf3379ccf358ade582b1d28752126e
- https://git.kernel.org/stable/c/906cdbdd3b018ff69cc830173bce277a847d4fdc
- https://git.kernel.org/stable/c/ada4ca5fd5a9d5212f28164d49a4885951c979c9
- https://git.kernel.org/stable/c/dcaa738afde55085ac6056252e319479cf23cde2
- https://git.kernel.org/stable/c/e8b8344de3980709080d86c157d24e7de07d70ad
Modified: 2025-02-10
CVE-2024-53168
In the Linux kernel, the following vulnerability has been resolved:
sunrpc: fix one UAF issue caused by sunrpc kernel tcp socket
BUG: KASAN: slab-use-after-free in tcp_write_timer_handler+0x156/0x3e0
Read of size 1 at addr ffff888111f322cd by task swapper/0/0
CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.12.0-rc4-dirty #7
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1
Call Trace:
Modified: 2025-02-11
CVE-2024-53171
In the Linux kernel, the following vulnerability has been resolved: ubifs: authentication: Fix use-after-free in ubifs_tnc_end_commit After an insertion in TNC, the tree might split and cause a node to change its `znode->parent`. A further deletion of other nodes in the tree (which also could free the nodes), the aforementioned node's `znode->cparent` could still point to a freed node. This `znode->cparent` may not be updated when getting nodes to commit in `ubifs_tnc_start_commit()`. This could then trigger a use-after-free when accessing the `znode->cparent` in `write_index()` in `ubifs_tnc_end_commit()`. This can be triggered by running rm -f /etc/test-file.bin dd if=/dev/urandom of=/etc/test-file.bin bs=1M count=60 conv=fsync in a loop, and with `CONFIG_UBIFS_FS_AUTHENTICATION`. KASAN then reports: BUG: KASAN: use-after-free in ubifs_tnc_end_commit+0xa5c/0x1950 Write of size 32 at addr ffffff800a3af86c by task ubifs_bgt0_20/153 Call trace: dump_backtrace+0x0/0x340 show_stack+0x18/0x24 dump_stack_lvl+0x9c/0xbc print_address_description.constprop.0+0x74/0x2b0 kasan_report+0x1d8/0x1f0 kasan_check_range+0xf8/0x1a0 memcpy+0x84/0xf4 ubifs_tnc_end_commit+0xa5c/0x1950 do_commit+0x4e0/0x1340 ubifs_bg_thread+0x234/0x2e0 kthread+0x36c/0x410 ret_from_fork+0x10/0x20 Allocated by task 401: kasan_save_stack+0x38/0x70 __kasan_kmalloc+0x8c/0xd0 __kmalloc+0x34c/0x5bc tnc_insert+0x140/0x16a4 ubifs_tnc_add+0x370/0x52c ubifs_jnl_write_data+0x5d8/0x870 do_writepage+0x36c/0x510 ubifs_writepage+0x190/0x4dc __writepage+0x58/0x154 write_cache_pages+0x394/0x830 do_writepages+0x1f0/0x5b0 filemap_fdatawrite_wbc+0x170/0x25c file_write_and_wait_range+0x140/0x190 ubifs_fsync+0xe8/0x290 vfs_fsync_range+0xc0/0x1e4 do_fsync+0x40/0x90 __arm64_sys_fsync+0x34/0x50 invoke_syscall.constprop.0+0xa8/0x260 do_el0_svc+0xc8/0x1f0 el0_svc+0x34/0x70 el0t_64_sync_handler+0x108/0x114 el0t_64_sync+0x1a4/0x1a8 Freed by task 403: kasan_save_stack+0x38/0x70 kasan_set_track+0x28/0x40 kasan_set_free_info+0x28/0x4c __kasan_slab_free+0xd4/0x13c kfree+0xc4/0x3a0 tnc_delete+0x3f4/0xe40 ubifs_tnc_remove_range+0x368/0x73c ubifs_tnc_remove_ino+0x29c/0x2e0 ubifs_jnl_delete_inode+0x150/0x260 ubifs_evict_inode+0x1d4/0x2e4 evict+0x1c8/0x450 iput+0x2a0/0x3c4 do_unlinkat+0x2cc/0x490 __arm64_sys_unlinkat+0x90/0x100 invoke_syscall.constprop.0+0xa8/0x260 do_el0_svc+0xc8/0x1f0 el0_svc+0x34/0x70 el0t_64_sync_handler+0x108/0x114 el0t_64_sync+0x1a4/0x1a8 The offending `memcpy()` in `ubifs_copy_hash()` has a use-after-free when a node becomes root in TNC but still has a `cparent` to an already freed node. More specifically, consider the following TNC: zroot / / zp1 / / zn Inserting a new node `zn_new` with a key smaller then `zn` will trigger a split in `tnc_insert()` if `zp1` is full: zroot / \ / \ zp1 zp2 / \ / \ zn_new zn `zn->parent` has now been moved to `zp2`, *but* `zn->cparent` still points to `zp1`. Now, consider a removal of all the nodes _except_ `zn`. Just when `tnc_delete()` is about to delete `zroot` and `zp2`: zroot \ \ zp2 \ \ zn `zroot` and `zp2` get freed and the tree collapses: zn `zn` now becomes the new `zroot`. `get_znodes_to_commit()` will now only find `zn`, the new `zroot`, and `write_index()` will check its `znode->cparent` that wrongly points to the already freed `zp1`. `ubifs_copy_hash()` thus gets wrongly called with `znode->cparent->zbranch[znode->iip].hash` that triggers the use-after-free! Fix this by explicitly setting `znode->cparent` to `NULL` in `get_znodes_to_commit()` for the root node. The search for the dirty nodes ---truncated---
- https://git.kernel.org/stable/c/01d3a2293d7e4edfff96618c15727db7e51f11b6
- https://git.kernel.org/stable/c/2497479aecebe869d23a0064e0fd1a03e34f0e2a
- https://git.kernel.org/stable/c/398a91599d263e41c5f95a2fd4ebdb6280b5c6c3
- https://git.kernel.org/stable/c/4617fb8fc15effe8eda4dd898d4e33eb537a7140
- https://git.kernel.org/stable/c/4d9807048b851d7a58d5bd089c16254af896e4df
- https://git.kernel.org/stable/c/74981f7577d183acad1cd58f74c10d263711a215
- https://git.kernel.org/stable/c/8d8b3f5f4cbfbf6cb0ea4a4d5dc296872b4151eb
- https://git.kernel.org/stable/c/daac4aa1825de0dbc1a6eede2fa7f9fc53f14223
Modified: 2025-02-11
CVE-2024-53173
In the Linux kernel, the following vulnerability has been resolved: NFSv4.0: Fix a use-after-free problem in the asynchronous open() Yang Erkun reports that when two threads are opening files at the same time, and are forced to abort before a reply is seen, then the call to nfs_release_seqid() in nfs4_opendata_free() can result in a use-after-free of the pointer to the defunct rpc task of the other thread. The fix is to ensure that if the RPC call is aborted before the call to nfs_wait_on_sequence() is complete, then we must call nfs_release_seqid() in nfs4_open_release() before the rpc_task is freed.
- https://git.kernel.org/stable/c/1cfae9575296f5040cdc84b0730e79078c081d2d
- https://git.kernel.org/stable/c/229a30ed42bb87bcb044c5523fabd9e4f0e75648
- https://git.kernel.org/stable/c/2ab9639f16b05d948066a6c4cf19a0fdc61046ff
- https://git.kernel.org/stable/c/2fdb05dc0931250574f0cb0ebeb5ed8e20f4a889
- https://git.kernel.org/stable/c/5237a297ffd374a1c4157a53543b7a69d7bbbc03
- https://git.kernel.org/stable/c/7bf6bf130af8ee7d93a99c28a7512df3017ec759
- https://git.kernel.org/stable/c/b56ae8e715557b4fc227c9381d2e681ffafe7b15
- https://git.kernel.org/stable/c/ba6e6c04f60fe52d91520ac4d749d372d4c74521
- https://git.kernel.org/stable/c/e2277a1d9d5cd0d625a4fd7c04fce2b53e66df77
Modified: 2025-02-03
CVE-2024-53175
In the Linux kernel, the following vulnerability has been resolved:
ipc: fix memleak if msg_init_ns failed in create_ipc_ns
Percpu memory allocation may failed during create_ipc_ns however this
fail is not handled properly since ipc sysctls and mq sysctls is not
released properly. Fix this by release these two resource when failure.
Here is the kmemleak stack when percpu failed:
unreferenced object 0xffff88819de2a600 (size 512):
comm "shmem_2nstest", pid 120711, jiffies 4300542254
hex dump (first 32 bytes):
60 aa 9d 84 ff ff ff ff fc 18 48 b2 84 88 ff ff `.........H.....
04 00 00 00 a4 01 00 00 20 e4 56 81 ff ff ff ff ........ .V.....
backtrace (crc be7cba35):
[
- https://git.kernel.org/stable/c/10209665b5bf199f8065b2e7d2b2dc6cdf227117
- https://git.kernel.org/stable/c/3d230cfd4b9b0558c7b2039ba1def2ce6b6cd158
- https://git.kernel.org/stable/c/8fed302872e26c7bf44d855c53a1cde747172d58
- https://git.kernel.org/stable/c/928de5fcd462498b8334107035da8ab85e316d8a
- https://git.kernel.org/stable/c/bc8f5921cd69188627c08041276238de222ab466
Modified: 2025-01-16
CVE-2024-53180
In the Linux kernel, the following vulnerability has been resolved: ALSA: pcm: Add sanity NULL check for the default mmap fault handler A driver might allow the mmap access before initializing its runtime->dma_area properly. Add a proper NULL check before passing to virt_to_page() for avoiding a panic.
- https://git.kernel.org/stable/c/0c4c9bf5eab7bee6b606f2abb0993e933b5831a0
- https://git.kernel.org/stable/c/832efbb74b1578e3737d593a204d42af8bd1b81b
- https://git.kernel.org/stable/c/8799f4332a9fd812eadfbc32fc5104d6292f754f
- https://git.kernel.org/stable/c/bc200027ee92fba84f1826494735ed675f3aa911
- https://git.kernel.org/stable/c/d2913a07d9037fe7aed4b7e680684163eaed6bc4
- https://git.kernel.org/stable/c/f0ce9e24eff1678c16276f9717f26a78202506a2
Modified: 2025-02-10
CVE-2024-53185
In the Linux kernel, the following vulnerability has been resolved:
smb: client: fix NULL ptr deref in crypto_aead_setkey()
Neither SMB3.0 or SMB3.02 supports encryption negotiate context, so
when SMB2_GLOBAL_CAP_ENCRYPTION flag is set in the negotiate response,
the client uses AES-128-CCM as the default cipher. See MS-SMB2
3.3.5.4.
Commit b0abcd65ec54 ("smb: client: fix UAF in async decryption") added
a @server->cipher_type check to conditionally call
smb3_crypto_aead_allocate(), but that check would always be false as
@server->cipher_type is unset for SMB3.02.
Fix the following KASAN splat by setting @server->cipher_type for
SMB3.02 as well.
mount.cifs //srv/share /mnt -o vers=3.02,seal,...
BUG: KASAN: null-ptr-deref in crypto_aead_setkey+0x2c/0x130
Read of size 8 at addr 0000000000000020 by task mount.cifs/1095
CPU: 1 UID: 0 PID: 1095 Comm: mount.cifs Not tainted 6.12.0 #1
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-3.fc41
04/01/2014
Call Trace:
- https://git.kernel.org/stable/c/22127c1dc04364cda3da812161e70921e6c3c0af
- https://git.kernel.org/stable/c/44c495818d9c4a741ab9e6bc9203ccc9f55f6f40
- https://git.kernel.org/stable/c/46f8e25926817272ec8d5bfbd003569bdeb9a8c8
- https://git.kernel.org/stable/c/4bdec0d1f658f7c98749bd2c5a486e6cfa8565d2
- https://git.kernel.org/stable/c/9b8904b53b5ace0519c74cd89fc3ca763f3856d4
Modified: 2025-02-10
CVE-2024-53186
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix use-after-free in SMB request handling A race condition exists between SMB request handling in `ksmbd_conn_handler_loop()` and the freeing of `ksmbd_conn` in the workqueue handler `handle_ksmbd_work()`. This leads to a UAF. - KASAN: slab-use-after-free Read in handle_ksmbd_work - KASAN: slab-use-after-free in rtlock_slowlock_locked This race condition arises as follows: - `ksmbd_conn_handler_loop()` waits for `conn->r_count` to reach zero: `wait_event(conn->r_count_q, atomic_read(&conn->r_count) == 0);` - Meanwhile, `handle_ksmbd_work()` decrements `conn->r_count` using `atomic_dec_return(&conn->r_count)`, and if it reaches zero, calls `ksmbd_conn_free()`, which frees `conn`. - However, after `handle_ksmbd_work()` decrements `conn->r_count`, it may still access `conn->r_count_q` in the following line: `waitqueue_active(&conn->r_count_q)` or `wake_up(&conn->r_count_q)` This results in a UAF, as `conn` has already been freed. The discovery of this UAF can be referenced in the following PR for syzkaller's support for SMB requests.
Modified: 2025-01-15
CVE-2024-53188
In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix crash when unbinding If there is an error during some initialization related to firmware, the function ath12k_dp_cc_cleanup is called to release resources. However this is released again when the device is unbinded (ath12k_pci), and we get: BUG: kernel NULL pointer dereference, address: 0000000000000020 at RIP: 0010:ath12k_dp_cc_cleanup.part.0+0xb6/0x500 [ath12k] Call Trace: ath12k_dp_cc_cleanup ath12k_dp_free ath12k_core_deinit ath12k_pci_remove ... The issue is always reproducible from a VM because the MSI addressing initialization is failing. In order to fix the issue, just set to NULL the released structure in ath12k_dp_cc_cleanup at the end.
Modified: 2025-01-31
CVE-2024-53191
In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix warning when unbinding If there is an error during some initialization related to firmware, the buffers dp->tx_ring[i].tx_status are released. However this is released again when the device is unbinded (ath12k_pci), and we get: WARNING: CPU: 0 PID: 2098 at mm/slub.c:4689 free_large_kmalloc+0x4d/0x80 Call Trace: free_large_kmalloc ath12k_dp_free ath12k_core_deinit ath12k_pci_remove ... The issue is always reproducible from a VM because the MSI addressing initialization is failing. In order to fix the issue, just set the buffers to NULL after releasing in order to avoid the double free.
Modified: 2025-01-09
CVE-2024-53200
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Fix null check for pipe_ctx->plane_state in hwss_setup_dpp This commit addresses a null pointer dereference issue in hwss_setup_dpp(). The issue could occur when pipe_ctx->plane_state is null. The fix adds a check to ensure `pipe_ctx->plane_state` is not null before accessing. This prevents a null pointer dereference.
Modified: 2025-01-14
CVE-2024-53202
In the Linux kernel, the following vulnerability has been resolved: firmware_loader: Fix possible resource leak in fw_log_firmware_info() The alg instance should be released under the exception path, otherwise there may be resource leak here. To mitigate this, free the alg instance with crypto_free_shash when kmalloc fails.
Modified: 2025-02-11
CVE-2024-53206
In the Linux kernel, the following vulnerability has been resolved: tcp: Fix use-after-free of nreq in reqsk_timer_handler(). The cited commit replaced inet_csk_reqsk_queue_drop_and_put() with __inet_csk_reqsk_queue_drop() and reqsk_put() in reqsk_timer_handler(). Then, oreq should be passed to reqsk_put() instead of req; otherwise use-after-free of nreq could happen when reqsk is migrated but the retry attempt failed (e.g. due to timeout). Let's pass oreq to reqsk_put().
- https://git.kernel.org/stable/c/2dcc86fefe09ac853158afd96b60d544af115dc5
- https://git.kernel.org/stable/c/65ed89cad1f57034c256b016e89e8c0a4ec7c65b
- https://git.kernel.org/stable/c/6d845028609a4af0ad66f499ee0bd5789122b067
- https://git.kernel.org/stable/c/9a3c1ad93e6fba67b3a637cfa95a57a6685e4908
- https://git.kernel.org/stable/c/c31e72d021db2714df03df6c42855a1db592716c
- https://git.kernel.org/stable/c/d0eb14cb8c08b00c36a3d5dc57a6f428b301f721
Modified: 2025-01-09
CVE-2024-53207
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: Fix possible deadlocks
This fixes possible deadlocks like the following caused by
hci_cmd_sync_dequeue causing the destroy function to run:
INFO: task kworker/u19:0:143 blocked for more than 120 seconds.
Tainted: G W O 6.8.0-2024-03-19-intel-next-iLS-24ww14 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/u19:0 state:D stack:0 pid:143 tgid:143 ppid:2 flags:0x00004000
Workqueue: hci0 hci_cmd_sync_work [bluetooth]
Call Trace:
- https://git.kernel.org/stable/c/5703fb1d85f653e35b327b14de4db7da239e4fd9
- https://git.kernel.org/stable/c/6a25ce9b4af6dc26ee2b9c32d6bd37620bf9739e
- https://git.kernel.org/stable/c/a66dfaf18fd61bb75ef8cee83db46b2aadf153d0
- https://git.kernel.org/stable/c/c3f594a3473d6429a0bcf2004cb2885368741b79
- https://git.kernel.org/stable/c/cac34e44281f1f1bd842adbbcfe3ef9ff0905111
Modified: 2025-03-06
CVE-2024-53208
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: MGMT: Fix slab-use-after-free Read in set_powered_sync
This fixes the following crash:
==================================================================
BUG: KASAN: slab-use-after-free in set_powered_sync+0x3a/0xc0 net/bluetooth/mgmt.c:1353
Read of size 8 at addr ffff888029b4dd18 by task kworker/u9:0/54
CPU: 1 UID: 0 PID: 54 Comm: kworker/u9:0 Not tainted 6.11.0-rc6-syzkaller-01155-gf723224742fc #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Workqueue: hci0 hci_cmd_sync_work
Call Trace:
- https://git.kernel.org/stable/c/0b882940665ca2849386ee459d4331aa2f8c4e7d
- https://git.kernel.org/stable/c/6b75f32bce90c085c89c45761373d940fdcff68c
- https://git.kernel.org/stable/c/87819234aa1d2a0cb0f962fabb335e798f5ec8b2
- https://git.kernel.org/stable/c/95f7a972194ad20696c36523b54c19a3567e0697
- https://git.kernel.org/stable/c/cdfc818ffdfeb8266351ed59b6d884056009a095
Modified: 2025-01-14
CVE-2024-53210
In the Linux kernel, the following vulnerability has been resolved: s390/iucv: MSG_PEEK causes memory leak in iucv_sock_destruct() Passing MSG_PEEK flag to skb_recv_datagram() increments skb refcount (skb->users) and iucv_sock_recvmsg() does not decrement skb refcount at exit. This results in skb memory leak in skb_queue_purge() and WARN_ON in iucv_sock_destruct() during socket close. To fix this decrease skb refcount by one if MSG_PEEK is set in order to prevent memory leak and WARN_ON. WARNING: CPU: 2 PID: 6292 at net/iucv/af_iucv.c:286 iucv_sock_destruct+0x144/0x1a0 [af_iucv] CPU: 2 PID: 6292 Comm: afiucv_test_msg Kdump: loaded Tainted: G W 6.10.0-rc7 #1 Hardware name: IBM 3931 A01 704 (z/VM 7.3.0) Call Trace: [<001587c682c4aa98>] iucv_sock_destruct+0x148/0x1a0 [af_iucv] [<001587c682c4a9d0>] iucv_sock_destruct+0x80/0x1a0 [af_iucv] [<001587c704117a32>] __sk_destruct+0x52/0x550 [<001587c704104a54>] __sock_release+0xa4/0x230 [<001587c704104c0c>] sock_close+0x2c/0x40 [<001587c702c5f5a8>] __fput+0x2e8/0x970 [<001587c7024148c4>] task_work_run+0x1c4/0x2c0 [<001587c7023b0716>] do_exit+0x996/0x1050 [<001587c7023b13aa>] do_group_exit+0x13a/0x360 [<001587c7023b1626>] __s390x_sys_exit_group+0x56/0x60 [<001587c7022bccca>] do_syscall+0x27a/0x380 [<001587c7049a6a0c>] __do_syscall+0x9c/0x160 [<001587c7049ce8a8>] system_call+0x70/0x98 Last Breaking-Event-Address: [<001587c682c4a9d4>] iucv_sock_destruct+0x84/0x1a0 [af_iucv]
- https://git.kernel.org/stable/c/42251c2d1ef1cb0822638bebb87ad9120c759673
- https://git.kernel.org/stable/c/783c2c6e61c5a04eb8baea598753d5fa174dbe85
- https://git.kernel.org/stable/c/934326aef7ac4652f81c69d18bf44eebaefc39c3
- https://git.kernel.org/stable/c/9f603e66e1c59c1d25e60eb0636cb307d190782e
- https://git.kernel.org/stable/c/ebaf81317e42aa990ad20b113cfe3a7b20d4e937
Modified: 2025-01-10
CVE-2024-53213
In the Linux kernel, the following vulnerability has been resolved: net: usb: lan78xx: Fix double free issue with interrupt buffer allocation In lan78xx_probe(), the buffer `buf` was being freed twice: once implicitly through `usb_free_urb(dev->urb_intr)` with the `URB_FREE_BUFFER` flag and again explicitly by `kfree(buf)`. This caused a double free issue. To resolve this, reordered `kmalloc()` and `usb_alloc_urb()` calls to simplify the initialization sequence and removed the redundant `kfree(buf)`. Now, `buf` is allocated after `usb_alloc_urb()`, ensuring it is correctly managed by `usb_fill_int_urb()` and freed by `usb_free_urb()` as intended.
- https://git.kernel.org/stable/c/03819abbeb11117dcbba40bfe322b88c0c88a6b6
- https://git.kernel.org/stable/c/7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40
- https://git.kernel.org/stable/c/977128343fc2a30737399b58df8ea77e94f164bd
- https://git.kernel.org/stable/c/a422ebec863d99d5607fb41bb7af3347fcb436d3
- https://git.kernel.org/stable/c/b09512aea6223eec756f52aa584fc29eeab57480
Modified: 2025-02-03
CVE-2024-53215
In the Linux kernel, the following vulnerability has been resolved:
svcrdma: fix miss destroy percpu_counter in svc_rdma_proc_init()
There's issue as follows:
RPC: Registered rdma transport module.
RPC: Registered rdma backchannel transport module.
RPC: Unregistered rdma transport module.
RPC: Unregistered rdma backchannel transport module.
BUG: unable to handle page fault for address: fffffbfff80c609a
PGD 123fee067 P4D 123fee067 PUD 123fea067 PMD 10c624067 PTE 0
Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI
RIP: 0010:percpu_counter_destroy_many+0xf7/0x2a0
Call Trace:
- https://git.kernel.org/stable/c/1c9a99c89e45b22eb556fd2f3f729f2683f247d5
- https://git.kernel.org/stable/c/20322edcbad82a60321a8615a99ca73a9611115f
- https://git.kernel.org/stable/c/94d2d6d398706ab7218a26d61e12919c4b498e09
- https://git.kernel.org/stable/c/a12c897adf40b6e2b4a56e6912380c31bd7b2479
- https://git.kernel.org/stable/c/ce89e742a4c12b20f09a43fec1b21db33f2166cd
- https://git.kernel.org/stable/c/ebf47215d46992caea660ec01cd618005d9e687a
Modified: 2025-01-31
CVE-2024-53217
In the Linux kernel, the following vulnerability has been resolved: NFSD: Prevent NULL dereference in nfsd4_process_cb_update() @ses is initialized to NULL. If __nfsd4_find_backchannel() finds no available backchannel session, setup_callback_client() will try to dereference @ses and segfault.
- https://git.kernel.org/stable/c/03178cd8f67227015debb700123987fe96275cd1
- https://git.kernel.org/stable/c/0c3b0e326f838787d229314d4de83af9c53347e8
- https://git.kernel.org/stable/c/1e02c641c3a43c88cecc08402000418e15578d38
- https://git.kernel.org/stable/c/4a4ffc1aa9d618e41ad9151f40966e402e58a5a2
- https://git.kernel.org/stable/c/752a75811f27300fe8131b0a1efc91960f6f88e7
- https://git.kernel.org/stable/c/c5d90f9302742985a5078e42ac38de42c364c44a
- https://git.kernel.org/stable/c/cac1405e3ff6685a438e910ad719e0cf06af90ee
- https://git.kernel.org/stable/c/d9a0d1f6e15859ea7a86a327f28491e23deaaa62
- https://git.kernel.org/stable/c/eb51733ae5fc73d95bd857d5da26f9f65b202a79
Modified: 2025-02-03
CVE-2024-53224
In the Linux kernel, the following vulnerability has been resolved: RDMA/mlx5: Move events notifier registration to be after device registration Move pkey change work initialization and cleanup from device resources stage to notifier stage, since this is the stage which handles this work events. Fix a race between the device deregistration and pkey change work by moving MLX5_IB_STAGE_DEVICE_NOTIFIER to be after MLX5_IB_STAGE_IB_REG in order to ensure that the notifier is deregistered before the device during cleanup. Which ensures there are no works that are being executed after the device has already unregistered which can cause the panic below. BUG: kernel NULL pointer dereference, address: 0000000000000000 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 630071 Comm: kworker/1:2 Kdump: loaded Tainted: G W OE --------- --- 5.14.0-162.6.1.el9_1.x86_64 #1 Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090008 02/27/2023 Workqueue: events pkey_change_handler [mlx5_ib] RIP: 0010:setup_qp+0x38/0x1f0 [mlx5_ib] Code: ee 41 54 45 31 e4 55 89 f5 53 48 89 fb 48 83 ec 20 8b 77 08 65 48 8b 04 25 28 00 00 00 48 89 44 24 18 48 8b 07 48 8d 4c 24 16 <4c> 8b 38 49 8b 87 80 0b 00 00 4c 89 ff 48 8b 80 08 05 00 00 8b 40 RSP: 0018:ffffbcc54068be20 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffff954054494128 RCX: ffffbcc54068be36 RDX: ffff954004934000 RSI: 0000000000000001 RDI: ffff954054494128 RBP: 0000000000000023 R08: ffff954001be2c20 R09: 0000000000000001 R10: ffff954001be2c20 R11: ffff9540260133c0 R12: 0000000000000000 R13: 0000000000000023 R14: 0000000000000000 R15: ffff9540ffcb0905 FS: 0000000000000000(0000) GS:ffff9540ffc80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000010625c001 CR4: 00000000003706e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: mlx5_ib_gsi_pkey_change+0x20/0x40 [mlx5_ib] process_one_work+0x1e8/0x3c0 worker_thread+0x50/0x3b0 ? rescuer_thread+0x380/0x380 kthread+0x149/0x170 ? set_kthread_struct+0x50/0x50 ret_from_fork+0x22/0x30 Modules linked in: rdma_ucm(OE) rdma_cm(OE) iw_cm(OE) ib_ipoib(OE) ib_cm(OE) ib_umad(OE) mlx5_ib(OE) mlx5_fwctl(OE) fwctl(OE) ib_uverbs(OE) mlx5_core(OE) mlxdevm(OE) ib_core(OE) mlx_compat(OE) psample mlxfw(OE) tls knem(OE) netconsole nfsv3 nfs_acl nfs lockd grace fscache netfs qrtr rfkill sunrpc intel_rapl_msr intel_rapl_common rapl hv_balloon hv_utils i2c_piix4 pcspkr joydev fuse ext4 mbcache jbd2 sr_mod sd_mod cdrom t10_pi sg ata_generic pci_hyperv pci_hyperv_intf hyperv_drm drm_shmem_helper drm_kms_helper hv_storvsc syscopyarea hv_netvsc sysfillrect sysimgblt hid_hyperv fb_sys_fops scsi_transport_fc hyperv_keyboard drm ata_piix crct10dif_pclmul crc32_pclmul crc32c_intel libata ghash_clmulni_intel hv_vmbus serio_raw [last unloaded: ib_core] CR2: 0000000000000000 ---[ end trace f6f8be4eae12f7bc ]---
Modified: 2025-01-08
CVE-2024-53226
In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix NULL pointer derefernce in hns_roce_map_mr_sg() ib_map_mr_sg() allows ULPs to specify NULL as the sg_offset argument. The driver needs to check whether it is a NULL pointer before dereferencing it.
- https://git.kernel.org/stable/c/35f5b68f63aac61d30ce0b0c6beb09b8845a3e65
- https://git.kernel.org/stable/c/52617e76f4963644db71dc0a17e998654dc0c7f4
- https://git.kernel.org/stable/c/6b0d7d6e6883d0ec70cd7b5a02c47c003d5defe7
- https://git.kernel.org/stable/c/6b526d17eed850352d880b93b9bf20b93006bd92
- https://git.kernel.org/stable/c/71becb0e9df78a8d43dfd0efcef18c830a0af477
- https://git.kernel.org/stable/c/8c269bb2cc666ca580271e1a8136c63ac9162e1e
- https://git.kernel.org/stable/c/bd715e191d444992d6ed124f15856da5c1cae2de
Modified: 2025-02-11
CVE-2024-53227
In the Linux kernel, the following vulnerability has been resolved:
scsi: bfa: Fix use-after-free in bfad_im_module_exit()
BUG: KASAN: slab-use-after-free in __lock_acquire+0x2aca/0x3a20
Read of size 8 at addr ffff8881082d80c8 by task modprobe/25303
Call Trace:
- https://git.kernel.org/stable/c/0ceac8012d3ddea3317f0d82934293d05feb8af1
- https://git.kernel.org/stable/c/178b8f38932d635e90f5f0e9af1986c6f4a89271
- https://git.kernel.org/stable/c/1ffdde30a90bf8efe8f270407f486706962b3292
- https://git.kernel.org/stable/c/3932c753f805a02e9364a4c58b590f21901f8490
- https://git.kernel.org/stable/c/8f5a97443b547b4c83f876f1d6a11df0f1fd4efb
- https://git.kernel.org/stable/c/a2b5035ab0e368e8d8a371e27fbc72f133c0bd40
- https://git.kernel.org/stable/c/c28409f851abd93b37969cac7498828ad533afd9
- https://git.kernel.org/stable/c/e76181a5be90abcc3ed8a300bd13878aa214d022
- https://git.kernel.org/stable/c/ef2c2580189ea88a0dcaf56eb3a565763a900edb
Modified: 2025-01-06
CVE-2024-53230
In the Linux kernel, the following vulnerability has been resolved: cpufreq: CPPC: Fix possible null-ptr-deref for cppc_get_cpu_cost() cpufreq_cpu_get_raw() may return NULL if the cpu is not in policy->cpus cpu mask and it will cause null pointer dereference, so check NULL for cppc_get_cpu_cost().
- https://git.kernel.org/stable/c/1975b481f644f8f841d9c188e3c214fce187f18b
- https://git.kernel.org/stable/c/1a1374bb8c5926674973d849feed500bc61ad535
- https://git.kernel.org/stable/c/6be57617a38b3f33266acecdb3c063c1c079aaf7
- https://git.kernel.org/stable/c/afd22d9839359829776abb55cc9bc4946e888704
- https://git.kernel.org/stable/c/f05ef81db63889f6f14eb77fd140dac6cedb6f7f
Modified: 2025-01-06
CVE-2024-53231
In the Linux kernel, the following vulnerability has been resolved: cpufreq: CPPC: Fix possible null-ptr-deref for cpufreq_cpu_get_raw() cpufreq_cpu_get_raw() may return NULL if the cpu is not in policy->cpus cpu mask and it will cause null pointer dereference.
- https://git.kernel.org/stable/c/65fe2f7fdafe2698a343661800434b3f2e51041e
- https://git.kernel.org/stable/c/a357b63fd21e4b2791008c2175ba7a8c235ebce1
- https://git.kernel.org/stable/c/a78e7207564258db6e373e86294a85f9d646d35a
- https://git.kernel.org/stable/c/e07570a8f2cfc51260c6266cb8e1bd4777a610d6
- https://git.kernel.org/stable/c/e9b39f1924b76abc18881e4ce899fb232dd23d12
Modified: 2025-02-11
CVE-2024-53237
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: fix use-after-free in device_for_each_child()
Syzbot has reported the following KASAN splat:
BUG: KASAN: slab-use-after-free in device_for_each_child+0x18f/0x1a0
Read of size 8 at addr ffff88801f605308 by task kbnepd bnep0/4980
CPU: 0 UID: 0 PID: 4980 Comm: kbnepd bnep0 Not tainted 6.12.0-rc4-00161-gae90f6a6170d #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014
Call Trace:
- https://git.kernel.org/stable/c/0f67ca2a80acf8b207240405b7f72d660665d3df
- https://git.kernel.org/stable/c/27aabf27fd014ae037cc179c61b0bee7cff55b3d
- https://git.kernel.org/stable/c/7b277bd569bb6a2777f0014f84b4344f444fd49d
- https://git.kernel.org/stable/c/91e2a2e4d1336333804cd31162984f01ad8cc70f
- https://git.kernel.org/stable/c/a9584c897d1cba6265c78010bbb45ca5722c88bc
- https://git.kernel.org/stable/c/de5a44f351ca7efd9add9851b218f5353e2224b7
- https://git.kernel.org/stable/c/fb91ce37dc9a37ea23cf32b6d7b667004e93d4c5
Modified: 2025-02-10
CVE-2024-53239
In the Linux kernel, the following vulnerability has been resolved: ALSA: 6fire: Release resources at card release The current 6fire code tries to release the resources right after the call of usb6fire_chip_abort(). But at this moment, the card object might be still in use (as we're calling snd_card_free_when_closed()). For avoid potential UAFs, move the release of resources to the card's private_free instead of the manual call of usb6fire_chip_destroy() at the USB disconnect callback.
- https://git.kernel.org/stable/c/0df7f4b5cc10f5adf98be0845372e9eef7bb5b09
- https://git.kernel.org/stable/c/273eec23467dfbfbd0e4c10302579ba441fb1e13
- https://git.kernel.org/stable/c/57860a80f03f9dc69a34a5c37b0941ad032a0a8c
- https://git.kernel.org/stable/c/74357d0b5cd3ef544752bc9f21cbeee4902fae6c
- https://git.kernel.org/stable/c/a0810c3d6dd2d29a9b92604d682eacd2902ce947
- https://git.kernel.org/stable/c/b754e831a94f82f2593af806741392903f359168
- https://git.kernel.org/stable/c/b889a7d68d7e76b8795b754a75c91a2d561d5e8c
- https://git.kernel.org/stable/c/ea8cc56db659cf0ae57073e32a4735ead7bd7ee3
- https://git.kernel.org/stable/c/f2d06d4e129e2508e356136f99bb20a332ff1a00
Modified: 2025-02-11
CVE-2024-56538
In the Linux kernel, the following vulnerability has been resolved: drm: zynqmp_kms: Unplug DRM device before removal Prevent userspace accesses to the DRM device from causing use-after-frees by unplugging the device before we remove it. This causes any further userspace accesses to result in an error without further calls into this driver's internals.
Modified: 2025-03-06
CVE-2024-56551
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: fix usage slab after free
[ +0.000021] BUG: KASAN: slab-use-after-free in drm_sched_entity_flush+0x6cb/0x7a0 [gpu_sched]
[ +0.000027] Read of size 8 at addr ffff8881b8605f88 by task amd_pci_unplug/2147
[ +0.000023] CPU: 6 PID: 2147 Comm: amd_pci_unplug Not tainted 6.10.0+ #1
[ +0.000016] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING (WI-FI), BIOS 1401 12/03/2020
[ +0.000016] Call Trace:
[ +0.000008]
Modified: 2025-01-14
CVE-2024-56567
In the Linux kernel, the following vulnerability has been resolved: ad7780: fix division by zero in ad7780_write_raw() In the ad7780_write_raw() , val2 can be zero, which might lead to a division by zero error in DIV_ROUND_CLOSEST(). The ad7780_write_raw() is based on iio_info's write_raw. While val is explicitly declared that can be zero (in read mode), val2 is not specified to be non-zero.
- https://git.kernel.org/stable/c/022e13518ba6cc1b4fdd291f49e4f57b2d5718e0
- https://git.kernel.org/stable/c/18fb33df1de83a014d7f784089f9b124facc157f
- https://git.kernel.org/stable/c/68e79b848196a0b0ec006009cc69da1f835d1ae8
- https://git.kernel.org/stable/c/7e3a8ea3d1ada7f707de5d9d504774b4191eab66
- https://git.kernel.org/stable/c/afc1e3c00b3f5f0b4f1bc3e974fb9803cb938a90
- https://git.kernel.org/stable/c/c174b53e95adf2eece2afc56cd9798374919f99a
- https://git.kernel.org/stable/c/f25a9f1df1f6738acf1fa05595fb6060a2c08ff1
Modified: 2025-01-31
CVE-2024-56569
In the Linux kernel, the following vulnerability has been resolved: ftrace: Fix regression with module command in stack_trace_filter When executing the following command: # echo "write*:mod:ext3" > /sys/kernel/tracing/stack_trace_filter The current mod command causes a null pointer dereference. While commit 0f17976568b3f ("ftrace: Fix regression with module command in stack_trace_filter") has addressed part of the issue, it left a corner case unhandled, which still results in a kernel crash.
- https://git.kernel.org/stable/c/19cacabdd5a8487ae566cbecb4d03bcb038a067e
- https://git.kernel.org/stable/c/43ca32ce12888fb0eeb2d74dfc558dea60d3473e
- https://git.kernel.org/stable/c/45af52e7d3b8560f21d139b3759735eead8b1653
- https://git.kernel.org/stable/c/5dabb7af57bc72308a6e2e81a5dd756eef283803
- https://git.kernel.org/stable/c/7ae27880de3482e063fcc1f72d9a298d0d391407
- https://git.kernel.org/stable/c/885109aa0c70639527dd6a65c82e63c9ac055e3d
- https://git.kernel.org/stable/c/8a92dc4df89c50bdb26667419ea70e0abbce456e
Modified: 2025-01-14
CVE-2024-56572
In the Linux kernel, the following vulnerability has been resolved: media: platform: allegro-dvt: Fix possible memory leak in allocate_buffers_internal() The buffer in the loop should be released under the exception path, otherwise there may be a memory leak here. To mitigate this, free the buffer when allegro_alloc_buffer fails.
- https://git.kernel.org/stable/c/0f514068fbc5d4d189c817adc7c4e32cffdc2e47
- https://git.kernel.org/stable/c/17e5613666209be4e5be1f1894f1a6014a8a0658
- https://git.kernel.org/stable/c/64f72a738864b506ab50b4a6cb3ce3c3e04b71af
- https://git.kernel.org/stable/c/6712a28a4f923ffdf51cff267ad05a634ee1babc
- https://git.kernel.org/stable/c/74a65313578b35e1239966adfa7ac2bdd60caf00
- https://git.kernel.org/stable/c/891b5790bee8fc6ddba17874dd87a646128d0b99
- https://git.kernel.org/stable/c/cf642904be39ae0d441dbdfa8f485e0a46260be4
Modified: 2025-01-06
CVE-2024-56574
In the Linux kernel, the following vulnerability has been resolved:
media: ts2020: fix null-ptr-deref in ts2020_probe()
KASAN reported a null-ptr-deref issue when executing the following
command:
# echo ts2020 0x20 > /sys/bus/i2c/devices/i2c-0/new_device
KASAN: null-ptr-deref in range [0x0000000000000010-0x0000000000000017]
CPU: 53 UID: 0 PID: 970 Comm: systemd-udevd Not tainted 6.12.0-rc2+ #24
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009)
RIP: 0010:ts2020_probe+0xad/0xe10 [ts2020]
RSP: 0018:ffffc9000abbf598 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffffc0714809
RDX: 0000000000000002 RSI: ffff88811550be00 RDI: 0000000000000010
RBP: ffff888109868800 R08: 0000000000000001 R09: fffff52001577eb6
R10: 0000000000000000 R11: ffffc9000abbff50 R12: ffffffffc0714790
R13: 1ffff92001577eb8 R14: ffffffffc07190d0 R15: 0000000000000001
FS: 00007f95f13b98c0(0000) GS:ffff888149280000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555d2634b000 CR3: 0000000152236000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
- https://git.kernel.org/stable/c/4a058b34b52ed3feb1f3ff6fd26aefeeeed20cba
- https://git.kernel.org/stable/c/5a53f97cd5977911850b695add057f9965c1a2d6
- https://git.kernel.org/stable/c/901070571bc191d1d8d7a1379bc5ba9446200999
- https://git.kernel.org/stable/c/a2ed3b780f34e4a6403064208bc2c99d1ed85026
- https://git.kernel.org/stable/c/b6208d1567f929105011bcdfd738f59a6bdc1088
- https://git.kernel.org/stable/c/ced1c04e82e3ecc246b921b9733f0df0866aa50d
- https://git.kernel.org/stable/c/dc03866b5f4aa2668946f8384a1e5286ae53bbaa
Modified: 2025-01-31
CVE-2024-56575
In the Linux kernel, the following vulnerability has been resolved: media: imx-jpeg: Ensure power suppliers be suspended before detach them The power suppliers are always requested to suspend asynchronously, dev_pm_domain_detach() requires the caller to ensure proper synchronization of this function with power management callbacks. otherwise the detach may led to kernel panic, like below: [ 1457.107934] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000040 [ 1457.116777] Mem abort info: [ 1457.119589] ESR = 0x0000000096000004 [ 1457.123358] EC = 0x25: DABT (current EL), IL = 32 bits [ 1457.128692] SET = 0, FnV = 0 [ 1457.131764] EA = 0, S1PTW = 0 [ 1457.134920] FSC = 0x04: level 0 translation fault [ 1457.139812] Data abort info: [ 1457.142707] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 1457.148196] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 1457.153256] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0 [ 1457.158563] user pgtable: 4k pages, 48-bit VAs, pgdp=00000001138b6000 [ 1457.165000] [0000000000000040] pgd=0000000000000000, p4d=0000000000000000 [ 1457.171792] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP [ 1457.178045] Modules linked in: v4l2_jpeg wave6_vpu_ctrl(-) [last unloaded: mxc_jpeg_encdec] [ 1457.186383] CPU: 0 PID: 51938 Comm: kworker/0:3 Not tainted 6.6.36-gd23d64eea511 #66 [ 1457.194112] Hardware name: NXP i.MX95 19X19 board (DT) [ 1457.199236] Workqueue: pm pm_runtime_work [ 1457.203247] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1457.210188] pc : genpd_runtime_suspend+0x20/0x290 [ 1457.214886] lr : __rpm_callback+0x48/0x1d8 [ 1457.218968] sp : ffff80008250bc50 [ 1457.222270] x29: ffff80008250bc50 x28: 0000000000000000 x27: 0000000000000000 [ 1457.229394] x26: 0000000000000000 x25: 0000000000000008 x24: 00000000000f4240 [ 1457.236518] x23: 0000000000000000 x22: ffff00008590f0e4 x21: 0000000000000008 [ 1457.243642] x20: ffff80008099c434 x19: ffff00008590f000 x18: ffffffffffffffff [ 1457.250766] x17: 5300326563697665 x16: 645f676e696c6f6f x15: 63343a6d726f6674 [ 1457.257890] x14: 0000000000000004 x13: 00000000000003a4 x12: 0000000000000002 [ 1457.265014] x11: 0000000000000000 x10: 0000000000000a60 x9 : ffff80008250bbb0 [ 1457.272138] x8 : ffff000092937200 x7 : ffff0003fdf6af80 x6 : 0000000000000000 [ 1457.279262] x5 : 00000000410fd050 x4 : 0000000000200000 x3 : 0000000000000000 [ 1457.286386] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff00008590f000 [ 1457.293510] Call trace: [ 1457.295946] genpd_runtime_suspend+0x20/0x290 [ 1457.300296] __rpm_callback+0x48/0x1d8 [ 1457.304038] rpm_callback+0x6c/0x78 [ 1457.307515] rpm_suspend+0x10c/0x570 [ 1457.311077] pm_runtime_work+0xc4/0xc8 [ 1457.314813] process_one_work+0x138/0x248 [ 1457.318816] worker_thread+0x320/0x438 [ 1457.322552] kthread+0x110/0x114 [ 1457.325767] ret_from_fork+0x10/0x20
- https://git.kernel.org/stable/c/12914fd765ba4f9d6a9a50439e8dd2e9f91423f2
- https://git.kernel.org/stable/c/2f86d104539fab9181ea7b5721f40e7b92a8bf67
- https://git.kernel.org/stable/c/b7a830bbc25da0f641e3ef2bac3b1766b2777a8b
- https://git.kernel.org/stable/c/f3c4e088ec01cae45931a18ddf7cae0f4d72e1c5
- https://git.kernel.org/stable/c/fd0af4cd35da0eb550ef682b71cda70a4e36f6b9
Modified: 2025-01-06
CVE-2024-56577
In the Linux kernel, the following vulnerability has been resolved: media: mtk-jpeg: Fix null-ptr-deref during unload module The workqueue should be destroyed in mtk_jpeg_core.c since commit 09aea13ecf6f ("media: mtk-jpeg: refactor some variables"), otherwise the below calltrace can be easily triggered. [ 677.862514] Unable to handle kernel paging request at virtual address dfff800000000023 [ 677.863633] KASAN: null-ptr-deref in range [0x0000000000000118-0x000000000000011f] ... [ 677.879654] CPU: 6 PID: 1071 Comm: modprobe Tainted: G O 6.8.12-mtk+gfa1a78e5d24b+ #17 ... [ 677.882838] pc : destroy_workqueue+0x3c/0x770 [ 677.883413] lr : mtk_jpegdec_destroy_workqueue+0x70/0x88 [mtk_jpeg_dec_hw] [ 677.884314] sp : ffff80008ad974f0 [ 677.884744] x29: ffff80008ad974f0 x28: ffff0000d7115580 x27: ffff0000dd691070 [ 677.885669] x26: ffff0000dd691408 x25: ffff8000844af3e0 x24: ffff80008ad97690 [ 677.886592] x23: ffff0000e051d400 x22: ffff0000dd691010 x21: dfff800000000000 [ 677.887515] x20: 0000000000000000 x19: 0000000000000000 x18: ffff800085397ac0 [ 677.888438] x17: 0000000000000000 x16: ffff8000801b87c8 x15: 1ffff000115b2e10 [ 677.889361] x14: 00000000f1f1f1f1 x13: 0000000000000000 x12: ffff7000115b2e4d [ 677.890285] x11: 1ffff000115b2e4c x10: ffff7000115b2e4c x9 : ffff80000aa43e90 [ 677.891208] x8 : 00008fffeea4d1b4 x7 : ffff80008ad97267 x6 : 0000000000000001 [ 677.892131] x5 : ffff80008ad97260 x4 : ffff7000115b2e4d x3 : 0000000000000000 [ 677.893054] x2 : 0000000000000023 x1 : dfff800000000000 x0 : 0000000000000118 [ 677.893977] Call trace: [ 677.894297] destroy_workqueue+0x3c/0x770 [ 677.894826] mtk_jpegdec_destroy_workqueue+0x70/0x88 [mtk_jpeg_dec_hw] [ 677.895677] devm_action_release+0x50/0x90 [ 677.896211] release_nodes+0xe8/0x170 [ 677.896688] devres_release_all+0xf8/0x178 [ 677.897219] device_unbind_cleanup+0x24/0x170 [ 677.897785] device_release_driver_internal+0x35c/0x480 [ 677.898461] device_release_driver+0x20/0x38 ... [ 677.912665] ---[ end trace 0000000000000000 ]---
Modified: 2025-01-08
CVE-2024-56578
In the Linux kernel, the following vulnerability has been resolved: media: imx-jpeg: Set video drvdata before register video device The video drvdata should be set before the video device is registered, otherwise video_drvdata() may return NULL in the open() file ops, and led to oops.
- https://git.kernel.org/stable/c/5ade59d28eade49194eb09765afdeb0ba717c39a
- https://git.kernel.org/stable/c/68efeff2f7fccdfedc55f92e92be32997127d16e
- https://git.kernel.org/stable/c/b88556e82dc18cb708744d062770853a2d5095b2
- https://git.kernel.org/stable/c/d2b7ecc26bd5406d5ba927be1748aa99c568696c
- https://git.kernel.org/stable/c/f68bb1210fbea252552d97242757f69a219e942b
Modified: 2025-01-08
CVE-2024-56579
In the Linux kernel, the following vulnerability has been resolved: media: amphion: Set video drvdata before register video device The video drvdata should be set before the video device is registered, otherwise video_drvdata() may return NULL in the open() file ops, and led to oops.
Modified: 2025-02-11
CVE-2024-56581
In the Linux kernel, the following vulnerability has been resolved: btrfs: ref-verify: fix use-after-free after invalid ref action At btrfs_ref_tree_mod() after we successfully inserted the new ref entry (local variable 'ref') into the respective block entry's rbtree (local variable 'be'), if we find an unexpected action of BTRFS_DROP_DELAYED_REF, we error out and free the ref entry without removing it from the block entry's rbtree. Then in the error path of btrfs_ref_tree_mod() we call btrfs_free_ref_cache(), which iterates over all block entries and then calls free_block_entry() for each one, and there we will trigger a use-after-free when we are called against the block entry to which we added the freed ref entry to its rbtree, since the rbtree still points to the block entry, as we didn't remove it from the rbtree before freeing it in the error path at btrfs_ref_tree_mod(). Fix this by removing the new ref entry from the rbtree before freeing it. Syzbot report this with the following stack traces: BTRFS error (device loop0 state EA): Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314 btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline] btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23 btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482 btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293 vfs_unlink+0x365/0x650 fs/namei.c:4469 do_unlinkat+0x4ae/0x830 fs/namei.c:4533 __do_sys_unlinkat fs/namei.c:4576 [inline] __se_sys_unlinkat fs/namei.c:4569 [inline] __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f BTRFS error (device loop0 state EA): Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1 __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521 update_ref_for_cow+0x96a/0x11f0 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline] __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137 __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171 btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313 prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586 relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611 btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081 btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377 __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161 btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538 BTRFS error (device loop0 state EA): Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_i ---truncated---
- https://git.kernel.org/stable/c/4275ac2741941c9c7c2293619fdbacb9f70ba85b
- https://git.kernel.org/stable/c/6370db28af9a8ae3bbdfe97f8a48f8f995e144cf
- https://git.kernel.org/stable/c/6fd018aa168e472ce35be32296d109db6adb87ea
- https://git.kernel.org/stable/c/7c4e39f9d2af4abaf82ca0e315d1fd340456620f
- https://git.kernel.org/stable/c/a6f9e7a0bf1185c9070c0de03bb85eafb9abd650
- https://git.kernel.org/stable/c/d2b85ce0561fde894e28fa01bd5d32820d585006
- https://git.kernel.org/stable/c/dfb9fe7de61f34cc241ab3900bdde93341096e0e
Modified: 2025-01-31
CVE-2024-56687
In the Linux kernel, the following vulnerability has been resolved: usb: musb: Fix hardware lockup on first Rx endpoint request There is a possibility that a request's callback could be invoked from usb_ep_queue() (call trace below, supplemented with missing calls): req->complete from usb_gadget_giveback_request (drivers/usb/gadget/udc/core.c:999) usb_gadget_giveback_request from musb_g_giveback (drivers/usb/musb/musb_gadget.c:147) musb_g_giveback from rxstate (drivers/usb/musb/musb_gadget.c:784) rxstate from musb_ep_restart (drivers/usb/musb/musb_gadget.c:1169) musb_ep_restart from musb_ep_restart_resume_work (drivers/usb/musb/musb_gadget.c:1176) musb_ep_restart_resume_work from musb_queue_resume_work (drivers/usb/musb/musb_core.c:2279) musb_queue_resume_work from musb_gadget_queue (drivers/usb/musb/musb_gadget.c:1241) musb_gadget_queue from usb_ep_queue (drivers/usb/gadget/udc/core.c:300) According to the docstring of usb_ep_queue(), this should not happen: "Note that @req's ->complete() callback must never be called from within usb_ep_queue() as that can create deadlock situations." In fact, a hardware lockup might occur in the following sequence: 1. The gadget is initialized using musb_gadget_enable(). 2. Meanwhile, a packet arrives, and the RXPKTRDY flag is set, raising an interrupt. 3. If IRQs are enabled, the interrupt is handled, but musb_g_rx() finds an empty queue (next_request() returns NULL). The interrupt flag has already been cleared by the glue layer handler, but the RXPKTRDY flag remains set. 4. The first request is enqueued using usb_ep_queue(), leading to the call of req->complete(), as shown in the call trace above. 5. If the callback enables IRQs and another packet is waiting, step (3) repeats. The request queue is empty because usb_g_giveback() removes the request before invoking the callback. 6. The endpoint remains locked up, as the interrupt triggered by hardware setting the RXPKTRDY flag has been handled, but the flag itself remains set. For this scenario to occur, it is only necessary for IRQs to be enabled at some point during the complete callback. This happens with the USB Ethernet gadget, whose rx_complete() callback calls netif_rx(). If called in the task context, netif_rx() disables the bottom halves (BHs). When the BHs are re-enabled, IRQs are also enabled to allow soft IRQs to be processed. The gadget itself is initialized at module load (or at boot if built-in), but the first request is enqueued when the network interface is brought up, triggering rx_complete() in the task context via ioctl(). If a packet arrives while the interface is down, it can prevent the interface from receiving any further packets from the USB host. The situation is quite complicated with many parties involved. This particular issue can be resolved in several possible ways: 1. Ensure that callbacks never enable IRQs. This would be difficult to enforce, as discovering how netif_rx() interacts with interrupts was already quite challenging and u_ether is not the only function driver. Similar "bugs" could be hidden in other drivers as well. 2. Disable MUSB interrupts in musb_g_giveback() before calling the callback and re-enable them afterwars (by calling musb_{dis,en}able_interrupts(), for example). This would ensure that MUSB interrupts are not handled during the callback, even if IRQs are enabled. In fact, it would allow IRQs to be enabled when releasing the lock. However, this feels like an inelegant hack. 3. Modify the interrupt handler to clear the RXPKTRDY flag if the request queue is empty. While this approach also feels like a hack, it wastes CPU time by attempting to handle incoming packets when the software is not ready to process them. 4. Flush the Rx FIFO instead of calling rxstate() in musb_ep_restart(). This ensures that the hardware can receive packets when there is at least one request in the queue. Once I ---truncated---
- https://git.kernel.org/stable/c/0c89445e6d475b78d37b64ae520831cd43af7db4
- https://git.kernel.org/stable/c/3fc137386c4620305bbc2a216868c53f9245670a
- https://git.kernel.org/stable/c/5906ee3693674d734177df13a519a21bb03f730d
- https://git.kernel.org/stable/c/c749500b28cae67410792096133ee7f282439c51
- https://git.kernel.org/stable/c/f05ad9755bb294328c3d0f429164ac6d4d08c548
Modified: 2025-01-08
CVE-2024-56688
In the Linux kernel, the following vulnerability has been resolved: sunrpc: clear XPRT_SOCK_UPD_TIMEOUT when reset transport Since transport->sock has been set to NULL during reset transport, XPRT_SOCK_UPD_TIMEOUT also needs to be cleared. Otherwise, the xs_tcp_set_socket_timeouts() may be triggered in xs_tcp_send_request() to dereference the transport->sock that has been set to NULL.
- https://git.kernel.org/stable/c/3811172e8c98ceebd12fe526ca6cb37a1263c964
- https://git.kernel.org/stable/c/4db9ad82a6c823094da27de4825af693a3475d51
- https://git.kernel.org/stable/c/638a8fa5a7e641f9401346c57e236f02379a0c40
- https://git.kernel.org/stable/c/66d11ca91bf5100ae2e6b5efad97e58d8448843a
- https://git.kernel.org/stable/c/86a1f9fa24804cd7f9d7dd3f24af84fc7f8ec02e
- https://git.kernel.org/stable/c/87a95ee34a48dfad198a2002e4966e1d63d53f2b
- https://git.kernel.org/stable/c/cc91d59d34ff6a6fee1c0b48612081a451e05e9a
- https://git.kernel.org/stable/c/fe6cbf0b2ac3cf4e21824a44eaa336564ed5e960
Modified: 2025-01-08
CVE-2024-56689
In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: epf-mhi: Avoid NULL dereference if DT lacks 'mmio' If platform_get_resource_byname() fails and returns NULL because DT lacks an 'mmio' property for the MHI endpoint, dereferencing res->start will cause a NULL pointer access. Add a check to prevent it. [kwilczynski: error message update per the review feedback] [bhelgaas: commit log]
Modified: 2025-01-16
CVE-2024-56692
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to do sanity check on node blkaddr in truncate_node() syzbot reports a f2fs bug as below: ------------[ cut here ]------------ kernel BUG at fs/f2fs/segment.c:2534! RIP: 0010:f2fs_invalidate_blocks+0x35f/0x370 fs/f2fs/segment.c:2534 Call Trace: truncate_node+0x1ae/0x8c0 fs/f2fs/node.c:909 f2fs_remove_inode_page+0x5c2/0x870 fs/f2fs/node.c:1288 f2fs_evict_inode+0x879/0x15c0 fs/f2fs/inode.c:856 evict+0x4e8/0x9b0 fs/inode.c:723 f2fs_handle_failed_inode+0x271/0x2e0 fs/f2fs/inode.c:986 f2fs_create+0x357/0x530 fs/f2fs/namei.c:394 lookup_open fs/namei.c:3595 [inline] open_last_lookups fs/namei.c:3694 [inline] path_openat+0x1c03/0x3590 fs/namei.c:3930 do_filp_open+0x235/0x490 fs/namei.c:3960 do_sys_openat2+0x13e/0x1d0 fs/open.c:1415 do_sys_open fs/open.c:1430 [inline] __do_sys_openat fs/open.c:1446 [inline] __se_sys_openat fs/open.c:1441 [inline] __x64_sys_openat+0x247/0x2a0 fs/open.c:1441 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0010:f2fs_invalidate_blocks+0x35f/0x370 fs/f2fs/segment.c:2534 The root cause is: on a fuzzed image, blkaddr in nat entry may be corrupted, then it will cause system panic when using it in f2fs_invalidate_blocks(), to avoid this, let's add sanity check on nat blkaddr in truncate_node().
Modified: 2025-01-09
CVE-2024-56694
In the Linux kernel, the following vulnerability has been resolved: bpf: fix recursive lock when verdict program return SK_PASS When the stream_verdict program returns SK_PASS, it places the received skb into its own receive queue, but a recursive lock eventually occurs, leading to an operating system deadlock. This issue has been present since v6.9. ''' sk_psock_strp_data_ready write_lock_bh(&sk->sk_callback_lock) strp_data_ready strp_read_sock read_sock -> tcp_read_sock strp_recv cb.rcv_msg -> sk_psock_strp_read # now stream_verdict return SK_PASS without peer sock assign __SK_PASS = sk_psock_map_verd(SK_PASS, NULL) sk_psock_verdict_apply sk_psock_skb_ingress_self sk_psock_skb_ingress_enqueue sk_psock_data_ready read_lock_bh(&sk->sk_callback_lock) <= dead lock ''' This topic has been discussed before, but it has not been fixed. Previous discussion: https://lore.kernel.org/all/6684a5864ec86_403d20898@john.notmuch
- https://git.kernel.org/stable/c/01f1b88acfd79103da0610b45471f6c88ea98d72
- https://git.kernel.org/stable/c/078f7e1521442a55db4bed812a2fbaf02ac33819
- https://git.kernel.org/stable/c/221109ba2127eabd0aa64718543638b58b15df56
- https://git.kernel.org/stable/c/386efa339e08563dd33e83bc951aea5d407fe578
- https://git.kernel.org/stable/c/6694f7acd625ed854bf6342926e771d65dad7f69
- https://git.kernel.org/stable/c/8ca2a1eeadf09862190b2810697702d803ceef2d
- https://git.kernel.org/stable/c/da2bc8a0c8f3ac66fdf980fc59936f851a083561
- https://git.kernel.org/stable/c/f84c5ef6ca23cc2f72f3b830d74f67944684bb05
Modified: 2025-01-31
CVE-2024-56698
In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: gadget: Fix looping of queued SG entries The dwc3_request->num_queued_sgs is decremented on completion. If a partially completed request is handled, then the dwc3_request->num_queued_sgs no longer reflects the total number of num_queued_sgs (it would be cleared). Correctly check the number of request SG entries remained to be prepare and queued. Failure to do this may cause null pointer dereference when accessing non-existent SG entry.
- https://git.kernel.org/stable/c/0247da93bf62d33304b7bf97850ebf2a86e06d28
- https://git.kernel.org/stable/c/1534f6f69393aac773465d80d31801b554352627
- https://git.kernel.org/stable/c/70777a23a54e359cfdfafc625a57cd56434f3859
- https://git.kernel.org/stable/c/8ceb21d76426bbe7072cc3e43281e70c0d664cc7
- https://git.kernel.org/stable/c/b7c3d0b59213ebeedff63d128728ce0b3d7a51ec
- https://git.kernel.org/stable/c/b7fc65f5141c24785dc8c19249ca4efcf71b3524
- https://git.kernel.org/stable/c/c9e72352a10ae89a430449f7bfeb043e75c255d9
Modified: 2025-01-13
CVE-2024-56704
In the Linux kernel, the following vulnerability has been resolved: 9p/xen: fix release of IRQ Kernel logs indicate an IRQ was double-freed. Pass correct device ID during IRQ release. [Dominique: remove confusing variable reset to 0]
- https://git.kernel.org/stable/c/2bb3ee1bf237557daea1d58007d2e1d4a6502ccf
- https://git.kernel.org/stable/c/4950408793b118cb8075bcee1f033b543fb719fa
- https://git.kernel.org/stable/c/530bc9f03a102fac95b07cda513bfc16ff69e0ee
- https://git.kernel.org/stable/c/692eb06703afc3e24d889d77e94a0e20229f6a4a
- https://git.kernel.org/stable/c/7f5a2ed5c1810661e6b03f5a4ebf17682cdea850
- https://git.kernel.org/stable/c/b9e26059664bd9ebc64a0e8f5216266fc9f84265
- https://git.kernel.org/stable/c/d74b4b297097bd361b8a9abfde9b521ff464ea9c
- https://git.kernel.org/stable/c/d888f5f5d76b2722c267e6bdf51d445d60647b7b
- https://git.kernel.org/stable/c/e43c608f40c065b30964f0a806348062991b802d
Modified: 2025-01-08
CVE-2024-56708
In the Linux kernel, the following vulnerability has been resolved: EDAC/igen6: Avoid segmentation fault on module unload The segmentation fault happens because: During modprobe: 1. In igen6_probe(), igen6_pvt will be allocated with kzalloc() 2. In igen6_register_mci(), mci->pvt_info will point to &igen6_pvt->imc[mc] During rmmod: 1. In mci_release() in edac_mc.c, it will kfree(mci->pvt_info) 2. In igen6_remove(), it will kfree(igen6_pvt); Fix this issue by setting mci->pvt_info to NULL to avoid the double kfree.
- https://git.kernel.org/stable/c/029ac07bb92d2f7502d47a4916f197a8445d83bf
- https://git.kernel.org/stable/c/2a80e710bbc088a2511c159ee4d910456c5f0832
- https://git.kernel.org/stable/c/830cabb61113d92a425dd3038ccedbdfb3c8d079
- https://git.kernel.org/stable/c/db60326f2c47b079e36785ace621eb3002db2088
- https://git.kernel.org/stable/c/e5c7052664b61f9e2f896702d20552707d0ef60a
- https://git.kernel.org/stable/c/fefaae90398d38a1100ccd73b46ab55ff4610fba
Modified: 2025-01-09
CVE-2024-56720
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Several fixes to bpf_msg_pop_data Several fixes to bpf_msg_pop_data, 1. In sk_msg_shift_left, we should put_page 2. if (len == 0), return early is better 3. pop the entire sk_msg (last == msg->sg.size) should be supported 4. Fix for the value of variable "a" 5. In sk_msg_shift_left, after shifting, i has already pointed to the next element. Addtional sk_msg_iter_var_next may result in BUG.
- https://git.kernel.org/stable/c/275a9f3ef8fabb0cb282a62b9e164dedba7284c5
- https://git.kernel.org/stable/c/5d609ba262475db450ba69b8e8a557bd768ac07a
- https://git.kernel.org/stable/c/785180bed9879680d8e5c5e1b54c8ae8d948f4c8
- https://git.kernel.org/stable/c/98c7ea7d11f2588e8197db042e0291e4ac8f8346
- https://git.kernel.org/stable/c/d26d977633d1d0b8bf9407278189bd0a8d973323
- https://git.kernel.org/stable/c/d3f5763b3062514a234114e97bbde74d8d702449
- https://git.kernel.org/stable/c/e1f54c61c4c9a5244eb8159dce60d248f7d97b32
- https://git.kernel.org/stable/c/f58d3aa457e77a3d9b3df2ab081dcf9950f6029f
Modified: 2025-01-09
CVE-2024-56722
In the Linux kernel, the following vulnerability has been resolved: RDMA/hns: Fix cpu stuck caused by printings during reset During reset, cmd to destroy resources such as qp, cq, and mr may fail, and error logs will be printed. When a large number of resources are destroyed, there will be lots of printings, and it may lead to a cpu stuck. Delete some unnecessary printings and replace other printing functions in these paths with the ratelimited version.
- https://git.kernel.org/stable/c/31c6fe9b79ed42440094f2367897aea0c0ce96ec
- https://git.kernel.org/stable/c/323275ac2ff15b2b7b3eac391ae5d8c5a3c3a999
- https://git.kernel.org/stable/c/a0e4c78770faa0d56d47391476fe1d827e72eded
- https://git.kernel.org/stable/c/b4ba31e5aaffbda9b22d9a35c40b16dc39e475a6
- https://git.kernel.org/stable/c/e2e64f9c42c717beb459ab209ec1c4baa73d3760
Modified: 2025-01-09
CVE-2024-56723
In the Linux kernel, the following vulnerability has been resolved: mfd: intel_soc_pmic_bxtwc: Use IRQ domain for PMIC devices While design wise the idea of converting the driver to use the hierarchy of the IRQ chips is correct, the implementation has (inherited) flaws. This was unveiled when platform_get_irq() had started WARN() on IRQ 0 that is supposed to be a Linux IRQ number (also known as vIRQ). Rework the driver to respect IRQ domain when creating each MFD device separately, as the domain is not the same for all of them.
- https://git.kernel.org/stable/c/0350d783ab888cb1cb48ced36cc28b372723f1a4
- https://git.kernel.org/stable/c/61d590d7076b50b6ebdea1f3b83bb041c01fc482
- https://git.kernel.org/stable/c/6ea17c03edc7ed0aabb1431eb26e2f94849af68a
- https://git.kernel.org/stable/c/7ba45b8bc62e64da524d45532107ae93eb33c93c
- https://git.kernel.org/stable/c/897713c9d24f6ec394585abfcf259a6e5cad22c8
- https://git.kernel.org/stable/c/b3d45c19bcffb9a9a821df759f60be39d88c19f4
- https://git.kernel.org/stable/c/bb6642d4b3136359b5b620049f76515876e6127e
- https://git.kernel.org/stable/c/d4cc78bd6a25accb7ae2ac9fc445d1e1deda4a62
Modified: 2025-01-09
CVE-2024-56724
In the Linux kernel, the following vulnerability has been resolved: mfd: intel_soc_pmic_bxtwc: Use IRQ domain for TMU device While design wise the idea of converting the driver to use the hierarchy of the IRQ chips is correct, the implementation has (inherited) flaws. This was unveiled when platform_get_irq() had started WARN() on IRQ 0 that is supposed to be a Linux IRQ number (also known as vIRQ). Rework the driver to respect IRQ domain when creating each MFD device separately, as the domain is not the same for all of them.
- https://git.kernel.org/stable/c/1b734ad0e33648c3988c6a37c2ac16c2d63eda06
- https://git.kernel.org/stable/c/2310f5336f32eac9ada2d59b965d578efe25c4bf
- https://git.kernel.org/stable/c/56acf415772ee7e10e448b371f52b249aa2d0f7b
- https://git.kernel.org/stable/c/5bc6d0da4a32fe34a9960de577e0b7de3454de0c
- https://git.kernel.org/stable/c/9b79d59e6b2b515eb9a22bc469ef7b8f0904fc73
- https://git.kernel.org/stable/c/b7c7c400de85d915e0da7c2c363553a801c47349
- https://git.kernel.org/stable/c/c472b55cc0bc3df805db6a14f50a084884cf18ee
- https://git.kernel.org/stable/c/da498e02c92e6d82df8001438dd583b90c570815
Modified: 2025-01-09
CVE-2024-56725
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_dcbnl.c Add error pointer check after calling otx2_mbox_get_rsp().
- https://git.kernel.org/stable/c/54e8b501b3ea9371e4a9aa639c75b681fa5680f0
- https://git.kernel.org/stable/c/69297b0d3369488af259e3a7cf53d69157938ea1
- https://git.kernel.org/stable/c/6ee6cf42dc5230425cfce1ffefa5a8d8a99e6fce
- https://git.kernel.org/stable/c/b94052830e3cd3be7141789a5ce6e62cf9f620a4
- https://git.kernel.org/stable/c/b99db02209ca4c2e2f53b82049ea3cbc82b54895
Modified: 2025-01-06
CVE-2024-56726
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in cn10k.c Add error pointer check after calling otx2_mbox_get_rsp().
- https://git.kernel.org/stable/c/41f39f4c67253f802809310be6846ff408c3c758
- https://git.kernel.org/stable/c/54abcec092616a4d01195355eb5d6036fb8fe363
- https://git.kernel.org/stable/c/856ad633e11869729be698df2287ecfe6ec31f27
- https://git.kernel.org/stable/c/a374e7e79fbdd7574bd89344447b0d4b91ba9801
- https://git.kernel.org/stable/c/ac9183023b6a9c09467516abd8aab04f9a2f9564
- https://git.kernel.org/stable/c/c5a6c5af434671aea739a5a41c849819144f02c9
Modified: 2025-01-06
CVE-2024-56727
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_flows.c Adding error pointer check after calling otx2_mbox_get_rsp().
- https://git.kernel.org/stable/c/8c9f8b35dc3d4ad8053a72bc0c5a7843591f6b75
- https://git.kernel.org/stable/c/a479b3d7586e6f77f8337bbcac980eaf2d0a4029
- https://git.kernel.org/stable/c/bd3110bc102ab6292656b8118be819faa0de8dd0
- https://git.kernel.org/stable/c/c4eae7bac880edd88aaed6a8ec2997fa85e259c7
- https://git.kernel.org/stable/c/e5e60f17d2462ef5c13db4d1a54eef5778fd2295
Modified: 2025-01-08
CVE-2024-56728
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: handle otx2_mbox_get_rsp errors in otx2_ethtool.c Add error pointer check after calling otx2_mbox_get_rsp().
- https://git.kernel.org/stable/c/05a6ce174c0c724e5914e1e5efd826bab8f382b4
- https://git.kernel.org/stable/c/2db2194727b1f49a5096c1c3981adef1b7638733
- https://git.kernel.org/stable/c/55c41b97001a09bb490ffa2e667e251d75d15ab1
- https://git.kernel.org/stable/c/5ff9de1f2712cbca53da2e37d831eea7ffcb43b6
- https://git.kernel.org/stable/c/6cda142cee032b8fe65ee11f78721721c3988feb
- https://git.kernel.org/stable/c/c0f64fd73b60aee85f88c270c9d714ead27a7b7a
- https://git.kernel.org/stable/c/e26f8eac6bb20b20fdb8f7dc695711ebce4c7c5c
Modified: 2025-01-08
CVE-2024-56729
In the Linux kernel, the following vulnerability has been resolved: smb: Initialize cfid->tcon before performing network ops Avoid leaking a tcon ref when a lease break races with opening the cached directory. Processing the leak break might take a reference to the tcon in cached_dir_lease_break() and then fail to release the ref in cached_dir_offload_close, since cfid->tcon is still NULL.
Modified: 2025-01-08
CVE-2024-56739
In the Linux kernel, the following vulnerability has been resolved: rtc: check if __rtc_read_time was successful in rtc_timer_do_work() If the __rtc_read_time call fails,, the struct rtc_time tm; may contain uninitialized data, or an illegal date/time read from the RTC hardware. When calling rtc_tm_to_ktime later, the result may be a very large value (possibly KTIME_MAX). If there are periodic timers in rtc->timerqueue, they will continually expire, may causing kernel softlockup.
- https://git.kernel.org/stable/c/0d68e8514d9040108ff7d1b37ca71096674b6efe
- https://git.kernel.org/stable/c/246f621d363988e7040f4546d20203dc713fa3e1
- https://git.kernel.org/stable/c/39ad0a1ae17b54509cd9e93dcd8cec16e7c12d3f
- https://git.kernel.org/stable/c/44b3257ff705d63d5f00ef8ed314a0eeb7ec37f2
- https://git.kernel.org/stable/c/a1f0b4af90cc18b10261ecde56c6a56b22c75bd1
- https://git.kernel.org/stable/c/dd4b1cbcc916fad5d10c2662b62def9f05e453d4
- https://git.kernel.org/stable/c/e77bce0a8c3989b4173c36f4195122bca8f4a3e1
- https://git.kernel.org/stable/c/e8ba8a2bc4f60a1065f23d6a0e7cbea945a0f40d
- https://git.kernel.org/stable/c/fde56535505dde3336df438e949ef4742b6d6d6e
Modified: 2025-03-03
CVE-2024-56741
Rejected reason: This CVE ID has been rejected or withdrawn by its CVE Numbering Authority.
Modified: 2025-01-08
CVE-2024-56744
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid potential deadlock in f2fs_record_stop_reason() syzbot reports deadlock issue of f2fs as below: ====================================================== WARNING: possible circular locking dependency detected 6.12.0-rc3-syzkaller-00087-gc964ced77262 #0 Not tainted ------------------------------------------------------ kswapd0/79 is trying to acquire lock: ffff888011824088 (&sbi->sb_lock){++++}-{3:3}, at: f2fs_down_write fs/f2fs/f2fs.h:2199 [inline] ffff888011824088 (&sbi->sb_lock){++++}-{3:3}, at: f2fs_record_stop_reason+0x52/0x1d0 fs/f2fs/super.c:4068 but task is already holding lock: ffff88804bd92610 (sb_internal#2){.+.+}-{0:0}, at: f2fs_evict_inode+0x662/0x15c0 fs/f2fs/inode.c:842 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (sb_internal#2){.+.+}-{0:0}: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825 percpu_down_read include/linux/percpu-rwsem.h:51 [inline] __sb_start_write include/linux/fs.h:1716 [inline] sb_start_intwrite+0x4d/0x1c0 include/linux/fs.h:1899 f2fs_evict_inode+0x662/0x15c0 fs/f2fs/inode.c:842 evict+0x4e8/0x9b0 fs/inode.c:725 f2fs_evict_inode+0x1a4/0x15c0 fs/f2fs/inode.c:807 evict+0x4e8/0x9b0 fs/inode.c:725 dispose_list fs/inode.c:774 [inline] prune_icache_sb+0x239/0x2f0 fs/inode.c:963 super_cache_scan+0x38c/0x4b0 fs/super.c:223 do_shrink_slab+0x701/0x1160 mm/shrinker.c:435 shrink_slab+0x1093/0x14d0 mm/shrinker.c:662 shrink_one+0x43b/0x850 mm/vmscan.c:4818 shrink_many mm/vmscan.c:4879 [inline] lru_gen_shrink_node mm/vmscan.c:4957 [inline] shrink_node+0x3799/0x3de0 mm/vmscan.c:5937 kswapd_shrink_node mm/vmscan.c:6765 [inline] balance_pgdat mm/vmscan.c:6957 [inline] kswapd+0x1ca3/0x3700 mm/vmscan.c:7226 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 -> #1 (fs_reclaim){+.+.}-{0:0}: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825 __fs_reclaim_acquire mm/page_alloc.c:3834 [inline] fs_reclaim_acquire+0x88/0x130 mm/page_alloc.c:3848 might_alloc include/linux/sched/mm.h:318 [inline] prepare_alloc_pages+0x147/0x5b0 mm/page_alloc.c:4493 __alloc_pages_noprof+0x16f/0x710 mm/page_alloc.c:4722 alloc_pages_mpol_noprof+0x3e8/0x680 mm/mempolicy.c:2265 alloc_pages_noprof mm/mempolicy.c:2345 [inline] folio_alloc_noprof+0x128/0x180 mm/mempolicy.c:2352 filemap_alloc_folio_noprof+0xdf/0x500 mm/filemap.c:1010 do_read_cache_folio+0x2eb/0x850 mm/filemap.c:3787 read_mapping_folio include/linux/pagemap.h:1011 [inline] f2fs_commit_super+0x3c0/0x7d0 fs/f2fs/super.c:4032 f2fs_record_stop_reason+0x13b/0x1d0 fs/f2fs/super.c:4079 f2fs_handle_critical_error+0x2ac/0x5c0 fs/f2fs/super.c:4174 f2fs_write_inode+0x35f/0x4d0 fs/f2fs/inode.c:785 write_inode fs/fs-writeback.c:1503 [inline] __writeback_single_inode+0x711/0x10d0 fs/fs-writeback.c:1723 writeback_single_inode+0x1f3/0x660 fs/fs-writeback.c:1779 sync_inode_metadata+0xc4/0x120 fs/fs-writeback.c:2849 f2fs_release_file+0xa8/0x100 fs/f2fs/file.c:1941 __fput+0x23f/0x880 fs/file_table.c:431 task_work_run+0x24f/0x310 kernel/task_work.c:228 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop kernel/entry/common.c:114 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0x168/0x370 kernel/entry/common.c:218 do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89 entry_SYSCALL_64_after_hwframe+0x77/0x7f ---truncated---
Modified: 2025-01-08
CVE-2024-56745
In the Linux kernel, the following vulnerability has been resolved: PCI: Fix reset_method_store() memory leak In reset_method_store(), a string is allocated via kstrndup() and assigned to the local "options". options is then used in with strsep() to find spaces: while ((name = strsep(&options, " ")) != NULL) { If there are no remaining spaces, then options is set to NULL by strsep(), so the subsequent kfree(options) doesn't free the memory allocated via kstrndup(). Fix by using a separate tmp_options to iterate with strsep() so options is preserved.
- https://git.kernel.org/stable/c/2985b1844f3f3447f2d938eff1ef6762592065a5
- https://git.kernel.org/stable/c/403efb4457c0c8f8f51e904cc57d39193780c6bd
- https://git.kernel.org/stable/c/543d0eb40e45c6a51f1bff02f417b602e54472d5
- https://git.kernel.org/stable/c/8e098baf6bc3f3a6aefc383509aba07e202f7ee0
- https://git.kernel.org/stable/c/931d07ccffcc3614f20aaf602b31e89754e21c59
- https://git.kernel.org/stable/c/fe6fae61f3b993160aef5fe2b7141a83872c144f
Modified: 2025-01-08
CVE-2024-56746
In the Linux kernel, the following vulnerability has been resolved: fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem() When information such as info->screen_base is not ready, calling sh7760fb_free_mem() does not release memory correctly. Call dma_free_coherent() instead.
- https://git.kernel.org/stable/c/0d3fb3b3e9d66f7b6346e3b90bc0ff48683539ce
- https://git.kernel.org/stable/c/29216bb390e36daeebef66abaa02d9751330252b
- https://git.kernel.org/stable/c/3dd9df8e5f34c6fc4217a7498c1fb3c352d4afc2
- https://git.kernel.org/stable/c/40f4326ed05a3b3537556ff2a844958b9e779a98
- https://git.kernel.org/stable/c/bad37309c8b8bf1cfc893750df0951a804009ca0
- https://git.kernel.org/stable/c/d10cd53e5a7fb3b7c6f83d4d9a5ea1d97a3ed9a5
- https://git.kernel.org/stable/c/d48cbfa90dce506030151915fa3346d67f964af4
- https://git.kernel.org/stable/c/f4fbd70e15fafe36a7583954ce189aaf5536aeec
- https://git.kernel.org/stable/c/f89d17ae2ac42931be2a0153fecbf8533280c927
Modified: 2025-01-08
CVE-2024-56747
In the Linux kernel, the following vulnerability has been resolved: scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb() Hook "qedi_ops->common->sb_init = qed_sb_init" does not release the DMA memory sb_virt when it fails. Add dma_free_coherent() to free it. This is the same way as qedr_alloc_mem_sb() and qede_alloc_mem_sb().
- https://git.kernel.org/stable/c/10a6fc486ac40a410f0fb84cc15161238eccd20a
- https://git.kernel.org/stable/c/20b775cf274cfbfa3da871a1108877e17b8b19e1
- https://git.kernel.org/stable/c/4e48e5b26b3edc0e1dd329201ffc924a7a1f9337
- https://git.kernel.org/stable/c/95bbdca4999bc59a72ebab01663d421d6ce5775d
- https://git.kernel.org/stable/c/a4d2011cbe039b25024831427b60ab91ee247066
- https://git.kernel.org/stable/c/b778b5240485106abf665eb509cc01779ed0cb00
- https://git.kernel.org/stable/c/bb8b45883eb072adba297922b67d1467082ac880
- https://git.kernel.org/stable/c/cfc76acaf2c4b43d1e140f1e4cbde15adb540bc5
- https://git.kernel.org/stable/c/eaf92fad1f21be63427920c12f22227e5f757424
Modified: 2025-01-06
CVE-2024-56748
In the Linux kernel, the following vulnerability has been resolved: scsi: qedf: Fix a possible memory leak in qedf_alloc_and_init_sb() Hook "qed_ops->common->sb_init = qed_sb_init" does not release the DMA memory sb_virt when it fails. Add dma_free_coherent() to free it. This is the same way as qedr_alloc_mem_sb() and qede_alloc_mem_sb().
- https://git.kernel.org/stable/c/0e04bd5a11dffe8c1c0e4c9fc79f7d3cd6182dd5
- https://git.kernel.org/stable/c/64654bf5efb3f748e6fc41227adda689618ce9c4
- https://git.kernel.org/stable/c/78a169dc69fbdaf114c40e2d56955bf6bd4fc3c0
- https://git.kernel.org/stable/c/7c1832287b21ff68c4e3625e63cc7619edf5908b
- https://git.kernel.org/stable/c/97384449ddfc07f12ca75f510eb070020d7abb34
- https://git.kernel.org/stable/c/a56777a3ef5b35e24a20c4418bcf88bad033807a
- https://git.kernel.org/stable/c/b514f45e0fe18d763a1afc34401b1585333cb329
- https://git.kernel.org/stable/c/c62c30429db3eb4ced35c7fcf6f04a61ce3a01bb
Modified: 2025-01-06
CVE-2024-56751
In the Linux kernel, the following vulnerability has been resolved: ipv6: release nexthop on device removal The CI is hitting some aperiodic hangup at device removal time in the pmtu.sh self-test: unregister_netdevice: waiting for veth_A-R1 to become free. Usage count = 6 ref_tracker: veth_A-R1@ffff888013df15d8 has 1/5 users at dst_init+0x84/0x4a0 dst_alloc+0x97/0x150 ip6_dst_alloc+0x23/0x90 ip6_rt_pcpu_alloc+0x1e6/0x520 ip6_pol_route+0x56f/0x840 fib6_rule_lookup+0x334/0x630 ip6_route_output_flags+0x259/0x480 ip6_dst_lookup_tail.constprop.0+0x5c2/0x940 ip6_dst_lookup_flow+0x88/0x190 udp_tunnel6_dst_lookup+0x2a7/0x4c0 vxlan_xmit_one+0xbde/0x4a50 [vxlan] vxlan_xmit+0x9ad/0xf20 [vxlan] dev_hard_start_xmit+0x10e/0x360 __dev_queue_xmit+0xf95/0x18c0 arp_solicit+0x4a2/0xe00 neigh_probe+0xaa/0xf0 While the first suspect is the dst_cache, explicitly tracking the dst owing the last device reference via probes proved such dst is held by the nexthop in the originating fib6_info. Similar to commit f5b51fe804ec ("ipv6: route: purge exception on removal"), we need to explicitly release the originating fib info when disconnecting a to-be-removed device from a live ipv6 dst: move the fib6_info cleanup into ip6_dst_ifdown(). Tested running: ./pmtu.sh cleanup_ipv6_exception in a tight loop for more than 400 iterations with no spat, running an unpatched kernel I observed a splat every ~10 iterations.
- https://git.kernel.org/stable/c/0e4c6faaef8a24b762a24ffb767280e263ef8e10
- https://git.kernel.org/stable/c/43e25adc80269f917d2a195f0d59f74cdd182955
- https://git.kernel.org/stable/c/a3c3f8a4d025acc8c857246ec2b812c59102487a
- https://git.kernel.org/stable/c/b2f26a27ea3f72f75d18330f76f5d1007c791848
- https://git.kernel.org/stable/c/eb02688c5c45c3e7af7e71f036a7144f5639cbfe
Modified: 2025-01-06
CVE-2024-56752
In the Linux kernel, the following vulnerability has been resolved: drm/nouveau/gr/gf100: Fix missing unlock in gf100_gr_chan_new() When the call to gf100_grctx_generate() fails, unlock gr->fecs.mutex before returning the error. Fixes smatch warning: drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c:480 gf100_gr_chan_new() warn: inconsistent returns '&gr->fecs.mutex'.
Modified: 2025-01-06
CVE-2024-56754
In the Linux kernel, the following vulnerability has been resolved: crypto: caam - Fix the pointer passed to caam_qi_shutdown() The type of the last parameter given to devm_add_action_or_reset() is "struct caam_drv_private *", but in caam_qi_shutdown(), it is casted to "struct device *". Pass the correct parameter to devm_add_action_or_reset() so that the resources are released as expected.
- https://git.kernel.org/stable/c/1f8e2f597b918ca5827a5c6d00b819d064264d1c
- https://git.kernel.org/stable/c/6187727e57aec122c8a99c464c74578c810cbe40
- https://git.kernel.org/stable/c/66eddb8dcb61065c53098510165f14b54232bcc2
- https://git.kernel.org/stable/c/84a185aea7b83f620699de0ea36907d588d89cf6
- https://git.kernel.org/stable/c/ad39df0898d3f469776c19d99229be055cc2dcea
- https://git.kernel.org/stable/c/ad980b04f51f7fb503530bd1cb328ba5e75a250e
- https://git.kernel.org/stable/c/cc386170b3312fd7b5bc4a69a9f52d7f50814526
Modified: 2025-01-06
CVE-2024-56755
In the Linux kernel, the following vulnerability has been resolved: netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING In fscache_create_volume(), there is a missing memory barrier between the bit-clearing operation and the wake-up operation. This may cause a situation where, after a wake-up, the bit-clearing operation hasn't been detected yet, leading to an indefinite wait. The triggering process is as follows: [cookie1] [cookie2] [volume_work] fscache_perform_lookup fscache_create_volume fscache_perform_lookup fscache_create_volume fscache_create_volume_work cachefiles_acquire_volume clear_and_wake_up_bit test_and_set_bit test_and_set_bit goto maybe_wait goto no_wait In the above process, cookie1 and cookie2 has the same volume. When cookie1 enters the -no_wait- process, it will clear the bit and wake up the waiting process. If a barrier is missing, it may cause cookie2 to remain in the -wait- process indefinitely. In commit 3288666c7256 ("fscache: Use clear_and_wake_up_bit() in fscache_create_volume_work()"), barriers were added to similar operations in fscache_create_volume_work(), but fscache_create_volume() was missed. By combining the clear and wake operations into clear_and_wake_up_bit() to fix this issue.
- https://git.kernel.org/stable/c/22f9400a6f3560629478e0a64247b8fcc811a24d
- https://git.kernel.org/stable/c/539fabba965e119b98066fc6ba5257b5eaf4eda2
- https://git.kernel.org/stable/c/8beb682cc9a0798a280bbb95e3e41617237090b2
- https://git.kernel.org/stable/c/8cc1df3113cb71a0df2c46dd5b102c9e11c8a8c6
- https://git.kernel.org/stable/c/ddab02607eed9e415dc62fde421d4329e5345315
Modified: 2025-01-06
CVE-2024-56756
In the Linux kernel, the following vulnerability has been resolved: nvme-pci: fix freeing of the HMB descriptor table The HMB descriptor table is sized to the maximum number of descriptors that could be used for a given device, but __nvme_alloc_host_mem could break out of the loop earlier on memory allocation failure and end up using less descriptors than planned for, which leads to an incorrect size passed to dma_free_coherent. In practice this was not showing up because the number of descriptors tends to be low and the dma coherent allocator always allocates and frees at least a page.
- https://git.kernel.org/stable/c/3c2fb1ca8086eb139b2a551358137525ae8e0d7a
- https://git.kernel.org/stable/c/452f9ddd12bebc04cef741e8ba3806bf0e1fd015
- https://git.kernel.org/stable/c/582d9ed999b004fb1d415ecbfa86d4d8df455269
- https://git.kernel.org/stable/c/6d0f599db73b099aa724a12736369c4d4d92849d
- https://git.kernel.org/stable/c/869cf50b9c9d1059f5223f79ef68fc0bc6210095
- https://git.kernel.org/stable/c/ac22240540e0c5230d8c4138e3778420b712716a
- https://git.kernel.org/stable/c/cee3bff51a35cab1c5d842d409a7b11caefe2386
- https://git.kernel.org/stable/c/fb96d5cfa97a7363245b3dd523f475b04296d87b
Modified: 2025-01-10
CVE-2024-56774
In the Linux kernel, the following vulnerability has been resolved: btrfs: add a sanity check for btrfs root in btrfs_search_slot() Syzbot reports a null-ptr-deref in btrfs_search_slot(). The reproducer is using rescue=ibadroots, and the extent tree root is corrupted thus the extent tree is NULL. When scrub tries to search the extent tree to gather the needed extent info, btrfs_search_slot() doesn't check if the target root is NULL or not, resulting the null-ptr-deref. Add sanity check for btrfs root before using it in btrfs_search_slot().
- https://git.kernel.org/stable/c/3ed51857a50f530ac7a1482e069dfbd1298558d4
- https://git.kernel.org/stable/c/757171d1369b3b47f36932d40a05a0715496dcab
- https://git.kernel.org/stable/c/93992c3d9629b02dccf6849238559d5c24f2dece
- https://git.kernel.org/stable/c/c71d114ef68c95da5a82ec85a721ab31f5bd905b
- https://git.kernel.org/stable/c/db66fb87c21e8ae724886e6a464dcbac562a64c6
Modified: 2025-01-10
CVE-2024-56776
In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state' in case of the failure.
- https://git.kernel.org/stable/c/40725c5fabee804fecce41d4d5c5bae80c45e1c4
- https://git.kernel.org/stable/c/831214f77037de02afc287eae93ce97f218d8c04
- https://git.kernel.org/stable/c/8ab73ac97c0fa528f66eeccd9bb53eb6eb7d20dc
- https://git.kernel.org/stable/c/e98ff67f5a68114804607de549c2350d27628fc7
- https://git.kernel.org/stable/c/f67786293193cf01ebcc6fdbcbd1587b24f52679
Modified: 2025-01-10
CVE-2024-56777
In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state' in case of the failure.
- https://git.kernel.org/stable/c/3cf2e7c448e246f7e700c7aa47450d1e27579559
- https://git.kernel.org/stable/c/997b64c3f4c1827c5cfda8ae7f5d13f78d28b541
- https://git.kernel.org/stable/c/b79612ed6bc1a184c45427105c851b5b2d4342ca
- https://git.kernel.org/stable/c/e965e771b069421c233d674c3c8cd8c7f7245f42
- https://git.kernel.org/stable/c/f5804567cf9605d6e5ec46c0bb786f7d50f18c13
Modified: 2025-01-10
CVE-2024-56778
In the Linux kernel, the following vulnerability has been resolved: drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check The return value of drm_atomic_get_crtc_state() needs to be checked. To avoid use of error pointer 'crtc_state' in case of the failure.
- https://git.kernel.org/stable/c/31c857e7496d34e5a32a6f75bc024d0b06fd646a
- https://git.kernel.org/stable/c/6b0d0d6e9d3c26697230bf7dc9e6b52bdb24086f
- https://git.kernel.org/stable/c/82a5312f874fb18f045d9658e9bd290e3b0621c0
- https://git.kernel.org/stable/c/837eb99ad3340c7a9febf454f41c8e3edb68ac1e
- https://git.kernel.org/stable/c/c1ab40a1fdfee732c7e6ff2fb8253760293e47e8
Modified: 2025-01-10
CVE-2024-56779
In the Linux kernel, the following vulnerability has been resolved:
nfsd: fix nfs4_openowner leak when concurrent nfsd4_open occur
The action force umount(umount -f) will attempt to kill all rpc_task even
umount operation may ultimately fail if some files remain open.
Consequently, if an action attempts to open a file, it can potentially
send two rpc_task to nfs server.
NFS CLIENT
thread1 thread2
open("file")
...
nfs4_do_open
_nfs4_do_open
_nfs4_open_and_get_state
_nfs4_proc_open
nfs4_run_open_task
/* rpc_task1 */
rpc_run_task
rpc_wait_for_completion_task
umount -f
nfs_umount_begin
rpc_killall_tasks
rpc_signal_task
rpc_task1 been wakeup
and return -512
_nfs4_do_open // while loop
...
nfs4_run_open_task
/* rpc_task2 */
rpc_run_task
rpc_wait_for_completion_task
While processing an open request, nfsd will first attempt to find or
allocate an nfs4_openowner. If it finds an nfs4_openowner that is not
marked as NFS4_OO_CONFIRMED, this nfs4_openowner will released. Since
two rpc_task can attempt to open the same file simultaneously from the
client to server, and because two instances of nfsd can run
concurrently, this situation can lead to lots of memory leak.
Additionally, when we echo 0 to /proc/fs/nfsd/threads, warning will be
triggered.
NFS SERVER
nfsd1 nfsd2 echo 0 > /proc/fs/nfsd/threads
nfsd4_open
nfsd4_process_open1
find_or_alloc_open_stateowner
// alloc oo1, stateid1
nfsd4_open
nfsd4_process_open1
find_or_alloc_open_stateowner
// find oo1, without NFS4_OO_CONFIRMED
release_openowner
unhash_openowner_locked
list_del_init(&oo->oo_perclient)
// cannot find this oo
// from client, LEAK!!!
alloc_stateowner // alloc oo2
nfsd4_process_open2
init_open_stateid
// associate oo1
// with stateid1, stateid1 LEAK!!!
nfs4_get_vfs_file
// alloc nfsd_file1 and nfsd_file_mark1
// all LEAK!!!
nfsd4_process_open2
...
write_threads
...
nfsd_destroy_serv
nfsd_shutdown_net
nfs4_state_shutdown_net
nfs4_state_destroy_net
destroy_client
__destroy_client
// won't find oo1!!!
nfsd_shutdown_generic
nfsd_file_cache_shutdown
kmem_cache_destroy
for nfsd_file_slab
and nfsd_file_mark_slab
// bark since nfsd_file1
// and nfsd_file_mark1
// still alive
=======================================================================
BUG nfsd_file (Not tainted): Objects remaining in nfsd_file on
__kmem_cache_shutdown()
-----------------------------------------------------------------------
Slab 0xffd4000004438a80 objects=34 used=1 fp=0xff11000110e2ad28
flags=0x17ffffc0000240(workingset|head|node=0|zone=2|lastcpupid=0x1fffff)
CPU: 4 UID: 0 PID: 757 Comm: sh Not tainted 6.12.0-rc6+ #19
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.16.1-2.fc37 04/01/2014
Call Trace:
- https://git.kernel.org/stable/c/0ab0a3ad24e970e894abcac58f85c332d1726749
- https://git.kernel.org/stable/c/2d505a801e57428057563762f67a5a62009b2600
- https://git.kernel.org/stable/c/37dfc81266d3a32294524bfadd3396614f8633ee
- https://git.kernel.org/stable/c/45abb68c941ebc9a35c6d3a7b08196712093c636
- https://git.kernel.org/stable/c/6f73f920b7ad0084373e46121d7ac34117aed652
- https://git.kernel.org/stable/c/98100e88dd8865999dc6379a3356cd799795fe7b
- https://git.kernel.org/stable/c/a85364f0d30dee01c5d5b4afa55a9629a8f36d8e
Modified: 2025-01-10
CVE-2024-56780
In the Linux kernel, the following vulnerability has been resolved: quota: flush quota_release_work upon quota writeback One of the paths quota writeback is called from is: freeze_super() sync_filesystem() ext4_sync_fs() dquot_writeback_dquots() Since we currently don't always flush the quota_release_work queue in this path, we can end up with the following race: 1. dquot are added to releasing_dquots list during regular operations. 2. FS Freeze starts, however, this does not flush the quota_release_work queue. 3. Freeze completes. 4. Kernel eventually tries to flush the workqueue while FS is frozen which hits a WARN_ON since transaction gets started during frozen state: ext4_journal_check_start+0x28/0x110 [ext4] (unreliable) __ext4_journal_start_sb+0x64/0x1c0 [ext4] ext4_release_dquot+0x90/0x1d0 [ext4] quota_release_workfn+0x43c/0x4d0 Which is the following line: WARN_ON(sb->s_writers.frozen == SB_FREEZE_COMPLETE); Which ultimately results in generic/390 failing due to dmesg noise. This was detected on powerpc machine 15 cores. To avoid this, make sure to flush the workqueue during dquot_writeback_dquots() so we dont have any pending workitems after freeze.
- https://git.kernel.org/stable/c/3e6ff207cd5bd924ad94cd1a7c633bcdac0ba1cb
- https://git.kernel.org/stable/c/6f3821acd7c3143145999248087de5fb4b48cf26
- https://git.kernel.org/stable/c/8ea87e34792258825d290f4dc5216276e91cb224
- https://git.kernel.org/stable/c/a5abba5e0e586e258ded3e798fe5f69c66fec198
- https://git.kernel.org/stable/c/ab6cfcf8ed2c7496f55d020b65b1d8cd55d9a2cb
- https://git.kernel.org/stable/c/ac6f420291b3fee1113f21d612fa88b628afab5b
- https://git.kernel.org/stable/c/bcacb52a985f1b6d280f698a470b873dfe52728a