All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Haren Myneni <haren@linux.ibm.com>, linuxppc-dev@lists.ozlabs.org
Cc: oe-kbuild-all@lists.linux.dev, maddy@linux.ibm.com,
	mpe@ellerman.id.au, npiggin@gmail.com, msuchanek@suse.de,
	mahesh@linux.ibm.com, tyreld@linux.ibm.com, hbabu@us.ibm.com,
	haren@linux.ibm.com, shashank.gowda@in.ibm.com,
	bjking1@linux.ibm.com
Subject: Re: [PATCH v5 4/9] powerpc/pseries: Send payload with ibm,send-hvpipe-msg RTAS
Date: Sun, 7 Sep 2025 16:59:58 +0800	[thread overview]
Message-ID: <202509071638.LB0STPgX-lkp@intel.com> (raw)
In-Reply-To: <20250906155308.705926-5-haren@linux.ibm.com>

Hi Haren,

kernel test robot noticed the following build warnings:

[auto build test WARNING on powerpc/next]
[also build test WARNING on powerpc/fixes linus/master v6.17-rc4 next-20250905]
[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/Haren-Myneni/powerpc-pseries-Define-papr-hvpipe-ioctl/20250906-235556
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
patch link:    https://lore.kernel.org/r/20250906155308.705926-5-haren%40linux.ibm.com
patch subject: [PATCH v5 4/9] powerpc/pseries: Send payload with ibm,send-hvpipe-msg RTAS
config: powerpc64-randconfig-r123-20250907 (https://download.01.org/0day-ci/archive/20250907/202509071638.LB0STPgX-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 8.5.0
reproduce: (https://download.01.org/0day-ci/archive/20250907/202509071638.LB0STPgX-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/202509071638.LB0STPgX-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> arch/powerpc/platforms/pseries/papr-hvpipe.c:177:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] @@     got restricted __be64 [usertype] @@
   arch/powerpc/platforms/pseries/papr-hvpipe.c:177:26: sparse:     expected unsigned long long [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:177:26: sparse:     got restricted __be64 [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:186:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] @@     got restricted __be64 [usertype] @@
   arch/powerpc/platforms/pseries/papr-hvpipe.c:186:26: sparse:     expected unsigned long long [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:186:26: sparse:     got restricted __be64 [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:189:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long long [usertype] @@     got restricted __be64 [usertype] @@
   arch/powerpc/platforms/pseries/papr-hvpipe.c:189:26: sparse:     expected unsigned long long [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:189:26: sparse:     got restricted __be64 [usertype]
   arch/powerpc/platforms/pseries/papr-hvpipe.c:267:33: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __poll_t ( *poll )( ... ) @@     got unsigned int ( * )( ... ) @@
   arch/powerpc/platforms/pseries/papr-hvpipe.c:267:33: sparse:     expected restricted __poll_t ( *poll )( ... )
   arch/powerpc/platforms/pseries/papr-hvpipe.c:267:33: sparse:     got unsigned int ( * )( ... )

vim +177 arch/powerpc/platforms/pseries/papr-hvpipe.c

   118	
   119	/*
   120	 * papr_hvpipe_handle_write -  Issue send HVPIPE RTAS and return
   121	 * the RTAS status to the user space
   122	 */
   123	static ssize_t papr_hvpipe_handle_write(struct file *file,
   124		const char __user *buf, size_t size, loff_t *off)
   125	{
   126		struct hvpipe_source_info *src_info = file->private_data;
   127		struct rtas_work_area *work_area, *work_buf;
   128		unsigned long ret, len;
   129		char *area_buf;
   130	
   131		if (!src_info)
   132			return -EIO;
   133	
   134		/*
   135		 * Send HVPIPE RTAS is used to send payload to the specific
   136		 * source with the input parameters source ID and the payload
   137		 * as buffer list. Each entry in the buffer list contains
   138		 * address/length pair of the buffer.
   139		 *
   140		 * The buffer list format is as follows:
   141		 *
   142		 * Header (length of address/length pairs and the header length)
   143		 * Address of 4K buffer 1
   144		 * Length of 4K buffer 1 used
   145		 * ...
   146		 * Address of 4K buffer n
   147		 * Length of 4K buffer n used
   148		 *
   149		 * See PAPR 7.3.32.2 ibm,send-hvpipe-msg
   150		 *
   151		 * Even though can support max 1MB payload, the hypervisor
   152		 * supports only 4048 bytes payload at present and also
   153		 * just one address/length entry.
   154		 *
   155		 * writev() interface can be added in future when the
   156		 * hypervisor supports multiple buffer list entries.
   157		 */
   158		/* HVPIPE_MAX_WRITE_BUFFER_SIZE = 4048 bytes */
   159		if ((size > (HVPIPE_HDR_LEN + HVPIPE_MAX_WRITE_BUFFER_SIZE)) ||
   160			(size <= HVPIPE_HDR_LEN))
   161			return -EINVAL;
   162	
   163		/*
   164		 * The length of (address + length) pair + the length of header
   165		 */
   166		len = (2 * sizeof(u64)) + sizeof(u64);
   167		size -= HVPIPE_HDR_LEN;
   168		buf += HVPIPE_HDR_LEN;
   169		mutex_lock(&rtas_ibm_send_hvpipe_msg_lock);
   170		work_area = rtas_work_area_alloc(SZ_4K);
   171		if (!work_area) {
   172			ret = -ENOMEM;
   173			goto out;
   174		}
   175		area_buf = rtas_work_area_raw_buf(work_area);
   176		/* header */
 > 177		*(u64 *)area_buf = cpu_to_be64(len);
   178		area_buf += sizeof(u64);
   179	
   180		work_buf = rtas_work_area_alloc(SZ_4K);
   181		if (!area_buf) {
   182			ret = -ENOMEM;
   183			goto out_work;
   184		}
   185		/* First buffer address */
   186		*(u64 *)area_buf = cpu_to_be64(rtas_work_area_phys(work_buf));
   187		area_buf += sizeof(u64);
   188		/* First buffer address length */
   189		*(u64 *)area_buf = cpu_to_be64(size);
   190	
   191		if (!copy_from_user(rtas_work_area_raw_buf(work_buf), buf, size)) {
   192			ret = rtas_ibm_send_hvpipe_msg(work_area, src_info->srcID);
   193			if (!ret)
   194				ret = size + HVPIPE_HDR_LEN;
   195		} else
   196			ret = -EPERM;
   197	
   198		rtas_work_area_free(work_buf);
   199	out_work:
   200		rtas_work_area_free(work_area);
   201	out:
   202		mutex_unlock(&rtas_ibm_send_hvpipe_msg_lock);
   203		return ret;
   204	}
   205	

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

  reply	other threads:[~2025-09-07  9:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-06 15:52 [PATCH v5 0/9] powerpc/pseries: Add hypervisor pipe (HVPIPE) suport Haren Myneni
2025-09-06 15:52 ` [PATCH v5 1/9] powerpc/pseries: Define papr-hvpipe ioctl Haren Myneni
2025-09-06 15:53 ` [PATCH v5 2/9] powerpc/pseries: Define HVPIPE specific macros Haren Myneni
2025-09-06 15:53 ` [PATCH v5 3/9] powerpc/pseries: Add papr-hvpipe char driver for HVPIPE interfaces Haren Myneni
2025-09-07  7:27   ` kernel test robot
2025-09-06 15:53 ` [PATCH v5 4/9] powerpc/pseries: Send payload with ibm,send-hvpipe-msg RTAS Haren Myneni
2025-09-07  8:59   ` kernel test robot [this message]
2025-09-06 15:53 ` [PATCH v5 5/9] powerpc/pseries: Receive payload with ibm,receive-hvpipe-msg RTAS Haren Myneni
2025-09-06 15:53 ` [PATCH v5 6/9] powerpc/pseries: Wakeup hvpipe FD when the payload is pending Haren Myneni
2025-09-06 15:53 ` [PATCH v5 7/9] powerpc/pseries: Enable HVPIPE event message interrupt Haren Myneni
2025-09-06 15:53 ` [PATCH v5 8/9] powerpc/pseries: Enable hvpipe with ibm,set-system-parameter RTAS Haren Myneni
2025-09-06 15:53 ` [PATCH v5 9/9] powerpc/pseries: HVPIPE changes to support migration Haren Myneni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202509071638.LB0STPgX-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=bjking1@linux.ibm.com \
    --cc=haren@linux.ibm.com \
    --cc=hbabu@us.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.ibm.com \
    --cc=mahesh@linux.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=msuchanek@suse.de \
    --cc=npiggin@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=shashank.gowda@in.ibm.com \
    --cc=tyreld@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.