Files
Erwan 683e3cd075 fix(wifi): resolve Page 0 kernel trap in CCLogStream::logv during association
### Breakthroughs & Rétro-ingénierie
- Analyse post-mortem du crash (Kernel-2026-11-01-104036.panic) survenu dès la soumission du mot de passe Wi-Fi.
- Découverte du flux interne de setASSOCIATE (0xffffff80022876f8) :
  airportd appelle setASSOCIATE -> IO80211Controller::joinStarted (0xffffff8002294922) ->
  fRNGAgent->sendDrbgEntropy("assoc", 5) (0xffffff80022dde94) -> CCLogStream::logEmergency ->
  CCLogStream::logv (0xffffff80032fd7d4).
- Identification de la cause racine exacte du crash (type 14 page fault à CR2: 0x0) à 0xffffff80032fd982 (+0x1b2) :
  logv charge r13 = [fLogger + 0x90] (gP1Mem), puis déréférence [r13] (gP1Mem[0]) comme pointeur
  vers un CCPipe pour appeler CCPipe::allocate (+0x9f0).
  Dans FakeLogStream::init(), gP1Mem était bzero'd, laissant gP1Mem[0] à NULL -> déréférencement [0x0]
  provoquant le kernel trap fatal avant même que sendIOUCToWcl ne soit exécuté.

### Modifications apportées
- QualcommWifi/QualcommWifi.cpp :
  * Instanciation d'un pipe factice gDummyPipe avec vtable de 512 entrées (gDummyPipeVtable)
    pointant vers dummyReporterFunc.
  * Affectation de *(void **)(gP1Mem + 0x00) = gDummyPipe afin de garantir que tout appel virtuel
    sur CCPipe (slots 0x9e8, 0x9f0, 0xa10) réussisse et retourne 0.
  * Configuration des seuils log dans gP2Mem (p1 + 0x58) à -1 (*(int32_t *)gP2Mem = -1) pour
    désactiver le stream et console logging, court-circuitant ainsi les allocations de logv.
  * Extension de gDummyReporterVtable à 512 entrées.
- docs/ISSUES_AND_POSTMORTEMS.md :
  * Ajout du post-mortem détaillé INC-34 décrivant les traces de désassemblage, la pile d'appels,
    l'analyse de la cause racine et la stratégie de neutralisation de CoreCapture.

### Validation
- Compilation Release 100% propre (clang 17, ./build_wifi.sh).
- Validation binaire kmutil libraries sans symbole manquant contre BootKernelExtensions.kc.
- Déploiement du binaire kext dans /Users/erwan/Documents/EFI/OC/Kexts/QualcommWifi.kext.
2026-11-01 10:50:54 +01:00
..