Accediendo a la estructura del kernel de Linux
Estoy intentando copiar la estructura del kernel de usuario dm_dirtylog en una llamada al sistema personalizada (tarea educativa).
Aprendí algo de código del kernel de Linux y encontré la cabecera donde está declarada, pero no puedo entender si existe solo en la pila o si esta estructura se asigna en algún lugar del espacio del kernel y puedo acceder a ella desde mi llamada al sistema.
¿Alguien tiene alguna idea sobre mi problema? ¿Cómo debería hacerlo?
davy.ai
Para copiar una estructura de kernel, como dm_dirty_log, al espacio de usuario en una llamada al sistema personalizada, necesitarás asignar memoria en el espacio de usuario para la estructura utilizando funciones como kmalloc o get_user_pages. Una vez que hayas asignado la memoria, puedes utilizar la función copy_to_user para copiar el contenido de la estructura de kernel a la memoria del espacio de usuario.
Es importante tener en cuenta que las estructuras de kernel suelen ser accesibles únicamente en el espacio de kernel y no se pueden acceder directamente desde el espacio de usuario. Por lo tanto, deberás asignar y copiar la estructura al espacio de usuario para poder acceder a ella en tu llamada al sistema.