* [PATCH v2] s390: Fix strrchr() implementation
@ 2021-10-05 12:08 Roberto Sassu
2021-10-05 13:14 ` Heiko Carstens
0 siblings, 1 reply; 6+ messages in thread
From: Roberto Sassu @ 2021-10-05 12:08 UTC (permalink / raw)
To: hca, gor, borntraeger; +Cc: linux-s390, linux-kernel, Roberto Sassu, stable
Fix two problems found in the strrchr() implementation for s390
architectures: evaluate empty strings (return the string address instead of
NULL, if '\0' is passed as second argument); evaluate the first character
of non-empty strings (the current implementation stops at the second).
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with empty strings)
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
---
arch/s390/lib/string.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/arch/s390/lib/string.c b/arch/s390/lib/string.c
index cfcdf76d6a95..8127e110d154 100644
--- a/arch/s390/lib/string.c
+++ b/arch/s390/lib/string.c
@@ -259,14 +259,13 @@ EXPORT_SYMBOL(strcmp);
#ifdef __HAVE_ARCH_STRRCHR
char *strrchr(const char *s, int c)
{
- size_t len = __strend(s) - s;
-
- if (len)
- do {
- if (s[len] == (char) c)
- return (char *) s + len;
- } while (--len > 0);
- return NULL;
+ size_t len = __strend(s) - s;
+
+ do {
+ if (s[len] == (char) c)
+ return (char *) s + len;
+ } while (--len >= 0);
+ return NULL;
}
EXPORT_SYMBOL(strrchr);
#endif
--
2.32.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2] s390: Fix strrchr() implementation
2021-10-05 12:08 [PATCH v2] s390: Fix strrchr() implementation Roberto Sassu
@ 2021-10-05 13:14 ` Heiko Carstens
2021-10-05 13:24 ` Juergen Gross
0 siblings, 1 reply; 6+ messages in thread
From: Heiko Carstens @ 2021-10-05 13:14 UTC (permalink / raw)
To: Roberto Sassu; +Cc: gor, borntraeger, linux-s390, linux-kernel, stable
On Tue, Oct 05, 2021 at 02:08:36PM +0200, Roberto Sassu wrote:
> Fix two problems found in the strrchr() implementation for s390
> architectures: evaluate empty strings (return the string address instead of
> NULL, if '\0' is passed as second argument); evaluate the first character
> of non-empty strings (the current implementation stops at the second).
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Cc: stable@vger.kernel.org
> Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with empty strings)
> Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
> ---
> arch/s390/lib/string.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
Applied, thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] s390: Fix strrchr() implementation
2021-10-05 13:14 ` Heiko Carstens
@ 2021-10-05 13:24 ` Juergen Gross
2021-10-05 13:30 ` Roberto Sassu
2021-10-05 13:39 ` Heiko Carstens
0 siblings, 2 replies; 6+ messages in thread
From: Juergen Gross @ 2021-10-05 13:24 UTC (permalink / raw)
To: Heiko Carstens, Roberto Sassu
Cc: gor, borntraeger, linux-s390, linux-kernel, stable
[-- Attachment #1.1.1: Type: text/plain, Size: 922 bytes --]
On 05.10.21 15:14, Heiko Carstens wrote:
> On Tue, Oct 05, 2021 at 02:08:36PM +0200, Roberto Sassu wrote:
>> Fix two problems found in the strrchr() implementation for s390
>> architectures: evaluate empty strings (return the string address instead of
>> NULL, if '\0' is passed as second argument); evaluate the first character
>> of non-empty strings (the current implementation stops at the second).
>>
>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>> Cc: stable@vger.kernel.org
>> Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with empty strings)
>> Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
>> ---
>> arch/s390/lib/string.c | 15 +++++++--------
>> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> Applied, thanks!
>
Really? I just wanted to write a response: len is unsigned (size_t)
and compared to be >= 0, which sounds like always true.
Juergen
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3135 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH v2] s390: Fix strrchr() implementation
2021-10-05 13:24 ` Juergen Gross
@ 2021-10-05 13:30 ` Roberto Sassu
2021-10-05 13:36 ` Heiko Carstens
2021-10-05 13:39 ` Heiko Carstens
1 sibling, 1 reply; 6+ messages in thread
From: Roberto Sassu @ 2021-10-05 13:30 UTC (permalink / raw)
To: Juergen Gross, Heiko Carstens
Cc: gor, borntraeger, linux-s390, linux-kernel, stable
> From: Juergen Gross [mailto:jgross@suse.com]
> Sent: Tuesday, October 5, 2021 3:25 PM
> On 05.10.21 15:14, Heiko Carstens wrote:
> > On Tue, Oct 05, 2021 at 02:08:36PM +0200, Roberto Sassu wrote:
> >> Fix two problems found in the strrchr() implementation for s390
> >> architectures: evaluate empty strings (return the string address instead of
> >> NULL, if '\0' is passed as second argument); evaluate the first character
> >> of non-empty strings (the current implementation stops at the second).
> >>
> >> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> >> Cc: stable@vger.kernel.org
> >> Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with
> empty strings)
> >> Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
> >> ---
> >> arch/s390/lib/string.c | 15 +++++++--------
> >> 1 file changed, 7 insertions(+), 8 deletions(-)
> >
> > Applied, thanks!
> >
>
> Really? I just wanted to write a response: len is unsigned (size_t)
> and compared to be >= 0, which sounds like always true.
Thanks for catching this. Will fix it.
Roberto
HUAWEI TECHNOLOGIES Duesseldorf GmbH, HRB 56063
Managing Director: Li Peng, Zhong Ronghua
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] s390: Fix strrchr() implementation
2021-10-05 13:30 ` Roberto Sassu
@ 2021-10-05 13:36 ` Heiko Carstens
0 siblings, 0 replies; 6+ messages in thread
From: Heiko Carstens @ 2021-10-05 13:36 UTC (permalink / raw)
To: Roberto Sassu
Cc: Juergen Gross, gor, borntraeger, linux-s390, linux-kernel, stable
On Tue, Oct 05, 2021 at 01:30:45PM +0000, Roberto Sassu wrote:
> > From: Juergen Gross [mailto:jgross@suse.com]
> > Sent: Tuesday, October 5, 2021 3:25 PM
> > On 05.10.21 15:14, Heiko Carstens wrote:
> > > On Tue, Oct 05, 2021 at 02:08:36PM +0200, Roberto Sassu wrote:
> > >> Fix two problems found in the strrchr() implementation for s390
> > >> architectures: evaluate empty strings (return the string address instead of
> > >> NULL, if '\0' is passed as second argument); evaluate the first character
> > >> of non-empty strings (the current implementation stops at the second).
> > >>
> > >> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> > >> Cc: stable@vger.kernel.org
> > >> Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with
> > empty strings)
> > >> Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
> > >> ---
> > >> arch/s390/lib/string.c | 15 +++++++--------
> > >> 1 file changed, 7 insertions(+), 8 deletions(-)
> > >
> > > Applied, thanks!
> > >
> >
> > Really? I just wanted to write a response: len is unsigned (size_t)
> > and compared to be >= 0, which sounds like always true.
>
> Thanks for catching this. Will fix it.
I'll fix it. No need to resend.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] s390: Fix strrchr() implementation
2021-10-05 13:24 ` Juergen Gross
2021-10-05 13:30 ` Roberto Sassu
@ 2021-10-05 13:39 ` Heiko Carstens
1 sibling, 0 replies; 6+ messages in thread
From: Heiko Carstens @ 2021-10-05 13:39 UTC (permalink / raw)
To: Juergen Gross
Cc: Roberto Sassu, gor, borntraeger, linux-s390, linux-kernel, stable
On Tue, Oct 05, 2021 at 03:24:33PM +0200, Juergen Gross wrote:
> On 05.10.21 15:14, Heiko Carstens wrote:
> > On Tue, Oct 05, 2021 at 02:08:36PM +0200, Roberto Sassu wrote:
> > > Fix two problems found in the strrchr() implementation for s390
> > > architectures: evaluate empty strings (return the string address instead of
> > > NULL, if '\0' is passed as second argument); evaluate the first character
> > > of non-empty strings (the current implementation stops at the second).
> > >
> > > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> > > Cc: stable@vger.kernel.org
> > > Reported-by: Heiko Carstens <hca@linux.ibm.com> (incorrect behavior with empty strings)
> > > Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
> > > ---
> > > arch/s390/lib/string.c | 15 +++++++--------
> > > 1 file changed, 7 insertions(+), 8 deletions(-)
> >
> > Applied, thanks!
> >
>
> Really? I just wanted to write a response: len is unsigned (size_t)
> and compared to be >= 0, which sounds like always true.
Yeah.. I did some out-of-tree tests, but of course using int instead
of unsigned int. However sparse complains also. So this wouldn't have
hit upstream.
Many thanks for pointing this out anyway!
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-05 13:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-05 12:08 [PATCH v2] s390: Fix strrchr() implementation Roberto Sassu
2021-10-05 13:14 ` Heiko Carstens
2021-10-05 13:24 ` Juergen Gross
2021-10-05 13:30 ` Roberto Sassu
2021-10-05 13:36 ` Heiko Carstens
2021-10-05 13:39 ` Heiko Carstens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).