Re: [PATCH]: 4/4GB:

From: Ingo Molnar
Date: Fri Nov 12 2004 - 14:25:25 EST



* Kirill Korotaev <dev@xxxxx> wrote:

> #define __RESTORE_REGS \
> __RESTORE_INT_REGS; \
> + popl %ds; \
> + popl %es;
> +
> +#define __RESTORE_REGS_USER \
> + __RESTORE_INT_REGS; \
> 111: popl %ds; \
> 222: popl %es; \
> -.section .fixup,"ax"; \
> + jmp 666f; \
> 444: movl $0,(%esp); \
> jmp 111b; \
> 555: movl $0,(%esp); \
> jmp 222b; \
> -.previous; \
> +666: \
> .section __ex_table,"a";\
> .align 4; \
> .long 111b,444b;\
> @@ -220,6 +225,13 @@ int80_ret_end_marker: \
>
> #define __RESTORE_ALL \
> __RESTORE_REGS \
> + __RESTORE_IRET
> +
> +#define __RESTORE_ALL_USER \
> + __RESTORE_REGS_USER \
> + __RESTORE_IRET
> +
> +#define __RESTORE_IRET \
> addl $4, %esp; \
> 333: iret; \
> .section .fixup,"ax"; \

looks fine and necessary. Fundamental bugs in this area tend to show up
as instant reboots, so i'm sure if you broke this code you'll quickly
notice it ...

Ingo
-
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/