Как сделать уникальный доступ к драйверу ядра Linux из приложения - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть такая задача: существует существующий драйвер для некоторого устройства (в моем случае это хранилище NVMe), и я хочу иметь уникальный доступ к нему из своего приложения (т.е. только мое приложение может отправлять ioctl на это устройство).

Прежде всего, у меня есть идея написать что-то вроде прокси-драйвера и привязать к нему мое устройство с помощью udev.Этот драйвер должен проверить отправителя вызовов (поле в структурах ioctl) и передать cmds дальше, если отправитель в порядке.Но я понял, что оригинальный драйвер не экспортирует достаточно символов для его расширения.После этого я искал возможные решения с seccomp, модулями пользовательского пространства и т. Д., Но не нашел его, и я, наконец, застрял.И я не хочу менять оригинальный драйвер.Любые идеи приветствуются!

...