Re: [PATCH 1/2] OMAP: Add keypad driver

From: Dmitry Torokhov
Date: Wed Jul 26 2006 - 09:27:37 EST


On 7/26/06, Komal Shah <komal_shah802003@xxxxxxxxx> wrote:
Andrew/Tony/Richard/Dmitry,

This is a revised patch as per the review comments from the Dmitry
on thread:

http://lkml.org/lkml/2006/7/25/279

Please review it and give me the Ack if looks ok.


Komal,

You may not call input_free_device() after calling
input_unregister_device() in the error path because unregister will
drop the reference to the device and since it was the last (and only)
reference it will free the device. input_free_device() coming after
that will try to free already freed memory.

You have several options:
1. Have separate error paths for before and after input_register_device()
2. Set input_dev = NULL after calling input_unregister_device() -
input-free-device() handles NULLs just fine.
3. Take an extra reference with input_get_device() before calling
input_unregister_device(). This way the device won't actually be freed
until you call input_free_device() later.

--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/