On Tue, 2022-09-06 at 03:02 +0300, Jarkko Sakkinen wrote: > Unsanitized pages trigger WARN_ON() unconditionally, which can panic the > whole computer, if /proc/sys/kernel/panic_on_warn is set. > > In sgx_init(), if misc_register() fails or misc_register() succeeds but > neither sgx_drv_init() nor sgx_vepc_init() succeeds, then ksgxd will be > prematurely stopped. This may leave unsanitized pages, which will result a > false warning. > > Refine __sgx_sanitize_pages() to return: > > 1. Zero when the sanitization process is complete or ksgxd has been > requested to stop. > 2. The number of unsanitized pages otherwise. > > Link: https://lore.kernel.org/linux-sgx/20220825051827.246698-1-jarkko@xxxxxxxxxx/T/#u > Fixes: 51ab30eb2ad4 ("x86/sgx: Replace section->init_laundry_list with sgx_dirty_page_list") > Cc: stable@xxxxxxxxxxxxxxx # v5.13+ > Reported-by: Paul Menzel <pmenzel@xxxxxxxxxxxxx> > Signed-off-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> (Given the idea of moving sgx_page_reclaimer_init() to the end of sgx_init() is considered too big to fix this bug:) Acked-by: Kai Huang <kai.huang@xxxxxxxxx> -- Thanks, -Kai