Uma chamada ioctl
é feita a partir do espaço do usuário e executa o código no driver no espaço do kernel. No espaço do kernel em si, você geralmente chama outras partes do kernel diretamente, então não há necessidade de aninhados ioctl
s: Afinal, este é um mecanismo para ajudar o espaço do usuário a se comunicar com o espaço do kernel.
Então:
1) Ninguém faz isso, porque não é necessário.
2) Você não deveria fazer isso.
3) se você realmente quisesse, você poderia configurar um ambiente falso no kernel onde você pode simular outro ioctl
dentro de um ioctl
, mas isso é um grande esforço e uma solução complicada para coisas que você pode alcançar de uma maneira mais fácil.
4) Pensar nisso não ajudará você a entender o kernel.