Messages in this thread | | | Date | Tue, 20 May 2008 14:34:39 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH] Make LIST_POISON less deadly |
| |
Andi Kleen wrote: > Avi Kivity <avi@qumranet.com> writes: > > >> The list macros use LIST_POISON1 and LIST_POISON2 as undereferencable >> pointers in order to trap erronous use of freed list_heads. Unfortunately >> userspace can arrange for those pointers to actually be dereferencable, >> potentially turning an oops to an expolit. >> >> To avoid this allow architectures (currently x86_64 only) to override >> the default values for these pointers with truly-undereferncable values. >> This is easy on x86_64 as the virtual address space is smaller than >> the range spanned by pointer values. >> > > Hmm, thought I had sent a reply earlier, but don't see it so again. > My apologies if you see it twice. >
No, this is the first one I see.
> The problem with your address values is that they're non canonical > and will result in a #GP, not #PF and oops handler cannot display > the address which will make them much less obvious. > > I would rather use a guaranteed to be unmapped but canonical > address like in the ffffc10000000000 - ffffc1ffffffffff range > so that you still get page faults. >
Makes sense. I'll send out v3.
Is there a similar range on i386?
-- error compiling committee.c: too many arguments to function
| |