Michael> Specifically, if it exposes to the user the ability to
Michael> lock raw physical memory, how do you plan to prevent a
Michael> DOS by locking all memory?
Michael> The architecture document says it is done with mlock from
Michael> userspace, so I thought for a bit that driver may simply
Michael> require that user mlocks the relevant memory, but then I
Michael> understood that its easy to bypass by munlocking the
Michael> registered memory.
This is a good question. Userspace does need to do mlock() to get
correct results (otherwise the kernel may map new pages at a given
virtual address, even if the old pages are locked). However the
kernel side will do get_user_pages() to keep the pages present. So if
a rogue process does munlock(), the only problem it can cause is to
screw itself up.
There is a possibility of userspace possibly pinning a lot of pages
this way, but it would have to allocate the memory first. I think
there are a lot of local DOS attacks like this that people just don't
worry about too much.
- R.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general