All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
Date: Mon, 26 Oct 2020 12:36:27 +0300	[thread overview]
Message-ID: <20201026093627.GI1042@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 4130 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d76913908102044f14381df865bb74df17a538cb
commit: 97c9801a15e5b0c9a20e495b2ccabf010894e74b asm-generic: don't provide ioremap for CONFIG_MMU
config: h8300-randconfig-m031-20201025 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'res.start' not released on lines: 67.

vim +67 drivers/reset/reset-socfpga.c

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  23  static int a10_reset_init(struct device_node *np)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  24  {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  25  	struct reset_simple_data *data;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  26  	struct resource res;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  27  	resource_size_t size;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  28  	int ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  29  	u32 reg_offset = 0x10;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  30  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  31  	data = kzalloc(sizeof(*data), GFP_KERNEL);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  32  	if (!data)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  33  		return -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  34  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  35  	ret = of_address_to_resource(np, 0, &res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  36  	if (ret)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  37  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  38  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  39  	size = resource_size(&res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  40  	if (!request_mem_region(res.start, size, np->name)) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  41  		ret = -EBUSY;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  42  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  43  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  44  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  45  	data->membase = ioremap(res.start, size);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  46  	if (!data->membase) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  47  		ret = -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  48  		goto err_alloc;

Need to release the mem_region.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  49  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  50  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  51  	if (of_property_read_u32(np, "altr,modrst-offset", &reg_offset))
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  52  		pr_warn("missing altr,modrst-offset property, assuming 0x10\n");
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  53  	data->membase += reg_offset;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  54  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  55  	spin_lock_init(&data->lock);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  56  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  57  	data->rcdev.owner = THIS_MODULE;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  58  	data->rcdev.nr_resets = SOCFPGA_NR_BANKS * 32;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  59  	data->rcdev.ops = &reset_simple_ops;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  60  	data->rcdev.of_node = np;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  61  	data->status_active_low = true;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  62  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  63  	return reset_controller_register(&data->rcdev);
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Need error handling if this fails.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  64  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  65  err_alloc:
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  66  	kfree(data);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13 @67  	return ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  68  };

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30846 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
Date: Mon, 26 Oct 2020 12:36:27 +0300	[thread overview]
Message-ID: <20201026093627.GI1042@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 4130 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d76913908102044f14381df865bb74df17a538cb
commit: 97c9801a15e5b0c9a20e495b2ccabf010894e74b asm-generic: don't provide ioremap for CONFIG_MMU
config: h8300-randconfig-m031-20201025 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'res.start' not released on lines: 67.

vim +67 drivers/reset/reset-socfpga.c

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  23  static int a10_reset_init(struct device_node *np)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  24  {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  25  	struct reset_simple_data *data;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  26  	struct resource res;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  27  	resource_size_t size;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  28  	int ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  29  	u32 reg_offset = 0x10;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  30  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  31  	data = kzalloc(sizeof(*data), GFP_KERNEL);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  32  	if (!data)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  33  		return -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  34  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  35  	ret = of_address_to_resource(np, 0, &res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  36  	if (ret)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  37  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  38  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  39  	size = resource_size(&res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  40  	if (!request_mem_region(res.start, size, np->name)) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  41  		ret = -EBUSY;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  42  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  43  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  44  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  45  	data->membase = ioremap(res.start, size);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  46  	if (!data->membase) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  47  		ret = -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  48  		goto err_alloc;

Need to release the mem_region.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  49  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  50  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  51  	if (of_property_read_u32(np, "altr,modrst-offset", &reg_offset))
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  52  		pr_warn("missing altr,modrst-offset property, assuming 0x10\n");
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  53  	data->membase += reg_offset;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  54  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  55  	spin_lock_init(&data->lock);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  56  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  57  	data->rcdev.owner = THIS_MODULE;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  58  	data->rcdev.nr_resets = SOCFPGA_NR_BANKS * 32;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  59  	data->rcdev.ops = &reset_simple_ops;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  60  	data->rcdev.of_node = np;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  61  	data->status_active_low = true;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  62  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  63  	return reset_controller_register(&data->rcdev);
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Need error handling if this fails.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  64  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  65  err_alloc:
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  66  	kfree(data);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13 @67  	return ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  68  };

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30846 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Dinh Nguyen <dinguyen@kernel.org>
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>,
	kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
Date: Mon, 26 Oct 2020 12:36:27 +0300	[thread overview]
Message-ID: <20201026093627.GI1042@kadam> (raw)

[-- Attachment #1: Type: text/plain, Size: 4056 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d76913908102044f14381df865bb74df17a538cb
commit: 97c9801a15e5b0c9a20e495b2ccabf010894e74b asm-generic: don't provide ioremap for CONFIG_MMU
config: h8300-randconfig-m031-20201025 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67.
drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'res.start' not released on lines: 67.

vim +67 drivers/reset/reset-socfpga.c

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  23  static int a10_reset_init(struct device_node *np)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  24  {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  25  	struct reset_simple_data *data;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  26  	struct resource res;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  27  	resource_size_t size;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  28  	int ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  29  	u32 reg_offset = 0x10;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  30  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  31  	data = kzalloc(sizeof(*data), GFP_KERNEL);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  32  	if (!data)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  33  		return -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  34  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  35  	ret = of_address_to_resource(np, 0, &res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  36  	if (ret)
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  37  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  38  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  39  	size = resource_size(&res);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  40  	if (!request_mem_region(res.start, size, np->name)) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  41  		ret = -EBUSY;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  42  		goto err_alloc;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  43  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  44  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  45  	data->membase = ioremap(res.start, size);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  46  	if (!data->membase) {
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  47  		ret = -ENOMEM;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  48  		goto err_alloc;

Need to release the mem_region.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  49  	}
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  50  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  51  	if (of_property_read_u32(np, "altr,modrst-offset", &reg_offset))
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  52  		pr_warn("missing altr,modrst-offset property, assuming 0x10\n");
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  53  	data->membase += reg_offset;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  54  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  55  	spin_lock_init(&data->lock);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  56  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  57  	data->rcdev.owner = THIS_MODULE;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  58  	data->rcdev.nr_resets = SOCFPGA_NR_BANKS * 32;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  59  	data->rcdev.ops = &reset_simple_ops;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  60  	data->rcdev.of_node = np;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  61  	data->status_active_low = true;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  62  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  63  	return reset_controller_register(&data->rcdev);
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Need error handling if this fails.

b3ca9888f35fa69 Dinh Nguyen 2018-11-13  64  
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  65  err_alloc:
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  66  	kfree(data);
b3ca9888f35fa69 Dinh Nguyen 2018-11-13 @67  	return ret;
b3ca9888f35fa69 Dinh Nguyen 2018-11-13  68  };

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30846 bytes --]

             reply	other threads:[~2020-10-26  9:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-26  9:36 Dan Carpenter [this message]
2020-10-26  9:36 ` drivers/reset/reset-socfpga.c:67 a10_reset_init() warn: 'data->membase' not released on lines: 67 Dan Carpenter
2020-10-26  9:36 ` Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2020-10-24 21:05 kernel test robot

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=20201026093627.GI1042@kadam \
    --to=dan.carpenter@oracle.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.