From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [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'
Date: Thu, 26 May 2022 12:07:20 +0800 [thread overview]
Message-ID: <202205261146.2ZqjnmD0-lkp@intel.com> (raw)
[-- 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
reply other threads:[~2022-05-26 4:07 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=202205261146.2ZqjnmD0-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/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.