[{"id":2660525,"web_url":"http://patchwork.ozlabs.org/comment/2660525/","msgid":"<d7b0b382-056f-d800-d96a-adc0338378a2@csgroup.eu>","date":"2021-04-02T17:32:33","subject":"Re: [PATCH 3/8] powerpc: convert strcpy to strlcpy in prom_init","submitter":{"id":79086,"url":"http://patchwork.ozlabs.org/api/people/79086/","name":"Christophe Leroy","email":"christophe.leroy@csgroup.eu"},"content":"Le 30/03/2021 à 19:56, Daniel Walker a écrit :\n> There's only two users of strcpy and one is the command\n> line handling. The generic command line handling uses strlcpy\n> and it makes sense to convert this one other user to strlcpy to\n> keep prom_init size consistent.\n> \n> Cc: xe-linux-external@cisco.com\n> Signed-off-by: Daniel Walker <danielwa@cisco.com>\n\nReviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>\n\n> ---\n>   arch/powerpc/kernel/prom_init.c | 25 +++++++++++++++----------\n>   1 file changed, 15 insertions(+), 10 deletions(-)\n> \n> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c\n> index ccf77b985c8f..2c2f33155317 100644\n> --- a/arch/powerpc/kernel/prom_init.c\n> +++ b/arch/powerpc/kernel/prom_init.c\n> @@ -242,15 +242,6 @@ static int __init prom_strcmp(const char *cs, const char *ct)\n>   \treturn 0;\n>   }\n>   \n> -static char __init *prom_strcpy(char *dest, const char *src)\n> -{\n> -\tchar *tmp = dest;\n> -\n> -\twhile ((*dest++ = *src++) != '\\0')\n> -\t\t/* nothing */;\n> -\treturn tmp;\n> -}\n> -\n>   static int __init prom_strncmp(const char *cs, const char *ct, size_t count)\n>   {\n>   \tunsigned char c1, c2;\n> @@ -276,6 +267,20 @@ static size_t __init prom_strlen(const char *s)\n>   \treturn sc - s;\n>   }\n>   \n> +static size_t __init prom_strlcpy(char *dest, const char *src, size_t size)\n> +{\n> +\tsize_t ret = prom_strlen(src);\n> +\n> +\tif (size) {\n> +\t\tsize_t len = (ret >= size) ? size - 1 : ret;\n> +\n> +\t\tmemcpy(dest, src, len);\n> +\t\tdest[len] = '\\0';\n> +\t}\n> +\treturn ret;\n> +}\n> +\n> +\n>   static int __init prom_memcmp(const void *cs, const void *ct, size_t count)\n>   {\n>   \tconst unsigned char *su1, *su2;\n> @@ -2702,7 +2707,7 @@ static void __init flatten_device_tree(void)\n>   \n>   \t/* Add \"phandle\" in there, we'll need it */\n>   \tnamep = make_room(&mem_start, &mem_end, 16, 1);\n> -\tprom_strcpy(namep, \"phandle\");\n> +\tprom_strlcpy(namep, \"phandle\", 8);\n>   \tmem_start = (unsigned long)namep + prom_strlen(namep) + 1;\n>   \n>   \t/* Build string array */\n>","headers":{"Return-Path":"\n <linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>","X-Original-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Authentication-Results":["ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:2:0:216:3eff:fee1:b9f1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org;\n receiver=<UNKNOWN>)","lists.ozlabs.org; spf=pass (sender SPF authorized)\n smtp.mailfrom=csgroup.eu (client-ip=93.17.236.30; helo=pegase1.c-s.fr;\n envelope-from=christophe.leroy@csgroup.eu; receiver=<UNKNOWN>)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:2:0:216:3eff:fee1:b9f1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (4096 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 4FBnFQ0yN7z9sVt\n\tfor <patchwork-incoming@ozlabs.org>; Sat,  3 Apr 2021 04:32:58 +1100 (AEDT)","from boromir.ozlabs.org (localhost [IPv6:::1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4FBnFQ0645z3cB3\n\tfor <patchwork-incoming@ozlabs.org>; Sat,  3 Apr 2021 04:32:58 +1100 (AEDT)","from pegase1.c-s.fr (pegase1.c-s.fr [93.17.236.30])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by lists.ozlabs.org (Postfix) with ESMTPS id 4FBnF55rpHz3bth\n for <linuxppc-dev@lists.ozlabs.org>; Sat,  3 Apr 2021 04:32:41 +1100 (AEDT)","from localhost (mailhub1-int [192.168.12.234])\n by localhost (Postfix) with ESMTP id 4FBnF106C9z9v3qR;\n Fri,  2 Apr 2021 19:32:37 +0200 (CEST)","from pegase1.c-s.fr ([192.168.12.234])\n by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024)\n with ESMTP id lodEmtGE1XZv; Fri,  2 Apr 2021 19:32:36 +0200 (CEST)","from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192])\n by pegase1.c-s.fr (Postfix) with ESMTP id 4FBnF04lhLz9v3qQ;\n Fri,  2 Apr 2021 19:32:36 +0200 (CEST)","from localhost (localhost [127.0.0.1])\n by messagerie.si.c-s.fr (Postfix) with ESMTP id C362C8BB77;\n Fri,  2 Apr 2021 19:32:38 +0200 (CEST)","from messagerie.si.c-s.fr ([127.0.0.1])\n by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023)\n with ESMTP id Ig-4h8da1m4r; Fri,  2 Apr 2021 19:32:38 +0200 (CEST)","from [192.168.4.90] (unknown [192.168.4.90])\n by messagerie.si.c-s.fr (Postfix) with ESMTP id B96388BB6F;\n Fri,  2 Apr 2021 19:32:37 +0200 (CEST)"],"X-Virus-Scanned":["Debian amavisd-new at c-s.fr","amavisd-new at c-s.fr"],"Subject":"Re: [PATCH 3/8] powerpc: convert strcpy to strlcpy in prom_init","To":"Daniel Walker <danielwa@cisco.com>, Will Deacon <will@kernel.org>,\n ob Herring <robh@kernel.org>,\n Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>,\n Andrew Morton <akpm@linux-foundation.org>, x86@kernel.org,\n linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org","References":"\n <41021d66db2ab427c14255d2a24bb4517c8b58fd.1617126961.git.danielwa@cisco.com>\n <0c80a08ad4cf788c75043c1615c05bad893f4fde.1617126961.git.danielwa@cisco.com>","From":"Christophe Leroy <christophe.leroy@csgroup.eu>","Message-ID":"<d7b0b382-056f-d800-d96a-adc0338378a2@csgroup.eu>","Date":"Fri, 2 Apr 2021 19:32:33 +0200","User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101\n Thunderbird/78.9.0","MIME-Version":"1.0","In-Reply-To":"\n <0c80a08ad4cf788c75043c1615c05bad893f4fde.1617126961.git.danielwa@cisco.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"fr","Content-Transfer-Encoding":"8bit","X-BeenThere":"linuxppc-dev@lists.ozlabs.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux on PowerPC Developers Mail List <linuxppc-dev.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/linuxppc-dev>,\n <mailto:linuxppc-dev-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/linuxppc-dev>,\n <mailto:linuxppc-dev-request@lists.ozlabs.org?subject=subscribe>","Cc":"linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,\n xe-linux-external@cisco.com","Errors-To":"linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org","Sender":"\"Linuxppc-dev\"\n <linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org>"}}]