Philipp Kohlbecher wrote: >> >> In other words, your patch doesn't actually fix anything, it *masks* >> potential bugs which would also be triggered by interrupts in kernel >> mode. This is bad. > > I am not sure these potential bugs would also be triggered by interrupts > in kernel mode. After all, kernel_execve is a special case: It is the > only case (AFAIK) where a software interrupt is generated while in > kernel mode (intra-privilege interrupt), but (if all goes right) the > iret "returns" to user mode (inter-privilege return). > > This iret will pop the ss and esp registers off the stack, so > start_thread (include/asm-i386/processor.h:444) needs to put the correct > values in these stack positions, which it does. Yes, and it *BETTER*, because those are user-mode values which refer to the newly created task. Sticking kernel mode values in those fields would add no value, except as a poison (since %ss == KERNEL_DS and would cause a #GP(0) if it ever reached IRET.) If anything, those fields should be pushed as zero or some other poison bits. That would be slightly better than what's there now, which is whatever garbage happens to be on the stack. Pushing the kernel SS:ESP is just plain wrong (not to mention that the way you do it doesn't even produce the right value for ESP -- you'd have to save away ESP before you push SS.) -hpa - To unsubscribe from this list: send the line "unsubscribe linux-assembly" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
- Follow-Ups:
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: Philipp Kohlbecher
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: H. Peter Anvin
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- References:
- [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: Philipp Kohlbecher
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: H. Peter Anvin
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: Philipp Kohlbecher
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: H. Peter Anvin
- Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- From: Philipp Kohlbecher
- [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- Prev by Date: Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- Next by Date: Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- Previous by thread: Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- Next by thread: Re: [PATCH 2.6.21.1] i386: save registers before intra-privilege syscall
- Index(es):