This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]