CVE-2026-98397
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: platform/x86: x86-android-tablets: hold device reference for secondary fwnode teardown In gpio_secondary_fwnode_init(), acpi_bus_find_device_by_name() returns a device reference, but the local dev variable is declared with __free(put_device), dropping the reference at the end of each iteration. Meanwhile, devm_add_action_or_reset() saves the dev pointer for gpio_secondary_unset() without incrementing its reference count, which could lead to a use-after-free during driver teardown if the device is released in the interim. Acquire an explicit device reference with get_device() when registering the devres action, and drop it with put_device() inside gpio_secondary_unset().
View original CVE JSON
{
"id": "CVE-2026-98397",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-14T14:17:50.657",
"lastModified": "2026-10-19T10:18:44.370",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nplatform/x86: x86-android-tablets: hold device reference for secondary fwnode teardown\n\nIn gpio_secondary_fwnode_init(), acpi_bus_find_device_by_name() returns a\ndevice reference, but the local dev variable is declared with\n__free(put_device), dropping the reference at the end of each iteration.\nMeanwhile, devm_add_action_or_reset() saves the dev pointer for\ngpio_secondary_unset() without incrementing its reference count, which\ncould lead to a use-after-free during driver teardown if the device is\nreleased in the interim.\n\nAcquire an explicit device reference with get_device() when registering\nthe devres action, and drop it with put_device() inside\ngpio_secondary_unset()."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/platform/x86/x86-android-tablets/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "1448c2d2ca5cc7f4ea6694e6bc809946de0a751c",
"lessThan": "c62b6e081119f2ab03cfcafde1f83c0f50e8e726",
"versionType": "git",
"status": "affected"
},
{
"version": "1448c2d2ca5cc7f4ea6694e6bc809946de0a751c",
"lessThan": "144113b0a70fa18033a747ee5db6803308f7688c",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/platform/x86/x86-android-tablets/core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "7.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "7.2",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.7",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/144113b0a70fa18033a747ee5db6803308f7688c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/c62b6e081119f2ab03cfcafde1f83c0f50e8e726",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}