This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH]: S390: Fix handling of needles crossing a page in strstr z15 ifunc-variant. [BZ #25226]
* Florian Weimer:
> * Stefan Liebler:
>
>> if the specified needle crosses a page-boundary, the s390-z15 ifunc
>> variant of strstr truncates the needle which results in invalid
>> results.
>>
>> This is fixed by loading the needle beyond the page boundary to v18
>> instead of v16. The bug is sometimes observable in test-strstr.c in
>> check1() and check2() as the haystack and needle is stored on
>> stack. Thus the needle can be on a page boundary.
>
> (GNU style is “check1 and check2”, no parentheses.)
>
>> check2 is now extended to test haystack / needles located on stack, at
>> end of page and on two pages.
>
> The test change looks okay to me. I haven't reviewed the assembler
> change. I think you can commit that as the architecture maintainer.
One more comment if it is not too late: It would be nice to reference
commit 6f47401bd5fc71209219779a0426170a9a7395b0 ("S390: Add arch13
strstr ifunc variant.") as the commit that introduced this bug.
Although it is very easy to track down in this case.
Thanks,
Florian