Re: [PATCH] irq: action setting before irq_startup

From: Thomas Gleixner
Date: Sun Jan 10 2016 - 05:14:34 EST


On Sat, 9 Jan 2016, Yoshinori Sato wrote:

> In non shared and non threaded IRQ case.
> irq_startup calling before desc->action initialize.

And how does that matter?

> Signed-off-by: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
> ---
> kernel/irq/manage.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index 0eebaee..f6cdb63 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -1272,6 +1272,8 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
> goto out_mask;
> }
>
> + *old_ptr = new;
> +
> if (!shared) {
> ret = irq_request_resources(desc);
> if (ret) {

So in case irq_request_resources() fails, you leak the action in the irq
descriptor.

Again, what's the problem you are trying to solve?

Thanks,

tglx