[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 09/16] hvmloader: Check modules whereabouts
>>> On 03.03.16 at 17:00, <anthony.perard@xxxxxxxxxx> wrote: > On Mon, Feb 29, 2016 at 09:58:29AM -0700, Jan Beulich wrote: >> >>> On 25.02.16 at 15:56, <anthony.perard@xxxxxxxxxx> wrote: >> > --- a/tools/firmware/hvmloader/hvmloader.c >> > +++ b/tools/firmware/hvmloader/hvmloader.c >> > @@ -303,6 +303,15 @@ int main(void) >> > >> > smp_initialise(); >> > >> > + /* Check that tests does not use memory where modules are stored */ >> > + BUG_ON( ((uint32_t)hvm_start_info + sizeof(struct hvm_start_info)) >= >> > 4 > << 20 ); >> > + for ( unsigned i = 0; i < hvm_start_info->nr_modules; i++ ) >> > + { >> > + const struct hvm_modlist_entry *modlist = >> > + (struct hvm_modlist_entry *)hvm_start_info->modlist_paddr; >> > + if ( modlist[i].size ) >> > + BUG_ON( modlist[i].paddr + modlist[i].size >= 4ul << 20 ); >> > + } >> >> First of all both checks should use > instead of >=. And then >> expecting all modules to live below 4Mb doesn't seem very >> reasonable. > > Yes, and this can be an issue with OVMF, it's a 2MB binary. I'm not sure > what to do about this, should I ignore perform_tests() if it going to > clear the memory used by the modules? Temporarily this might be an option, but ultimately the tests shouldn't assume a fixed memory location to be available. > I should probably check that the modules are outside the memory region that > is going to be used by perform_tests(), instead of just checking that they > are bellow 4MB. Yes. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |