* [arnd-playground:virt-to-bus 2/6] drivers/staging/vme_user/vme_tsi148.c:755 tsi148_alloc_resource() warn: passing freed memory 'image->bus_resource.name'
@ 2022-05-26 4:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-26 4:07 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 10788 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Arnd Bergmann <arnd@arndb.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git virt-to-bus
head: cadaf81a0bbef045c78f7c2be40af351f40195f7
commit: eb74c6738d1dc0332381f53c562ba051c580a32d [2/6] vme: move back to staging
:::::: branch date: 32 hours ago
:::::: commit date: 32 hours ago
config: i386-randconfig-m021 (https://download.01.org/0day-ci/archive/20220526/202205261146.2ZqjnmD0-lkp(a)intel.com/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/staging/vme_user/vme_tsi148.c:755 tsi148_alloc_resource() warn: passing freed memory 'image->bus_resource.name'
drivers/staging/vme_user/vme_tsi148.c:1771 tsi148_dma_list_add() warn: '&entry->list' not removed from list
vim +755 drivers/staging/vme_user/vme_tsi148.c
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 711
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 712 /*
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 713 * Allocate and map PCI Resource
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 714 */
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 715 static int tsi148_alloc_resource(struct vme_master_resource *image,
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 716 unsigned long long size)
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 717 {
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 718 unsigned long long existing_size;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 719 int retval = 0;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 720 struct pci_dev *pdev;
29848ac9f3b33bf drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 721 struct vme_bridge *tsi148_bridge;
29848ac9f3b33bf drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 722
29848ac9f3b33bf drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 723 tsi148_bridge = image->parent;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 724
177581faf2a5aa7 drivers/vme/bridges/vme_tsi148.c Aaron Sierra 2014-04-03 725 pdev = to_pci_dev(tsi148_bridge->parent);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 726
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 727 existing_size = (unsigned long long)(image->bus_resource.end -
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 728 image->bus_resource.start);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 729
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 730 /* If the existing size is OK, return */
59c2290428dd93a drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-10-29 731 if ((size != 0) && (existing_size == (size - 1)))
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 732 return 0;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 733
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 734 if (existing_size != 0) {
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 735 iounmap(image->kern_base);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 736 image->kern_base = NULL;
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 737 kfree(image->bus_resource.name);
886953e9b70bcb6 drivers/staging/vme/bridges/vme_tsi148.c Emilio G. Cota 2010-11-12 738 release_resource(&image->bus_resource);
6d011dd876cb825 drivers/vme/bridges/vme_tsi148.c Markus Elfring 2017-08-25 739 memset(&image->bus_resource, 0, sizeof(image->bus_resource));
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 740 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 741
59c2290428dd93a drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-10-29 742 /* Exit here if size is zero */
7946328faf1dca9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-03-22 743 if (size == 0)
59c2290428dd93a drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-10-29 744 return 0;
59c2290428dd93a drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-10-29 745
a75dc630086a6b8 drivers/vme/bridges/vme_tsi148.c Markus Elfring 2017-08-25 746 if (!image->bus_resource.name) {
0aa3f139cd5123f drivers/staging/vme/bridges/vme_tsi148.c Julia Lawall 2010-05-30 747 image->bus_resource.name = kmalloc(VMENAMSIZ+3, GFP_ATOMIC);
a75dc630086a6b8 drivers/vme/bridges/vme_tsi148.c Markus Elfring 2017-08-25 748 if (!image->bus_resource.name) {
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 749 retval = -ENOMEM;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 750 goto err_name;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 751 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 752 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 753
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 754 sprintf((char *)image->bus_resource.name, "%s.%d", tsi148_bridge->name,
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 @755 image->number);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 756
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 757 image->bus_resource.start = 0;
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 758 image->bus_resource.end = (unsigned long)size;
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 759 image->bus_resource.flags = IORESOURCE_MEM;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 760
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 761 retval = pci_bus_alloc_resource(pdev->bus,
da5ae8a991d35d7 drivers/vme/bridges/vme_tsi148.c Dmitry Kalinkin 2015-07-08 762 &image->bus_resource, size, 0x10000, PCIBIOS_MIN_MEM,
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 763 0, NULL, NULL);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 764 if (retval) {
48d9356e7750d3e drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-03-22 765 dev_err(tsi148_bridge->parent, "Failed to allocate mem "
48d9356e7750d3e drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-03-22 766 "resource for window %d size 0x%lx start 0x%lx\n",
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 767 image->number, (unsigned long)size,
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 768 (unsigned long)image->bus_resource.start);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 769 goto err_resource;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 770 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 771
4bdc0d676a64314 drivers/vme/bridges/vme_tsi148.c Christoph Hellwig 2020-01-06 772 image->kern_base = ioremap(
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 773 image->bus_resource.start, size);
a75dc630086a6b8 drivers/vme/bridges/vme_tsi148.c Markus Elfring 2017-08-25 774 if (!image->kern_base) {
48d9356e7750d3e drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-03-22 775 dev_err(tsi148_bridge->parent, "Failed to remap resource\n");
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 776 retval = -ENOMEM;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 777 goto err_remap;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 778 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 779
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 780 return 0;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 781
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 782 err_remap:
886953e9b70bcb6 drivers/staging/vme/bridges/vme_tsi148.c Emilio G. Cota 2010-11-12 783 release_resource(&image->bus_resource);
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 784 err_resource:
8fafb47638012d9 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2010-02-18 785 kfree(image->bus_resource.name);
6d011dd876cb825 drivers/vme/bridges/vme_tsi148.c Markus Elfring 2017-08-25 786 memset(&image->bus_resource, 0, sizeof(image->bus_resource));
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 787 err_name:
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 788 return retval;
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 789 }
d22b8ed9a3b0a15 drivers/staging/vme/bridges/vme_tsi148.c Martyn Welch 2009-07-31 790
:::::: The code at line 755 was first introduced by commit
:::::: d22b8ed9a3b0a157b732580258ec16b729265953 Staging: vme: add Tundra TSI148 VME-PCI Bridge driver
:::::: TO: Martyn Welch <martyn.welch@gefanuc.com>
:::::: CC: Greg Kroah-Hartman <gregkh@suse.de>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-26 4:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-26 4:07 [arnd-playground:virt-to-bus 2/6] drivers/staging/vme_user/vme_tsi148.c:755 tsi148_alloc_resource() warn: passing freed memory 'image->bus_resource.name' kernel test robot
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.