tree: https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux.git v5.10_socfpga_reset_fix head: 2e7fffa64d1ec2ecb8bc368ec37e5ae2ac8cc6a1 commit: 2e7fffa64d1ec2ecb8bc368ec37e5ae2ac8cc6a1 [1/1] reset: socfpga: add error handling and release mem-region config: i386-randconfig-m021-20201026 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: drivers/reset/reset-socfpga.c:69 a10_reset_init() error: uninitialized symbol 'size'. vim +/size +69 drivers/reset/reset-socfpga.c b3ca9888f35fa69 Dinh Nguyen 2018-11-13 22 static int a10_reset_init(struct device_node *np) b3ca9888f35fa69 Dinh Nguyen 2018-11-13 23 { b3ca9888f35fa69 Dinh Nguyen 2018-11-13 24 struct reset_simple_data *data; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 25 struct resource res; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 26 resource_size_t size; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 27 int ret; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 28 u32 reg_offset = 0x10; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 29 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 30 data = kzalloc(sizeof(*data), GFP_KERNEL); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 31 if (!data) b3ca9888f35fa69 Dinh Nguyen 2018-11-13 32 return -ENOMEM; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 33 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 34 ret = of_address_to_resource(np, 0, &res); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 35 if (ret) b3ca9888f35fa69 Dinh Nguyen 2018-11-13 36 goto err_alloc; ^^^^^^^^^^^^^^^ Size isn't initialzed here and you can't really release a memory_region that wasn't requested successfully. Do this instead: ret = of_address_to_resource(np, 0, &res); if (ret) goto free_data; size = resource_size(&res); if (!request_mem_region(res.start, size, np->name)) { ret = -EBUSY; goto free_data; } data->membase = ioremap(res.start, size); if (!data->membase) { ret = -ENOMEM; goto release_region; } ... return 0; release_region: release_mem_region(res.start, size); free_data: kfree(data); return ret; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 37 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 38 size = resource_size(&res); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 39 if (!request_mem_region(res.start, size, np->name)) { b3ca9888f35fa69 Dinh Nguyen 2018-11-13 40 ret = -EBUSY; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 41 goto err_alloc; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 42 } b3ca9888f35fa69 Dinh Nguyen 2018-11-13 43 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 44 data->membase = ioremap(res.start, size); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 45 if (!data->membase) { b3ca9888f35fa69 Dinh Nguyen 2018-11-13 46 ret = -ENOMEM; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 47 goto err_alloc; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 48 } b3ca9888f35fa69 Dinh Nguyen 2018-11-13 49 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 50 if (of_property_read_u32(np, "altr,modrst-offset", ®_offset)) b3ca9888f35fa69 Dinh Nguyen 2018-11-13 51 pr_warn("missing altr,modrst-offset property, assuming 0x10\n"); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 52 data->membase += reg_offset; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 53 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 54 spin_lock_init(&data->lock); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 55 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 56 data->rcdev.owner = THIS_MODULE; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 57 data->rcdev.nr_resets = SOCFPGA_NR_BANKS * 32; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 58 data->rcdev.ops = &reset_simple_ops; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 59 data->rcdev.of_node = np; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 60 data->status_active_low = true; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 61 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 62 ret = reset_controller_register(&data->rcdev); 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 63 if (ret) 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 64 pr_err("unable to register device\n"); 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 65 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 66 return 0; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 67 b3ca9888f35fa69 Dinh Nguyen 2018-11-13 68 err_alloc: 2e7fffa64d1ec2e Dinh Nguyen 2020-10-27 @69 release_mem_region(res.start, size); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 70 kfree(data); b3ca9888f35fa69 Dinh Nguyen 2018-11-13 71 return ret; b3ca9888f35fa69 Dinh Nguyen 2018-11-13 72 }; --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
