Linus Torvalds writes: (Summary)
We'd have to do something like put the !PAGE_USER mapping at the top
of the user address space, and then simply make user_addr_max()
smaller than the actual user page table size.
smaller than the actual user page table size.
Or some other silly hack.
Or some other silly hack.
I do not believe there is any sane way to have !PAGE_USER in _general_, if you actually want to limit access to it. (We _could_ use !PAGE_USER for things that aren't really strictly about security - ie we could have used it for the NUMA balancing instead of using the P bit, and just let put_user/get_user blow through them).
through them).
Linus
Linus
Linus
smaller than the actual user page table size.
Or some other silly hack.
Or some other silly hack.
I do not believe there is any sane way to have !PAGE_USER in _general_, if you actually want to limit access to it. (We _could_ use !PAGE_USER for things that aren't really strictly about security - ie we could have used it for the NUMA balancing instead of using the P bit, and just let put_user/get_user blow through them).
through them).
Linus
Linus
Linus