Re: [PATCH v3 1/2] x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd

From: Jarkko Sakkinen
Date: Thu Sep 08 2022 - 17:11:03 EST


On Thu, Sep 08, 2022 at 12:53:55PM -0700, Reinette Chatre wrote:
>
>
> On 9/5/2022 5:02 PM, 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>
>
> Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>

Thanks.

I also split down the long augment test also into pieces now,
as you requested, and I think it is now somewhat clean.

BR, Jarkko