In the Linux kernel, the following vulnerability has been resolved:
drm/i915/huc: Fix fence not released on early probe errors
HuC delayed loading fence, introduced with commit 27536e03271da ("drm/i915/huc: track delayed HuC load with a fence"), is registered with object tracker early on driver probe but unregistered only from driver remove, which is not called on early probe errors. Since its memory is allocated under devres, then released anyway, it may happen to be allocated again to the fence and reused on future driver probes, resulting in kernel warnings that taint the kernel:
<4> [309.731371] ------------[ cut here ]------------ <3> [309.731373] ODEBUG: init destroyed (active state 0) object: ffff88813d7dd2e0 object type: i915swfence hint: swfencedummynotify+0x0/0x20 [i915] <4> [309.731575] WARNING: CPU: 2 PID: 3161 at lib/debugobjects.c:612 debugprintobject+0x93/0xf0 ... <4> [309.731693] CPU: 2 UID: 0 PID: 3161 Comm: i915moduleloa Tainted: G U 6.14.0-CIDRM16362-gf0fd77956987+ #1 ... <4> [309.731700] RIP: 0010:debugprintobject+0x93/0xf0 ... <4> [309.731728] Call Trace: <4> [309.731730] <TASK> ... <4> [309.731949] _debugobjectinit+0x17b/0x1c0 <4> [309.731957] debugobjectinit+0x34/0x50 <4> [309.732126] _i915swfenceinit+0x34/0x60 [i915] <4> [309.732256] intelhucinitearly+0x4b/0x1d0 [i915] <4> [309.732468] intelucinitearly+0x61/0x680 [i915] <4> [309.732667] intelgtcommoninitearly+0x105/0x130 [i915] <4> [309.732804] intelrootgtinitearly+0x63/0x80 [i915] <4> [309.732938] i915driverprobe+0x1fa/0xeb0 [i915] <4> [309.733075] i915pciprobe+0xe6/0x220 [i915] <4> [309.733198] localpciprobe+0x44/0xb0 <4> [309.733203] pcideviceprobe+0xf4/0x270 <4> [309.733209] reallyprobe+0xee/0x3c0 <4> [309.733215] _driverprobedevice+0x8c/0x180 <4> [309.733219] driverprobedevice+0x24/0xd0 <4> [309.733223] _driverattach+0x10f/0x220 <4> [309.733230] busforeachdev+0x7d/0xe0 <4> [309.733236] driverattach+0x1e/0x30 <4> [309.733239] busadddriver+0x151/0x290 <4> [309.733244] driverregister+0x5e/0x130 <4> [309.733247] _pciregisterdriver+0x7d/0x90 <4> [309.733251] i915pciregisterdriver+0x23/0x30 [i915] <4> [309.733413] i915init+0x34/0x120 [i915] <4> [309.733655] dooneinitcall+0x62/0x3f0 <4> [309.733667] doinitmodule+0x97/0x2a0 <4> [309.733671] loadmodule+0x25ff/0x2890 <4> [309.733688] initmodulefromfile+0x97/0xe0 <4> [309.733701] idempotentinitmodule+0x118/0x330 <4> [309.733711] _x64sysfinitmodule+0x77/0x100 <4> [309.733715] x64syscall+0x1f37/0x2650 <4> [309.733719] dosyscall64+0x91/0x180 <4> [309.733763] entrySYSCALL64afterhwframe+0x76/0x7e <4> [309.733792] </TASK> ... <4> [309.733806] ---[ end trace 0000000000000000 ]---
That scenario is most easily reproducible with igt@i915moduleload@reload-with-fault-injection.
Fix the issue by moving the cleanup step to driver release path.
(cherry picked from commit 795dbde92fe5c6996a02a5b579481de73035e7bf)
[
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.h"
},
"digest": {
"line_hashes": [
"112560226553082162541329550264143286926",
"335649741354475012760842639832129863763",
"117256291334644118081169082531110081804",
"213981037704213865608996543955644679901"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3ea2eae70692a455e256787e4f54153fb739b90",
"signature_version": "v1",
"id": "CVE-2025-37754-084a374a"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.h"
},
"digest": {
"line_hashes": [
"112560226553082162541329550264143286926",
"335649741354475012760842639832129863763",
"117256291334644118081169082531110081804",
"223828960169575993706265942387605617231"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bd4bf79bcfe101f0385ab81dbabb6e3f7d96c00",
"signature_version": "v1",
"id": "CVE-2025-37754-10591c3a"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c"
},
"digest": {
"line_hashes": [
"285220044771404833076802847183495493920",
"99379462408249093293752782293826061682",
"21512725455628333720202960832839912319",
"298100609562012648822005909386786940696"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f5ef4a5eaa61a7a4ed31231da45deb85065397a",
"signature_version": "v1",
"id": "CVE-2025-37754-143cbf71"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.h"
},
"digest": {
"line_hashes": [
"112560226553082162541329550264143286926",
"335649741354475012760842639832129863763",
"117256291334644118081169082531110081804",
"223828960169575993706265942387605617231"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5a906806162aea62dbe5d327760ce3b7117ca17",
"signature_version": "v1",
"id": "CVE-2025-37754-1f458d76"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c",
"function": "intel_huc_fini"
},
"digest": {
"length": 184.0,
"function_hash": "55021748685858421545789941814390550587"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bd4bf79bcfe101f0385ab81dbabb6e3f7d96c00",
"signature_version": "v1",
"id": "CVE-2025-37754-2ab5337c"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c",
"function": "intel_huc_fini"
},
"digest": {
"length": 184.0,
"function_hash": "55021748685858421545789941814390550587"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5a906806162aea62dbe5d327760ce3b7117ca17",
"signature_version": "v1",
"id": "CVE-2025-37754-6e25dc80"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c"
},
"digest": {
"line_hashes": [
"240499613069198268706423081191371359469",
"63451159111475949922511266795217843551",
"142185985025953259889484231687253008135",
"177058364526152182670850719834765237409",
"327510381247370842996507498320776694944",
"92341436641014309802063633762068205545",
"184378331201532090235522406839322229210"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bd4bf79bcfe101f0385ab81dbabb6e3f7d96c00",
"signature_version": "v1",
"id": "CVE-2025-37754-7e97f61e"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c"
},
"digest": {
"line_hashes": [
"285220044771404833076802847183495493920",
"99379462408249093293752782293826061682",
"21512725455628333720202960832839912319",
"298100609562012648822005909386786940696"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bd4bf79bcfe101f0385ab81dbabb6e3f7d96c00",
"signature_version": "v1",
"id": "CVE-2025-37754-93000ae7"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c"
},
"digest": {
"line_hashes": [
"240499613069198268706423081191371359469",
"63451159111475949922511266795217843551",
"142185985025953259889484231687253008135",
"177058364526152182670850719834765237409",
"327510381247370842996507498320776694944",
"92341436641014309802063633762068205545",
"184378331201532090235522406839322229210"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5a906806162aea62dbe5d327760ce3b7117ca17",
"signature_version": "v1",
"id": "CVE-2025-37754-9b9d0a2e"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.h"
},
"digest": {
"line_hashes": [
"112560226553082162541329550264143286926",
"335649741354475012760842639832129863763",
"117256291334644118081169082531110081804",
"223828960169575993706265942387605617231"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f5ef4a5eaa61a7a4ed31231da45deb85065397a",
"signature_version": "v1",
"id": "CVE-2025-37754-9d2cd03d"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c",
"function": "intel_uc_driver_late_release"
},
"digest": {
"length": 36.0,
"function_hash": "37913203616836891220170170450205161346"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5a906806162aea62dbe5d327760ce3b7117ca17",
"signature_version": "v1",
"id": "CVE-2025-37754-a91f5928"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c",
"function": "intel_uc_driver_late_release"
},
"digest": {
"length": 36.0,
"function_hash": "37913203616836891220170170450205161346"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f5ef4a5eaa61a7a4ed31231da45deb85065397a",
"signature_version": "v1",
"id": "CVE-2025-37754-ae44c233"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c",
"function": "intel_huc_fini"
},
"digest": {
"length": 184.0,
"function_hash": "55021748685858421545789941814390550587"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3ea2eae70692a455e256787e4f54153fb739b90",
"signature_version": "v1",
"id": "CVE-2025-37754-c7b266b7"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c"
},
"digest": {
"line_hashes": [
"240499613069198268706423081191371359469",
"63451159111475949922511266795217843551",
"142185985025953259889484231687253008135",
"177058364526152182670850719834765237409",
"327510381247370842996507498320776694944",
"92341436641014309802063633762068205545",
"184378331201532090235522406839322229210"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f5ef4a5eaa61a7a4ed31231da45deb85065397a",
"signature_version": "v1",
"id": "CVE-2025-37754-cd4bcbe8"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c"
},
"digest": {
"line_hashes": [
"285220044771404833076802847183495493920",
"99379462408249093293752782293826061682",
"21512725455628333720202960832839912319",
"298100609562012648822005909386786940696"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c5a906806162aea62dbe5d327760ce3b7117ca17",
"signature_version": "v1",
"id": "CVE-2025-37754-ddcfc3db"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c"
},
"digest": {
"line_hashes": [
"240499613069198268706423081191371359469",
"63451159111475949922511266795217843551",
"142185985025953259889484231687253008135",
"177058364526152182670850719834765237409",
"327510381247370842996507498320776694944",
"92341436641014309802063633762068205545",
"184378331201532090235522406839322229210"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3ea2eae70692a455e256787e4f54153fb739b90",
"signature_version": "v1",
"id": "CVE-2025-37754-deef585c"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c"
},
"digest": {
"line_hashes": [
"285220044771404833076802847183495493920",
"99379462408249093293752782293826061682",
"21512725455628333720202960832839912319",
"298100609562012648822005909386786940696"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3ea2eae70692a455e256787e4f54153fb739b90",
"signature_version": "v1",
"id": "CVE-2025-37754-dfc99cf4"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c",
"function": "intel_uc_driver_late_release"
},
"digest": {
"length": 36.0,
"function_hash": "37913203616836891220170170450205161346"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4bd4bf79bcfe101f0385ab81dbabb6e3f7d96c00",
"signature_version": "v1",
"id": "CVE-2025-37754-e66a5bf0"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_huc.c",
"function": "intel_huc_fini"
},
"digest": {
"length": 184.0,
"function_hash": "55021748685858421545789941814390550587"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9f5ef4a5eaa61a7a4ed31231da45deb85065397a",
"signature_version": "v1",
"id": "CVE-2025-37754-f28d632a"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/gpu/drm/i915/gt/uc/intel_uc.c",
"function": "intel_uc_driver_late_release"
},
"digest": {
"length": 36.0,
"function_hash": "37913203616836891220170170450205161346"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e3ea2eae70692a455e256787e4f54153fb739b90",
"signature_version": "v1",
"id": "CVE-2025-37754-f7dbd877"
}
]