[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] X server crashes Xen on xeno-unstable.bk
# > The culprit is the following dereference: # > # > struct domain *e = page->u.inuse.domain; # > # > Where the value of page is undefined if the condition # > # > if ( !(l1v & _PAGE_PRESENT) || !pfn_is_ram(pfn) ) # > # > does hold. Unfortunately, this condition is checked after the # > dereference. # # Interesting. I'm guessing the reason we haven't seen this is that we # don't build on FC3. The newer version of gcc has obviously spotted the # opportunity to hoist the load. The compiler I use (3.4.2) did hoist it, but not far enough. It moved the dereference after the (l1v & _PAGE_PRESENT) condition but before pfn_is_ram(pfn). pfn_is_ram(pfn) failed because this was video memory. Looking through memory.c, this was the only case where page was derefenced before pfn_is_ram() is called. Leendert ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |