Re: [PATCH] x86/sgx: Use goto to remove redundant if check in sgx_encl_init

Jarkko Sakkinen <[email protected]>
Newsgroups org.kernel.vger.linux-sgx,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On Wed, Dec 10, 2025 at 02:00:35PM +0100, Thorsten Blum wrote:
> Immediately break out of both loops when 'ret != SGX_UNMASKED_EVENT'
> instead of checking for the same condition again in the outer loop.
> 
> Signed-off-by: Thorsten Blum <[email protected]>
> ---
>  arch/x86/kernel/cpu/sgx/ioctl.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c
> index 9322a9287dc7..c1e9841685e8 100644
> --- a/arch/x86/kernel/cpu/sgx/ioctl.c
> +++ b/arch/x86/kernel/cpu/sgx/ioctl.c
> @@ -521,15 +521,10 @@ static int sgx_encl_init(struct sgx_encl *encl, struct sgx_sigstruct *sigstruct,
>  
>  			preempt_enable();
>  
> -			if (ret == SGX_UNMASKED_EVENT)
> -				continue;
> -			else
> -				break;
> +			if (ret != SGX_UNMASKED_EVENT)
> +				goto skip_loop;
>  		}
>  
> -		if (ret != SGX_UNMASKED_EVENT)
> -			break;
> -
>  		msleep_interruptible(SGX_EINIT_SLEEP_TIME);
>  
>  		if (signal_pending(current)) {
> @@ -538,6 +533,7 @@ static int sgx_encl_init(struct sgx_encl *encl, struct sgx_sigstruct *sigstruct,
>  		}
>  	}
>  
> +skip_loop:
>  	if (encls_faulted(ret)) {
>  		if (encls_failed(ret))
>  			ENCLS_WARN(ret, "EINIT");
> -- 
> Thorsten Blum <[email protected]>
> GPG: 1D60 735E 8AEF 3BE4 73B6  9D84 7336 78FD 8DFE EAD4
> 

I don't think moving code around is very useful.

BR, Jarkko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.