# CVE-2026-90302: ocfs2: synchronize heartbeat callbacks with o2net teardown

CVE-2026-90302 is fixed in 37 products on 1 platform, first by DEBIAN-CVE-2026-90302, released September 23, 2026. It is not reported as exploited. Patch Radar priority: High.

- Web page: https://patchblox.com/security/cve/CVE-2026-90302
- Priority: High
- CVSS: 7.8 (Important)
- EPSS: 0.0022
- CISA KEV: not listed
- Exploited (vendor report): no
- Publicly disclosed: no
- Published: Sep 17, 2026
- Vendor advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-90302

## Description

In the Linux kernel, the following vulnerability has been resolved:  ocfs2: synchronize heartbeat callbacks with o2net teardown  Patch series "ocfs2: harden heartbeat teardown races".  This series fixes two OCFS2 heartbeat/o2net teardown races found by KASAN.   This patch (of 2):  Heartbeat callbacks stay registered while configfs local-node teardown enters o2net_stop_listening().  A node-down event can still run through o2net_disconnect_node() and o2net_set_nn_state() while teardown is destroying o2net_wq, so the later queue/flush operations can hit a dead workqueue.  KASAN has caught this as a slab-use-after-free in __queue_work() with the call chain:  KASAN slab-use-after-free in __queue_work+0x56/0xa90 Read of size 4 Call trace:   dump_stack_lvl+0x66/0xa0   print_report+0xce/0x630   __queue_work+0x56/0xa90   srso_alias_return_thunk+0x5/0xfbef5   __virt_addr_valid+0x19f/0x330   kasan_report+0xe0/0x110   __queue_delayed_work+0x58/0x1e0   queue_delayed_work_on+0xb4/0xc0   o2net_set_nn_state+0x467/0x840   o2net_disconnect_node+0x7b/0xe0   o2net_hb_node_down_cb+0x54/0x60   o2hb_run_event_list+0x236/0x2d0   o2hb_check_slot+0xad4/0xbc0   lock_release+0xc8/0x290   o2hb_check_slot+0x9ea/0xbc0   trace_hardirqs_on+0x18/0x130   o2hb_do_disk_heartbeat+0x646/0xb30 (fs/ocfs2/cluster/heartbeat.c:1079)   __lock_acquire+0x466/0x2260   lockdep_hardirqs_on_prepare+0xea/0x1a0   ktime_get_with_offset+0xe9/0x230   o2hb_thread+0x14e/0x770   kthread+0x1ad/0x1f0   ret_from_fork+0x3c9/0x540   __switch_to+0x2e9/0x730   ret_from_fork_asm+0x1a/0x30 Allocated by task stack:   kasan_save_stack+0x33/0x60   kasan_save_track+0x14/0x30   __kasan_kmalloc+0xaa/0xb0   __kmalloc_noprof+0x292/0x760   __alloc_workqueue+0x736/0xc60   alloc_workqueue_noprof+0xb1/0x110   o2net_start_listening+0xe5/0x430   o2nm_node_local_store+0x184/0x310   configfs_write_iter+0x18a/0x210   vfs_write+0x469/0x810   ksys_write+0xd2/0x170   do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87)   entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task stack:   kasan_save_stack+0x33/0x60   kasan_save_track+0x14/0x30   kasan_save_free_info+0x3b/0x60   __kasan_slab_free+0x5f/0x80   kfree+0x313/0x590   rcu_core+0x4f4/0x1320   handle_softirqs+0x156/0x660  queue_delayed_work_on o2net_set_nn_state o2net_disconnect_node o2net_hb_node_down_cb o2hb_run_event_list  Keep heartbeat callbacks registered so quorum state still tracks node state, but stop them from driving o2net reconnect/disconnect work once local teardown starts. Mark the transport offline before destroying o2net_wq, wait for any in-flight heartbeat callback to finish, and delay bring-up replay until the new local node is published through o2nm_this_node().  The replay also has to stay serialized with heartbeat callback delivery. Otherwise a live-node snapshot can be copied, a real hb_down callback can install -ENOTCONN for a peer, and the stale replay can call o2net_hb_node_up() for that same peer and queue reconnect work even though heartbeat is already down.  The buggy scenario involves two paths, with each column showing the order within that path:  local-node teardown:                 heartbeat node-down callback: 1. configfs local-off enters         1. o2hb_run_event_list() invokes    o2net_stop_listening().              o2net_hb_node_down_cb(). 2. teardown heads for                2. the callback reaches    destroy_workqueue(o2net_wq).         o2net_disconnect_node() and                                         o2net_set_nn_state(). 3. teardown destroys and NULLs       3. the callback flushes or queues    o2net_wq.                            work through o2net_wq.

## Where it's fixed

| Platform | Product | Fixed in | Fix | Released |
|---|---|---|---|---|
| Linux | kernel-uek ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-devel ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-devel ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-deprecated ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-deprecated ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-desktop ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-desktop ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-extra ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-extra ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-extra-netfilter ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-extra-netfilter ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-usb ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-usb ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-wireless ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-debug-modules-wireless ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-devel ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-devel ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-doc ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-doc ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-deprecated ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-deprecated ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-desktop ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-desktop ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-extra ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-extra ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-extra-netfilter ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-extra-netfilter ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-usb ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-usb ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-wireless ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-modules-wireless ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-tools ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek-tools ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-devel ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-devel ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-core ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-core ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-deprecated ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-deprecated ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-desktop ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-desktop ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-extra ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-extra ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-extra-netfilter ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-extra-netfilter ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-usb ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-usb ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-wireless ol 10 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | kernel-uek64k-modules-wireless ol 9 | 0:6.12.0-207.111.5.1.el9uek | [ELSA-2026-500374](https://patchblox.com/security/data/fix/linux/elsa-2026-500374.md) | Oct 7, 2026 |
| Linux | linux Debian 12.15 (bookworm) | 6.1.190-1 | [DEBIAN-CVE-2026-90302](https://patchblox.com/security/data/fix/linux/debian-cve-2026-90302.md) | Sep 23, 2026 |
| Linux | linux Debian 13.5 (trixie) | 6.12.111-1 | [DEBIAN-CVE-2026-90302](https://patchblox.com/security/data/fix/linux/debian-cve-2026-90302.md) | Sep 23, 2026 |
| Linux | linux Debian 14 | 7.2.6-1 | [DEBIAN-CVE-2026-90302](https://patchblox.com/security/data/fix/linux/debian-cve-2026-90302.md) | Sep 23, 2026 |
| Linux | linux-6.12 Debian 12.15 (bookworm) | 6.12.111-1~deb12u1 | [DEBIAN-CVE-2026-90302](https://patchblox.com/security/data/fix/linux/debian-cve-2026-90302.md) | Sep 23, 2026 |

---

Data as of 2026-11-08T00:53:09Z UTC. Source: Patchblox Patch Radar (https://patchblox.com/security/patch-radar). Patchblox finds out-of-date software on Windows, macOS and Linux and updates it through release rings: https://patchblox.com/demo

Free to use with attribution: show "Data: Patchblox Patch Radar" with a link to https://patchblox.com/security/patch-radar. Terms, including what needs a written agreement: https://patchblox.com/security/patch-radar/use-the-data

Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.
