On Sat, 20 Dec 2025 11:45:10 +0100, Christophe Leroy wrote:
> Your explanation is unclear. It is correct that put_device() is the 
> correct way to drop the device reference, and it is already what 
> rio_register_mport() does. Why do you need to move it out of 
> rio_register_mport() ? This is what you have to explain.

Sorry for the unclear changelog. I think if device_register() in
rio_register_mport() fails, put_device() is already called. Then,
the error path in fsl_rio_setup() also kfree() the port. I suspected
a potential double-free issue here, although I am unsure whether this 
interpretation is correct.

> AI code review or human code review ?

Human review.

> Why do you remove this kfree() ? By doing this you will leak the port 
> pointer allocated earlier in the loop by kzalloc()

I just thought after device_register(), the cleanup should be done by
put_device().

I would appreciate your clarification.

Thanks,
Haoxiang Li


Reply via email to