[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <714268da-d199-4371-8360-500e7165119c@moroto.mountain>
Date: Sun, 9 Jun 2024 18:29:48 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: oe-kbuild@...ts.linux.dev, Fred Griffoul <fgriffo@...zon.co.uk>,
griffoul@...il.com
Cc: lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
Fred Griffoul <fgriffo@...zon.co.uk>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Alex Williamson <alex.williamson@...hat.com>,
Waiman Long <longman@...hat.com>,
Zefan Li <lizefan.x@...edance.com>, Tejun Heo <tj@...nel.org>,
Johannes Weiner <hannes@...xchg.org>,
Mark Rutland <mark.rutland@....com>, Marc Zyngier <maz@...nel.org>,
Oliver Upton <oliver.upton@...ux.dev>,
Mark Brown <broonie@...nel.org>, Ard Biesheuvel <ardb@...nel.org>,
Joey Gouly <joey.gouly@....com>,
Ryan Roberts <ryan.roberts@....com>,
Jeremy Linton <jeremy.linton@....com>,
Jason Gunthorpe <jgg@...pe.ca>, Yi Liu <yi.l.liu@...el.com>,
Kevin Tian <kevin.tian@...el.com>,
Eric Auger <eric.auger@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
Christian Brauner <brauner@...nel.org>,
Ankit Agrawal <ankita@...dia.com>,
Reinette Chatre <reinette.chatre@...el.com>,
Ye Bin <yebin10@...wei.com>, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
cgroups@...r.kernel.org
Subject: Re: [PATCH v4 2/2] vfio/pci: add msi interrupt affinity support
Hi Fred,
kernel test robot noticed the following build warnings:
url: https://github.com/intel-lab-lkp/linux/commits/Fred-Griffoul/cgroup-cpuset-export-cpuset_cpus_allowed/20240608-031332
base: cbb325e77fbe62a06184175aa98c9eb98736c3e8
patch link: https://lore.kernel.org/r/20240607190955.15376-3-fgriffo%40amazon.co.uk
patch subject: [PATCH v4 2/2] vfio/pci: add msi interrupt affinity support
config: mips-randconfig-r081-20240609 (https://download.01.org/0day-ci/archive/20240609/202406092245.Hgx6MqK9-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 13.2.0
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>
| Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
| Closes: https://lore.kernel.org/r/202406092245.Hgx6MqK9-lkp@intel.com/
New smatch warnings:
drivers/vfio/pci/vfio_pci_core.c:1241 vfio_pci_ioctl_set_irqs() warn: maybe return -EFAULT instead of the bytes remaining?
vim +1241 drivers/vfio/pci/vfio_pci_core.c
2ecf3b58ed7bc5 drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1190 static int vfio_pci_ioctl_set_irqs(struct vfio_pci_core_device *vdev,
663eab456e072b drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1191 struct vfio_irq_set __user *arg)
2ecf3b58ed7bc5 drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1192 {
2ecf3b58ed7bc5 drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1193 unsigned long minsz = offsetofend(struct vfio_irq_set, count);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1194 struct vfio_irq_set hdr;
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1195 cpumask_var_t mask;
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1196 u8 *data = NULL;
05692d7005a364 drivers/vfio/pci/vfio_pci.c Vlad Tsyrklevich 2016-10-12 1197 int max, ret = 0;
ef198aaa169c61 drivers/vfio/pci/vfio_pci.c Kirti Wankhede 2016-11-17 1198 size_t data_size = 0;
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1199
663eab456e072b drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1200 if (copy_from_user(&hdr, arg, minsz))
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1201 return -EFAULT;
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1202
05692d7005a364 drivers/vfio/pci/vfio_pci.c Vlad Tsyrklevich 2016-10-12 1203 max = vfio_pci_get_irq_count(vdev, hdr.index);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1204
ea3fc04d4fad2d drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1205 ret = vfio_set_irqs_validate_and_prepare(&hdr, max, VFIO_PCI_NUM_IRQS,
ea3fc04d4fad2d drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1206 &data_size);
ef198aaa169c61 drivers/vfio/pci/vfio_pci.c Kirti Wankhede 2016-11-17 1207 if (ret)
ef198aaa169c61 drivers/vfio/pci/vfio_pci.c Kirti Wankhede 2016-11-17 1208 return ret;
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1209
ef198aaa169c61 drivers/vfio/pci/vfio_pci.c Kirti Wankhede 2016-11-17 1210 if (data_size) {
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1211 if (hdr.flags & VFIO_IRQ_SET_DATA_AFFINITY) {
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1212 if (!zalloc_cpumask_var(&mask, GFP_KERNEL))
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1213 return -ENOMEM;
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1214
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1215 ret = copy_from_user(mask, &arg->data, data_size);
copy_from_user() returns the number of bytes remaining to be copied.
This should be:
if (copy_from_user(mask, &arg->data, data_size)) {
ret = -EFAULT;
goto out;
}
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1216 if (ret)
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1217 goto out;
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1218
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1219 data = (u8 *)mask;
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1220
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1221 } else {
663eab456e072b drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1222 data = memdup_user(&arg->data, data_size);
3a1f7041ddd59e drivers/vfio/pci/vfio_pci.c Fengguang Wu 2012-12-07 1223 if (IS_ERR(data))
3a1f7041ddd59e drivers/vfio/pci/vfio_pci.c Fengguang Wu 2012-12-07 1224 return PTR_ERR(data);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1225 }
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1226 }
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1227
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1228 mutex_lock(&vdev->igate);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1229
ea3fc04d4fad2d drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1230 ret = vfio_pci_set_irqs_ioctl(vdev, hdr.flags, hdr.index, hdr.start,
ea3fc04d4fad2d drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1231 hdr.count, data);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1232
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1233 mutex_unlock(&vdev->igate);
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1234
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1235 out:
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1236 if (hdr.flags & VFIO_IRQ_SET_DATA_AFFINITY && data_size)
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1237 free_cpumask_var(mask);
66c926fb7b2507 drivers/vfio/pci/vfio_pci_core.c Fred Griffoul 2024-06-07 1238 else
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1239 kfree(data);
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 1240
89e1f7d4c66d85 drivers/vfio/pci/vfio_pci.c Alex Williamson 2012-07-31 @1241 return ret;
2ecf3b58ed7bc5 drivers/vfio/pci/vfio_pci_core.c Jason Gunthorpe 2022-08-31 1242 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists