PING^1: V2 [PATCH] Check multiple NT_GNU_PROPERTY_TYPE_0 notes [BZ #23509]
H.J. Lu
hjl.tools@gmail.com
Wed Sep 19 12:55:00 GMT 2018
HI,
Carlos, can you take a look at this?
On Sun, Aug 26, 2018 at 7:52 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Aug 14, 2018 at 10:32 AM, H.J. Lu <hongjiu.lu@intel.com> wrote:
>> The older linker treats .note.gnu.property section as a generic note
>> section and just concatenates all .note.gnu.property sections from the
>> inputs to the output. When the older linker is used to created the
>> program on CET-enabled OS, the generated output has .note.gnu.property
>> section with multiple NT_GNU_PROPERTY_TYPE_0 notes whose IBT and SHSTK
>> enable bits are set even if the program isn't CET enabled. Such program
>> will crash on CET-enabled machines. This patch updates the note parser:
>>
>> 1. Skip note parsing if a NT_GNU_PROPERTY_TYPE_0 note has been processed.
>> 2. Check multiple NT_GNU_PROPERTY_TYPE_0 notes.
>>
>> OK for master?
>>
>> H.J.
>> ---
>> [BZ #23509]
>> * sysdeps/x86/dl-prop.h (_dl_process_cet_property_note): Skip
>> note parsing if a NT_GNU_PROPERTY_TYPE_0 note has been processed.
>> Update the l_cet field when processing NT_GNU_PROPERTY_TYPE_0 note.
>> Check multiple NT_GNU_PROPERTY_TYPE_0 notes.
>> * sysdeps/x86/link_map.h (l_cet): Expand to 3 bits, Add
>> lc_unknown.
>
> Here is the updated patch which passed CET smoke test:
>
> https://github.com/hjl-tools/cet-smoke-test
PING:
https://sourceware.org/ml/libc-alpha/2018-08/msg00535.html
--
H.J.
More information about the Libc-alpha
mailing list