CVE-2026-93219
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: clocksource/drivers/timer-sun4i: Advertise a real minimum delta sun4i_clkevt_next_event() compensates for the timer stop/start synchronization delay by programming evt - TIMER_SYNC_TICKS into the hardware interval register. The clockevent device currently advertises TIMER_SYNC_TICKS as min_delta_ticks, so the clockevents core is allowed to call set_next_event() with evt == TIMER_SYNC_TICKS. That programs a zero-tick interval. With oneshot/highres/nohz timer operation this can leave the next event stuck, which was observed as a boot hang on Allwinner D1 after the clockevents core started reusing forced minimum-delta events. Advertise one extra tick instead, so the smallest event accepted by the core still programs at least one hardware tick after the synchronization compensation.
View original CVE JSON
{
"id": "CVE-2026-93219",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-09-24T16:17:17.030",
"lastModified": "2026-10-19T10:17:12.820",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nclocksource/drivers/timer-sun4i: Advertise a real minimum delta\n\nsun4i_clkevt_next_event() compensates for the timer stop/start\nsynchronization delay by programming evt - TIMER_SYNC_TICKS into the\nhardware interval register. The clockevent device currently advertises\nTIMER_SYNC_TICKS as min_delta_ticks, so the clockevents core is allowed\nto call set_next_event() with evt == TIMER_SYNC_TICKS.\n\nThat programs a zero-tick interval. With oneshot/highres/nohz timer\noperation this can leave the next event stuck, which was observed as a\nboot hang on Allwinner D1 after the clockevents core started reusing\nforced minimum-delta events.\n\nAdvertise one extra tick instead, so the smallest event accepted by the\ncore still programs at least one hardware tick after the synchronization\ncompensation."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/clocksource/timer-sun4i.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "0cc4b14d7401d50e53a01f1554147ee075ee6943",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "53a3bc024b8e5d284468cce84957cded5f859f98",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "753a220084dfc4d737f2ab9eaddc9a01a397edd7",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "ebba4d0aeba0e8eb3a9676380fc2652de8ab1c44",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "151eb52f8712017c8f7b00bb2305e8916cb9e3dc",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "bf38be01d43c4e4ca903aff7236d8486a950a252",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "f0efafcdf6eec1f3361bfd8c811420198f55c8bb",
"versionType": "git",
"status": "affected"
},
{
"version": "12e1480bcb4920c1b02b3793cb48756497919a60",
"lessThan": "d21808328225ab8cee46885bf9a0dffcefbe630e",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/clocksource/timer-sun4i.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.13",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.13",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.270",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.221",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.188",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.157",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.109",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.50",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.4",
"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/0cc4b14d7401d50e53a01f1554147ee075ee6943",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/151eb52f8712017c8f7b00bb2305e8916cb9e3dc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/53a3bc024b8e5d284468cce84957cded5f859f98",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/753a220084dfc4d737f2ab9eaddc9a01a397edd7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/bf38be01d43c4e4ca903aff7236d8486a950a252",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/d21808328225ab8cee46885bf9a0dffcefbe630e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ebba4d0aeba0e8eb3a9676380fc2652de8ab1c44",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f0efafcdf6eec1f3361bfd8c811420198f55c8bb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}