This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH, MPX] MPX-specific changes in dl_runtime routines
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "Zamyatin, Igor" <igor dot zamyatin at intel dot com>
- Cc: "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>
- Date: Thu, 2 Jul 2015 19:38:48 -0700
- Subject: Re: [PATCH, MPX] MPX-specific changes in dl_runtime routines
- Authentication-results: sourceware.org; auth=none
- References: <0EFAB2BDD0F67E4FB6CCC8B9F87D75696A91AC38 at IRSMSX101 dot ger dot corp dot intel dot com> <CAMe9rOqq9uHZHOG8-ByX5bt4xyy77Cb9PJWccaR_kMTOnt7qDQ at mail dot gmail dot com> <CAMe9rOq-5XqT8CRBrrb69nbzYEL0=0r2fM9CDeBDF8xhzXV_JQ at mail dot gmail dot com>
On Thu, Jul 2, 2015 at 4:41 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Thu, Jul 2, 2015 at 7:33 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Thu, Jul 2, 2015 at 7:03 AM, Zamyatin, Igor <igor.zamyatin@intel.com> wrote:
>>> Hi!
>>>
>>> This patch adds necessary changes for proper work of dl_runtime routines both for 32 and 64 bits in MPX mode.
>>>
>>> Is it ok for trunk?
>>>
>>>
>>> Thanks,
>>> Igor
>>>
>>>
>>> 2015-07-02 Igor Zamyatin <igor.zamyatin@intel.com>
>>>
>>> * sysdeps/i386/dl-trampoline.S (_dl_runtime_profile): Save
>>> and restore Intel MPX return bound registers
>>> * sysdeps/x86_64/dl-trampoline.h: Add PRESERVE_BND_REGS_PREFIX to
>>> call, jump and ret instructions to not loose bounds.
>>> * sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and
>>> lrv_bnd1.
>>
>> Should we add link-defines.sym, similar to x86-64, to avoid
>> those magic numbers when accessing the fields in La_i86_regs
>> and La_i86_retval?
>>
>
> Here is a patch to add sysdeps/i386/link-defines.sym.
>
> I think the i386 MPX change will store values into La_i86_retval
> with wrong order. You need to store bnd0/bnd1 after lrv_st1, not
> before lrv_eax.
>
> Please add an i386 audit testcase to verify that pltexit gets correct
> La_i86_regs and La_i86_retval pointers and fix the i386 MPX patch.
>
>
I updated my patch and pushed it to hjl/audit branch.
--
H.J.