* drivers/irqchip/irq-econet-en751221.c:477 econet_intc_of_init() warn: 'res.start' from __request_region() not released on lines: 462.
@ 2026-10-24 8:48 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-10-24 8:48 UTC (permalink / raw)
To: oe-kbuild; +Cc: lkp, Dan Carpenter
Unfiltered warning: this smatch report is sent as-is and has not been
reviewed for false positives, so please treat it with due skepticism.
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Caleb James DeLisle <cjd@cjdns.fr>
CC: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5b0764a53235d3c77e1ed674e836e1b3fe1a4b1f
commit: 8ae6e79ee0ce7a533c005d12c9a230b273f32ef1 mips: econet: add multi-vpe capability to EN751221
date: 3 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 3 months ago
config: mips-randconfig-r2201-20261024 (https://download.01.org/0day-ci/archive/20261024/202610241045.m7Gq1xEm-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project a808f8ea7fdc61ead417bfe55e8ef5f728776aeb)
smatch: v0.5.0-9187-g5189e3fb
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
| Fixes: 8ae6e79ee0ce ("mips: econet: add multi-vpe capability to EN751221")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202610241045.m7Gq1xEm-lkp@intel.com/
New smatch warnings:
drivers/irqchip/irq-econet-en751221.c:477 econet_intc_of_init() warn: 'res.start' from __request_region() not released on lines: 462.
Old smatch warnings:
drivers/irqchip/irq-econet-en751221.c:299 get_shadow_interrupts() error: buffer overflow 'econet_intc.interrupt_shadows' 40 <= 40
drivers/irqchip/irq-econet-en751221.c:306 get_shadow_interrupts() error: buffer overflow 'econet_intc.interrupt_shadows' 40 <= 40
vim +477 drivers/irqchip/irq-econet-en751221.c
2ee2a685ee838f Caleb James DeLisle 2026-04-30 405
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 406 static int __init econet_intc_of_init(struct device_node *node, struct device_node *parent)
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 407 {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 408 struct irq_domain *domain;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 409 struct resource res;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 410 int ret, irq;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 411
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 412 ret = get_shadow_interrupts(node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 413 if (ret)
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 414 return ret;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 415
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 416 irq = irq_of_parse_and_map(node, 0);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 417 if (!irq) {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 418 pr_err("%pOF: DT: Failed to get IRQ from 'interrupts'\n", node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 419 return -EINVAL;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 420 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 421
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 422 if (of_address_to_resource(node, 0, &res)) {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 423 pr_err("%pOF: DT: Failed to get 'reg'\n", node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 424 ret = -EINVAL;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 425 goto err_dispose_mapping;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 426 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 427
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 428 if (!request_mem_region(res.start, resource_size(&res), res.name)) {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 429 pr_err("%pOF: Failed to request memory\n", node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 430 ret = -EBUSY;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 431 goto err_dispose_mapping;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 432 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 433
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 434 econet_intc.membase = ioremap(res.start, resource_size(&res));
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 435 if (!econet_intc.membase) {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 436 pr_err("%pOF: Failed to remap membase\n", node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 437 ret = -ENOMEM;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 438 goto err_release;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 439 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 440
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 441 econet_mask_all();
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 442
96a8cb6d28cebd Jiri Slaby (SUSE 2025-05-13 443) domain = irq_domain_create_linear(of_fwnode_handle(node), IRQ_COUNT,
85cf5c63d32f39 Thomas Gleixner 2025-05-06 444 &econet_domain_ops, NULL);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 445 if (!domain) {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 446 pr_err("%pOF: Failed to add irqdomain\n", node);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 447 ret = -ENOMEM;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 448 goto err_unmap;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 449 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 450
2ee2a685ee838f Caleb James DeLisle 2026-04-30 451 /*
2ee2a685ee838f Caleb James DeLisle 2026-04-30 452 * 34K Manual (MD00534) Section 6.3.1.3 rev 1.13 page 136:
2ee2a685ee838f Caleb James DeLisle 2026-04-30 453 * In VEIC mode, IP2 ... IP7 are repurposed as Interrupt Priority Level. The controller
2ee2a685ee838f Caleb James DeLisle 2026-04-30 454 * will filter incoming interrupts whose priority is lower than the IPL number. Therefore
2ee2a685ee838f Caleb James DeLisle 2026-04-30 455 * we must not set any of these bits. We avoid setting IP2 by not actually chaining this
2ee2a685ee838f Caleb James DeLisle 2026-04-30 456 * intc to the CPU intc.
2ee2a685ee838f Caleb James DeLisle 2026-04-30 457 */
2ee2a685ee838f Caleb James DeLisle 2026-04-30 458 if (cpu_has_veic) {
2ee2a685ee838f Caleb James DeLisle 2026-04-30 459 ret = econet_cpu_init(node);
2ee2a685ee838f Caleb James DeLisle 2026-04-30 460
2ee2a685ee838f Caleb James DeLisle 2026-04-30 461 if (ret)
2ee2a685ee838f Caleb James DeLisle 2026-04-30 462 return ret;
2ee2a685ee838f Caleb James DeLisle 2026-04-30 463 } else {
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 464 irq_set_chained_handler_and_data(irq, econet_intc_from_parent, domain);
2ee2a685ee838f Caleb James DeLisle 2026-04-30 465 }
2ee2a685ee838f Caleb James DeLisle 2026-04-30 466
2ee2a685ee838f Caleb James DeLisle 2026-04-30 467 econet_intc.domain = domain;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 468
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 469 return 0;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 470
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 471 err_unmap:
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 472 iounmap(econet_intc.membase);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 473 err_release:
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 474 release_mem_region(res.start, resource_size(&res));
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 475 err_dispose_mapping:
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 476 irq_dispose_mapping(irq);
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 @477 return ret;
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 478 }
1902a59cf5f9d8 Caleb James DeLisle 2025-03-30 479
:::::: The code at line 477 was first introduced by commit
:::::: 1902a59cf5f9d8b99ecf0cb8f122cb00ef7a3f13 irqchip: Add EcoNet EN751221 INTC
:::::: TO: Caleb James DeLisle <cjd@cjdns.fr>
:::::: CC: Thomas Gleixner <tglx@linutronix.de>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-24 8:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-24 8:48 drivers/irqchip/irq-econet-en751221.c:477 econet_intc_of_init() warn: 'res.start' from __request_region() not released on lines: 462 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.