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
This commit is contained in:
commit
6e3eed9850
|
@ -1,5 +1,5 @@
|
||||||
# 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)
|
||||||
* 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)
|
||||||
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)
|
||||||
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)
|
||||||
* 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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue