Re: vm86.c audit_syscall_exit() call trashes registers

From: Jeremy Fitzhardinge
Date: Sat Sep 29 2007 - 02:09:59 EST


Jeremy Fitzhardinge wrote:
> @@ -306,19 +334,18 @@ static void do_sys_vm86(struct kernel_vm
> tsk->thread.screen_bitmap = info->screen_bitmap;
> if (info->flags & VM86_SCREEN_BITMAP)
> mark_screen_rdonly(tsk->mm);
> __asm__ __volatile__("xorl %eax,%eax; movl %eax,%fs; movl %eax,%gs\n\t");
>

Oh, this line is also clearly bogus, since it clobbers %eax without
telling the compiler. The minimal change would be something like:

asm volatile("mov %0, %%fs; mov %0, %%gs" : : "r" (0));


J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/