USB Raw Gadget, Linux modul za emulaciju USB uređaja, je dostupan

Andrey Konovalov iz Google-a razvija novi modul USB Raw uređaj, dozvoljavajući emulirati USB uređaje u korisničkom prostoru. Je na čekanju aplikacija uključiti ovaj modul u glavni dio Linux kernela. USB Raw Gadget već se primjenjuje u Google-u kako bi se olakšalo fuzz testiranje kernela USB steka pomoću alata syzkaller.

Modul dodaje novi programski interfejs podsistemu kernela USB gadget i razvija se kao alternativa GadgetFS-u. Kreiranje novog API-ja je zbog potrebe da se dobije niskorazinski i direktan pristup podsistemu USB Gadget iz korisničkog prostora, omogućavajući mu da obradi sve moguće USB zahtjeve (GadgetFS neke zahtjeve obrađuje sam, bez prosljeđivanja korisniku prostor). USB Raw Gadget-om se upravlja preko /dev/raw-gadget uređaja, slično kao /dev/gadget u GadgetFS-u, ali interakcija koristi sučelje zasnovano na ioctl() umjesto pseudo-FS.

Osim direktne obrade svih USB zahtjeva procesom korisničkog prostora, novo sučelje također ima mogućnost vraćanja bilo kojih podataka kao odgovor na USB zahtjev (GadgetFS vrši provjeru USB deskriptora i filtrira određene odgovore, što sprječava otkrivanje grešaka tokom USB-a testiranje fuzzing steka) . Raw Gadget vam takođe omogućava da odaberete određeni UDC (USB Device Controller) uređaj i drajver za priključivanje, dok se GadgetFS povezuje na prvi dostupni UDC uređaj. Predvidljiva imena dodijeljena različitim UDC-ovima krajnja tačka razdvojiti različite tipove kanala za razmjenu podataka unutar jednog uređaja.

izvor: opennet.ru

Dodajte komentar