[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202601282030.CWdibo9B-lkp@intel.com>
Date: Wed, 28 Jan 2026 20:28:30 +0800
From: kernel test robot <lkp@...el.com>
To: Johannes Thumshirn <johannes.thumshirn@....com>,
virtualization@...ts.linux.dev
Cc: oe-kbuild-all@...ts.linux.dev, "Michael S . Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
Eugenio Pérez <eperezma@...hat.com>,
Alexander Graf <graf@...zon.com>, linux-kernel@...r.kernel.org,
Johannes Thumshirn <johannes.thumshirn@....com>
Subject: Re: [PATCH v2 2/2] virtio: silence KCSAN warning in
virtqueue_kick_prepare
Hi Johannes,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.19-rc7]
[cannot apply to mst-vhost/linux-next next-20260127]
[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/Johannes-Thumshirn/virtio-silence-KCSAN-warning-in-virtqueue_get_buf_ctx_split/20260127-235023
base: linus/master
patch link: https://lore.kernel.org/r/20260127152524.200465-3-johannes.thumshirn%40wdc.com
patch subject: [PATCH v2 2/2] virtio: silence KCSAN warning in virtqueue_kick_prepare
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20260128/202601282030.CWdibo9B-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 15.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260128/202601282030.CWdibo9B-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601282030.CWdibo9B-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/vhost/vringh.c: In function '__vringh_notify_enable':
>> drivers/vhost/vringh.c:559:33: error: lvalue required as unary '&' operand
559 | if (putu16(vrh, &vring_avail_event(&vrh->vring),
| ^
drivers/vhost/vringh.c:562:36: error: lvalue required as unary '&' operand
562 | &vring_avail_event(&vrh->vring));
| ^
vim +559 drivers/vhost/vringh.c
f87d0fbb579818f Rusty Russell 2013-03-20 542
f87d0fbb579818f Rusty Russell 2013-03-20 543 static inline bool __vringh_notify_enable(struct vringh *vrh,
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 544 int (*getu16)(const struct vringh *vrh,
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 545 u16 *val, const __virtio16 *p),
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 546 int (*putu16)(const struct vringh *vrh,
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 547 __virtio16 *p, u16 val))
f87d0fbb579818f Rusty Russell 2013-03-20 548 {
f87d0fbb579818f Rusty Russell 2013-03-20 549 u16 avail;
f87d0fbb579818f Rusty Russell 2013-03-20 550
f87d0fbb579818f Rusty Russell 2013-03-20 551 if (!vrh->event_indices) {
f87d0fbb579818f Rusty Russell 2013-03-20 552 /* Old-school; update flags. */
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 553 if (putu16(vrh, &vrh->vring.used->flags, 0) != 0) {
f87d0fbb579818f Rusty Russell 2013-03-20 554 vringh_bad("Clearing used flags %p",
f87d0fbb579818f Rusty Russell 2013-03-20 555 &vrh->vring.used->flags);
f87d0fbb579818f Rusty Russell 2013-03-20 556 return true;
f87d0fbb579818f Rusty Russell 2013-03-20 557 }
f87d0fbb579818f Rusty Russell 2013-03-20 558 } else {
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 @559 if (putu16(vrh, &vring_avail_event(&vrh->vring),
f87d0fbb579818f Rusty Russell 2013-03-20 560 vrh->last_avail_idx) != 0) {
f87d0fbb579818f Rusty Russell 2013-03-20 561 vringh_bad("Updating avail event index %p",
f87d0fbb579818f Rusty Russell 2013-03-20 562 &vring_avail_event(&vrh->vring));
f87d0fbb579818f Rusty Russell 2013-03-20 563 return true;
f87d0fbb579818f Rusty Russell 2013-03-20 564 }
f87d0fbb579818f Rusty Russell 2013-03-20 565 }
f87d0fbb579818f Rusty Russell 2013-03-20 566
f87d0fbb579818f Rusty Russell 2013-03-20 567 /* They could have slipped one in as we were doing that: make
f87d0fbb579818f Rusty Russell 2013-03-20 568 * sure it's written, then check again. */
f87d0fbb579818f Rusty Russell 2013-03-20 569 virtio_mb(vrh->weak_barriers);
f87d0fbb579818f Rusty Russell 2013-03-20 570
b9f7ac8c72894c1 Michael S. Tsirkin 2014-12-12 571 if (getu16(vrh, &avail, &vrh->vring.avail->idx) != 0) {
f87d0fbb579818f Rusty Russell 2013-03-20 572 vringh_bad("Failed to check avail idx at %p",
f87d0fbb579818f Rusty Russell 2013-03-20 573 &vrh->vring.avail->idx);
f87d0fbb579818f Rusty Russell 2013-03-20 574 return true;
f87d0fbb579818f Rusty Russell 2013-03-20 575 }
f87d0fbb579818f Rusty Russell 2013-03-20 576
f87d0fbb579818f Rusty Russell 2013-03-20 577 /* This is unlikely, so we just leave notifications enabled
f87d0fbb579818f Rusty Russell 2013-03-20 578 * (if we're using event_indices, we'll only get one
f87d0fbb579818f Rusty Russell 2013-03-20 579 * notification anyway). */
f87d0fbb579818f Rusty Russell 2013-03-20 580 return avail == vrh->last_avail_idx;
f87d0fbb579818f Rusty Russell 2013-03-20 581 }
f87d0fbb579818f Rusty Russell 2013-03-20 582
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists