Re: [PATCH] input: psmouse: fix potential input register race in psmouse_connect()
On Sat, Jan 12, 2008 at 03:13:45PM -0500, Andres Salomon wrote: > > If we successfully call input_register_device() in > psmouse_connect but sysfs_create_group() fails, we'll enter the error > path without ever having called input_unregister_device() (potentially > leaking memory, or creating a race condition if something else attempts > to access the new input device). This calls input_unregister_device > from the error path, and sets input_dev to NULL so that we don't > attempt to also call input_free_device on it. > > Signed-off-by: Andres Salomon <[EMAIL PROTECTED]> Applied, thank you Andres. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] input: psmouse: fix potential input register race in psmouse_connect()
On Sat, Jan 12, 2008 at 03:13:45PM -0500, Andres Salomon wrote: If we successfully call input_register_device() in psmouse_connect but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() (potentially leaking memory, or creating a race condition if something else attempts to access the new input device). This calls input_unregister_device from the error path, and sets input_dev to NULL so that we don't attempt to also call input_free_device on it. Signed-off-by: Andres Salomon [EMAIL PROTECTED] Applied, thank you Andres. -- Dmitry -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] input: psmouse: fix potential input register race in psmouse_connect()
If we successfully call input_register_device() in psmouse_connect but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() (potentially leaking memory, or creating a race condition if something else attempts to access the new input device). This calls input_unregister_device from the error path, and sets input_dev to NULL so that we don't attempt to also call input_free_device on it. Signed-off-by: Andres Salomon <[EMAIL PROTECTED]> --- drivers/input/mouse/psmouse-base.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 21a9c0b..df25e7b 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -1247,6 +1247,8 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv) err_pt_deactivate: if (parent && parent->pt_deactivate) parent->pt_deactivate(parent); + input_unregister_device(psmouse->dev); + input_dev = NULL; err_protocol_disconnect: if (psmouse->disconnect) psmouse->disconnect(psmouse); -- 1.5.3.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] input: psmouse: fix potential input register race in psmouse_connect()
If we successfully call input_register_device() in psmouse_connect but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() (potentially leaking memory, or creating a race condition if something else attempts to access the new input device). This calls input_unregister_device from the error path, and sets input_dev to NULL so that we don't attempt to also call input_free_device on it. Signed-off-by: Andres Salomon [EMAIL PROTECTED] --- drivers/input/mouse/psmouse-base.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 21a9c0b..df25e7b 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -1247,6 +1247,8 @@ static int psmouse_connect(struct serio *serio, struct serio_driver *drv) err_pt_deactivate: if (parent parent-pt_deactivate) parent-pt_deactivate(parent); + input_unregister_device(psmouse-dev); + input_dev = NULL; err_protocol_disconnect: if (psmouse-disconnect) psmouse-disconnect(psmouse); -- 1.5.3.5 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/