stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).