Use string_upper() from string helper module instead of open coded variant. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- arch/s390/mm/cmm.c | 11 ++++------- arch/s390/mm/extmem.c | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c index 1141c8d5c0d0..2203164b39da 100644 --- a/arch/s390/mm/cmm.c +++ b/arch/s390/mm/cmm.c @@ -14,8 +14,8 @@ #include <linux/moduleparam.h> #include <linux/gfp.h> #include <linux/sched.h> +#include <linux/string_helpers.h> #include <linux/sysctl.h> -#include <linux/ctype.h> #include <linux/swap.h> #include <linux/kthread.h> #include <linux/oom.h> @@ -394,13 +394,10 @@ static int __init cmm_init(void) goto out_sysctl; #ifdef CONFIG_CMM_IUCV /* convert sender to uppercase characters */ - if (sender) { - int len = strlen(sender); - while (len--) - sender[len] = toupper(sender[len]); - } else { + if (sender) + string_upper(sender, sender); + else sender = cmm_default_sender; - } rc = smsg_register_callback(SMSG_PREFIX, cmm_smsg_target); if (rc < 0) diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c index 5060956b8e7d..2c8c5dc52472 100644 --- a/arch/s390/mm/extmem.c +++ b/arch/s390/mm/extmem.c @@ -12,12 +12,12 @@ #include <linux/kernel.h> #include <linux/string.h> +#include <linux/string_helpers.h> #include <linux/spinlock.h> #include <linux/list.h> #include <linux/slab.h> #include <linux/export.h> #include <linux/memblock.h> -#include <linux/ctype.h> #include <linux/ioport.h> #include <linux/refcount.h> #include <linux/pgtable.h> @@ -89,15 +89,18 @@ static int segext_scode = DCSS_SEGEXTX; 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); + string_upper(dcss_name, tmp); + ASCEBC(dcss_name, 8); } @@ -109,7 +112,7 @@ dcss_mkname(char *name, char *dcss_name) static struct dcss_segment * segment_by_name (char *name) { - char dcss_name[9]; + char dcss_name[8]; struct list_head *l; struct dcss_segment *tmp, *retval = NULL; -- 2.33.0