USB రా గాడ్జెట్, USB పరికరాలను అనుకరించడానికి Linux మాడ్యూల్ అందుబాటులో ఉంది
Google నుండి Andrey Konovalov కొత్త మాడ్యూల్ను అభివృద్ధి చేస్తున్నారు USB రా గాడ్జెట్, అనుమతించడం యూజర్ స్పేస్లో USB పరికరాలను అనుకరించండి. పెండింగ్లో ఉంది అప్లికేషన్ ప్రధాన Linux కెర్నల్లో ఈ మాడ్యూల్ని చేర్చడం కోసం. USB రా గాడ్జెట్ ఇప్పటికే ఉంది వర్తిస్తుంది సాధనాలను ఉపయోగించి USB కెర్నల్ స్టాక్ యొక్క ఫజ్ పరీక్షను సులభతరం చేయడానికి Google వద్ద syzkaller.
మాడ్యూల్ కెర్నల్ సబ్సిస్టమ్కు కొత్త ప్రోగ్రామింగ్ ఇంటర్ఫేస్ను జోడిస్తుంది USB గాడ్జెట్ మరియు GadgetFSకి ప్రత్యామ్నాయంగా అభివృద్ధి చేయబడుతోంది. వినియోగదారు స్థలం నుండి USB గాడ్జెట్ సబ్సిస్టమ్కు తక్కువ-స్థాయి మరియు ప్రత్యక్ష ప్రాప్యతను పొందడం ద్వారా కొత్త API యొక్క సృష్టి జరిగింది, ఇది సాధ్యమయ్యే అన్ని USB అభ్యర్థనలను ప్రాసెస్ చేయడానికి అనుమతిస్తుంది (GadgetFS కొన్ని అభ్యర్థనలను వినియోగదారు స్థలానికి పంపకుండా స్వతంత్రంగా ప్రాసెస్ చేస్తుంది) . USB రా గాడ్జెట్ /dev/raw-gadget పరికరం ద్వారా నియంత్రించబడుతుంది, ఇది GadgetFSలో /dev/gadget వలె ఉంటుంది, అయితే పరస్పర చర్య నకిలీ-FS కాకుండా ioctl()-ఆధారిత ఇంటర్ఫేస్ను ఉపయోగిస్తుంది.
వినియోగదారు స్థలంలో ప్రక్రియ ద్వారా అన్ని USB అభ్యర్థనలను నేరుగా ప్రాసెస్ చేయడంతో పాటు, కొత్త ఇంటర్ఫేస్ USB అభ్యర్థనకు ప్రతిస్పందనగా ఏదైనా డేటాను తిరిగి ఇచ్చే సామర్థ్యాన్ని కూడా కలిగి ఉంటుంది (GadgetFS USB డిస్క్రిప్టర్ల ఖచ్చితత్వాన్ని తనిఖీ చేస్తుంది మరియు నిర్దిష్ట ప్రతిస్పందనలను ఫిల్టర్ చేస్తుంది, ఇది గుర్తించడాన్ని నిరోధిస్తుంది. USB స్టాక్ యొక్క ఫజ్ టెస్టింగ్ సమయంలో లోపాలు) . రా గాడ్జెట్ మీకు నిర్దిష్ట UDC (USB డివైస్ కంట్రోలర్) పరికరాన్ని మరియు అటాచ్ చేయడానికి డ్రైవర్ను ఎంచుకునే సామర్థ్యాన్ని కూడా అందిస్తుంది, అయితే GadgetFS అందుబాటులో ఉన్న మొదటి UDC పరికరానికి జోడించబడుతుంది. వివిధ UDCలకు ఊహించదగిన పేర్లు కేటాయించబడ్డాయి తుది స్థానం ఒక పరికరంలో వివిధ రకాల డేటా మార్పిడి ఛానెల్లను వేరు చేయడానికి.