USB interface matching ignores idVendor: kextd push and the kernel interface record drop it

Chiusa
#393 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c, python

Direzione di ricerca

The change spans two repositories: push_usb_personality in nextbsd-userland (kextd) and the USB interface match record in nextbsd-kernel. Read tools/kext-meta.py and nextbsd-kernel-extensions#28 first to see how idVendor now appears on interface personalities, then trace that key through kextd's push into the kernel record and its matcher. Done means idVendor is carried end to end and required when present, and the existing CI passes unchanged.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

nextbsd-kernel-extensions#28 fixed tools/kext-meta.py, so USB interface personalities that name a vendor (NgUbt 0xFF/01/01, IfCdce, IfIpheth, IfUrndis, Umodem) now carry idVendor. Matching doesn't use the key yet: kextd's push_usb_personality (nextbsd-userland) and the kernel's USB interface match record (nextbsd-kernel) both ignore idVendor on interface personalities. So a vendor-specific class triple still matches any vendor's device. That is harmless today, because the driver's probe refuses foreign devices, but it loads kexts needlessly.

Fix: carry idVendor through kextd's push into the kernel record, and require it in the interface matcher when it is present.

Acceptance gate: existing CI passes as-is.

Lingua principale
C
Stelle
12
Fork
3
Merge medio
1h 39m
PR unite (30g)
102

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nextbsd/nextbsd-kernel

Tutte le issue di nextbsd/nextbsd-kernel

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.