lguest: Fix a memory leak with the lg object during launcher close
Mark Wallis [Mon, 26 Jan 2009 06:32:35 +0000 (17:32 +1100)]
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>

drivers/lguest/lguest_user.c

index 34bc017..b8ee103 100644 (file)
@@ -307,9 +307,8 @@ static int close(struct inode *inode, struct file *file)
         * kmalloc()ed string, either of which is ok to hand to kfree(). */
        if (!IS_ERR(lg->dead))
                kfree(lg->dead);
-       /* We clear the entire structure, which also marks it as free for the
-        * next user. */
-       memset(lg, 0, sizeof(*lg));
+       /* Free the memory allocated to the lguest_struct */
+       kfree(lg);
        /* Release lock and exit. */
        mutex_unlock(&lguest_lock);