|
[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 |