All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Carstens <hca@linux.ibm.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	Vasily Gorbik <gor@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [PATCH v1 1/1] s390: Use string_upper() instead of open coded variant
Date: Mon, 4 Oct 2021 22:31:46 +0200	[thread overview]
Message-ID: <YVtksmjj1eGqw5GY@osiris> (raw)
In-Reply-To: <20211001130201.72545-1-andriy.shevchenko@linux.intel.com>

On Fri, Oct 01, 2021 at 04:02:01PM +0300, Andy Shevchenko wrote:
> Use string_upper() from string helper module instead of open coded variant.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  arch/s390/mm/cmm.c    | 11 ++++-------
>  arch/s390/mm/extmem.c | 21 ++++++++++++---------
>  2 files changed, 16 insertions(+), 16 deletions(-)
...
>  static void
>  dcss_mkname(char *name, char *dcss_name)
>  {
> +	/* Segment name is limited by 8 characters + NUL */
> +	char tmp[8 + 1];
>  	int i;
>  
> -	for (i = 0; i < 8; i++) {
> -		if (name[i] == '\0')
> -			break;
> -		dcss_name[i] = toupper(name[i]);
> -	}
> -	for (; i < 8; i++)
> -		dcss_name[i] = ' ';
> +	/*
> +	 * This snprintf() call does two things:
> +	 * - makes a NUL-terminated copy of the input string
> +	 * - pads it with spaces
> +	 */
> +	snprintf(tmp, sizeof(tmp), "%s        ", name);

I can't say I like code where I have to count spaces in order to
verify if the code is actually correct.

> +	string_upper(dcss_name, tmp);
...
>  static struct dcss_segment *
>  segment_by_name (char *name)
>  {
> -	char dcss_name[9];
> +	char dcss_name[8];

string_upper will copy the terminating NUL-byte. By reducing the size
of dcss_name to 8 bytes this will result in stack corruption.

  reply	other threads:[~2021-10-04 20:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-01 13:02 [PATCH v1 1/1] s390: Use string_upper() instead of open coded variant Andy Shevchenko
2021-10-04 20:31 ` Heiko Carstens [this message]
2021-10-05  8:18   ` Andy Shevchenko
2021-10-05  8:54     ` Heiko Carstens
2021-10-05 12:09       ` Andy Shevchenko
2021-10-11  8:21   ` David Laight
2021-10-11 10:09     ` Heiko Carstens
2021-10-12  8:04       ` David Laight
2021-10-12  9:12         ` Heiko Carstens
2021-10-07 18:07 ` Heiko Carstens

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YVtksmjj1eGqw5GY@osiris \
    --to=hca@linux.ibm.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=borntraeger@de.ibm.com \
    --cc=gor@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.