[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 1/2] efi: Fix allocation problems if ExitBootServices() fails



On Mon, Jun 1, 2015 at 4:24 AM, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote:
> On Mon, 2015-06-01 at 12:10 +0100, Jan Beulich wrote:
>> >>> On 01.06.15 at 12:17, <ross.lagerwall@xxxxxxxxxx> wrote:
>> > If calling ExitBootServices() fails, the required memory map size may
>> > have increased. When initially allocating the memory map, allocate a
>> > slightly larger buffer (by an arbitrary 8 entries) to fix this.
>> >
>> > The ARM code path was already allocating a larger buffer than required,
>> > so this moves the code to be common for all architectures.
>> >
>> > This was seen on the following machine when using the iscsidxe UEFI
>> > driver. The machine would consistently fail the first call to
>> > ExitBootServices().
>> > System Information
>> >         Manufacturer: Supermicro
>> >         Product Name: X10SLE-F/HF
>> > BIOS Information
>> >         Vendor: American Megatrends Inc.
>> >         Version: 2.00
>> >         Release Date: 04/24/2014
>> >
>> > Signed-off-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
>>
>> Provided ARM folks are happy with the reduced increase,
>
> Hi Roy,
>
> This patch[0] turns a +PAGE_SIZE in efi_arch_allocate_mmap_buffer into a
> "8 * efi_mdesc_size" in the common code.
>
> The +PAGE_SIZE came from [1] so I think it is as arbitrary as the
> +8*sizeof here.
>
> IOW this change looks ok to me, what do you think?

Yeah, this should be fine.  Most EFI allocations have page-size
granularity within the firmware,
so there wasn't much point doing something smaller.  I haven't
actually used firmware that
changed the memmap size on ExitBootServices, so that size was not
based on any actual
firmware's behavior.  The x86 allocations are done differently and are
more size constrained,
so a smaller value should be fine for common code.

Roy

Reviewed-by: Roy Franz <roy.franz@xxxxxxxxxx>



>
> Thanks,
> Ian.
>
> [0] http://lists.xen.org/archives/html/xen-devel/2015-06/msg00067.html
> [1] 
> http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=932881d953476444ed934c94dbc098c0fefb4d77
>
>> Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
>>
>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.