2017-12-19 11:00:35

by Ge Song

[permalink] [raw]
Subject: [PATCH 0/2] Make capsules in a contiguous virtual space

Recently we found it failed to update firmware through capsule update
mechanism in linux-4.14 and later version.

After some investigation, the reason is firmware expects capsules in a
contiguous virtual space and this assumption is not satisfied in recent
linux versions.

Ge Song (2):
Revert "efi/capsule-loader: Use page addresses rather than struct page
pointers"
efi/capsule-loader: Request a contiguous virtual space for capsules

drivers/firmware/efi/capsule-loader.c | 23 ++++++++++++++---------
drivers/firmware/efi/capsule.c | 7 +++----
include/linux/efi.h | 4 ++--
3 files changed, 19 insertions(+), 15 deletions(-)

--
2.7.4



2017-12-21 21:47:18

by Richard Ruigrok

[permalink] [raw]
Subject: Re: [PATCH 0/2] Make capsules in a contiguous virtual space

Please tested-by
Tested on Centiq, applied on v4.15-rc4.
This fixes the regression introduced in 4.13 where the capsule is no longer passed in contiguous virtual memory.

On 12/19/2017 3:49 AM, Ge Song wrote:
> Recently we found it failed to update firmware through capsule update
> mechanism in linux-4.14 and later version.
>
> After some investigation, the reason is firmware expects capsules in a
> contiguous virtual space and this assumption is not satisfied in recent
> linux versions.
>
> Ge Song (2):
> Revert "efi/capsule-loader: Use page addresses rather than struct page
> pointers"
> efi/capsule-loader: Request a contiguous virtual space for capsules
>
> drivers/firmware/efi/capsule-loader.c | 23 ++++++++++++++---------
> drivers/firmware/efi/capsule.c | 7 +++----
> include/linux/efi.h | 4 ++--
> 3 files changed, 19 insertions(+), 15 deletions(-)
>

--
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

2017-12-22 15:50:28

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH 0/2] Make capsules in a contiguous virtual space

On 21 December 2017 at 21:47, Richard Ruigrok <[email protected]> wrote:
> Please tested-by
> Tested on Centiq, applied on v4.15-rc4.
> This fixes the regression introduced in 4.13 where the capsule is no longer passed in contiguous virtual memory.
>
> On 12/19/2017 3:49 AM, Ge Song wrote:
>> Recently we found it failed to update firmware through capsule update
>> mechanism in linux-4.14 and later version.
>>
>> After some investigation, the reason is firmware expects capsules in a
>> contiguous virtual space and this assumption is not satisfied in recent
>> linux versions.
>>
>> Ge Song (2):
>> Revert "efi/capsule-loader: Use page addresses rather than struct page
>> pointers"
>> efi/capsule-loader: Request a contiguous virtual space for capsules
>>


Thanks for the patches (and for the tested-by). I will look into this,
but I'd like to try to fix this without breaking the quirk we did for
Quark.



>> drivers/firmware/efi/capsule-loader.c | 23 ++++++++++++++---------
>> drivers/firmware/efi/capsule.c | 7 +++----
>> include/linux/efi.h | 4 ++--
>> 3 files changed, 19 insertions(+), 15 deletions(-)
>>
>
> --
> Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
> Qualcomm Technologies, Inc. is a member of the
> Code Aurora Forum, a Linux Foundation Collaborative Project.
>