Skip to content
  • Kuninori Morimoto's avatar
    sh: use generic strncpy() · f9e7ff9c
    Kuninori Morimoto authored
    
    
    Current SH will get below warning at strncpy()
    
    In file included from ${LINUX}/arch/sh/include/asm/string.h:3,
                     from ${LINUX}/include/linux/string.h:20,
                     from ${LINUX}/include/linux/bitmap.h:9,
                     from ${LINUX}/include/linux/nodemask.h:95,
                     from ${LINUX}/include/linux/mmzone.h:17,
                     from ${LINUX}/include/linux/gfp.h:6,
                     from ${LINUX}/innclude/linux/slab.h:15,
                     from ${LINUX}/linux/drivers/mmc/host/vub300.c:38:
    ${LINUX}/drivers/mmc/host/vub300.c: In function 'new_system_port_status':
    ${LINUX}/arch/sh/include/asm/string_32.h:51:42: warning: array subscript\
      80 is above array bounds of 'char[26]' [-Warray-bounds]
       : "0" (__dest), "1" (__src), "r" (__src+__n)
                                         ~~~~~^~~~
    
    In general, strncpy() should behave like below.
    
    	char dest[10];
    	char *src = "12345";
    
    	strncpy(dest, src, 10);
    	// dest = {'1', '2', '3', '4', '5',
    	           '\0','\0','\0','\0','\0'}
    
    But, current SH strnpy() has 2 issues.
    1st is it will access to out-of-memory (= src + 10).
    2nd is it needs big fixup for it, and maintenance __asm__
    code is difficult.
    
    To solve these issues, this patch simply uses generic strncpy()
    instead of architecture specific one.
    
    Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Cc: Alan Modra <amodra@gmail.com>
    Cc: Bin Meng <bin.meng@windriver.com>
    Cc: Chen Zhou <chenzhou10@huawei.com>
    Cc: Geert Uytterhoeven <geert+renesas@glider.be>
    Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
    Cc: Krzysztof Kozlowski <krzk@kernel.org>
    Cc: Rich Felker <dalias@libc.org>
    Cc: Romain Naour <romain.naour@gmail.com>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
    Link: https://marc.info/?l=linux-renesas-soc&m=157664657013309
    
    
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f9e7ff9c