[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <877bwb21xj.fsf@email.froward.int.ebiederm.org>
Date: Thu, 30 Oct 2025 22:19:20 -0500
From: "Eric W. Biederman" <ebiederm@...ssion.com>
To: Markus Elfring <Markus.Elfring@....de>
Cc: linux-mips@...r.kernel.org,  Huacai Chen <chenhuacai@...nel.org>,
  Jiaxun Yang <jiaxun.yang@...goat.com>,  Jinyang He
 <hejinyang@...ngson.cn>,  Thomas Bogendörfer
 <tsbogend@...ha.franken.de>,
  Youling Tang <tangyouling@...ngson.cn>,  LKML
 <linux-kernel@...r.kernel.org>,  kernel-janitors@...r.kernel.org,
  Miaoqian Lin <linmq006@...il.com>
Subject: Re: [PATCH] MIPS: Loongson64: Use pointer from memcpy() call for
 assignment in loongson_kexec_prepare()
Markus Elfring <Markus.Elfring@....de> writes:
> From: Markus Elfring <elfring@...rs.sourceforge.net>
> Date: Thu, 30 Oct 2025 20:48:11 +0100
>
> A pointer was assigned to a variable. The same pointer was used for
> the destination parameter of a memcpy() call.
> This function is documented in the way that the same value is returned.
> Thus convert two separate statements into a direct variable assignment for
> the return value from a memory copy action.
>
> The source code was transformed by using the Coccinelle software.
Just looking at this change, I think this obscures things more than
clarifies things.
I believe the separate variable was used as much as anything to make
the line lengths shorter and the code more readable.
Eric
> Signed-off-by: Markus Elfring <elfring@...rs.sourceforge.net>
> ---
>  arch/mips/loongson64/reset.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/mips/loongson64/reset.c b/arch/mips/loongson64/reset.c
> index 3e20ade0503a..ce412f5616b7 100644
> --- a/arch/mips/loongson64/reset.c
> +++ b/arch/mips/loongson64/reset.c
> @@ -76,8 +76,9 @@ static int loongson_kexec_prepare(struct kimage *image)
>  			 * of parameters (as bootloader does).
>  			 */
>  			int offt;
> -			str = (char *)argv + KEXEC_ARGV_SIZE/2;
> -			memcpy(str, image->segment[i].buf, KEXEC_ARGV_SIZE/2);
> +
> +			str = memcpy((char *)argv + KEXEC_ARGV_SIZE / 2, image->segment[i].buf,
> +				     KEXEC_ARGV_SIZE / 2);
>  			ptr = strchr(str, ' ');
>  
>  			while (ptr && (argc < MAX_ARGS)) {
Powered by blists - more mailing lists
 
