This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 02/12] x86-64: Add endbr64 to tst-quadmod[12].S


On 07/24/2018 07:58 AM, H.J. Lu wrote:
> On Mon, Jul 23, 2018 at 7:53 PM, Carlos O'Donell <carlos@redhat.com> wrote:
>> On 07/21/2018 10:20 AM, H.J. Lu wrote:
>>> Add endbr64 to tst-quadmod1.S and tst-quadmod2.S so that func and foo
>>> can be called indirectly.
>>>
>>>       * sysdeps/x86_64/tst-quadmod1.S (func): Add endbr64 if IBT is
>>>       enabled.
>>>       (foo): Likewise.
>>>       * sysdeps/x86_64/tst-quadmod2.S (func) : Likewise.
>>>       (foo): Likewise.
>>> ---
>>>  sysdeps/x86_64/tst-quadmod1.S | 6 ++++++
>>>  sysdeps/x86_64/tst-quadmod2.S | 6 ++++++
>>>  2 files changed, 12 insertions(+)
>>
>> This is OK as-is, but marking foo with enbr64 seems
>> beyond what is needed. Only foo calls func directly,
> 
> Both func and foo needs ENDBR64.   All global functions
> may be called indirectly via PLT:

Sorry, you are correct. I wasn't thinking about the fact that the
main program calls via the PLT and we need an ENBR to continue the
CET state machine or the process will be terminated.

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]