In the Linux kernel, the following vulnerability has been resolved:
atm: Release atmdevmutex after removing procfs in atmdevderegister().
syzbot reported a warning below during atmdevregister(). [0]
Before creating a new device and procfs/sysfs for it, atmdevregister() looks up a duplicated device by _atmdevlookup(). These operations are done under atmdev_mutex.
However, when removing a device in atmdevderegister(), it releases the mutex just after removing the device from the list that _atmdev_lookup() iterates over.
So, there will be a small race window where the device does not exist on the device list but procfs/sysfs are still not removed, triggering the splat.
Let's hold the mutex until procfs/sysfs are removed in atmdevderegister().
WARNING: CPU: 0 PID: 5919 at fs/proc/generic.c:377 procregister+0x455/0x5f0 fs/proc/generic.c:377 Modules linked in: CPU: 0 UID: 0 PID: 5919 Comm: syz-executor284 Not tainted 6.16.0-rc2-syzkaller-00047-g52da431bf03b #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 RIP: 0010:procregister+0x455/0x5f0 fs/proc/generic.c:377 Code: 48 89 f9 48 c1 e9 03 80 3c 01 00 0f 85 a2 01 00 00 48 8b 44 24 10 48 c7 c7 20 c0 c2 8b 48 8b b0 d8 00 00 00 e8 0c 02 1c ff 90 <0f> 0b 90 90 48 c7 c7 80 f2 82 8e e8 0b de 23 09 48 8b 4c 24 28 48 RSP: 0018:ffffc9000466fa30 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff817ae248 RDX: ffff888026280000 RSI: ffffffff817ae255 RDI: 0000000000000001 RBP: ffff8880232bed48 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000001 R12: ffff888076ed2140 R13: dffffc0000000000 R14: ffff888078a61340 R15: ffffed100edda444 FS: 00007f38b3b0c6c0(0000) GS:ffff888124753000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f38b3bdf953 CR3: 0000000076d58000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> proccreatedata+0xbe/0x110 fs/proc/generic.c:585 atmprocdevregister+0x112/0x1e0 net/atm/proc.c:361 atmdevregister+0x46d/0x890 net/atm/resources.c:113 atmtcpcreate+0x77/0x210 drivers/atm/atmtcp.c:369 atmtcpattach drivers/atm/atmtcp.c:403 [inline] atmtcpioctl+0x2f9/0xd60 drivers/atm/atmtcp.c:464 dovccioctl+0x12c/0x930 net/atm/ioctl.c:159 sockdoioctl+0x115/0x280 net/socket.c:1190 sockioctl+0x227/0x6b0 net/socket.c:1311 vfsioctl fs/ioctl.c:51 [inline] _dosysioctl fs/ioctl.c:907 [inline] _sesysioctl fs/ioctl.c:893 [inline] _x64sysioctl+0x18b/0x210 fs/ioctl.c:893 dosyscallx64 arch/x86/entry/syscall64.c:63 [inline] dosyscall64+0xcd/0x4c0 arch/x86/entry/syscall64.c:94 entrySYSCALL64afterhwframe+0x77/0x7f RIP: 0033:0x7f38b3b74459 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f38b3b0c198 EFLAGS: 00000246 ORIGRAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007f38b3bfe318 RCX: 00007f38b3b74459 RDX: 0000000000000000 RSI: 0000000000006180 RDI: 0000000000000005 RBP: 00007f38b3bfe310 R08: 65732f636f72702f R09: 65732f636f72702f R10: 65732f636f72702f R11: 0000000000000246 R12: 00007f38b3bcb0ac R13: 00007f38b3b0c1a0 R14: 0000200000000200 R15: 00007f38b3bcb03b </TASK>
[
{
"id": "CVE-2025-38245-05721fa3",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6922f1a048c090f10704bbef4a3a1e81932d2e0a"
},
{
"id": "CVE-2025-38245-05f89450",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bb1bb438134d9ee6b97cc07289dd7c569092eec"
},
{
"id": "CVE-2025-38245-091c2abc",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a8dcee649d12f69713f2589171a1caf6d4fa439"
},
{
"id": "CVE-2025-38245-0a19f140",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a433791aeaea6e84df709e0b9584b9bbe040cd1c"
},
{
"id": "CVE-2025-38245-1bb3f5b3",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae539d963a17443ec54cba8a767e4ffa318264f4"
},
{
"id": "CVE-2025-38245-2a29f60a",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2a8dcee649d12f69713f2589171a1caf6d4fa439"
},
{
"id": "CVE-2025-38245-3216c760",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6922f1a048c090f10704bbef4a3a1e81932d2e0a"
},
{
"id": "CVE-2025-38245-45c4c2a9",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cabed6ba92a9a8c09da02a3f20e32ecd80989896"
},
{
"id": "CVE-2025-38245-5b898a84",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae539d963a17443ec54cba8a767e4ffa318264f4"
},
{
"id": "CVE-2025-38245-a736681c",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cabed6ba92a9a8c09da02a3f20e32ecd80989896"
},
{
"id": "CVE-2025-38245-ad0e7621",
"signature_type": "Line",
"digest": {
"line_hashes": [
"131650384145923804871124452990949182370",
"294576137858182506504771751270884531015",
"179274280139420017239151738743753746016",
"229181447217808686154663680197927460141",
"66506277512017856810064053026477068989",
"45935448513860216306398995462018145256",
"238258067582861305457212519816008950449"
],
"threshold": 0.9
},
"target": {
"file": "net/atm/resources.c"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26248d5d68c865b888d632162abbf8130645622c"
},
{
"id": "CVE-2025-38245-aef0204b",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26248d5d68c865b888d632162abbf8130645622c"
},
{
"id": "CVE-2025-38245-bbcbdf87",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a433791aeaea6e84df709e0b9584b9bbe040cd1c"
},
{
"id": "CVE-2025-38245-de63aa00",
"signature_type": "Function",
"digest": {
"length": 328.0,
"function_hash": "104118280726924052468017064959630646462"
},
"target": {
"file": "net/atm/resources.c",
"function": "atm_dev_deregister"
},
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bb1bb438134d9ee6b97cc07289dd7c569092eec"
}
]