Commit 6e3eed98 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus

* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
  lguest: Fix a memory leak with the lg object during launcher close
  lguest: disable the FORTIFY for lguest.
  lguest: typos fix
parents ceb5eb0c 05dfdbbd
# This creates the demonstration utility "lguest" which runs a Linux guest. # This creates the demonstration utility "lguest" which runs a Linux guest.
CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE
LDLIBS:=-lz LDLIBS:=-lz
all: lguest all: lguest
......
...@@ -931,7 +931,7 @@ static void lguest_restart(char *reason) ...@@ -931,7 +931,7 @@ static void lguest_restart(char *reason)
* that we can fit comfortably. * that we can fit comfortably.
* *
* First we need assembly templates of each of the patchable Guest operations, * First we need assembly templates of each of the patchable Guest operations,
* and these are in lguest_asm.S. */ * and these are in i386_head.S. */
/*G:060 We construct a table from the assembler templates: */ /*G:060 We construct a table from the assembler templates: */
static const struct lguest_insns static const struct lguest_insns
...@@ -1093,7 +1093,7 @@ __init void lguest_init(void) ...@@ -1093,7 +1093,7 @@ __init void lguest_init(void)
acpi_ht = 0; acpi_ht = 0;
#endif #endif
/* We set the perferred console to "hvc". This is the "hypervisor /* We set the preferred console to "hvc". This is the "hypervisor
* virtual console" driver written by the PowerPC people, which we also * virtual console" driver written by the PowerPC people, which we also
* adapted for lguest's use. */ * adapted for lguest's use. */
add_preferred_console("hvc", 0, NULL); add_preferred_console("hvc", 0, NULL);
......
...@@ -224,7 +224,7 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user) ...@@ -224,7 +224,7 @@ int run_guest(struct lg_cpu *cpu, unsigned long __user *user)
break; break;
/* If the Guest asked to be stopped, we sleep. The Guest's /* If the Guest asked to be stopped, we sleep. The Guest's
* clock timer or LHCALL_BREAK from the Waker will wake us. */ * clock timer or LHREQ_BREAK from the Waker will wake us. */
if (cpu->halted) { if (cpu->halted) {
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
schedule(); schedule();
......
...@@ -307,9 +307,8 @@ static int close(struct inode *inode, struct file *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(). */ * kmalloc()ed string, either of which is ok to hand to kfree(). */
if (!IS_ERR(lg->dead)) if (!IS_ERR(lg->dead))
kfree(lg->dead); kfree(lg->dead);
/* We clear the entire structure, which also marks it as free for the /* Free the memory allocated to the lguest_struct */
* next user. */ kfree(lg);
memset(lg, 0, sizeof(*lg));
/* Release lock and exit. */ /* Release lock and exit. */
mutex_unlock(&lguest_lock); mutex_unlock(&lguest_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment