Re: [PATCH 4/6] KVM: Add KVM_(UN)REGISTER_COALESCED_MMIO2 ioctls

kernel test robot
2024-07-13T20:48:48Z

Hi Ilias,

kernel test robot noticed the following build errors:

[auto build test ERROR on kvm/queue]
[also build test ERROR on mst-vhost/linux-next linus/master v6.10-rc7]
[cannot apply to kvm/linux-next next-20240712]
[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/Ilias-Stamatis/KVM-Fix-coalesced_mmio_has_room/20240710-222059
base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
patch link: https://lore.kernel.org/r/20240710085259.2125131-5-ilstam%40amazon.com
patch subject: [PATCH 4/6] KVM: Add KVM_(UN)REGISTER_COALESCED_MMIO2 ioctls
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240714/202407140405.VJSETXg3-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240714/202407140405.VJSETXg3-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/202407140405.VJSETXg3-lkp@intel.com/

All errors (new ones prefixed by >>):

arch/powerpc/kvm/../../../virt/kvm/coalesced_mmio.c: In function 'kvm_vm_ioctl_register_coalesced_mmio':
>> arch/powerpc/kvm/../../../virt/kvm/coalesced_mmio.c:292:24: error: implicit declaration of function 'fget'; did you mean 'sget'? [-Wimplicit-function-declaration]
292 | file = fget(zone->buffer_fd);
| ^~~~
| sget
>> arch/powerpc/kvm/../../../virt/kvm/coalesced_mmio.c:292:22: error: assignment to 'struct file *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
292 | file = fget(zone->buffer_fd);
| ^
>> arch/powerpc/kvm/../../../virt/kvm/coalesced_mmio.c:297:25: error: implicit declaration of function 'fput'; did you mean 'iput'? [-Wimplicit-function-declaration]
297 | fput(file);
| ^~~~
| iput

vim +292 arch/powerpc/kvm/../../../virt/kvm/coalesced_mmio.c

278
279 int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
280 struct kvm_coalesced_mmio_zone2 *zone,
281 bool use_buffer_fd)
282 {
283 int ret = 0;
284 struct file *file;
285 struct kvm_coalesced_mmio_dev *dev;
286 struct kvm_coalesced_mmio_buffer_dev *buffer_dev = NULL;
287
288 if (zone->pio != 1 && zone->pio != 0)
289 return -EINVAL;
290
291 if (use_buffer_fd) {
> 292 file = fget(zone->buffer_fd);
293 if (!file)
294 return -EBADF;
295
296 if (file->f_op != &coalesced_mmio_buffer_ops) {
> 297 fput(file);
298 return -EINVAL;
299 }
300
301 buffer_dev = file->private_data;
302 if (!buffer_dev->ring) {
303 fput(file);
304 return -ENOBUFS;
305 }
306 }
307
308 dev = kzalloc(sizeof(struct kvm_coalesced_mmio_dev),
309 GFP_KERNEL_ACCOUNT);
310 if (!dev) {
311 ret = -ENOMEM;
312 goto out_free_file;
313 }
314
315 kvm_iodevice_init(&dev->dev, &coalesced_mmio_ops);
316 dev->kvm = kvm;
317 dev->zone = *zone;
318 dev->buffer_dev = buffer_dev;
319
320 mutex_lock(&kvm->slots_lock);
321 ret = kvm_io_bus_register_dev(kvm,
322 zone->pio ? KVM_PIO_BUS : KVM_MMIO_BUS,
323 zone->addr, zone->size, &dev->dev);
324 if (ret < 0)
325 goto out_free_dev;
326 list_add_tail(&dev->list, &kvm->coalesced_zones);
327 mutex_unlock(&kvm->slots_lock);
328
329 goto out_free_file;
330
331 out_free_dev:
332 mutex_unlock(&kvm->slots_lock);
333 kfree(dev);
334 out_free_file:
335 if (use_buffer_fd)
336 fput(file);
337
338 return ret;
339 }
340

--
0-DAY CI Kernel Test Service