una solicita sistema operativo llamadas llamada interfaz como linux kernel-module

solicita - llamadas al sistema linux



¿Es posible agregar una llamada al sistema a través de un LKM? (3)

Aquí hay un ejemplo
llamadas al sistema de linux

editar:
El ejemplo anterior muestra cómo implementar una llamada al sistema, en cuanto a implementar uno desde un módulo cargable; AFAIK, eso no es posible, a menos que se sobrescriba uno existente porque el tamaño de la matriz es #define.

Tenga en cuenta que también se requieren cambios de espacio de usuario, al menos si desea poder utilizar la nueva llamada al sistema.

Me gustaría agregar una nueva llamada al sistema a través de un LKM, pero no estoy seguro de cómo hacer esto. Es decir, sé que si deseo agregar una llamada al sistema completamente nueva, puedo buscar en sys_call_table y encontrar sys_ni_syscall y simplemente reemplazarlo, pero tenía curiosidad de si era posible agregarlo a sys_call_table . Me doy cuenta de que probablemente no sea ​​posible, dado que es una matriz de tamaño fijo, pero me preguntaba si había otras formas inteligentes de agregar llamadas al sistema sin anular un número de llamada del sistema no utilizado.



Esta es una vieja pregunta, pero aún así quiero proponer mi solución. La forma más fácil de implementar un entorno de "llamada de sistema" es confiar en un dispositivo falso. En particular, podría crear un nuevo controlador de dispositivo que en realidad no está conduciendo nada. Sin embargo, escribir en él puede hacer que el módulo instalado realice las acciones requeridas. Además, si desea ofrecer varios servicios, puede ioctl operaciones ioctl .