[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 3/3] x86: Use alternative mechanism to define CLAC/STAC



On 26/05/2014 17:18, Jan Beulich wrote:
>>>> On 26.05.14 at 17:49, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 26/05/2014 08:27, Feng Wu wrote:
>>> @@ -166,26 +168,34 @@ void ret_from_intr(void);
>>>  #define __ASM_STAC      .byte 0x0f,0x01,0xcb
>>>  
>>>  #ifdef __ASSEMBLY__
>>> -#define ASM_AC(op)                                       \
>>> -        btl $X86_FEATURE_SMAP & 31,                      \
>>> -        CPUINFO_FEATURE_OFFSET(X86_FEATURE_SMAP)+boot_cpu_data(%rip); \
>>> -        jnc 881f;                                        \
>>> -        __ASM_##op;                                      \
>>> -881:
>>> -
>>> -#define ASM_STAC ASM_AC(STAC)
>>> -#define ASM_CLAC ASM_AC(CLAC)
>>> +#define ASM_CLAC                                                       \
>>> +        661: ASM_NOP3;                                                 \
>>> +        .pushsection .altinstr_replacement, "ax";                      \
>> The altinstr_replacement section doesn't need to be executable.  The
>> data inside it is copied out into the .text section.
> But having it executable allows easily disassembling their contents -
> reasonable disassemblers don't disassemble non-executable sections
> by default.
>
> Jan
>

True, but without labels, the disassembly would just be a jumble of
instructions.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.