All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
To: zohar@linux.ibm.com, bauerman@linux.ibm.com, robh@kernel.org,
	takahiro.akashi@linaro.org, gregkh@linuxfoundation.org,
	will@kernel.org, catalin.marinas@arm.com, mpe@ellerman.id.au
Cc: james.morse@arm.com, sashal@kernel.org, benh@kernel.crashing.org,
	paulus@samba.org, frowand.list@gmail.com,
	vincenzo.frascino@arm.com, mark.rutland@arm.com,
	dmitry.kasatkin@gmail.com, jmorris@namei.org, serge@hallyn.com,
	pasha.tatashin@soleen.com, allison@lohutok.net,
	masahiroy@kernel.org, bhsharma@redhat.com, mbrugger@suse.com,
	hsinyi@chromium.org, tao.li@vivo.com, christophe.leroy@c-s.fr,
	prsriva@linux.microsoft.com, balajib@linux.microsoft.com,
	linux-integrity@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	linuxppc-dev@vger.kernel.org
Subject: [PATCH v14 6/6] arm64: Add IMA log information in kimage used for kexec
Date: Mon,  4 Jan 2021 11:26:02 -0800	[thread overview]
Message-ID: <20210104192602.10131-7-nramas@linux.microsoft.com> (raw)
In-Reply-To: <20210104192602.10131-1-nramas@linux.microsoft.com>

Address and size of the buffer containing the IMA measurement log need
to be passed from the current kernel to the next kernel on kexec.

Any existing "linux,ima-kexec-buffer" property in the device tree
needs to be removed and its corresponding memory reservation in
the currently running kernel needs to be freed. The address and
size of the current kernel's IMA measurement log need to be added
to the device tree's IMA kexec buffer node and memory for the buffer
needs to be reserved for the log to be carried over to the next kernel
on the kexec call.

Add address and size fields to "struct kimage_arch" for ARM64 platform
to hold the address and size of the IMA measurement log buffer. Remove
any existing "linux,ima-kexec-buffer" property in the device tree and
free the corresponding memory reservation in the currently running
kernel. Add "linux,ima-kexec-buffer" property to the device tree and
reserve the memory for storing the IMA log that needs to be passed from
the current kernel to the next one.

Update CONFIG_KEXEC_FILE to select CONFIG_HAVE_IMA_KEXEC to indicate
that the IMA measurement log information is present in the device tree
for ARM64.

Co-developed-by: Prakhar Srivastava <prsriva@linux.microsoft.com>
Signed-off-by: Prakhar Srivastava <prsriva@linux.microsoft.com>
Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
---
 arch/arm64/Kconfig             | 1 +
 arch/arm64/include/asm/kexec.h | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a6b5b7ef40ae..312b4d5ad232 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1095,6 +1095,7 @@ config KEXEC
 config KEXEC_FILE
 	bool "kexec file based system call"
 	select KEXEC_CORE
+	select HAVE_IMA_KEXEC if IMA
 	help
 	  This is new version of kexec system call. This system call is
 	  file based and takes file descriptors as system call argument
diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h
index d24b527e8c00..2bd19ccb6c43 100644
--- a/arch/arm64/include/asm/kexec.h
+++ b/arch/arm64/include/asm/kexec.h
@@ -100,6 +100,11 @@ struct kimage_arch {
 	void *elf_headers;
 	unsigned long elf_headers_mem;
 	unsigned long elf_headers_sz;
+
+#ifdef CONFIG_IMA_KEXEC
+	phys_addr_t ima_buffer_addr;
+	size_t ima_buffer_size;
+#endif
 };
 
 extern const struct kexec_file_ops kexec_image_ops;
-- 
2.29.2


WARNING: multiple messages have this Message-ID (diff)
From: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
To: zohar@linux.ibm.com, bauerman@linux.ibm.com, robh@kernel.org,
	takahiro.akashi@linaro.org, gregkh@linuxfoundation.org,
	will@kernel.org, catalin.marinas@arm.com, mpe@ellerman.id.au
Cc: mark.rutland@arm.com, benh@kernel.crashing.org,
	bhsharma@redhat.com, tao.li@vivo.com, paulus@samba.org,
	vincenzo.frascino@arm.com, frowand.list@gmail.com,
	sashal@kernel.org, masahiroy@kernel.org, jmorris@namei.org,
	linux-arm-kernel@lists.infradead.org, serge@hallyn.com,
	devicetree@vger.kernel.org, pasha.tatashin@soleen.com,
	linuxppc-dev@vger.kernel.org, prsriva@linux.microsoft.com,
	hsinyi@chromium.org, allison@lohutok.net,
	christophe.leroy@c-s.fr, mbrugger@suse.com,
	balajib@linux.microsoft.com, dmitry.kasatkin@gmail.com,
	linux-kernel@vger.kernel.org, james.morse@arm.com,
	linux-integrity@vger.kernel.org
Subject: [PATCH v14 6/6] arm64: Add IMA log information in kimage used for kexec
Date: Mon,  4 Jan 2021 11:26:02 -0800	[thread overview]
Message-ID: <20210104192602.10131-7-nramas@linux.microsoft.com> (raw)
In-Reply-To: <20210104192602.10131-1-nramas@linux.microsoft.com>

Address and size of the buffer containing the IMA measurement log need
to be passed from the current kernel to the next kernel on kexec.

Any existing "linux,ima-kexec-buffer" property in the device tree
needs to be removed and its corresponding memory reservation in
the currently running kernel needs to be freed. The address and
size of the current kernel's IMA measurement log need to be added
to the device tree's IMA kexec buffer node and memory for the buffer
needs to be reserved for the log to be carried over to the next kernel
on the kexec call.

Add address and size fields to "struct kimage_arch" for ARM64 platform
to hold the address and size of the IMA measurement log buffer. Remove
any existing "linux,ima-kexec-buffer" property in the device tree and
free the corresponding memory reservation in the currently running
kernel. Add "linux,ima-kexec-buffer" property to the device tree and
reserve the memory for storing the IMA log that needs to be passed from
the current kernel to the next one.

Update CONFIG_KEXEC_FILE to select CONFIG_HAVE_IMA_KEXEC to indicate
that the IMA measurement log information is present in the device tree
for ARM64.

Co-developed-by: Prakhar Srivastava <prsriva@linux.microsoft.com>
Signed-off-by: Prakhar Srivastava <prsriva@linux.microsoft.com>
Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
---
 arch/arm64/Kconfig             | 1 +
 arch/arm64/include/asm/kexec.h | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a6b5b7ef40ae..312b4d5ad232 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -1095,6 +1095,7 @@ config KEXEC
 config KEXEC_FILE
 	bool "kexec file based system call"
 	select KEXEC_CORE
+	select HAVE_IMA_KEXEC if IMA
 	help
 	  This is new version of kexec system call. This system call is
 	  file based and takes file descriptors as system call argument
diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h
index d24b527e8c00..2bd19ccb6c43 100644
--- a/arch/arm64/include/asm/kexec.h
+++ b/arch/arm64/include/asm/kexec.h
@@ -100,6 +100,11 @@ struct kimage_arch {
 	void *elf_headers;
 	unsigned long elf_headers_mem;
 	unsigned long elf_headers_sz;
+
+#ifdef CONFIG_IMA_KEXEC
+	phys_addr_t ima_buffer_addr;
+	size_t ima_buffer_size;
+#endif
 };
 
 extern const struct kexec_file_ops kexec_image_ops;
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2021-01-04 19:27 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 19:25 [PATCH v14 0/6] Carry forward IMA measurement log on kexec on ARM64 Lakshmi Ramasubramanian
2021-01-04 19:25 ` Lakshmi Ramasubramanian
2021-01-04 19:25 ` [PATCH v14 1/6] ima: Move arch_ima_add_kexec_buffer() to ima Lakshmi Ramasubramanian
2021-01-04 19:25   ` Lakshmi Ramasubramanian
2021-01-04 19:25 ` [PATCH v14 2/6] powerpc: Move arch independent ima kexec functions to drivers/of/kexec.c Lakshmi Ramasubramanian
2021-01-04 19:25   ` Lakshmi Ramasubramanian
2021-01-13  2:14   ` Thiago Jung Bauermann
2021-01-13  2:14     ` Thiago Jung Bauermann
2021-01-04 19:25 ` [PATCH v14 3/6] kexec: Use fdt_appendprop_addrrange() to add ima buffer to FDT Lakshmi Ramasubramanian
2021-01-04 19:25   ` Lakshmi Ramasubramanian
2021-01-04 19:26 ` [PATCH v14 4/6] powerpc: Delete unused functions Lakshmi Ramasubramanian
2021-01-04 19:26   ` Lakshmi Ramasubramanian
2021-01-12 23:30   ` Mimi Zohar
2021-01-12 23:30     ` Mimi Zohar
2021-01-12 23:57     ` Lakshmi Ramasubramanian
2021-01-12 23:57       ` Lakshmi Ramasubramanian
2021-01-13  2:15   ` Thiago Jung Bauermann
2021-01-13  2:15     ` Thiago Jung Bauermann
2021-01-04 19:26 ` [PATCH v14 5/6] arm64: Free DTB buffer if fdt_open_into() fails Lakshmi Ramasubramanian
2021-01-04 19:26   ` Lakshmi Ramasubramanian
2021-01-04 19:26 ` Lakshmi Ramasubramanian [this message]
2021-01-04 19:26   ` [PATCH v14 6/6] arm64: Add IMA log information in kimage used for kexec Lakshmi Ramasubramanian
2021-01-12 23:28   ` Mimi Zohar
2021-01-12 23:28     ` Mimi Zohar
2021-01-12 23:54     ` Lakshmi Ramasubramanian
2021-01-12 23:54       ` Lakshmi Ramasubramanian
2021-01-13  2:16   ` Thiago Jung Bauermann
2021-01-13  2:16     ` Thiago Jung Bauermann
2021-01-12 14:42 ` [PATCH v14 0/6] Carry forward IMA measurement log on kexec on ARM64 Rob Herring
2021-01-12 14:42   ` Rob Herring
2021-01-12 18:05   ` Mimi Zohar
2021-01-12 18:05     ` Mimi Zohar
2021-01-12 18:24     ` Lakshmi Ramasubramanian
2021-01-12 18:24       ` Lakshmi Ramasubramanian
2021-01-12 18:45     ` Thiago Jung Bauermann
2021-01-12 18:45       ` Thiago Jung Bauermann
2021-01-12 18:23   ` Lakshmi Ramasubramanian
2021-01-12 18:23     ` Lakshmi Ramasubramanian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210104192602.10131-7-nramas@linux.microsoft.com \
    --to=nramas@linux.microsoft.com \
    --cc=allison@lohutok.net \
    --cc=balajib@linux.microsoft.com \
    --cc=bauerman@linux.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=bhsharma@redhat.com \
    --cc=catalin.marinas@arm.com \
    --cc=christophe.leroy@c-s.fr \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hsinyi@chromium.org \
    --cc=james.morse@arm.com \
    --cc=jmorris@namei.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=masahiroy@kernel.org \
    --cc=mbrugger@suse.com \
    --cc=mpe@ellerman.id.au \
    --cc=pasha.tatashin@soleen.com \
    --cc=paulus@samba.org \
    --cc=prsriva@linux.microsoft.com \
    --cc=robh@kernel.org \
    --cc=sashal@kernel.org \
    --cc=serge@hallyn.com \
    --cc=takahiro.akashi@linaro.org \
    --cc=tao.li@vivo.com \
    --cc=vincenzo.frascino@arm.com \
    --cc=will@kernel.org \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.