>Maybe we should just pass the protection bits in l2_setblocks, and map the >kernel text/rodata as RO right away. It would also make it possible to map >rodata/data as non executable, with PXN|UXN. (Looking at the code it seems >to me rodata/data are executable currently.) > >We would make three calls, to map > > .text as RX > .rodata as R > .data as RW > >a bit like in amd64[1]. Regarding the DDB ifndef, probably there must be >a bit in ARM64 saying "disable page protection", so it could be set when >we enter DDB, and we could remove the ifndef.
I get it. I need to write db_write_text(), and when I finish, set kernel text/rodata READONLY by default. Ah...I had forgotten deleting execute bit. We need more 2Mbyte alignment between .text/.rodata. I will fix. thanks, -- ryo shimizu