В системном вызове ядра Linux я хочу отобразить область памяти аналогично вызову mmap
из пользовательского режима.Если бы я хотел отобразить регион для текущего процесса, я мог бы просто использовать do_mmap_pgoff
.Однако вместо этого я хочу отобразить регион в другом процессе, работая в режиме ядра.do_mmap_pgoff
предполагает / знает, что это отображение для текущего процесса и не допускает ничего другого.
Я планирую выполнить репликацию do_mmap_pgoff для получения дополнительных аргументов, указывающих task_struct и mm_struct любого процесса, который я хочуна карту.Тем не менее, это очень нежелательно, так как я должен вручную пройти через многие функции в исходном коде ядра и по сути сделать дубликаты этих функций, чтобы они больше не предполагали, что выполняют работу от имени current
.
Есть лилучший способ отобразить память в процессе, отличном от current
при работе в режиме ядра?