[PATCH v15 6/8] nptl: Move the rseq area to the 'extra TLS' block
Michael Jeanson
mjeanson@efficios.com
Wed Jan 8 16:02:54 GMT 2025
On 2025-01-08 04:40, Florian Weimer wrote:
> * Michael Jeanson:
>
>> +#if TLS_TCB_AT_TP
>> + /* The rseq area block should come before the thread pointer and be at least
>> + 32 bytes. */
>> + TEST_VERIFY (__rseq_offset <= -RSEQ_AREA_SIZE_INITIAL);
>> +#elif TLS_DTV_AT_TP
>> + /* The rseq area block should come after the thread pointer. */
>> + TEST_VERIFY (__rseq_offset + TLS_TP_OFFSET >= 0);
>
> I think the TLS_TP_OFFSET is redudant here. It's supposed have already
> been folded into __rseq_offset. It certainly was before because a
> pointer difference was used to compute it.
I should have updated the comment here, I'm testing that the rseq area
comes after the TCB on TLS_DTV_AT_TP architectures, my first iteration
looked like this:
TEST_VERIFY (__rseq_offset >= -TLS_TP_OFFSET);
but I felt it was not very readable.
Would this be better?
+ /* The rseq area block should come after the TCB, add the TLS block
+ offset to the rseq offset to get a value relative to the TCB and
+ test that it's positive. */
+ TEST_VERIFY (__rseq_offset + TLS_TP_OFFSET >= 0);
Thanks,
Michael
More information about the Libc-alpha
mailing list