Почему мой пространственный модуль ядра не выполняет все мои syscalls ioctl?Linux

Anonymous
Почему мой пространственный модуль ядра не выполняет все мои syscalls ioctl?

Сообщение Anonymous »

Я нашел несколько подобных вопросов в Интернете, но ничто не решает мою проблему, и я не понимаю обоснования. Второй и третий из них не возвращают никакой ошибки в пользовательском пространстве, но ничто не печатается в DMESG, поэтому похоже, что они не выполняются. Почему это так?int main(void)
{

int fd = open("/dev/mydev", O_RDWR);
if (fd < 0)
{
fprintf(stdout, "Failed to open dev: %s\n", strerror(errno));
return -1;
}

unsigned long foo = 0x01;
unsigned int bar = 123;

if(ioctl(fd, foo, &bar)
"Получен 0x02" Никогда не печатается, и я никогда не вижу "cmd: 0x2".
Вывод, который я получаю: < /p>
cmd: 0x1
received 0x01
init done.
< /code>
Нет segfault, coredump или как бы ни был.
я вижу в stdout: < /p>
OK
OK
OK


Подробнее здесь: https://stackoverflow.com/questions/796 ... l-syscalls

Вернуться в «Linux»