{"id":"DEBIAN-CVE-2025-38517","details":"In the Linux kernel, the following vulnerability has been resolved:  lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users()  alloc_tag_top_users() attempts to lock alloc_tag_cttype-\u003emod_lock even when the alloc_tag_cttype is not allocated because:    1) alloc tagging is disabled because mem profiling is disabled      (!alloc_tag_cttype)   2) alloc tagging is enabled, but not yet initialized (!alloc_tag_cttype)   3) alloc tagging is enabled, but failed initialization      (!alloc_tag_cttype or IS_ERR(alloc_tag_cttype))  In all cases, alloc_tag_cttype is not allocated, and therefore alloc_tag_top_users() should not attempt to acquire the semaphore.  This leads to a crash on memory allocation failure by attempting to acquire a non-existent semaphore:    Oops: general protection fault, probably for non-canonical address 0xdffffc000000001b: 0000 [#3] SMP KASAN NOPTI   KASAN: null-ptr-deref in range [0x00000000000000d8-0x00000000000000df]   CPU: 2 UID: 0 PID: 1 Comm: systemd Tainted: G      D             6.16.0-rc2 #1 VOLUNTARY   Tainted: [D]=DIE   Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014   RIP: 0010:down_read_trylock+0xaa/0x3b0   Code: d0 7c 08 84 d2 0f 85 a0 02 00 00 8b 0d df 31 dd 04 85 c9 75 29 48 b8 00 00 00 00 00 fc ff df 48 8d 6b 68 48 89 ea 48 c1 ea 03 \u003c80\u003e 3c 02 00 0f 85 88 02 00 00 48 3b 5b 68 0f 85 53 01 00 00 65 ff   RSP: 0000:ffff8881002ce9b8 EFLAGS: 00010016   RAX: dffffc0000000000 RBX: 0000000000000070 RCX: 0000000000000000   RDX: 000000000000001b RSI: 000000000000000a RDI: 0000000000000070   RBP: 00000000000000d8 R08: 0000000000000001 R09: ffffed107dde49d1   R10: ffff8883eef24e8b R11: ffff8881002cec20 R12: 1ffff11020059d37   R13: 00000000003fff7b R14: ffff8881002cec20 R15: dffffc0000000000   FS:  00007f963f21d940(0000) GS:ffff888458ca6000(0000) knlGS:0000000000000000   CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033   CR2: 00007f963f5edf71 CR3: 000000010672c000 CR4: 0000000000350ef0   Call Trace:    \u003cTASK\u003e    codetag_trylock_module_list+0xd/0x20    alloc_tag_top_users+0x369/0x4b0    __show_mem+0x1cd/0x6e0    warn_alloc+0x2b1/0x390    __alloc_frozen_pages_noprof+0x12b9/0x21a0    alloc_pages_mpol+0x135/0x3e0    alloc_slab_page+0x82/0xe0    new_slab+0x212/0x240    ___slab_alloc+0x82a/0xe00    \u003c/TASK\u003e  As David Wang points out, this issue became easier to trigger after commit 780138b12381 (\"alloc_tag: check mem_profiling_support in alloc_tag_init\").  Before the commit, the issue occurred only when it failed to allocate and initialize alloc_tag_cttype or if a memory allocation fails before alloc_tag_init() is called.  After the commit, it can be easily triggered when memory profiling is compiled but disabled at boot.  To properly determine whether alloc_tag_init() has been called and its data structures initialized, verify that alloc_tag_cttype is a valid pointer before acquiring the semaphore.  If the variable is NULL or an error value, it has not been properly initialized.  In such a case, just skip and do not attempt to acquire the semaphore.  [harry.yoo@oracle.com: v3]","modified":"2026-08-27T23:05:30.141545655Z","published":"2025-08-16T11:15:44.897Z","upstream":["CVE-2025-38517"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2025-38517"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:13","purl":"pkg:deb/debian/linux?arch=source&distro=trixie"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.12.41-1"}]}],"versions":["6.12.38-1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2025-38517.json"}},{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.16.3-1"}]}],"versions":["6.12.100-1","6.12.101-1","6.12.105-1","6.12.38-1","6.12.41-1","6.12.43-1","6.12.43-1~bpo12+1","6.12.48-1","6.12.57-1","6.12.57-1~bpo12+1","6.12.63-1","6.12.63-1~bpo12+1","6.12.69-1","6.12.69-1~bpo12+1","6.12.73-1","6.12.73-1~bpo12+1","6.12.74-1","6.12.74-2","6.12.74-2~bpo12+1","6.12.85-1","6.12.85-1~bpo12+1","6.12.86-1","6.12.86-1~bpo12+1","6.12.88-1","6.12.88-1~bpo12+1","6.12.90-1","6.12.90-1~bpo12+1","6.12.90-2","6.12.90-2~bpo12+1","6.12.94-1","6.12.94-1~bpo12+1","6.12.95-1","6.12.95-1~bpo12+1","6.12.96-1","6.13.10-1~exp1","6.13.11-1~exp1","6.13.2-1~exp1","6.13.3-1~exp1","6.13.4-1~exp1","6.13.5-1~exp1","6.13.6-1~exp1","6.13.7-1~exp1","6.13.8-1~exp1","6.13.9-1~exp1","6.13~rc6-1~exp1","6.13~rc7-1~exp1","6.14.3-1~exp1","6.14.5-1~exp1","6.14.6-1~exp1","6.15-1~exp1","6.15.1-1~exp1","6.15.2-1~exp1","6.15.3-1~exp1","6.15.4-1~exp1","6.15.5-1~exp1","6.15.6-1~exp1","6.15~rc7-1~exp1","6.16-1~exp1","6.16.1-1~exp1","6.16.3-1~bpo13+1","6.16~rc7-1~exp1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/osv-test-debian-osv/debian-cve-osv/DEBIAN-CVE-2025-38517.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}