Скажем, у меня есть данные контекста пользователя, хранящиеся в указателе памяти ядра.Скажем, у меня также есть указатель на символ пространства пользователя *.Затем я создаю поток ядра и поток ядра может иметь эти два указателя.Из потока я могу получить доступ к данным пространства пользователя, используя указатель?Я могу получить к ним доступ в системном вызове, но вопрос в том, могу ли я получить к ним доступ из потока ядра?Как насчет доступа к ним из Workqueue?
Скажем, мой пользовательский процесс вызывает системный вызов
//User Application
char* abc = "This is data.";
syscall(340, p);
в обработчике syscall
void sys_340(void* p) {
th = kthread_run("kth", kt_func, p);
//might also store process context as I am in system call!! How?
}
void kt_func(void *p) {
while(1){ printk("Line: %s\n",p); sleep(1000); }
}
Я хочу, чтобы kt_func печатал "Это данные"в каждом 1 сезоне.