mbox series

[v8,0/4] tpm: Preserve TPM measurement log across kexec (ppc64)

Message ID 20220901214610.768645-1-stefanb@linux.ibm.com (mailing list archive)
Headers show
Series tpm: Preserve TPM measurement log across kexec (ppc64) | expand

Message

Stefan Berger Sept. 1, 2022, 9:46 p.m. UTC
The of-tree subsystem does not currently preserve the IBM vTPM 1.2 and
vTPM 2.0 measurement logs across a kexec on PowerVM and PowerKVM. This
series fixes this for the kexec_file_load() syscall using the flattened
device tree (fdt) to carry the TPM measurement log's buffer across kexec.

   Stefan

v8:
 - Added Jarkko's, Coiby's, and Rob's tags
 - Rebase on v6.0-rc3 that absorbed 2 already upstreamed patches

v7:
 - Added Nageswara's Tested-by tags
 - Added back original comment to inline function and removed Jarkko's R-b tag

v6:
 - Add __init to get_kexec_buffer as suggested by Jonathan
 - Fixed issue detected by kernel test robot

v5:
 - Rebased on 1 more patch that would otherwise create merge conflicts

v4:
 - Rebased on 2 patches that would otherwise create merge conflicts;
   posting these patches in this series with several tags removed so
   krobot can test the series already
 - Changes to individual patches documented in patch descripitons

v3:
 - Moved TPM Open Firmware related function to drivers/char/tpm/eventlog/tpm_of.c

v2:
 - rearranged patches
 - fixed compilation issues for x86

Palmer Dabbelt (1):
  drivers: of: kexec ima: Support 32-bit platforms

Stefan Berger (3):
  tpm: of: Make of-tree specific function commonly available
  of: kexec: Refactor IMA buffer related functions to make them reusable
  tpm/kexec: Duplicate TPM measurement log in of-tree for kexec

 drivers/char/tpm/eventlog/of.c |  31 +--
 drivers/of/kexec.c             | 336 ++++++++++++++++++++++++++++-----
 include/linux/kexec.h          |   6 +
 include/linux/of.h             |   9 +-
 include/linux/tpm.h            |  36 ++++
 kernel/kexec_file.c            |   6 +
 6 files changed, 346 insertions(+), 78 deletions(-)


base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5

Comments

Stefan Berger Sept. 12, 2022, 1 p.m. UTC | #1
Hi Rob,

   can you take this series in your tree?

Regards,
    Stefan

On 9/1/22 17:46, Stefan Berger wrote:
> The of-tree subsystem does not currently preserve the IBM vTPM 1.2 and
> vTPM 2.0 measurement logs across a kexec on PowerVM and PowerKVM. This
> series fixes this for the kexec_file_load() syscall using the flattened
> device tree (fdt) to carry the TPM measurement log's buffer across kexec.
> 
>     Stefan
> 
> v8:
>   - Added Jarkko's, Coiby's, and Rob's tags
>   - Rebase on v6.0-rc3 that absorbed 2 already upstreamed patches
> 
> v7:
>   - Added Nageswara's Tested-by tags
>   - Added back original comment to inline function and removed Jarkko's R-b tag
> 
> v6:
>   - Add __init to get_kexec_buffer as suggested by Jonathan
>   - Fixed issue detected by kernel test robot
> 
> v5:
>   - Rebased on 1 more patch that would otherwise create merge conflicts
> 
> v4:
>   - Rebased on 2 patches that would otherwise create merge conflicts;
>     posting these patches in this series with several tags removed so
>     krobot can test the series already
>   - Changes to individual patches documented in patch descripitons
> 
> v3:
>   - Moved TPM Open Firmware related function to drivers/char/tpm/eventlog/tpm_of.c
> 
> v2:
>   - rearranged patches
>   - fixed compilation issues for x86
> 
> Palmer Dabbelt (1):
>    drivers: of: kexec ima: Support 32-bit platforms
> 
> Stefan Berger (3):
>    tpm: of: Make of-tree specific function commonly available
>    of: kexec: Refactor IMA buffer related functions to make them reusable
>    tpm/kexec: Duplicate TPM measurement log in of-tree for kexec
> 
>   drivers/char/tpm/eventlog/of.c |  31 +--
>   drivers/of/kexec.c             | 336 ++++++++++++++++++++++++++++-----
>   include/linux/kexec.h          |   6 +
>   include/linux/of.h             |   9 +-
>   include/linux/tpm.h            |  36 ++++
>   kernel/kexec_file.c            |   6 +
>   6 files changed, 346 insertions(+), 78 deletions(-)
> 
> 
> base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5
Rob Herring Sept. 14, 2022, 6:01 p.m. UTC | #2
On Mon, Sep 12, 2022 at 8:01 AM Stefan Berger <stefanb@linux.ibm.com> wrote:
>
>
> Hi Rob,
>
>    can you take this series in your tree?

IMO, it should be someone that cares about TPM, kexec, or powerpc.
Yes, there's code in drivers/of/, but that is purely to avoid
duplication of code across powerpc and arm64.

Rob
Stefan Berger Sept. 14, 2022, 7:46 p.m. UTC | #3
On 9/14/22 14:01, Rob Herring wrote:
> On Mon, Sep 12, 2022 at 8:01 AM Stefan Berger <stefanb@linux.ibm.com> wrote:
>>
>>
>> Hi Rob,
>>
>>     can you take this series in your tree?
> 
> IMO, it should be someone that cares about TPM, kexec, or powerpc.
> Yes, there's code in drivers/of/, but that is purely to avoid
> duplication of code across powerpc and arm64.

What about 1/4? Can someone else take it into their tree?

    Stefan
> 
> Rob
Rob Herring Sept. 14, 2022, 8:18 p.m. UTC | #4
On Wed, Sep 14, 2022 at 2:46 PM Stefan Berger <stefanb@linux.ibm.com> wrote:
>
>
>
> On 9/14/22 14:01, Rob Herring wrote:
> > On Mon, Sep 12, 2022 at 8:01 AM Stefan Berger <stefanb@linux.ibm.com> wrote:
> >>
> >>
> >> Hi Rob,
> >>
> >>     can you take this series in your tree?
> >
> > IMO, it should be someone that cares about TPM, kexec, or powerpc.
> > Yes, there's code in drivers/of/, but that is purely to avoid
> > duplication of code across powerpc and arm64.
>
> What about 1/4? Can someone else take it into their tree?

I thought that was taken long ago now by Palmer in the riscv tree, but
it seems not.

In any case, it has my Ack, so yes, someone else can take it. It *can*
go in via 2 different trees (as git won't care), but we generally try
to avoid that.

Rob
Baoquan He Sept. 15, 2022, 1:20 a.m. UTC | #5
On 09/14/22 at 01:01pm, Rob Herring wrote:
> On Mon, Sep 12, 2022 at 8:01 AM Stefan Berger <stefanb@linux.ibm.com> wrote:
> >
> >
> > Hi Rob,
> >
> >    can you take this series in your tree?
> 
> IMO, it should be someone that cares about TPM, kexec, or powerpc.
> Yes, there's code in drivers/of/, but that is purely to avoid
> duplication of code across powerpc and arm64.

Looks like a PPC specific improvement, is it possible to have TPM on
other ARCHes? For generic code patch, Andrew kindly help pick them
into his tree if cooked. If it's an arch or component specific code,
we usually ask arch or component maintainer to take it.

For this patchset, it should be merged into ppc tree?

Thanks
Baoquan
Coiby Xu Nov. 11, 2022, 2:21 a.m. UTC | #6
Hi Michael,

Could the PowerPC tree take this patch set which resolves a
PowerVM/KVM-specific issue?

On Thu, Sep 01, 2022 at 05:46:06PM -0400, Stefan Berger wrote:
>The of-tree subsystem does not currently preserve the IBM vTPM 1.2 and
>vTPM 2.0 measurement logs across a kexec on PowerVM and PowerKVM. This
>series fixes this for the kexec_file_load() syscall using the flattened
>device tree (fdt) to carry the TPM measurement log's buffer across kexec.
>
>   Stefan
>
>v8:
> - Added Jarkko's, Coiby's, and Rob's tags
> - Rebase on v6.0-rc3 that absorbed 2 already upstreamed patches
>
>v7:
> - Added Nageswara's Tested-by tags
> - Added back original comment to inline function and removed Jarkko's R-b tag
>
>v6:
> - Add __init to get_kexec_buffer as suggested by Jonathan
> - Fixed issue detected by kernel test robot
>
>v5:
> - Rebased on 1 more patch that would otherwise create merge conflicts
>
>v4:
> - Rebased on 2 patches that would otherwise create merge conflicts;
>   posting these patches in this series with several tags removed so
>   krobot can test the series already
> - Changes to individual patches documented in patch descripitons
>
>v3:
> - Moved TPM Open Firmware related function to drivers/char/tpm/eventlog/tpm_of.c
>
>v2:
> - rearranged patches
> - fixed compilation issues for x86
>
>Palmer Dabbelt (1):
>  drivers: of: kexec ima: Support 32-bit platforms
>
>Stefan Berger (3):
>  tpm: of: Make of-tree specific function commonly available
>  of: kexec: Refactor IMA buffer related functions to make them reusable
>  tpm/kexec: Duplicate TPM measurement log in of-tree for kexec
>
> drivers/char/tpm/eventlog/of.c |  31 +--
> drivers/of/kexec.c             | 336 ++++++++++++++++++++++++++++-----
> include/linux/kexec.h          |   6 +
> include/linux/of.h             |   9 +-
> include/linux/tpm.h            |  36 ++++
> kernel/kexec_file.c            |   6 +
> 6 files changed, 346 insertions(+), 78 deletions(-)
>
>
>base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5
>-- 
>2.35.1
>
Stefan Berger Nov. 11, 2022, 12:12 p.m. UTC | #7
On 11/10/22 21:21, Coiby Xu wrote:
> Hi Michael,
> 
> Could the PowerPC tree take this patch set which resolves a
> PowerVM/KVM-specific issue?

Michael has (shown me) an alternative approach that protects the already allocated memory to carry it across the kexec. This seems like a good and potentially better alternative, also from the perspective of the changes need, which is a lot less , and it's already used for other stuff as well.

    Stefan

> 
> On Thu, Sep 01, 2022 at 05:46:06PM -0400, Stefan Berger wrote:
>> The of-tree subsystem does not currently preserve the IBM vTPM 1.2 and
>> vTPM 2.0 measurement logs across a kexec on PowerVM and PowerKVM. This
>> series fixes this for the kexec_file_load() syscall using the flattened
>> device tree (fdt) to carry the TPM measurement log's buffer across kexec.
>>
>>   Stefan
>>
>> v8:
>> - Added Jarkko's, Coiby's, and Rob's tags
>> - Rebase on v6.0-rc3 that absorbed 2 already upstreamed patches
>>
>> v7:
>> - Added Nageswara's Tested-by tags
>> - Added back original comment to inline function and removed Jarkko's R-b tag
>>
>> v6:
>> - Add __init to get_kexec_buffer as suggested by Jonathan
>> - Fixed issue detected by kernel test robot
>>
>> v5:
>> - Rebased on 1 more patch that would otherwise create merge conflicts
>>
>> v4:
>> - Rebased on 2 patches that would otherwise create merge conflicts;
>>   posting these patches in this series with several tags removed so
>>   krobot can test the series already
>> - Changes to individual patches documented in patch descripitons
>>
>> v3:
>> - Moved TPM Open Firmware related function to drivers/char/tpm/eventlog/tpm_of.c
>>
>> v2:
>> - rearranged patches
>> - fixed compilation issues for x86
>>
>> Palmer Dabbelt (1):
>>  drivers: of: kexec ima: Support 32-bit platforms
>>
>> Stefan Berger (3):
>>  tpm: of: Make of-tree specific function commonly available
>>  of: kexec: Refactor IMA buffer related functions to make them reusable
>>  tpm/kexec: Duplicate TPM measurement log in of-tree for kexec
>>
>> drivers/char/tpm/eventlog/of.c |  31 +--
>> drivers/of/kexec.c             | 336 ++++++++++++++++++++++++++++-----
>> include/linux/kexec.h          |   6 +
>> include/linux/of.h             |   9 +-
>> include/linux/tpm.h            |  36 ++++
>> kernel/kexec_file.c            |   6 +
>> 6 files changed, 346 insertions(+), 78 deletions(-)
>>
>>
>> base-commit: b90cb1053190353cc30f0fef0ef1f378ccc063c5
>> -- 
>> 2.35.1
>>
>