In the Linux kernel, the following vulnerability has been resolved:
drm/i915/gt: Reset queuepriorityhint on parking
Originally, with strict in order execution, we could complete execution only when the queue was empty. Preempt-to-busy allows replacement of an active request that may complete before the preemption is processed by HW. If that happens, the request is retired from the queue, but the queuepriorityhint remains set, preventing direct submission until after the next CS interrupt is processed.
This preempt-to-busy race can be triggered by the heartbeat, which will also act as the power-management barrier and upon completion allow us to idle the HW. We may process the completion of the heartbeat, and begin parking the engine before the CS event that restores the queuepriorityhint, causing us to fail the assertion that it is MIN.
<3>[ 166.210729] _enginepark:283 GEMBUGON(engine->schedengine->queuepriorityhint != (-((int)(~0U >> 1)) - 1)) <0>[ 166.210781] Dumping ftrace buffer: <0>[ 166.210795] --------------------------------- ... <0>[ 167.302811] drmfdin-1097 2..s1. 165741070us : traceports: 0000:00:02.0 rcs0: promote { ccid:20 1217:2 prio 0 } <0>[ 167.302861] drmfdin-1097 2d.s2. 165741072us : execlistssubmissiontasklet: 0000:00:02.0 rcs0: preempting last=1217:2, prio=0, hint=2147483646 <0>[ 167.302928] drmfdin-1097 2d.s2. 165741072us : _i915requestunsubmit: 0000:00:02.0 rcs0: fence 1217:2, current 0 <0>[ 167.302992] drmfdin-1097 2d.s2. 165741073us : _i915requestsubmit: 0000:00:02.0 rcs0: fence 3:4660, current 4659 <0>[ 167.303044] drmfdin-1097 2d.s1. 165741076us : execlistssubmissiontasklet: 0000:00:02.0 rcs0: context:3 schedule-in, ccid:40 <0>[ 167.303095] drmfdin-1097 2d.s1. 165741077us : traceports: 0000:00:02.0 rcs0: submit { ccid:40 3:4660* prio 2147483646 } <0>[ 167.303159] kworker/-89 11..... 165741139us : i915requestretire.part.0: 0000:00:02.0 rcs0: fence c90:2, current 2 <0>[ 167.303208] kworker/-89 11..... 165741148us : _intelcontextdounpin: 0000:00:02.0 rcs0: context:c90 unpin <0>[ 167.303272] kworker/-89 11..... 165741159us : i915requestretire.part.0: 0000:00:02.0 rcs0: fence 1217:2, current 2 <0>[ 167.303321] kworker/-89 11..... 165741166us : _intelcontextdounpin: 0000:00:02.0 rcs0: context:1217 unpin <0>[ 167.303384] kworker/-89 11..... 165741170us : i915requestretire.part.0: 0000:00:02.0 rcs0: fence 3:4660, current 4660 <0>[ 167.303434] kworker/-89 11d..1. 165741172us : _intelcontextretire: 0000:00:02.0 rcs0: context:1216 retire runtime: { total:56028ns, avg:56028ns } <0>[ 167.303484] kworker/-89 11..... 165741198us : _enginepark: 0000:00:02.0 rcs0: parked <0>[ 167.303534] <idle>-0 5d.H3. 165741207us : execlistsirqhandler: 0000:00:02.0 rcs0: semaphore yield: 00000040 <0>[ 167.303583] kworker/-89 11..... 165741397us : _intelcontextretire: 0000:00:02.0 rcs0: context:1217 retire runtime: { total:325575ns, avg:0ns } <0>[ 167.303756] kworker/-89 11..... 165741777us : _intelcontextretire: 0000:00:02.0 rcs0: context:c90 retire runtime: { total:0ns, avg:0ns } <0>[ 167.303806] kworker/-89 11..... 165742017us : _enginepark: _enginepark:283 GEMBUGON(engine->schedengine->queuepriorityhint != (-((int)(~0U >> 1)) - 1)) <0>[ 167.303811] --------------------------------- <4>[ 167.304722] ------------[ cut here ]------------ <2>[ 167.304725] kernel BUG at drivers/gpu/drm/i915/gt/intelenginepm.c:283! <4>[ 167.304731] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI <4>[ 167.304734] CPU: 11 PID: 89 Comm: kworker/11:1 Tainted: G W 6.8.0-rc2-CIDRM14193-gc655e0fd2804+ #1 <4>[ 167.304736] Hardware name: Intel Corporation Rocket Lake Client Platform/RocketLake S UDIMM 6L RVP, BIOS RKLSFWI1.R00.3173.A03.2204210138 04/21/2022 <4>[ 167.304738] Workqueue: i915-unordered retirework_handler [i915] <4>[ 16 ---truncated---
[
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe34587acc995e7b1d7a5d3444a0736721ec32b3",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_lrc.c"
},
"id": "CVE-2024-26937-15ba8830",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3859ea5240365d21f6053ee219bb240d520895",
"digest": {
"function_hash": "117941447188285756625040098749857007287",
"length": 448.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-17d39983",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3859ea5240365d21f6053ee219bb240d520895",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"234526570075423782770227038338124603268"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-2009bef6",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aed034866a08bb7e6e34d50a5629a4d23fe83703",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-2c083ffe",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3859ea5240365d21f6053ee219bb240d520895",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-2c21e438",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe34587acc995e7b1d7a5d3444a0736721ec32b3",
"digest": {
"line_hashes": [
"115089997680021744569588446345509474890",
"307298446748777918175062273192314563490",
"153471729903840034824817264743597603139",
"68781977973386056323017207929194047172"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-31a2450a",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ac9b6b3e8d1237136c8ebf0fa1ce037dd7e2948f",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-3d322dad",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b031e4fcb2740988143c303f81f69f18ce86325",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"233201819108122984804733806034251365060"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-44fcdfcc",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8fd9b0ce8c26533fe4d5d15ea15bbf7b904b611c",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"234526570075423782770227038338124603268"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-537ba6a5",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aed034866a08bb7e6e34d50a5629a4d23fe83703",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"233201819108122984804733806034251365060"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-56d51c9e",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aed034866a08bb7e6e34d50a5629a4d23fe83703",
"digest": {
"function_hash": "186593669947335540255387693439745392842",
"length": 425.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-6bc4741b",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@aed034866a08bb7e6e34d50a5629a4d23fe83703",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-7fe6e3b0",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ac9b6b3e8d1237136c8ebf0fa1ce037dd7e2948f",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"233201819108122984804733806034251365060"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-853a3d18",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7eab7b021835ae422c38b968d5cc60e99408fb62",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-9fe9583a",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b031e4fcb2740988143c303f81f69f18ce86325",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-a0c03e66",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b031e4fcb2740988143c303f81f69f18ce86325",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-a96af8f9",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4a3859ea5240365d21f6053ee219bb240d520895",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-adc2cef2",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ac9b6b3e8d1237136c8ebf0fa1ce037dd7e2948f",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-b398e0d7",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67944e6db656bf1e986aa2a359f866f851091f8a",
"digest": {
"line_hashes": [
"312950745006400704676990213143132021085",
"270796618940973305378601306889548646199",
"327673305477177127095549137240024014245",
"88292101413569655622838438966002648241"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_lrc.c"
},
"id": "CVE-2024-26937-ba07c2b3",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7eab7b021835ae422c38b968d5cc60e99408fb62",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-bcd08a16",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67944e6db656bf1e986aa2a359f866f851091f8a",
"digest": {
"function_hash": "99579507602186810639472452831559042898",
"length": 87.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_lrc.c"
},
"id": "CVE-2024-26937-cee3cedf",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67944e6db656bf1e986aa2a359f866f851091f8a",
"digest": {
"line_hashes": [
"230872769281226741394689396726341013567",
"21395737966858633754767861886294088228",
"317380334184735527566597687246153362366",
"175848559377519455326456257942311080454"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-cfd7277d",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8fd9b0ce8c26533fe4d5d15ea15bbf7b904b611c",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"204661323337714400563019762779545241596",
"51498575061254127193302088971398464219"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-d571cb77",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8fd9b0ce8c26533fe4d5d15ea15bbf7b904b611c",
"digest": {
"function_hash": "335660972899313526131808898749458292454",
"length": 133.0
},
"target": {
"function": "execlists_park",
"file": "drivers/gpu/drm/i915/gt/intel_execlists_submission.c"
},
"id": "CVE-2024-26937-d64fe515",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe34587acc995e7b1d7a5d3444a0736721ec32b3",
"digest": {
"function_hash": "211224036815143130854686380249538546643",
"length": 462.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-db06274c",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe34587acc995e7b1d7a5d3444a0736721ec32b3",
"digest": {
"line_hashes": [
"162254615061418371979683440329476590966",
"226520713234824056132396595969403855519",
"40288534336820952740931864998644415228",
"64262121993222747464306363346786199243"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_lrc.c"
},
"id": "CVE-2024-26937-dee1034a",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8fd9b0ce8c26533fe4d5d15ea15bbf7b904b611c",
"digest": {
"function_hash": "117941447188285756625040098749857007287",
"length": 448.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-e3286dca",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7eab7b021835ae422c38b968d5cc60e99408fb62",
"digest": {
"function_hash": "186593669947335540255387693439745392842",
"length": 425.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-ec44c897",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3b031e4fcb2740988143c303f81f69f18ce86325",
"digest": {
"function_hash": "186593669947335540255387693439745392842",
"length": 425.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-ec944dfd",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7eab7b021835ae422c38b968d5cc60e99408fb62",
"digest": {
"line_hashes": [
"168106977657800465644607960294264111183",
"91715382050820663056718512164483916968",
"128808892842848843722143213646591490780",
"233201819108122984804733806034251365060"
],
"threshold": 0.9
},
"target": {
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-ee873a82",
"deprecated": false,
"signature_type": "Line"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ac9b6b3e8d1237136c8ebf0fa1ce037dd7e2948f",
"digest": {
"function_hash": "186593669947335540255387693439745392842",
"length": 425.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-f13ffb75",
"deprecated": false,
"signature_type": "Function"
},
{
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@67944e6db656bf1e986aa2a359f866f851091f8a",
"digest": {
"function_hash": "243776150311251947046733345293868306340",
"length": 554.0
},
"target": {
"function": "__engine_park",
"file": "drivers/gpu/drm/i915/gt/intel_engine_pm.c"
},
"id": "CVE-2024-26937-f2408bca",
"deprecated": false,
"signature_type": "Function"
}
]