From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: [leon-rdma:dmabuf-vfio 20/26] drivers/pci/p2pdma.c:378 pci_p2pdma_add_resource() error: uninitialized symbol 'mem'.
Date: Mon, 4 Aug 2025 08:47:23 +0800 [thread overview]
Message-ID: <202508040847.0z9fDkel-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Leon Romanovsky <leonro@nvidia.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git dmabuf-vfio
head: f4212771ee1cf899f5ac8c9b6acd3bb7f49691fc
commit: 906b14c15e3d67c3aa9031bc3fee805343fb75c6 [20/26] PCI/P2PDMA: Refactor to separate core P2P functionality from memory allocation
:::::: branch date: 11 hours ago
:::::: commit date: 11 hours ago
config: x86_64-randconfig-161-20250804 (https://download.01.org/0day-ci/archive/20250804/202508040847.0z9fDkel-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.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@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202508040847.0z9fDkel-lkp@intel.com/
smatch warnings:
drivers/pci/p2pdma.c:378 pci_p2pdma_add_resource() error: uninitialized symbol 'mem'.
drivers/pci/p2pdma.c:391 pci_p2pdma_add_resource() error: we previously assumed 'p2pdma' could be null (see line 356)
vim +/mem +378 drivers/pci/p2pdma.c
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 322
52916982af48d9 Logan Gunthorpe 2018-10-04 323 /**
52916982af48d9 Logan Gunthorpe 2018-10-04 324 * pci_p2pdma_add_resource - add memory for use as p2p memory
52916982af48d9 Logan Gunthorpe 2018-10-04 325 * @pdev: the device to add the memory to
52916982af48d9 Logan Gunthorpe 2018-10-04 326 * @bar: PCI BAR to add
52916982af48d9 Logan Gunthorpe 2018-10-04 327 * @size: size of the memory to add, may be zero to use the whole BAR
52916982af48d9 Logan Gunthorpe 2018-10-04 328 * @offset: offset into the PCI BAR
52916982af48d9 Logan Gunthorpe 2018-10-04 329 *
52916982af48d9 Logan Gunthorpe 2018-10-04 330 * The memory will be given ZONE_DEVICE struct pages so that it may
52916982af48d9 Logan Gunthorpe 2018-10-04 331 * be used with any DMA request.
52916982af48d9 Logan Gunthorpe 2018-10-04 332 */
52916982af48d9 Logan Gunthorpe 2018-10-04 333 int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size,
52916982af48d9 Logan Gunthorpe 2018-10-04 334 u64 offset)
52916982af48d9 Logan Gunthorpe 2018-10-04 335 {
a6e6fe6549f609 Logan Gunthorpe 2019-08-12 336 struct pci_p2pdma_pagemap *p2p_pgmap;
906b14c15e3d67 Leon Romanovsky 2025-07-16 337 struct p2pdma_provider *mem;
52916982af48d9 Logan Gunthorpe 2018-10-04 338 struct dev_pagemap *pgmap;
ae21f835a5bda0 Eric Dumazet 2021-07-01 339 struct pci_p2pdma *p2pdma;
52916982af48d9 Logan Gunthorpe 2018-10-04 340 void *addr;
52916982af48d9 Logan Gunthorpe 2018-10-04 341 int error;
52916982af48d9 Logan Gunthorpe 2018-10-04 342
52916982af48d9 Logan Gunthorpe 2018-10-04 343 if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
52916982af48d9 Logan Gunthorpe 2018-10-04 344 return -EINVAL;
52916982af48d9 Logan Gunthorpe 2018-10-04 345
52916982af48d9 Logan Gunthorpe 2018-10-04 346 if (offset >= pci_resource_len(pdev, bar))
52916982af48d9 Logan Gunthorpe 2018-10-04 347 return -EINVAL;
52916982af48d9 Logan Gunthorpe 2018-10-04 348
52916982af48d9 Logan Gunthorpe 2018-10-04 349 if (!size)
52916982af48d9 Logan Gunthorpe 2018-10-04 350 size = pci_resource_len(pdev, bar) - offset;
52916982af48d9 Logan Gunthorpe 2018-10-04 351
52916982af48d9 Logan Gunthorpe 2018-10-04 352 if (size + offset > pci_resource_len(pdev, bar))
52916982af48d9 Logan Gunthorpe 2018-10-04 353 return -EINVAL;
52916982af48d9 Logan Gunthorpe 2018-10-04 354
906b14c15e3d67 Leon Romanovsky 2025-07-16 355 p2pdma = rcu_dereference_protected(pdev->p2pdma, 1);
906b14c15e3d67 Leon Romanovsky 2025-07-16 @356 if (!p2pdma) {
906b14c15e3d67 Leon Romanovsky 2025-07-16 357 mem = pci_p2pdma_enable(pdev);
906b14c15e3d67 Leon Romanovsky 2025-07-16 358 if (IS_ERR(mem))
906b14c15e3d67 Leon Romanovsky 2025-07-16 359 return PTR_ERR(mem);
906b14c15e3d67 Leon Romanovsky 2025-07-16 360
906b14c15e3d67 Leon Romanovsky 2025-07-16 361 error = pci_p2pdma_setup_pool(pdev);
52916982af48d9 Logan Gunthorpe 2018-10-04 362 if (error)
52916982af48d9 Logan Gunthorpe 2018-10-04 363 return error;
52916982af48d9 Logan Gunthorpe 2018-10-04 364 }
52916982af48d9 Logan Gunthorpe 2018-10-04 365
a6e6fe6549f609 Logan Gunthorpe 2019-08-12 366 p2p_pgmap = devm_kzalloc(&pdev->dev, sizeof(*p2p_pgmap), GFP_KERNEL);
906b14c15e3d67 Leon Romanovsky 2025-07-16 367 if (!p2p_pgmap) {
906b14c15e3d67 Leon Romanovsky 2025-07-16 368 error = -ENOMEM;
906b14c15e3d67 Leon Romanovsky 2025-07-16 369 goto free_pool;
906b14c15e3d67 Leon Romanovsky 2025-07-16 370 }
a6e6fe6549f609 Logan Gunthorpe 2019-08-12 371
a6e6fe6549f609 Logan Gunthorpe 2019-08-12 372 pgmap = &p2p_pgmap->pgmap;
a4574f63edc6f7 Dan Williams 2020-10-13 373 pgmap->range.start = pci_resource_start(pdev, bar) + offset;
a4574f63edc6f7 Dan Williams 2020-10-13 374 pgmap->range.end = pgmap->range.start + size - 1;
b7b3c01b191596 Dan Williams 2020-10-13 375 pgmap->nr_range = 1;
52916982af48d9 Logan Gunthorpe 2018-10-04 376 pgmap->type = MEMORY_DEVICE_PCI_P2PDMA;
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 377 pgmap->ops = &p2pdma_pgmap_ops;
906b14c15e3d67 Leon Romanovsky 2025-07-16 @378 p2p_pgmap->mem = mem;
52916982af48d9 Logan Gunthorpe 2018-10-04 379
52916982af48d9 Logan Gunthorpe 2018-10-04 380 addr = devm_memremap_pages(&pdev->dev, pgmap);
52916982af48d9 Logan Gunthorpe 2018-10-04 381 if (IS_ERR(addr)) {
52916982af48d9 Logan Gunthorpe 2018-10-04 382 error = PTR_ERR(addr);
50f44ee7248ad2 Dan Williams 2019-06-13 383 goto pgmap_free;
52916982af48d9 Logan Gunthorpe 2018-10-04 384 }
52916982af48d9 Logan Gunthorpe 2018-10-04 385
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 386 error = devm_add_action_or_reset(&pdev->dev, pci_p2pdma_unmap_mappings,
f3c373972cd38e Leon Romanovsky 2025-07-07 387 p2p_pgmap);
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 388 if (error)
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 389 goto pages_free;
7e9c7ef83d7852 Logan Gunthorpe 2022-10-21 390
ae21f835a5bda0 Eric Dumazet 2021-07-01 @391 error = gen_pool_add_owner(p2pdma->pool, (unsigned long)addr,
52916982af48d9 Logan Gunthorpe 2018-10-04 392 pci_bus_address(pdev, bar) + offset,
a4574f63edc6f7 Dan Williams 2020-10-13 393 range_len(&pgmap->range), dev_to_node(&pdev->dev),
b80892ca022e9e Christoph Hellwig 2021-10-28 394 &pgmap->ref);
52916982af48d9 Logan Gunthorpe 2018-10-04 395 if (error)
e615a191216e3f Dan Williams 2019-06-13 396 goto pages_free;
52916982af48d9 Logan Gunthorpe 2018-10-04 397
a4574f63edc6f7 Dan Williams 2020-10-13 398 pci_info(pdev, "added peer-to-peer DMA memory %#llx-%#llx\n",
a4574f63edc6f7 Dan Williams 2020-10-13 399 pgmap->range.start, pgmap->range.end);
52916982af48d9 Logan Gunthorpe 2018-10-04 400
52916982af48d9 Logan Gunthorpe 2018-10-04 401 return 0;
52916982af48d9 Logan Gunthorpe 2018-10-04 402
e615a191216e3f Dan Williams 2019-06-13 403 pages_free:
e615a191216e3f Dan Williams 2019-06-13 404 devm_memunmap_pages(&pdev->dev, pgmap);
52916982af48d9 Logan Gunthorpe 2018-10-04 405 pgmap_free:
906b14c15e3d67 Leon Romanovsky 2025-07-16 406 devm_kfree(&pdev->dev, p2p_pgmap);
906b14c15e3d67 Leon Romanovsky 2025-07-16 407 free_pool:
906b14c15e3d67 Leon Romanovsky 2025-07-16 408 sysfs_remove_group(&pdev->dev.kobj, &p2pmem_group);
906b14c15e3d67 Leon Romanovsky 2025-07-16 409 gen_pool_destroy(p2pdma->pool);
52916982af48d9 Logan Gunthorpe 2018-10-04 410 return error;
52916982af48d9 Logan Gunthorpe 2018-10-04 411 }
52916982af48d9 Logan Gunthorpe 2018-10-04 412 EXPORT_SYMBOL_GPL(pci_p2pdma_add_resource);
52916982af48d9 Logan Gunthorpe 2018-10-04 413
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-08-04 0:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-04 0:47 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-08-04 6:40 [leon-rdma:dmabuf-vfio 20/26] drivers/pci/p2pdma.c:378 pci_p2pdma_add_resource() error: uninitialized symbol 'mem' Dan Carpenter
2025-08-04 7:01 ` Leon Romanovsky
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=202508040847.0z9fDkel-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/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.