From: Jarkko Sakkinen Date: Wed, 18 Nov 2020 21:39:32 +0000 (+0200) Subject: x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages() X-Git-Tag: v5.15~2248^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=14132a5b807bb5caf778fe7ae1597e630971e949;p=platform%2Fkernel%2Flinux-starfive.git x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages() Return -ERESTARTSYS instead of -EINTR in sgx_ioc_enclave_add_pages() when interrupted before any pages have been processed. At this point ioctl can be obviously safely restarted. Reported-by: Haitao Huang Signed-off-by: Jarkko Sakkinen Signed-off-by: Borislav Petkov Link: https://lkml.kernel.org/r/20201118213932.63341-1-jarkko@kernel.org --- diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c index 6d37117..30aefc9 100644 --- a/arch/x86/kernel/cpu/sgx/ioctl.c +++ b/arch/x86/kernel/cpu/sgx/ioctl.c @@ -444,7 +444,7 @@ static long sgx_ioc_enclave_add_pages(struct sgx_encl *encl, void __user *arg) for (c = 0 ; c < add_arg.length; c += PAGE_SIZE) { if (signal_pending(current)) { if (!c) - ret = -EINTR; + ret = -ERESTARTSYS; break; }