Un correctif intégré par Linus Torvalds le 21 août en UTC empêche le pilote Intel Xe de proposer une zone flat CCS réservée à l’allocateur VRAM. Sur la carte Battlemage G21 décrite, le chevauchement corrompait une table de pages et bloquait le bureau.

Suivre la frontière mémoire
Le commit et son explication décrivent un chevauchement entre des métadonnées de compression et une mémoire proposée aux allocations ordinaires. Sur la G21 de 16 Gio de Torvalds, une table de pages Mesa était touchée ; GDM redémarrait après l’échec du compositeur.
Le diff réel remplace l’arrondi supérieur à 128 Kio par un arrondi inférieur à 4 Kio. Il remplace aussi une vérification d’égalité par un contrôle de non-chevauchement entre la zone CCS et GSM. Résumer tout le patch à deux noms de fonction masque ces changements.
Un petit exemple rend l’erreur visible
Imaginons une carte mémoire fictive où le stockage réservé commence à 130 Kio. Un allocateur utilisant des pages de 4 Kio peut employer les pages entières situées sous 128 Kio. La page allant de 128 à 132 Kio chevauche la frontière et doit être exclue.
Arrondir 130 Kio vers le haut sur un alignement de 128 Kio donne 256 Kio. Présenter cette valeur comme fin utilisable inclut à tort l’intervalle réservé de 130 à 256 Kio. L’arrondi inférieur sur 4 Kio donne 128 Kio : on sacrifie 2 Kio autrement libres pour conserver des pages entières sûres. Ces petites adresses illustrent la propriété recherchée ; ce ne sont pas celles de la G21.
La relation nécessaire est fin utilisable publiée ≤ début réel de la réserve. Ce n’est pas la même question que dimensionner un tampon assez grand pour une demande, où arrondir sa taille vers le haut est souvent approprié.
Tester la propriété, pas le nom de la fonction
Pour cet allocateur fictif, un jeu de tests utile place la réserve exactement à 128 Kio, un octet au-dessus et un octet au-dessous. Les dernières limites sûres de pages entières valent respectivement 128 Kio, 128 Kio et 124 Kio. Des adresses déjà alignées ne suffiraient pas à faire apparaître la différence.
La méthode de relecture consiste à préciser qui possède la frontière, si la borne est incluse ou exclue, et quel alignement exige le consommateur. Une adresse arrondie d’apparence plausible ne prouve pas l’absence de chevauchement.
Garder l’anecdote IA à sa place
Torvalds rapporte 24 patches d’instrumentation et 18 démarrages, reconnaît l’aide d’une IA et indique qu’elle a proposé plusieurs fois d’abandonner. C’est le récit d’un débogage assisté, pas un benchmark comparatif de modèles de programmation. Les éléments durables sont le mécanisme de panne reproduit et le correctif intégré. PeopleAreGeek n’a pas reproduit cette panne GPU.
Revue du 8 septembre : vérification des sources primaires, correction des affirmations et remplacement de l’illustration.