From: kernel test robot <lkp@intel.com>
To: Yishai Hadas <yishaih@nvidia.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Leon Romanovsky <leon@kernel.org>
Subject: [leon-rdma:rdma-next 19/27] drivers/vfio/vfio_main.c:1658: undefined reference to `interval_tree_iter_first'
Date: Mon, 11 Jul 2022 23:23:54 +0800 [thread overview]
Message-ID: <202207112304.RBht9L6V-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git rdma-next
head: 325f0cb55fe7505ffc12020edf66e91f1bdbe021
commit: de08f6b555c0b4687890265b2f2358f69f28512a [19/27] vfio: Introduce the DMA logging feature support
config: arm-randconfig-r035-20220710 (https://download.01.org/0day-ci/archive/20220711/202207112304.RBht9L6V-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git/commit/?id=de08f6b555c0b4687890265b2f2358f69f28512a
git remote add leon-rdma https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git
git fetch --no-tags leon-rdma rdma-next
git checkout de08f6b555c0b4687890265b2f2358f69f28512a
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
arm-linux-gnueabi-ld: drivers/vfio/vfio_main.o: in function `vfio_ioctl_device_feature_logging_start':
>> drivers/vfio/vfio_main.c:1658: undefined reference to `interval_tree_iter_first'
>> arm-linux-gnueabi-ld: drivers/vfio/vfio_main.c:1664: undefined reference to `interval_tree_insert'
vim +1658 drivers/vfio/vfio_main.c
1607
1608 static int
1609 vfio_ioctl_device_feature_logging_start(struct vfio_device *device,
1610 u32 flags, void __user *arg,
1611 size_t argsz)
1612 {
1613 size_t minsz =
1614 offsetofend(struct vfio_device_feature_dma_logging_control,
1615 ranges);
1616 struct vfio_device_feature_dma_logging_range __user *ranges;
1617 struct vfio_device_feature_dma_logging_control control;
1618 struct vfio_device_feature_dma_logging_range range;
1619 struct rb_root_cached root = RB_ROOT_CACHED;
1620 struct interval_tree_node *nodes;
1621 u32 nnodes;
1622 int i, ret;
1623
1624 if (!device->log_ops)
1625 return -ENOTTY;
1626
1627 ret = vfio_check_feature(flags, argsz,
1628 VFIO_DEVICE_FEATURE_SET,
1629 sizeof(control));
1630 if (ret != 1)
1631 return ret;
1632
1633 if (copy_from_user(&control, arg, minsz))
1634 return -EFAULT;
1635
1636 nnodes = control.num_ranges;
1637 if (!nnodes || nnodes > LOG_MAX_RANGES)
1638 return -EINVAL;
1639
1640 ranges = u64_to_user_ptr(control.ranges);
1641 nodes = kmalloc_array(nnodes, sizeof(struct interval_tree_node),
1642 GFP_KERNEL);
1643 if (!nodes)
1644 return -ENOMEM;
1645
1646 for (i = 0; i < nnodes; i++) {
1647 if (copy_from_user(&range, &ranges[i], sizeof(range))) {
1648 ret = -EFAULT;
1649 goto end;
1650 }
1651 if (!IS_ALIGNED(range.iova, control.page_size) ||
1652 !IS_ALIGNED(range.length, control.page_size)) {
1653 ret = -EINVAL;
1654 goto end;
1655 }
1656 nodes[i].start = range.iova;
1657 nodes[i].last = range.iova + range.length - 1;
> 1658 if (interval_tree_iter_first(&root, nodes[i].start,
1659 nodes[i].last)) {
1660 /* Range overlapping */
1661 ret = -EINVAL;
1662 goto end;
1663 }
> 1664 interval_tree_insert(nodes + i, &root);
1665 }
1666
1667 ret = device->log_ops->log_start(device, &root, nnodes,
1668 &control.page_size);
1669 if (ret)
1670 goto end;
1671
1672 if (copy_to_user(arg, &control, sizeof(control))) {
1673 ret = -EFAULT;
1674 device->log_ops->log_stop(device);
1675 }
1676
1677 end:
1678 kfree(nodes);
1679 return ret;
1680 }
1681
--
0-DAY CI Kernel Test Service
https://01.org/lkp
reply other threads:[~2022-07-11 15:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202207112304.RBht9L6V-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=leon@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=yishaih@nvidia.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.