{"id":"CVE-2022-50373","summary":"fs: dlm: fix race in lowcomms","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nfs: dlm: fix race in lowcomms\n\nThis patch fixes a race between queue_work() in\n_dlm_lowcomms_commit_msg() and srcu_read_unlock(). The queue_work() can\ntake the final reference of a dlm_msg and so msg-\u003eidx can contain\ngarbage which is signaled by the following warning:\n\n[  676.237050] ------------[ cut here ]------------\n[  676.237052] WARNING: CPU: 0 PID: 1060 at include/linux/srcu.h:189 dlm_lowcomms_commit_msg+0x41/0x50\n[  676.238945] Modules linked in: dlm_locktorture torture rpcsec_gss_krb5 intel_rapl_msr intel_rapl_common iTCO_wdt iTCO_vendor_support qxl kvm_intel drm_ttm_helper vmw_vsock_virtio_transport kvm vmw_vsock_virtio_transport_common ttm irqbypass crc32_pclmul joydev crc32c_intel serio_raw drm_kms_helper vsock virtio_scsi virtio_console virtio_balloon snd_pcm drm syscopyarea sysfillrect sysimgblt snd_timer fb_sys_fops i2c_i801 lpc_ich snd i2c_smbus soundcore pcspkr\n[  676.244227] CPU: 0 PID: 1060 Comm: lock_torture_wr Not tainted 5.19.0-rc3+ #1546\n[  676.245216] Hardware name: Red Hat KVM/RHEL-AV, BIOS 1.16.0-2.module+el8.7.0+15506+033991b0 04/01/2014\n[  676.246460] RIP: 0010:dlm_lowcomms_commit_msg+0x41/0x50\n[  676.247132] Code: fe ff ff ff 75 24 48 c7 c6 bd 0f 49 bb 48 c7 c7 38 7c 01 bd e8 00 e7 ca ff 89 de 48 c7 c7 60 78 01 bd e8 42 3d cd ff 5b 5d c3 \u003c0f\u003e 0b eb d8 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48\n[  676.249253] RSP: 0018:ffffa401c18ffc68 EFLAGS: 00010282\n[  676.249855] RAX: 0000000000000001 RBX: 00000000ffff8b76 RCX: 0000000000000006\n[  676.250713] RDX: 0000000000000000 RSI: ffffffffbccf3a10 RDI: ffffffffbcc7b62e\n[  676.251610] RBP: ffffa401c18ffc70 R08: 0000000000000001 R09: 0000000000000001\n[  676.252481] R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000005\n[  676.253421] R13: ffff8b76786ec370 R14: ffff8b76786ec370 R15: ffff8b76786ec480\n[  676.254257] FS:  0000000000000000(0000) GS:ffff8b7777800000(0000) knlGS:0000000000000000\n[  676.255239] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[  676.255897] CR2: 00005590205d88b8 CR3: 000000017656c003 CR4: 0000000000770ee0\n[  676.256734] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  676.257567] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400\n[  676.258397] PKRU: 55555554\n[  676.258729] Call Trace:\n[  676.259063]  \u003cTASK\u003e\n[  676.259354]  dlm_midcomms_commit_mhandle+0xcc/0x110\n[  676.259964]  queue_bast+0x8b/0xb0\n[  676.260423]  grant_pending_locks+0x166/0x1b0\n[  676.261007]  _unlock_lock+0x75/0x90\n[  676.261469]  unlock_lock.isra.57+0x62/0xa0\n[  676.262009]  dlm_unlock+0x21e/0x330\n[  676.262457]  ? lock_torture_stats+0x80/0x80 [dlm_locktorture]\n[  676.263183]  torture_unlock+0x5a/0x90 [dlm_locktorture]\n[  676.263815]  ? preempt_count_sub+0xba/0x100\n[  676.264361]  ? complete+0x1d/0x60\n[  676.264777]  lock_torture_writer+0xb8/0x150 [dlm_locktorture]\n[  676.265555]  kthread+0x10a/0x130\n[  676.266007]  ? kthread_complete_and_exit+0x20/0x20\n[  676.266616]  ret_from_fork+0x22/0x30\n[  676.267097]  \u003c/TASK\u003e\n[  676.267381] irq event stamp: 9579855\n[  676.267824] hardirqs last  enabled at (9579863): [\u003cffffffffbb14e6f8\u003e] __up_console_sem+0x58/0x60\n[  676.268896] hardirqs last disabled at (9579872): [\u003cffffffffbb14e6dd\u003e] __up_console_sem+0x3d/0x60\n[  676.270008] softirqs last  enabled at (9579798): [\u003cffffffffbc200349\u003e] __do_softirq+0x349/0x4c7\n[  676.271438] softirqs last disabled at (9579897): [\u003cffffffffbb0d54c0\u003e] irq_exit_rcu+0xb0/0xf0\n[  676.272796] ---[ end trace 0000000000000000 ]---\n\nI reproduced this warning with dlm_locktorture test which is currently\nnot upstream. However this patch fix the issue by make a additional\nrefcount between dlm_lowcomms_new_msg() and dlm_lowcomms_commit_msg().\nIn case of the race the kref_put() in dlm_lowcomms_commit_msg() will be\nthe final put.","modified":"2026-04-02T08:28:27.263490Z","published":"2025-09-17T14:56:28.282Z","related":["SUSE-SU-2025:03615-1","SUSE-SU-2025:03628-1","SUSE-SU-2025:3716-1","SUSE-SU-2025:3761-1"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50373.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/27d3e646dd83bafd7094890462eebfce3ac31e4a"},{"type":"WEB","url":"https://git.kernel.org/stable/c/30ea3257e8766027c4d8d609dcbd256ff9a76073"},{"type":"WEB","url":"https://git.kernel.org/stable/c/de7fdff754bb4d01e38e19964c309b6df6a79472"},{"type":"WEB","url":"https://git.kernel.org/stable/c/eb97e60a9eae632ff9104a580dbc4fdc58dc23cb"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50373.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-50373"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"b38bc9c2b3171f4411d80015ecb876bc6f9bcd26"},{"fixed":"27d3e646dd83bafd7094890462eebfce3ac31e4a"},{"fixed":"eb97e60a9eae632ff9104a580dbc4fdc58dc23cb"},{"fixed":"de7fdff754bb4d01e38e19964c309b6df6a79472"},{"fixed":"30ea3257e8766027c4d8d609dcbd256ff9a76073"}]},{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"0"},{"last_affected":"7ae861bbfa0f69bd36bdff47f9755ad67a2bd219"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50373.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}