CVE-2026-68436 in Linuxinformation

Résumé

par VulDB • 12/08/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

drm/amd/display : utiliser kvzalloc pour allouer struct dc

struct dc a considérablement grossi au fil du temps (la majeure partie étant constituée des deux copies de dc_scratch_space intégrées) et se rapproche désormais de la limite d'allocation contiguë de 4 MiB imposée par l'allocateur de pages. Sa taille réelle n'est pas fixée uniquement par le code source ; elle dépend également du compilateur et de la configuration (.config), ce qui peut facilement faire dépasser les 4 Mo, par exemple avec une version plus récente de GCC ou un changement de configuration.

dc_create() l'alloue à l'aide de kzalloc(). Une fois que struct dc dépasse 4 MiB, la demande est arrondie au niveau d'ordre 11 (8 Mio), ce qui dépasse MAX_PAGE_ORDER ; par conséquent, l'allocateur de pages émet un avertissement et retourne NULL. dc_create() échoue alors, l'initialisation du DM échue et le sondage amdgpu s'interrompt avec -EINVAL :

WARNING: mm/page_alloc.c:5197 at __alloc_frozen_pages_noprof+0x2f9/0x380 dc_create+0x38/0x660 [amdgpu]
amdgpu_dm_init+0x2d9/0x510 [amdgpu]
dm_hw_init+0x1b/0x90 [amdgpu]
amdgpu_device_init.cold+0x150d/0x1e13 [amdgpu]
amdgpu_driver_load_kms+0x19/0x80 [amdgpu]
amdgpu_pci_probe+0x2e2/0x4c0

dc_create() retourne ensuite NULL et l'initialisation du DM échoue, ce qui interrompt toute l'initialisation du GPU et fait échouer le sondage amdgpu avec -EINVAL (« hw_init of IP block <dm> failed -22 »), rendant l'affichage inutilisable. Les avertissements suivants de amdgpu_irq_put() lors de la phase de nettoyage ne sont que des conséquences collatérales du déroulement d'un appareil partiellement initialisé.

struct dc est une structure de gestion logicielle uniquement, qui n'est jamais transmise au DMA matériel et n'est conservée qu'en tant que pointeur opaque ; elle ne nécessite donc pas de mémoire physiquement contiguë. Allouez-la avec kvzalloc() (et libérez-la avec kvfree()) afin que l'allocateur puisse revenir à vmalloc() lorsqu'une allocation contiguë d'une telle taille n'est pas disponible, ce qui évite également entièrement l'avertissement MAX_PAGE_ORDER.

v2 : - Rebase sur amd-staging-drm-next.

(cherry picked from commit 991e0516a8072f2292681c6ae98a924ab0e32575)

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsable

Linux

Réserver

30/07/2026

Divulgation

12/08/2026

Modérer

accepté

Entrée

VDB-388894

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Want to stay up to date on a daily basis?

Enable the mail alert feature now!