]> git.baikalelectronics.ru Git - kernel.git/commit
x86/mm/init32: Mark text and rodata RO in one go
authorThomas Gleixner <tglx@linutronix.de>
Mon, 17 Sep 2018 14:29:07 +0000 (16:29 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 27 Sep 2018 18:39:37 +0000 (20:39 +0200)
commit8e643483df19a8fcf0c178191bfdc427ba0fa50c
tree1edb61b51e0c5e3fe425501d07e493220109308c
parentcf80c873e685c0440e4b1c448412449c7a97917a
x86/mm/init32: Mark text and rodata RO in one go

The sequence of marking text and rodata read-only in 32bit init is:

  set_ro(text);
  kernel_set_to_readonly = 1;
  set_ro(rodata);

When kernel_set_to_readonly is 1 it enables the protection mechanism in CPA
for the read only regions. With the upcoming checks for existing mappings
this consequently triggers the warning about an existing mapping being
incorrect vs. static protections because rodata has not been converted yet.

There is no technical reason to split the two, so just combine the RO
protection to convert text and rodata in one go.

Convert the printks to pr_info while at it.

Reported-by: kernel test robot <rong.a.chen@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Dave Hansen <dave.hansen@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Bin Yang <bin.yang@intel.com>
Cc: Mark Gross <mark.gross@intel.com>
Link: https://lkml.kernel.org/r/20180917143545.731701535@linutronix.de
arch/x86/mm/init_32.c