1

As you know, every kernel threads share one kernel memory space. The mm field of the task_struct describing a kernel thread is null. It uses the mm field of 'priv' task.

I think it makes any kernel thread access other kernel thread's private memory region. For example, one of the device drivers was allocated 4KB page for it's own buffer but there is no way to prevent other threads from accessing it. Because every kernel threads share one memory address space.

So, I have a question. Is there any way to ask pages that should be used to private ?

1 Answers1

1

Is there any way to ask pages that should be used to private ?

No, any process executing kernel code has access to everything in the operating system.

It is up to the operating system and its policies to prevent malware drivers to be loaded into kernel, if it needs some security garantees.

Tsyvarev
  • 60,011
  • 17
  • 110
  • 153