[PATCH] arm64: Allow vmalloc regions to be set with set_memory_*

Mark Rutland mark.rutland at arm.com
Wed Feb 3 05:43:32 PST 2016

On Sat, Jan 30, 2016 at 10:48:02AM +0800, Xishi Qiu wrote:
 Hi Mark,
> Thanks for your reply. Maybe I didn't express it clearly, sorry for it.
> The abstract process is the following:
> 1. do not create a large block, use 4kb for all of the memory(regardless of performance).
> setup_arch->paging_init()->map_mem()->__map_memblock()->create_mapping()
> 2. alloc a page and get the the linear mapping address.
> 3. modify judgment condition of the function set_memory_ro(), so it could handle the linear mapping range.
> 4. use set_memory_ro() to change the prot flag of the page which we get in step 2.
> Is it safe?

This will be free from the problems associated with splitting/fusing

My concern was with what exactly this "special memory" was and how it
was being used. It sounds like either some infrstructure is missing, or
you are using the wrong abstractions.


More information about the linux-arm-kernel mailing list