The use of BUG() is not favored for any new kernel code. This patch set implements more reasonable error recovery. In all cases the recovery is not ideal but it is an improvement to the current situation. In addition, sgx_free_page() has been simplified by removing the parameter for skipping EREMOVE. EREMOVE can be successfully executed for an unused EPC page. Jarkko Sakkinen (3): intel_sgx: do not use BUG() in sgx_free_page() intel_sgx: remove flags parameter from sgx_free_page() intel_sgx: fix error paths for EBLOCK and ETRACK drivers/platform/x86/intel_sgx.h | 4 +- drivers/platform/x86/intel_sgx_ioctl.c | 12 ++-- drivers/platform/x86/intel_sgx_page_cache.c | 89 +++++++++++++++-------------- drivers/platform/x86/intel_sgx_util.c | 6 +- drivers/platform/x86/intel_sgx_vma.c | 6 +- 5 files changed, 55 insertions(+), 62 deletions(-) -- 2.9.3