Re: [PATCH v3 03/14] irqchip/csky-mpintc: Fix potential resource leaks

From: Markus Elfring
Date: Wed Jun 24 2020 - 07:43:30 EST


> There exists potential resource leaks in the error path, fix them.

I suggest to improve this change description.
How do you think about another wording variant?

Specific system resources were not released in a few error cases.
Thus add jump targets for the completion of the desired exception handling.


â
+++ b/drivers/irqchip/irq-csky-mpintc.c
@@ -247,8 +247,10 @@ csky_mpintc_init(struct device_node *node, struct device_node *parent)
â
INTCG_base = ioremap(mfcr("cr<31, 14>"),
INTCL_SIZE*nr_cpu_ids + INTCG_SIZE);

See also:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=3e08a95294a4fb3702bb3d35ed08028433c37fe6#n257


â
+ if (INTCG_base == NULL) {


Would you like to use the following code variant?

See also:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/checkpatch.pl?id=3e08a95294a4fb3702bb3d35ed08028433c37fe6#n5756

+ if (!INTCG_base) {


â
> @@ -270,12 +274,22 @@ csky_mpintc_init(struct device_node *node, struct device_node *parent)
>
> #ifdef CONFIG_SMP
> ipi_irq = irq_create_mapping(root_domain, IPI_IRQ);
â
> + if (!ipi_irq) {
> + ret = -EIO;
> + goto err_domain_remove;
> + }
â

Can the function call âirq_domain_remove(root_domain)â become relevant
only if the preprocessor symbol âCONFIG_SMPâ was defined?

Regards,
Markus