Vulnerability Details CVE-2026-31689
In the Linux kernel, the following vulnerability has been resolved:
EDAC/mc: Fix error path ordering in edac_mc_alloc()
When the mci->pvt_info allocation in edac_mc_alloc() fails, the error path
will call put_device() which will end up calling the device's release
function.
However, the init ordering is wrong such that device_initialize() happens
*after* the failed allocation and thus the device itself and the release
function pointer are not initialized yet when they're called:
MCE: In-kernel MCE decoding enabled.
------------[ cut here ]------------
kobject: '(null)': is not initialized, yet kobject_put() is being called.
WARNING: lib/kobject.c:734 at kobject_put, CPU#22: systemd-udevd
CPU: 22 UID: 0 PID: 538 Comm: systemd-udevd Not tainted 7.0.0-rc1+ #2 PREEMPT(full)
RIP: 0010:kobject_put
Call Trace:
<TASK>
edac_mc_alloc+0xbe/0xe0 [edac_core]
amd64_edac_init+0x7a4/0xff0 [amd64_edac]
? __pfx_amd64_edac_init+0x10/0x10 [amd64_edac]
do_one_initcall
...
Reorder the calling sequence so that the device is initialized and thus the
release function pointer is properly set before it can be used.
This was found by Claude while reviewing another EDAC patch.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.001
EPSS Ranking 1.8%
CVSS Severity
CVSS v3 Score 5.5
Products affected by CVE-2026-31689
-
cpe:2.3:o:linux:linux_kernel:5.19
-
cpe:2.3:o:linux:linux_kernel:5.19.1
-
cpe:2.3:o:linux:linux_kernel:5.19.10
-
cpe:2.3:o:linux:linux_kernel:5.19.11
-
cpe:2.3:o:linux:linux_kernel:5.19.12
-
cpe:2.3:o:linux:linux_kernel:5.19.13
-
cpe:2.3:o:linux:linux_kernel:5.19.14
-
cpe:2.3:o:linux:linux_kernel:5.19.15
-
cpe:2.3:o:linux:linux_kernel:5.19.16
-
cpe:2.3:o:linux:linux_kernel:5.19.17
-
cpe:2.3:o:linux:linux_kernel:5.19.2
-
cpe:2.3:o:linux:linux_kernel:5.19.3
-
cpe:2.3:o:linux:linux_kernel:5.19.4
-
cpe:2.3:o:linux:linux_kernel:5.19.5
-
cpe:2.3:o:linux:linux_kernel:5.19.6
-
cpe:2.3:o:linux:linux_kernel:5.19.7
-
cpe:2.3:o:linux:linux_kernel:5.19.8
-
cpe:2.3:o:linux:linux_kernel:5.19.9
-
cpe:2.3:o:linux:linux_kernel:6.0
-
cpe:2.3:o:linux:linux_kernel:6.0.1
-
cpe:2.3:o:linux:linux_kernel:6.0.10
-
cpe:2.3:o:linux:linux_kernel:6.0.11
-
cpe:2.3:o:linux:linux_kernel:6.0.12
-
cpe:2.3:o:linux:linux_kernel:6.0.13
-
cpe:2.3:o:linux:linux_kernel:6.0.14
-
cpe:2.3:o:linux:linux_kernel:6.0.15
-
cpe:2.3:o:linux:linux_kernel:6.0.16
-
cpe:2.3:o:linux:linux_kernel:6.0.17
-
cpe:2.3:o:linux:linux_kernel:6.0.18
-
cpe:2.3:o:linux:linux_kernel:6.0.19
-
cpe:2.3:o:linux:linux_kernel:6.0.2
-
cpe:2.3:o:linux:linux_kernel:6.0.3
-
cpe:2.3:o:linux:linux_kernel:6.0.4
-
cpe:2.3:o:linux:linux_kernel:6.0.5
-
cpe:2.3:o:linux:linux_kernel:6.0.6
-
cpe:2.3:o:linux:linux_kernel:6.0.7
-
cpe:2.3:o:linux:linux_kernel:6.0.8
-
cpe:2.3:o:linux:linux_kernel:6.0.9
-
cpe:2.3:o:linux:linux_kernel:6.1
-
cpe:2.3:o:linux:linux_kernel:6.1.0
-
cpe:2.3:o:linux:linux_kernel:6.1.1
-
cpe:2.3:o:linux:linux_kernel:6.1.10
-
cpe:2.3:o:linux:linux_kernel:6.1.100
-
cpe:2.3:o:linux:linux_kernel:6.1.101
-
cpe:2.3:o:linux:linux_kernel:6.1.102
-
cpe:2.3:o:linux:linux_kernel:6.1.103
-
cpe:2.3:o:linux:linux_kernel:6.1.104
-
cpe:2.3:o:linux:linux_kernel:6.1.105
-
cpe:2.3:o:linux:linux_kernel:6.1.106
-
cpe:2.3:o:linux:linux_kernel:6.1.107
-
cpe:2.3:o:linux:linux_kernel:6.1.108
-
cpe:2.3:o:linux:linux_kernel:6.1.109
-
cpe:2.3:o:linux:linux_kernel:6.1.11
-
cpe:2.3:o:linux:linux_kernel:6.1.110
-
cpe:2.3:o:linux:linux_kernel:6.1.111
-
cpe:2.3:o:linux:linux_kernel:6.1.112
-
cpe:2.3:o:linux:linux_kernel:6.1.113
-
cpe:2.3:o:linux:linux_kernel:6.1.114
-
cpe:2.3:o:linux:linux_kernel:6.1.115
-
cpe:2.3:o:linux:linux_kernel:6.1.116
-
cpe:2.3:o:linux:linux_kernel:6.1.117
-
cpe:2.3:o:linux:linux_kernel:6.1.118
-
cpe:2.3:o:linux:linux_kernel:6.1.119
-
cpe:2.3:o:linux:linux_kernel:6.1.12
-
cpe:2.3:o:linux:linux_kernel:6.1.120
-
cpe:2.3:o:linux:linux_kernel:6.1.121
-
cpe:2.3:o:linux:linux_kernel:6.1.122
-
cpe:2.3:o:linux:linux_kernel:6.1.123
-
cpe:2.3:o:linux:linux_kernel:6.1.124
-
cpe:2.3:o:linux:linux_kernel:6.1.125
-
cpe:2.3:o:linux:linux_kernel:6.1.126
-
cpe:2.3:o:linux:linux_kernel:6.1.127
-
cpe:2.3:o:linux:linux_kernel:6.1.128
-
cpe:2.3:o:linux:linux_kernel:6.1.129
-
cpe:2.3:o:linux:linux_kernel:6.1.13
-
cpe:2.3:o:linux:linux_kernel:6.1.130
-
cpe:2.3:o:linux:linux_kernel:6.1.131
-
cpe:2.3:o:linux:linux_kernel:6.1.132
-
cpe:2.3:o:linux:linux_kernel:6.1.133
-
cpe:2.3:o:linux:linux_kernel:6.1.134
-
cpe:2.3:o:linux:linux_kernel:6.1.135
-
cpe:2.3:o:linux:linux_kernel:6.1.136
-
cpe:2.3:o:linux:linux_kernel:6.1.137
-
cpe:2.3:o:linux:linux_kernel:6.1.138
-
cpe:2.3:o:linux:linux_kernel:6.1.139
-
cpe:2.3:o:linux:linux_kernel:6.1.14
-
cpe:2.3:o:linux:linux_kernel:6.1.140
-
cpe:2.3:o:linux:linux_kernel:6.1.141
-
cpe:2.3:o:linux:linux_kernel:6.1.142
-
cpe:2.3:o:linux:linux_kernel:6.1.143
-
cpe:2.3:o:linux:linux_kernel:6.1.144
-
cpe:2.3:o:linux:linux_kernel:6.1.145
-
cpe:2.3:o:linux:linux_kernel:6.1.146
-
cpe:2.3:o:linux:linux_kernel:6.1.147
-
cpe:2.3:o:linux:linux_kernel:6.1.148
-
cpe:2.3:o:linux:linux_kernel:6.1.149
-
cpe:2.3:o:linux:linux_kernel:6.1.15
-
cpe:2.3:o:linux:linux_kernel:6.1.150
-
cpe:2.3:o:linux:linux_kernel:6.1.151
-
cpe:2.3:o:linux:linux_kernel:6.1.152
-
cpe:2.3:o:linux:linux_kernel:6.1.153
-
cpe:2.3:o:linux:linux_kernel:6.1.154
-
cpe:2.3:o:linux:linux_kernel:6.1.155
-
cpe:2.3:o:linux:linux_kernel:6.1.156
-
cpe:2.3:o:linux:linux_kernel:6.1.157
-
cpe:2.3:o:linux:linux_kernel:6.1.158
-
cpe:2.3:o:linux:linux_kernel:6.1.159
-
cpe:2.3:o:linux:linux_kernel:6.1.16
-
cpe:2.3:o:linux:linux_kernel:6.1.160
-
cpe:2.3:o:linux:linux_kernel:6.1.161
-
cpe:2.3:o:linux:linux_kernel:6.1.162
-
cpe:2.3:o:linux:linux_kernel:6.1.163
-
cpe:2.3:o:linux:linux_kernel:6.1.164
-
cpe:2.3:o:linux:linux_kernel:6.1.165
-
cpe:2.3:o:linux:linux_kernel:6.1.167
-
cpe:2.3:o:linux:linux_kernel:6.1.168
-
cpe:2.3:o:linux:linux_kernel:6.1.17
-
cpe:2.3:o:linux:linux_kernel:6.1.18
-
cpe:2.3:o:linux:linux_kernel:6.1.19
-
cpe:2.3:o:linux:linux_kernel:6.1.2
-
cpe:2.3:o:linux:linux_kernel:6.1.20
-
cpe:2.3:o:linux:linux_kernel:6.1.21
-
cpe:2.3:o:linux:linux_kernel:6.1.22
-
cpe:2.3:o:linux:linux_kernel:6.1.23
-
cpe:2.3:o:linux:linux_kernel:6.1.24
-
cpe:2.3:o:linux:linux_kernel:6.1.25
-
cpe:2.3:o:linux:linux_kernel:6.1.26
-
cpe:2.3:o:linux:linux_kernel:6.1.27
-
cpe:2.3:o:linux:linux_kernel:6.1.28
-
cpe:2.3:o:linux:linux_kernel:6.1.29
-
cpe:2.3:o:linux:linux_kernel:6.1.3
-
cpe:2.3:o:linux:linux_kernel:6.1.30
-
cpe:2.3:o:linux:linux_kernel:6.1.31
-
cpe:2.3:o:linux:linux_kernel:6.1.32
-
cpe:2.3:o:linux:linux_kernel:6.1.33
-
cpe:2.3:o:linux:linux_kernel:6.1.34
-
cpe:2.3:o:linux:linux_kernel:6.1.35
-
cpe:2.3:o:linux:linux_kernel:6.1.36
-
cpe:2.3:o:linux:linux_kernel:6.1.37
-
cpe:2.3:o:linux:linux_kernel:6.1.38
-
cpe:2.3:o:linux:linux_kernel:6.1.39
-
cpe:2.3:o:linux:linux_kernel:6.1.4
-
cpe:2.3:o:linux:linux_kernel:6.1.40
-
cpe:2.3:o:linux:linux_kernel:6.1.41
-
cpe:2.3:o:linux:linux_kernel:6.1.42
-
cpe:2.3:o:linux:linux_kernel:6.1.43
-
cpe:2.3:o:linux:linux_kernel:6.1.44
-
cpe:2.3:o:linux:linux_kernel:6.1.45
-
cpe:2.3:o:linux:linux_kernel:6.1.46
-
cpe:2.3:o:linux:linux_kernel:6.1.47
-
cpe:2.3:o:linux:linux_kernel:6.1.48
-
cpe:2.3:o:linux:linux_kernel:6.1.49
-
cpe:2.3:o:linux:linux_kernel:6.1.5
-
cpe:2.3:o:linux:linux_kernel:6.1.50
-
cpe:2.3:o:linux:linux_kernel:6.1.51
-
cpe:2.3:o:linux:linux_kernel:6.1.52
-
cpe:2.3:o:linux:linux_kernel:6.1.53
-
cpe:2.3:o:linux:linux_kernel:6.1.54
-
cpe:2.3:o:linux:linux_kernel:6.1.55
-
cpe:2.3:o:linux:linux_kernel:6.1.56
-
cpe:2.3:o:linux:linux_kernel:6.1.57
-
cpe:2.3:o:linux:linux_kernel:6.1.58
-
cpe:2.3:o:linux:linux_kernel:6.1.59
-
cpe:2.3:o:linux:linux_kernel:6.1.6
-
cpe:2.3:o:linux:linux_kernel:6.1.60
-
cpe:2.3:o:linux:linux_kernel:6.1.61
-
cpe:2.3:o:linux:linux_kernel:6.1.62
-
cpe:2.3:o:linux:linux_kernel:6.1.63
-
cpe:2.3:o:linux:linux_kernel:6.1.64
-
cpe:2.3:o:linux:linux_kernel:6.1.65
-
cpe:2.3:o:linux:linux_kernel:6.1.66
-
cpe:2.3:o:linux:linux_kernel:6.1.67
-
cpe:2.3:o:linux:linux_kernel:6.1.68
-
cpe:2.3:o:linux:linux_kernel:6.1.69
-
cpe:2.3:o:linux:linux_kernel:6.1.7
-
cpe:2.3:o:linux:linux_kernel:6.1.70
-
cpe:2.3:o:linux:linux_kernel:6.1.71
-
cpe:2.3:o:linux:linux_kernel:6.1.72
-
cpe:2.3:o:linux:linux_kernel:6.1.73
-
cpe:2.3:o:linux:linux_kernel:6.1.74
-
cpe:2.3:o:linux:linux_kernel:6.1.75
-
cpe:2.3:o:linux:linux_kernel:6.1.76
-
cpe:2.3:o:linux:linux_kernel:6.1.77
-
cpe:2.3:o:linux:linux_kernel:6.1.78
-
cpe:2.3:o:linux:linux_kernel:6.1.79
-
cpe:2.3:o:linux:linux_kernel:6.1.8
-
cpe:2.3:o:linux:linux_kernel:6.1.80
-
cpe:2.3:o:linux:linux_kernel:6.1.81
-
cpe:2.3:o:linux:linux_kernel:6.1.82
-
cpe:2.3:o:linux:linux_kernel:6.1.83
-
cpe:2.3:o:linux:linux_kernel:6.1.84
-
cpe:2.3:o:linux:linux_kernel:6.1.85
-
cpe:2.3:o:linux:linux_kernel:6.1.86
-
cpe:2.3:o:linux:linux_kernel:6.1.87
-
cpe:2.3:o:linux:linux_kernel:6.1.88
-
cpe:2.3:o:linux:linux_kernel:6.1.89
-
cpe:2.3:o:linux:linux_kernel:6.1.9
-
cpe:2.3:o:linux:linux_kernel:6.1.90
-
cpe:2.3:o:linux:linux_kernel:6.1.91
-
cpe:2.3:o:linux:linux_kernel:6.1.92
-
cpe:2.3:o:linux:linux_kernel:6.1.93
-
cpe:2.3:o:linux:linux_kernel:6.1.94
-
cpe:2.3:o:linux:linux_kernel:6.1.95
-
cpe:2.3:o:linux:linux_kernel:6.1.96
-
cpe:2.3:o:linux:linux_kernel:6.1.97
-
cpe:2.3:o:linux:linux_kernel:6.1.98
-
cpe:2.3:o:linux:linux_kernel:6.1.99
-
cpe:2.3:o:linux:linux_kernel:7.0