es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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.

Comments are closed.