Re: [PATCH v3 00/24] gpio: rework locking and object life-time control

From: Jiawen Wu
Date: Fri Apr 19 2024 - 03:04:31 EST


Hi Bartosz Golaszewski,

I ran into a kernel crash problem when I pull the latest net-next.git, and
finally it was found that is caused by this patch series merged.

The kernel crashed because I got gpio=0 when I called irq_find_mapping()
and then struct irq_data *d=null, as my driver describes:

int gpio = irq_find_mapping(gc->irq.domain, hwirq);
struct irq_data *d = irq_get_irq_data(gpio);

txgbe_gpio_irq_ack(d);

The deeper positioning is this line in __irq_resolve_mapping().

data = rcu_dereference(domain->revmap[hwirq]);

So, is it the addition of SRCU infrastructure that causes this issue?


Thanks,
Jiawen