Andrej Konovalov z spoločnosti Google vyvíja nový modul , emulovať USB zariadenia v užívateľskom prostredí. Je v štádiu preskúmania na zaradenie tohto modulu do hlavného jadra Linuxu. USB Raw Gadget už v spoločnosti Google za účelom zjednodušenia fuzzing testovania USB zásobníka jadra pomocou nástrojov .
Modul pridáva nové rozhranie do subsystému jadra a vyvíja sa ako alternatíva GadgetFS. Vytvorenie nového API je spôsobené potrebou získať nízkoúrovňový a priamy prístup k subsystému USB Gadget z užívateľského priestoru, čo umožňuje spracovávať všetky možné USB požiadavky (GadgetFS spracováva niektoré požiadavky samostatne, bez ich posúvania do užívateľského priestoru). Riadenie USB Raw Gadget sa uskutočňuje cez zariadenie /dev/raw-gadget analogicky k /dev/gadget v GadgetFS, avšak na interakciu sa používa rozhranie založené na ioctl(), a nie pseudo-FS.
Okrem priameho spracovania všetkých USB požiadaviek procesom v užívateľskom priestore sa nové rozhranie tiež vyznačuje možnosťou vrátiť akékoľvek údaje ako odpoveď na USB požiadavku (GadgetFS vykonáva kontrolu správnosti USB popisovačov a filtruje určité odpovede, čo bráni odhaľovaniu chýb pri fuzzing testovaní USB zásobníka). Raw Gadget tiež umožňuje vybrať konkrétne zariadenie UDC (USB Device Controller) a ovládač na pripojenie, zatiaľ čo GadgetFS sa pripája k prvému dostupnému zariadeniu UDC. Predvídateľné názvy sú priradené rôznym UDC na oddelenie rôznych typov kanálov výmeny dát v rámci jedného zariadenia.
Zdroj: opennet.ru
