Emil Velikov <emil.velikov@xxxxxxxxxxxxx> writes:
Hi Shreeya, all,I agree with Emil. The patch seems like a workaround that doesn't
On 2021/11/09, Shreeya Patel wrote:
There is a race in registering of gc->irq.domain whenWhat is stopping the next developer to moving the assignment to the
probing the I2C driver.
This sometimes leads to a Kernel NULL pointer dereference
in gpiochip_to_irq function which uses the domain variable.
To avoid this issue, set gc->to_irq after domain is
initialized. This will make sure whenever gpiochip_to_irq
is called, it has domain already initialized.
incorrect place? Aka should we add an inline comment about this?
really solve the underlying issue. I'm not familiar with this code, but
it seems that gc is missing a lock during this initialization, to prevent
it from exposing a partially initialized gc->irq.