diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2014-12-03 00:59:31 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-03 18:35:38 +0100 |
commit | 92788ac1eb06e69a822de45e2a8a63fa45eb5be2 (patch) | |
tree | e4cff1d7c5943d776e2a448c1fb6fade6d4139b7 /drivers/input/evdev.c | |
parent | mm/vmpressure.c: fix race in vmpressure_work_fn() (diff) | |
download | linux-92788ac1eb06e69a822de45e2a8a63fa45eb5be2.tar.xz linux-92788ac1eb06e69a822de45e2a8a63fa45eb5be2.zip |
drivers/input/evdev.c: don't kfree() a vmalloc address
If kzalloc() failed and then evdev_open_device() fails, evdev_open()
will pass a vmalloc'ed pointer to kfree.
This might fix https://bugzilla.kernel.org/show_bug.cgi?id=88401, where
there was a crash in kfree().
Reported-by: Christian Casteyde <casteyde.christian@free.fr>
Belatedly-Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Henrik Rydberg <rydberg@euromail.se>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to '')
-rw-r--r-- | drivers/input/evdev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index bc203485716d..8afa28e4570e 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -421,7 +421,7 @@ static int evdev_open(struct inode *inode, struct file *file) err_free_client: evdev_detach_client(evdev, client); - kfree(client); + kvfree(client); return error; } |