[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55ef3859-774e-1bd3-0e2a-5105cbf0d33a@cs.kuleuven.be>
Date: Fri, 1 Sep 2023 01:26:08 +0200
From: Jo Van Bulck <jo.vanbulck@...kuleuven.be>
To: "Huang, Kai" <kai.huang@...el.com>,
"linux-sgx@...r.kernel.org" <linux-sgx@...r.kernel.org>,
"jarkko@...nel.org" <jarkko@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Cc: "dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>
Subject: Re: [PATCH v5 08/13] selftests/sgx: Handle relocations in test
enclave
On 01.09.23 01:13, Huang, Kai wrote:
>> encl_body:
>> /* snipped */
>> lea encl_op_array(%rip), %rcx
>> lea __encl_base(%rip), %rax
>> add (%rcx,%rdx,8),%rax
>> jmp *%rax
>
> call *%rax
>
> ?
>
>> ret
Good catch, but this is indeed the code as generated with gcc -Os (for
readability). It seems the compiler choose a JMP over a CALL (as the
stack is untouched and the callee can immediately return to the caller).
Somehow, the compiler still emits a RET after the JMP (which is not
supposed to return here) though. I agree this is unnecessarily confusing
and can simply remove the RET from the commit message.
Best,
Jo
Powered by blists - more mailing lists