linux-alpha.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
@ 2025-10-30 16:35 Markus Elfring
  2025-10-31 12:51 ` kernel test robot
  2025-11-29 13:46 ` Magnus Lindholm
  0 siblings, 2 replies; 6+ messages in thread
From: Markus Elfring @ 2025-10-30 16:35 UTC (permalink / raw)
  To: linux-alpha, Chen Gang, Matt Turner, Richard Henderson
  Cc: LKML, kernel-janitors, Miaoqian Lin

From: Markus Elfring <elfring@users.sourceforge.net>
Date: Thu, 30 Oct 2025 17:24:27 +0100

A pointer was assigned to a variable in two function implementations.
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.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 arch/alpha/kernel/smp.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c
index ed06367ece57..8c7bc3ea7612 100644
--- a/arch/alpha/kernel/smp.c
+++ b/arch/alpha/kernel/smp.c
@@ -214,8 +214,7 @@ send_secondary_console_msg(char *str, int cpuid)
 	cp2 = str;
 	len = strlen(cp2);
 	*(unsigned int *)&cpu->ipc_buffer[0] = len;
-	cp1 = (char *) &cpu->ipc_buffer[1];
-	memcpy(cp1, cp2, len);
+	cp1 = memcpy(&cpu->ipc_buffer[1], cp2, len);
 
 	/* atomic test and set */
 	wmb();
@@ -265,8 +264,7 @@ recv_secondary_console_msg(void)
 			strcpy(buf, "<<< BOGUS MSG >>>");
 		else {
 			cp1 = (char *) &cpu->ipc_buffer[1];
-			cp2 = buf;
-			memcpy(cp2, cp1, cnt);
+			cp2 = memcpy(buf, cp1, cnt);
 			cp2[cnt] = '\0';
 			
 			while ((cp2 = strchr(cp2, '\r')) != 0) {
-- 
2.51.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
  2025-10-30 16:35 [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions Markus Elfring
@ 2025-10-31 12:51 ` kernel test robot
  2025-11-29 13:46 ` Magnus Lindholm
  1 sibling, 0 replies; 6+ messages in thread
From: kernel test robot @ 2025-10-31 12:51 UTC (permalink / raw)
  To: Markus Elfring, linux-alpha, Chen Gang, Matt Turner,
	Richard Henderson
  Cc: oe-kbuild-all, LKML, kernel-janitors, Miaoqian Lin

Hi Markus,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on mattst88-alpha/for-linus v6.18-rc3 next-20251031]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Markus-Elfring/alpha-Use-pointers-from-memcpy-calls-for-assignments-in-two-functions/20251031-003938
base:   linus/master
patch link:    https://lore.kernel.org/r/1605dd43-5e95-46eb-a0c6-78ff8b4d51b3%40web.de
patch subject: [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20251031/202510312008.rLcaBIfL-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251031/202510312008.rLcaBIfL-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510312008.rLcaBIfL-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/alpha/kernel/smp.c: In function 'send_secondary_console_msg':
>> arch/alpha/kernel/smp.c:201:24: warning: variable 'cp1' set but not used [-Wunused-but-set-variable]
     201 |         register char *cp1, *cp2;
         |                        ^~~
   arch/alpha/kernel/smp.c: In function 'recv_secondary_console_msg':
   arch/alpha/kernel/smp.c:237:13: warning: variable 'mycpu' set but not used [-Wunused-but-set-variable]
     237 |         int mycpu, i, cnt;
         |             ^~~~~


vim +/cp1 +201 arch/alpha/kernel/smp.c

^1da177e4c3f415 Linus Torvalds 2005-04-16  192  
^1da177e4c3f415 Linus Torvalds 2005-04-16  193  /*
^1da177e4c3f415 Linus Torvalds 2005-04-16  194   * Send a message to a secondary's console.  "START" is one such
^1da177e4c3f415 Linus Torvalds 2005-04-16  195   * interesting message.  ;-)
^1da177e4c3f415 Linus Torvalds 2005-04-16  196   */
ab39c77c3246f84 Paul Gortmaker 2013-06-17  197  static void
^1da177e4c3f415 Linus Torvalds 2005-04-16  198  send_secondary_console_msg(char *str, int cpuid)
^1da177e4c3f415 Linus Torvalds 2005-04-16  199  {
^1da177e4c3f415 Linus Torvalds 2005-04-16  200  	struct percpu_struct *cpu;
^1da177e4c3f415 Linus Torvalds 2005-04-16 @201  	register char *cp1, *cp2;
^1da177e4c3f415 Linus Torvalds 2005-04-16  202  	unsigned long cpumask;
^1da177e4c3f415 Linus Torvalds 2005-04-16  203  	size_t len;
^1da177e4c3f415 Linus Torvalds 2005-04-16  204  
^1da177e4c3f415 Linus Torvalds 2005-04-16  205  	cpu = (struct percpu_struct *)
^1da177e4c3f415 Linus Torvalds 2005-04-16  206  		((char*)hwrpb
^1da177e4c3f415 Linus Torvalds 2005-04-16  207  		 + hwrpb->processor_offset
^1da177e4c3f415 Linus Torvalds 2005-04-16  208  		 + cpuid * hwrpb->processor_size);
^1da177e4c3f415 Linus Torvalds 2005-04-16  209  
^1da177e4c3f415 Linus Torvalds 2005-04-16  210  	cpumask = (1UL << cpuid);
^1da177e4c3f415 Linus Torvalds 2005-04-16  211  	if (wait_for_txrdy(cpumask))
^1da177e4c3f415 Linus Torvalds 2005-04-16  212  		goto timeout;
^1da177e4c3f415 Linus Torvalds 2005-04-16  213  
^1da177e4c3f415 Linus Torvalds 2005-04-16  214  	cp2 = str;
^1da177e4c3f415 Linus Torvalds 2005-04-16  215  	len = strlen(cp2);
^1da177e4c3f415 Linus Torvalds 2005-04-16  216  	*(unsigned int *)&cpu->ipc_buffer[0] = len;
c37a29a96dcfc93 Markus Elfring 2025-10-30  217  	cp1 = memcpy(&cpu->ipc_buffer[1], cp2, len);
^1da177e4c3f415 Linus Torvalds 2005-04-16  218  
^1da177e4c3f415 Linus Torvalds 2005-04-16  219  	/* atomic test and set */
^1da177e4c3f415 Linus Torvalds 2005-04-16  220  	wmb();
^1da177e4c3f415 Linus Torvalds 2005-04-16  221  	set_bit(cpuid, &hwrpb->rxrdy);
^1da177e4c3f415 Linus Torvalds 2005-04-16  222  
^1da177e4c3f415 Linus Torvalds 2005-04-16  223  	if (wait_for_txrdy(cpumask))
^1da177e4c3f415 Linus Torvalds 2005-04-16  224  		goto timeout;
^1da177e4c3f415 Linus Torvalds 2005-04-16  225  	return;
^1da177e4c3f415 Linus Torvalds 2005-04-16  226  
^1da177e4c3f415 Linus Torvalds 2005-04-16  227   timeout:
^1da177e4c3f415 Linus Torvalds 2005-04-16  228  	printk("Processor %x not ready\n", cpuid);
^1da177e4c3f415 Linus Torvalds 2005-04-16  229  }
^1da177e4c3f415 Linus Torvalds 2005-04-16  230  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
  2025-10-30 16:35 [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions Markus Elfring
  2025-10-31 12:51 ` kernel test robot
@ 2025-11-29 13:46 ` Magnus Lindholm
  2025-11-29 15:50   ` Markus Elfring
  2025-11-29 16:55   ` [PATCH] " Dan Carpenter
  1 sibling, 2 replies; 6+ messages in thread
From: Magnus Lindholm @ 2025-11-29 13:46 UTC (permalink / raw)
  To: Markus Elfring
  Cc: linux-alpha, Chen Gang, Matt Turner, Richard Henderson, LKML,
	kernel-janitors, Miaoqian Lin

Hi Markus,

I noticed that the kernel test bot complained about some build issues,
are you planning on putting out a v2 of this patch?

Regards

Magnus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: alpha: Use pointers from memcpy() calls for assignments in two functions
  2025-11-29 13:46 ` Magnus Lindholm
@ 2025-11-29 15:50   ` Markus Elfring
  2025-11-29 16:55   ` [PATCH] " Dan Carpenter
  1 sibling, 0 replies; 6+ messages in thread
From: Markus Elfring @ 2025-11-29 15:50 UTC (permalink / raw)
  To: Magnus Lindholm, linux-alpha
  Cc: Chen Gang, Matt Turner, Richard Henderson, LKML, kernel-janitors,
	Miaoqian Lin

> I noticed that the kernel test bot complained about some build issues,

Implementation details can eventually be adjusted also according to
the message “warning: variable '…' set but not used”.


> are you planning on putting out a v2 of this patch?

I would appreciate corresponding constructive patch reviews if any parts of
the proposed source code transformation have got a chance for integration at all.

Regards,
Markus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
  2025-11-29 13:46 ` Magnus Lindholm
  2025-11-29 15:50   ` Markus Elfring
@ 2025-11-29 16:55   ` Dan Carpenter
  2025-11-29 17:33     ` Magnus Lindholm
  1 sibling, 1 reply; 6+ messages in thread
From: Dan Carpenter @ 2025-11-29 16:55 UTC (permalink / raw)
  To: Magnus Lindholm
  Cc: Markus Elfring, linux-alpha, Chen Gang, Matt Turner,
	Richard Henderson, LKML, kernel-janitors, Miaoqian Lin

On Sat, Nov 29, 2025 at 02:46:36PM +0100, Magnus Lindholm wrote:
> Hi Markus,
> 
> I noticed that the kernel test bot complained about some build issues,
> are you planning on putting out a v2 of this patch?
> 

I feel like generally we decided we didn't like the p = memcpy() patches.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions
  2025-11-29 16:55   ` [PATCH] " Dan Carpenter
@ 2025-11-29 17:33     ` Magnus Lindholm
  0 siblings, 0 replies; 6+ messages in thread
From: Magnus Lindholm @ 2025-11-29 17:33 UTC (permalink / raw)
  To: Dan Carpenter
  Cc: linux-alpha, Chen Gang, Matt Turner, Richard Henderson, LKML,
	kernel-janitors, Miaoqian Lin

>
> I feel like generally we decided we didn't like the p = memcpy() patches.
>

Thanks, yes.

Regards

Magnus

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-11-29 17:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-30 16:35 [PATCH] alpha: Use pointers from memcpy() calls for assignments in two functions Markus Elfring
2025-10-31 12:51 ` kernel test robot
2025-11-29 13:46 ` Magnus Lindholm
2025-11-29 15:50   ` Markus Elfring
2025-11-29 16:55   ` [PATCH] " Dan Carpenter
2025-11-29 17:33     ` Magnus Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).