Re: [PATCH v4 02/14] irqchip/csky-apb-intc: Fix potential resource leaks

From: Tiezhu Yang
Date: Thu Jul 02 2020 - 07:54:00 EST


On 07/02/2020 04:05 PM, Tiezhu Yang wrote:
On 07/02/2020 03:19 PM, Markus Elfring wrote:
+++ b/drivers/irqchip/irq-csky-apb-intc.c
â
I suggest to recheck the parameter alignment for such a function call.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=7c30b859a947535f2213277e827d7ac7dcff9c84#n93
OK, thank you, like this:

- ret = irq_alloc_domain_generic_chips(root_domain, 32, 1,
- "csky_intc", handle_level_irq,
- IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0);
- if (ret) {
+ if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
+ "csky_intc", handle_level_irq,
+ IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
â

Would you like to use also horizontal tab characters for the corresponding indentation?

Sorry, I do not quite understanding what you mean, maybe like this?

if (irq_alloc_domain_generic_chips(root_domain, 32, 1,
"csky_intc", handle_level_irq,
IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN, 0, 0)) {
pr_err("C-SKY Intc irq_alloc_gc failed.\n");
goto err_domain_remove;
}


Hi Markus,

Thank you very much for your review and suggestion.

Maybe still use "ret" variable is better, the following is another comment
which is only sent to me:

[I think that if one of the return values comes from a function call, then
you should use the value from the function call even if it is currently
always -ENOMEM. The return value of the function call could perhaps
change in the future.

In any case, ret = foo(); if (ret) is very common in kernel code, and
there is no reason not to do it, especially when the function call takes
up a lot of space.]

Let us keep it as it is to make the code clear and to avoid the alignment issue:

ret = foo();
if (ret) {
ret = -ENOMEM;
goto ...
}

Thanks,
Tiezhu


Regards,
Markus