In the Linux kernel, the following vulnerability has been resolved:
drm/i915/dpt: Treat the DPT BO as a framebuffer
Currently i915gemobjectisframebuffer() doesn't treat the BO containing the framebuffer's DPT as a framebuffer itself. This means eg. that the shrinker can evict the DPT BO while leaving the actual FB BO bound, when the DPT is allocated from regular shmem.
That causes an immediate oops during hibernate as we try to rewrite the PTEs inside the already evicted DPT obj.
TODO: presumably this might also be the reason for the DPT related display faults under heavy memory pressure, but I'm still not sure how that would happen as the object should be pinned by inteldptpin() while in active use by the display engine...
(cherry picked from commit 779cb5ba64ec7df80675a956c9022929514f517a)
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object_types.h"
},
"id": "CVE-2023-53378-46440566",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"288643988322962786785598417744507101348",
"265891938441390736545717394857170881239",
"295592720380009929153278829333593452170"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-4af56d44",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"316041160416576515259655427893402423698",
"181313231027217567907710827085468238274",
"274578882017964024982871181396178927030",
"50130754955019463015428197288171958159"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"function": "i915_gem_object_is_framebuffer",
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-4eba1939",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 99.0,
"function_hash": "229764165723674290075348617067186413267"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-53739c0d",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"316041160416576515259655427893402423698",
"181313231027217567907710827085468238274",
"274578882017964024982871181396178927030",
"50130754955019463015428197288171958159"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"function": "intel_dpt_destroy",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-546140f7",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 101.0,
"function_hash": "100179215838378592225225677184824983651"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"function": "intel_dpt_create",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-656acfb4",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 1607.0,
"function_hash": "295566158090550036566975381491390943118"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object_types.h"
},
"id": "CVE-2023-53378-6beb7d8d",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"288643988322962786785598417744507101348",
"265891938441390736545717394857170881239",
"295592720380009929153278829333593452170"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"function": "intel_dpt_create",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-6c602437",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 1607.0,
"function_hash": "295566158090550036566975381491390943118"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-aeb6de6d",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"50788200053483860924616372738770210503",
"66104230612906350339045706998942717559",
"80423708012756463420853333845573909772",
"268665809577180139435279614141350416547",
"207730998450377358878398857710309756131",
"269678937822889494633561606716755724939"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"function": "i915_gem_object_is_framebuffer",
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-bcca673d",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 99.0,
"function_hash": "229764165723674290075348617067186413267"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"function": "intel_dpt_create",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-cfeafd27",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 1607.0,
"function_hash": "295566158090550036566975381491390943118"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3413881e1ecc3cba722a2e87ec099692eed5be28",
"target": {
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-d36c0d32",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"50788200053483860924616372738770210503",
"66104230612906350339045706998942717559",
"80423708012756463420853333845573909772",
"268665809577180139435279614141350416547",
"207730998450377358878398857710309756131",
"269678937822889494633561606716755724939"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object_types.h"
},
"id": "CVE-2023-53378-dee8be78",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"288643988322962786785598417744507101348",
"265891938441390736545717394857170881239",
"295592720380009929153278829333593452170"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"function": "i915_gem_object_is_framebuffer",
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-efb5c147",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 99.0,
"function_hash": "229764165723674290075348617067186413267"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"function": "intel_dpt_destroy",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-f0b3b90e",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 101.0,
"function_hash": "100179215838378592225225677184824983651"
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c781c107731fc09ce4330c8c636b8446d0f72aa4",
"target": {
"file": "drivers/gpu/drm/i915/gem/i915_gem_object.h"
},
"id": "CVE-2023-53378-f6be4063",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"316041160416576515259655427893402423698",
"181313231027217567907710827085468238274",
"274578882017964024982871181396178927030",
"50130754955019463015428197288171958159"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-fc2b386b",
"deprecated": false,
"signature_type": "Line",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"50788200053483860924616372738770210503",
"66104230612906350339045706998942717559",
"80423708012756463420853333845573909772",
"268665809577180139435279614141350416547",
"207730998450377358878398857710309756131",
"269678937822889494633561606716755724939"
]
}
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5390a02b4508416b9bee96674f141c68f89bafbc",
"target": {
"function": "intel_dpt_destroy",
"file": "drivers/gpu/drm/i915/display/intel_dpt.c"
},
"id": "CVE-2023-53378-fd584dbb",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1",
"digest": {
"length": 101.0,
"function_hash": "100179215838378592225225677184824983651"
}
}
]