Loaʻa ka USB Raw Gadget, Linux module no ka hoʻohālikelike ʻana i nā polokalamu USB

Ke kūkulu nei ʻo Andrey Konovalov mai Google i kahi module hou Hāmeʻa maka USB, e ae ana e hoʻohālike i nā polokalamu USB ma kahi o ka mea hoʻohana. Ke kali nei palapala noi e hoʻokomo i kēia module i ka hapa nui o ka Linux kernel. USB Raw Gadget noi ʻia ma Google e hoʻomaʻamaʻa i ka hoʻāʻo ʻana o ka ʻōpala USB me ka hoʻohana ʻana i ka pahu hana syzkaller.

Hoʻohui ka module i kahi interface hoʻonohonoho hou i ka subsystem kernel Pākuʻi USB a ke kūkulu ʻia nei ma ke ʻano he ʻokoʻa no GadgetFS. ʻO ka hana ʻana i kahi API hou ma muli o ka pono e loaʻa ka haʻahaʻa haʻahaʻa a me ke komo pololei ʻana i ka subsystem USB Gadget mai kahi mea hoʻohana, e ʻae iā ia e hana i nā noi USB hiki (GadgetFS hana i kekahi mau noi ma kāna iho, me ka hāʻawi ʻole ʻia i ka mea hoʻohana. hakahaka). Mālama ʻia ka USB Raw Gadget ma o ka /dev/raw-gadget device, e like me /dev/gadget ma GadgetFS, akā hoʻohana ka launa pū ʻana i kahi interface ioctl() ma mua o kahi pseudo-FS.

Ma waho aʻe o ka hoʻoponopono pololei ʻana i nā noi USB āpau e kahi kaʻina hana hoʻohana-space, hōʻike pū ka interface hou i ka hiki ke hoʻihoʻi i kekahi ʻikepili i ka pane ʻana i kahi noi USB (Ke hana nei ʻo GadgetFS i ka hōʻoia USB descriptor a kānana i kekahi mau pane, e pale ana i ka ʻike ʻana i nā hewa i ka wā USB. hoʻāʻo ʻāhuehue hoʻopaʻa ʻia). ʻAe ka Raw Gadget iā ʻoe e koho i kahi UDC (USB Device Controller) ponoʻī a me ka mea hoʻokele e hoʻopili ai, ʻoiai ʻo GadgetFS e pili ana i ka hāmeʻa UDC mua loa. Nā inoa wānana i hāʻawi ʻia i nā UDC like ʻole hopena kūlike e hoʻokaʻawale i nā ʻano ala hoʻololi ʻikepili i loko o ka mea hoʻokahi.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka