All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Nicolin Chen <nicolinc@nvidia.com>
Cc: oe-kbuild-all@lists.linux.dev, Jason Gunthorpe <jgg@ziepe.ca>,
	Yi Liu <yi.l.liu@intel.com>
Subject: [jgg-iommufd:for-next 36/39] drivers/iommu/iommufd/hw_pagetable.c:101: warning: Function parameter or member 'user_data' not described in 'iommufd_hwpt_paging_alloc'
Date: Wed, 25 Oct 2023 04:21:08 +0800	[thread overview]
Message-ID: <202310250418.NmeDHFgw-lkp@intel.com> (raw)

tree:   git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git for-next
head:   b893aa6771e1107645f943c1a4d88e931810e025
commit: a6f4f0247d4e7b2dd559554175389f5357901abe [36/39] iommufd: Add a nested HW pagetable object
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231025/202310250418.NmeDHFgw-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231025/202310250418.NmeDHFgw-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/202310250418.NmeDHFgw-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/iommu/iommufd/hw_pagetable.c:101: warning: Function parameter or member 'user_data' not described in 'iommufd_hwpt_paging_alloc'


vim +101 drivers/iommu/iommufd/hw_pagetable.c

17bad52708b457 Jason Gunthorpe 2023-07-17   79  
ea4acfac57b9de Jason Gunthorpe 2022-11-29   80  /**
3bc7f01ff2de6b Nicolin Chen    2023-10-24   81   * iommufd_hwpt_paging_alloc() - Get a PAGING iommu_domain for a device
ea4acfac57b9de Jason Gunthorpe 2022-11-29   82   * @ictx: iommufd context
ea4acfac57b9de Jason Gunthorpe 2022-11-29   83   * @ioas: IOAS to associate the domain with
339fbf3ae14426 Jason Gunthorpe 2023-03-01   84   * @idev: Device to get an iommu_domain for
89d63875d80ea1 Yi Liu          2023-09-28   85   * @flags: Flags from userspace
339fbf3ae14426 Jason Gunthorpe 2023-03-01   86   * @immediate_attach: True if idev should be attached to the hwpt
ea4acfac57b9de Jason Gunthorpe 2022-11-29   87   *
339fbf3ae14426 Jason Gunthorpe 2023-03-01   88   * Allocate a new iommu_domain and return it as a hw_pagetable. The HWPT
339fbf3ae14426 Jason Gunthorpe 2023-03-01   89   * will be linked to the given ioas and upon return the underlying iommu_domain
339fbf3ae14426 Jason Gunthorpe 2023-03-01   90   * is fully popoulated.
70eadc7fc7ef29 Jason Gunthorpe 2023-07-17   91   *
70eadc7fc7ef29 Jason Gunthorpe 2023-07-17   92   * The caller must hold the ioas->mutex until after
70eadc7fc7ef29 Jason Gunthorpe 2023-07-17   93   * iommufd_object_abort_and_destroy() or iommufd_object_finalize() is called on
70eadc7fc7ef29 Jason Gunthorpe 2023-07-17   94   * the returned hwpt.
ea4acfac57b9de Jason Gunthorpe 2022-11-29   95   */
3bc7f01ff2de6b Nicolin Chen    2023-10-24   96  struct iommufd_hwpt_paging *
3bc7f01ff2de6b Nicolin Chen    2023-10-24   97  iommufd_hwpt_paging_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas,
89d63875d80ea1 Yi Liu          2023-09-28   98  			  struct iommufd_device *idev, u32 flags,
a6f4f0247d4e7b Nicolin Chen    2023-10-24   99  			  bool immediate_attach,
a6f4f0247d4e7b Nicolin Chen    2023-10-24  100  			  const struct iommu_user_data *user_data)
ea4acfac57b9de Jason Gunthorpe 2022-11-29 @101  {
25e47d7949d471 Nicolin Chen    2023-10-24  102  	const u32 valid_flags = IOMMU_HWPT_ALLOC_NEST_PARENT |
25e47d7949d471 Nicolin Chen    2023-10-24  103  				IOMMU_HWPT_ALLOC_DIRTY_TRACKING;
7975b722087fa2 Yi Liu          2023-09-28  104  	const struct iommu_ops *ops = dev_iommu_ops(idev->dev);
3bc7f01ff2de6b Nicolin Chen    2023-10-24  105  	struct iommufd_hwpt_paging *hwpt_paging;
ea4acfac57b9de Jason Gunthorpe 2022-11-29  106  	struct iommufd_hw_pagetable *hwpt;
ea4acfac57b9de Jason Gunthorpe 2022-11-29  107  	int rc;
ea4acfac57b9de Jason Gunthorpe 2022-11-29  108  
339fbf3ae14426 Jason Gunthorpe 2023-03-01  109  	lockdep_assert_held(&ioas->mutex);
339fbf3ae14426 Jason Gunthorpe 2023-03-01  110  
a6f4f0247d4e7b Nicolin Chen    2023-10-24  111  	if ((flags || user_data) && !ops->domain_alloc_user)
4ff54216339707 Yi Liu          2023-09-28  112  		return ERR_PTR(-EOPNOTSUPP);
25e47d7949d471 Nicolin Chen    2023-10-24  113  	if (flags & ~valid_flags)
25e47d7949d471 Nicolin Chen    2023-10-24  114  		return ERR_PTR(-EOPNOTSUPP);
4ff54216339707 Yi Liu          2023-09-28  115  
3bc7f01ff2de6b Nicolin Chen    2023-10-24  116  	hwpt_paging = __iommufd_object_alloc(
3bc7f01ff2de6b Nicolin Chen    2023-10-24  117  		ictx, hwpt_paging, IOMMUFD_OBJ_HWPT_PAGING, common.obj);
3bc7f01ff2de6b Nicolin Chen    2023-10-24  118  	if (IS_ERR(hwpt_paging))
3bc7f01ff2de6b Nicolin Chen    2023-10-24  119  		return ERR_CAST(hwpt_paging);
3bc7f01ff2de6b Nicolin Chen    2023-10-24  120  	hwpt = &hwpt_paging->common;
ea4acfac57b9de Jason Gunthorpe 2022-11-29  121  
3bc7f01ff2de6b Nicolin Chen    2023-10-24  122  	INIT_LIST_HEAD(&hwpt_paging->hwpt_item);
ea4acfac57b9de Jason Gunthorpe 2022-11-29  123  	/* Pairs with iommufd_hw_pagetable_destroy() */
ea4acfac57b9de Jason Gunthorpe 2022-11-29  124  	refcount_inc(&ioas->obj.users);
3bc7f01ff2de6b Nicolin Chen    2023-10-24  125  	hwpt_paging->ioas = ioas;
a6f4f0247d4e7b Nicolin Chen    2023-10-24  126  	hwpt_paging->nest_parent = flags & IOMMU_HWPT_ALLOC_NEST_PARENT;
25cde97d953208 Jason Gunthorpe 2023-03-01  127  
7975b722087fa2 Yi Liu          2023-09-28  128  	if (ops->domain_alloc_user) {
a6f4f0247d4e7b Nicolin Chen    2023-10-24  129  		hwpt->domain = ops->domain_alloc_user(idev->dev, flags, NULL,
a6f4f0247d4e7b Nicolin Chen    2023-10-24  130  						      user_data);
7975b722087fa2 Yi Liu          2023-09-28  131  		if (IS_ERR(hwpt->domain)) {
7975b722087fa2 Yi Liu          2023-09-28  132  			rc = PTR_ERR(hwpt->domain);
7975b722087fa2 Yi Liu          2023-09-28  133  			hwpt->domain = NULL;
7975b722087fa2 Yi Liu          2023-09-28  134  			goto out_abort;
7975b722087fa2 Yi Liu          2023-09-28  135  		}
7975b722087fa2 Yi Liu          2023-09-28  136  	} else {
339fbf3ae14426 Jason Gunthorpe 2023-03-01  137  		hwpt->domain = iommu_domain_alloc(idev->dev->bus);
25cde97d953208 Jason Gunthorpe 2023-03-01  138  		if (!hwpt->domain) {
25cde97d953208 Jason Gunthorpe 2023-03-01  139  			rc = -ENOMEM;
25cde97d953208 Jason Gunthorpe 2023-03-01  140  			goto out_abort;
25cde97d953208 Jason Gunthorpe 2023-03-01  141  		}
7975b722087fa2 Yi Liu          2023-09-28  142  	}
25cde97d953208 Jason Gunthorpe 2023-03-01  143  
17bad52708b457 Jason Gunthorpe 2023-07-17  144  	/*
17bad52708b457 Jason Gunthorpe 2023-07-17  145  	 * Set the coherency mode before we do iopt_table_add_domain() as some
17bad52708b457 Jason Gunthorpe 2023-07-17  146  	 * iommus have a per-PTE bit that controls it and need to decide before
17bad52708b457 Jason Gunthorpe 2023-07-17  147  	 * doing any maps. It is an iommu driver bug to report
17bad52708b457 Jason Gunthorpe 2023-07-17  148  	 * IOMMU_CAP_ENFORCE_CACHE_COHERENCY but fail enforce_cache_coherency on
17bad52708b457 Jason Gunthorpe 2023-07-17  149  	 * a new domain.
2ccabf81ddff81 Nicolin Chen    2023-10-23  150  	 *
2ccabf81ddff81 Nicolin Chen    2023-10-23  151  	 * The cache coherency mode must be configured here and unchanged later.
2ccabf81ddff81 Nicolin Chen    2023-10-23  152  	 * Note that a HWPT (non-CC) created for a device (non-CC) can be later
2ccabf81ddff81 Nicolin Chen    2023-10-23  153  	 * reused by another device (either non-CC or CC). However, A HWPT (CC)
2ccabf81ddff81 Nicolin Chen    2023-10-23  154  	 * created for a device (CC) cannot be reused by another device (non-CC)
2ccabf81ddff81 Nicolin Chen    2023-10-23  155  	 * but only devices (CC). Instead user space in this case would need to
2ccabf81ddff81 Nicolin Chen    2023-10-23  156  	 * allocate a separate HWPT (non-CC).
17bad52708b457 Jason Gunthorpe 2023-07-17  157  	 */
17bad52708b457 Jason Gunthorpe 2023-07-17  158  	if (idev->enforce_cache_coherency) {
3bc7f01ff2de6b Nicolin Chen    2023-10-24  159  		rc = iommufd_hwpt_paging_enforce_cc(hwpt_paging);
17bad52708b457 Jason Gunthorpe 2023-07-17  160  		if (WARN_ON(rc))
17bad52708b457 Jason Gunthorpe 2023-07-17  161  			goto out_abort;
17bad52708b457 Jason Gunthorpe 2023-07-17  162  	}
17bad52708b457 Jason Gunthorpe 2023-07-17  163  
339fbf3ae14426 Jason Gunthorpe 2023-03-01  164  	/*
339fbf3ae14426 Jason Gunthorpe 2023-03-01  165  	 * immediate_attach exists only to accommodate iommu drivers that cannot
339fbf3ae14426 Jason Gunthorpe 2023-03-01  166  	 * directly allocate a domain. These drivers do not finish creating the
339fbf3ae14426 Jason Gunthorpe 2023-03-01  167  	 * domain until attach is completed. Thus we must have this call
339fbf3ae14426 Jason Gunthorpe 2023-03-01  168  	 * sequence. Once those drivers are fixed this should be removed.
339fbf3ae14426 Jason Gunthorpe 2023-03-01  169  	 */
339fbf3ae14426 Jason Gunthorpe 2023-03-01  170  	if (immediate_attach) {
339fbf3ae14426 Jason Gunthorpe 2023-03-01  171  		rc = iommufd_hw_pagetable_attach(hwpt, idev);
339fbf3ae14426 Jason Gunthorpe 2023-03-01  172  		if (rc)
91a2e17e243f70 Jason Gunthorpe 2023-07-17  173  			goto out_abort;
339fbf3ae14426 Jason Gunthorpe 2023-03-01  174  	}
339fbf3ae14426 Jason Gunthorpe 2023-03-01  175  
3bc7f01ff2de6b Nicolin Chen    2023-10-24  176  	rc = iopt_table_add_domain(&ioas->iopt, hwpt->domain);
339fbf3ae14426 Jason Gunthorpe 2023-03-01  177  	if (rc)
339fbf3ae14426 Jason Gunthorpe 2023-03-01  178  		goto out_detach;
3bc7f01ff2de6b Nicolin Chen    2023-10-24  179  	list_add_tail(&hwpt_paging->hwpt_item, &ioas->hwpt_list);
3bc7f01ff2de6b Nicolin Chen    2023-10-24  180  	return hwpt_paging;
ea4acfac57b9de Jason Gunthorpe 2022-11-29  181  
339fbf3ae14426 Jason Gunthorpe 2023-03-01  182  out_detach:
339fbf3ae14426 Jason Gunthorpe 2023-03-01  183  	if (immediate_attach)
91a2e17e243f70 Jason Gunthorpe 2023-07-17  184  		iommufd_hw_pagetable_detach(idev);
ea4acfac57b9de Jason Gunthorpe 2022-11-29  185  out_abort:
25cde97d953208 Jason Gunthorpe 2023-03-01  186  	iommufd_object_abort_and_destroy(ictx, &hwpt->obj);
ea4acfac57b9de Jason Gunthorpe 2022-11-29  187  	return ERR_PTR(rc);
ea4acfac57b9de Jason Gunthorpe 2022-11-29  188  }
7074d7bd67d495 Jason Gunthorpe 2023-07-17  189  

:::::: The code at line 101 was first introduced by commit
:::::: ea4acfac57b9dee57a7d5840359a41cc3251de92 iommufd: Add a HW pagetable object

:::::: TO: Jason Gunthorpe <jgg@nvidia.com>
:::::: CC: Jason Gunthorpe <jgg@nvidia.com>

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

             reply	other threads:[~2023-10-24 20:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-24 20:21 kernel test robot [this message]
2023-10-24 20:27 ` [jgg-iommufd:for-next 36/39] drivers/iommu/iommufd/hw_pagetable.c:101: warning: Function parameter or member 'user_data' not described in 'iommufd_hwpt_paging_alloc' Nicolin Chen
2023-10-24 23:09   ` Jason Gunthorpe

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=202310250418.NmeDHFgw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jgg@ziepe.ca \
    --cc=nicolinc@nvidia.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=yi.l.liu@intel.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.