aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wallis <mwallis@serialmonkey.com>2009-01-26 01:32:35 -0500
committerRusty Russell <rusty@rustcorp.com.au>2009-01-29 20:04:11 -0500
commit05dfdbbd678ea2b642db73f48b75667a23d15484 (patch)
tree63d4cbf36a1fdf11e77008bd169d02446469cc8b
parentb44d49ab0954accefba4c71274ab58abe1c25c52 (diff)
lguest: Fix a memory leak with the lg object during launcher close
Fix a memory leak identified by Rusty Russell during LCA09 by kfree'ing the lg object instead of just clearing it when the launcher closes. Signed-off-by: Mark Wallis <mwallis@serialmonkey.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-rw-r--r--drivers/lguest/lguest_user.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/lguest/lguest_user.c b/drivers/lguest/lguest_user.c
index 34bc017b8b3c..b8ee103eed5f 100644
--- a/drivers/lguest/lguest_user.c
+++ b/drivers/lguest/lguest_user.c
@@ -307,9 +307,8 @@ static int close(struct inode *inode, struct file *file)
307 * kmalloc()ed string, either of which is ok to hand to kfree(). */ 307 * kmalloc()ed string, either of which is ok to hand to kfree(). */
308 if (!IS_ERR(lg->dead)) 308 if (!IS_ERR(lg->dead))
309 kfree(lg->dead); 309 kfree(lg->dead);
310 /* We clear the entire structure, which also marks it as free for the 310 /* Free the memory allocated to the lguest_struct */
311 * next user. */ 311 kfree(lg);
312 memset(lg, 0, sizeof(*lg));
313 /* Release lock and exit. */ 312 /* Release lock and exit. */
314 mutex_unlock(&lguest_lock); 313 mutex_unlock(&lguest_lock);
315 314