Hi! > --- a/arch/x86/boot/compressed/aslr.c > +++ b/arch/x86/boot/compressed/aslr.c > @@ -183,12 +183,27 @@ static void mem_avoid_init(unsigned long > static bool mem_avoid_overlap(struct mem_vector *img) > { > int i; > + struct setup_data *ptr; > > for (i = 0; i < MEM_AVOID_MAX; i++) { > if (mem_overlaps(img, &mem_avoid[i])) > return true; > } > > + /* Avoid all entries in the setup_data linked list. */ > + ptr = (struct setup_data *)(unsigned long)real_mode->hdr.setup_data; > + while (ptr) { > + struct mem_vector avoid; > + > + avoid.start = (u64)ptr; > + avoid.size = sizeof(*ptr) + ptr->len; > + > + if (mem_overlaps(img, &avoid)) > + return true; > + > + ptr = (struct setup_data *)(unsigned long)ptr->next; > + } > + > return false; > } Could we adjust types of struct members (hdr.setup_data, next) so that double casts are not neccessary? Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html