In the Linux kernel, the following vulnerability has been resolved:
drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs
There are some cases, such as the one uncovered by Commit 46d4efcccc68 ("drm/msm/a6xx: Avoid a nullptr dereference when speedbin setting fails") where
msmgpucleanup() : platformsetdrvdata(gpu->pdev, NULL);
is called on gpu->pdev == NULL, as the GPU device has not been fully initialized yet.
Turns out that there's more than just the aforementioned path that causes this to happen (e.g. the case when there's speedbin data in the catalog, but opp-supported-hw is missing in DT).
Assigning msm_gpu->pdev earlier seems like the least painful solution to this, therefore do so.
Patchwork: https://patchwork.freedesktop.org/patch/602742/
{ "vanir_signatures": [ { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c" }, "id": "CVE-2024-49901-07dbe172", "digest": { "threshold": 0.9, "line_hashes": [ "124191515913654994963373050823985609272", "272946475346028146036351190342271891735", "189517143232200956832545734359127696030", "145053040861940848661365743693836716973" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16007768551d5bfe53426645401435ca8d2ef54f" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c" }, "id": "CVE-2024-49901-33756782", "digest": { "threshold": 0.9, "line_hashes": [ "3764544568981472501305237778427954240", "2972481545011581198747758246611062159", "185990558096544194764856237439485051089", "126002237677449919944748037128126299397" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e8ac2060597a5768e4699bb61d604b4c09927b85" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c" }, "id": "CVE-2024-49901-467e5917", "digest": { "threshold": 0.9, "line_hashes": [ "3764544568981472501305237778427954240", "2972481545011581198747758246611062159", "185990558096544194764856237439485051089", "126002237677449919944748037128126299397" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9288a9676c529ad9c856096db68fad812499bc4a" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c", "function": "msm_gpu_init" }, "id": "CVE-2024-49901-48fd1dca", "digest": { "length": 3641.0, "function_hash": "236060976121168197951348388409082868788" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e8ac2060597a5768e4699bb61d604b4c09927b85" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c" }, "id": "CVE-2024-49901-4b1a570c", "digest": { "threshold": 0.9, "line_hashes": [ "3764544568981472501305237778427954240", "2972481545011581198747758246611062159", "185990558096544194764856237439485051089", "126002237677449919944748037128126299397" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16007768551d5bfe53426645401435ca8d2ef54f" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c" }, "id": "CVE-2024-49901-500860ff", "digest": { "threshold": 0.9, "line_hashes": [ "3764544568981472501305237778427954240", "2972481545011581198747758246611062159", "185990558096544194764856237439485051089", "126002237677449919944748037128126299397" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9773737375b20070ea935203fd66cb9fa17c5acb" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c", "function": "adreno_gpu_init" }, "id": "CVE-2024-49901-75795872", "digest": { "length": 1127.0, "function_hash": "337921996794080389734005026736114087899" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9773737375b20070ea935203fd66cb9fa17c5acb" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c" }, "id": "CVE-2024-49901-76052554", "digest": { "threshold": 0.9, "line_hashes": [ "124191515913654994963373050823985609272", "272946475346028146036351190342271891735", "189517143232200956832545734359127696030", "145053040861940848661365743693836716973" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9288a9676c529ad9c856096db68fad812499bc4a" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c", "function": "adreno_gpu_init" }, "id": "CVE-2024-49901-7d3a94d7", "digest": { "length": 1127.0, "function_hash": "337921996794080389734005026736114087899" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16007768551d5bfe53426645401435ca8d2ef54f" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c", "function": "adreno_gpu_init" }, "id": "CVE-2024-49901-8fc5e326", "digest": { "length": 1127.0, "function_hash": "337921996794080389734005026736114087899" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e8ac2060597a5768e4699bb61d604b4c09927b85" }, { "target": { "file": "drivers/gpu/drm/msm/adreno/adreno_gpu.c", "function": "adreno_gpu_init" }, "id": "CVE-2024-49901-93205b40", "digest": { "length": 1127.0, "function_hash": "337921996794080389734005026736114087899" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9288a9676c529ad9c856096db68fad812499bc4a" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c" }, "id": "CVE-2024-49901-ad0a6af0", "digest": { "threshold": 0.9, "line_hashes": [ "124191515913654994963373050823985609272", "272946475346028146036351190342271891735", "189517143232200956832545734359127696030", "145053040861940848661365743693836716973" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9773737375b20070ea935203fd66cb9fa17c5acb" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c", "function": "msm_gpu_init" }, "id": "CVE-2024-49901-b92522f6", "digest": { "length": 3641.0, "function_hash": "236060976121168197951348388409082868788" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9773737375b20070ea935203fd66cb9fa17c5acb" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c", "function": "msm_gpu_init" }, "id": "CVE-2024-49901-bb6e3a2c", "digest": { "length": 3641.0, "function_hash": "236060976121168197951348388409082868788" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@16007768551d5bfe53426645401435ca8d2ef54f" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c" }, "id": "CVE-2024-49901-c48d1b86", "digest": { "threshold": 0.9, "line_hashes": [ "124191515913654994963373050823985609272", "272946475346028146036351190342271891735", "189517143232200956832545734359127696030", "145053040861940848661365743693836716973" ] }, "signature_version": "v1", "deprecated": false, "signature_type": "Line", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e8ac2060597a5768e4699bb61d604b4c09927b85" }, { "target": { "file": "drivers/gpu/drm/msm/msm_gpu.c", "function": "msm_gpu_init" }, "id": "CVE-2024-49901-c4d5a644", "digest": { "length": 3641.0, "function_hash": "236060976121168197951348388409082868788" }, "signature_version": "v1", "deprecated": false, "signature_type": "Function", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9288a9676c529ad9c856096db68fad812499bc4a" } ] }