The following commit has been merged into the x86/sgx branch of tip:

Commit-ID:     14132a5b807bb5caf778fe7ae1597e630971e949
Gitweb:        
https://git.kernel.org/tip/14132a5b807bb5caf778fe7ae1597e630971e949
Author:        Jarkko Sakkinen <[email protected]>
AuthorDate:    Wed, 18 Nov 2020 23:39:32 +02:00
Committer:     Borislav Petkov <[email protected]>
CommitterDate: Thu, 19 Nov 2020 10:51:24 +01:00

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 <[email protected]>
Signed-off-by: Jarkko Sakkinen <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
 arch/x86/kernel/cpu/sgx/ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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;
                }

Reply via email to