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