[PATCH 5/5] arm64: mte: Document the core dump file format
Luis Machado
luis.machado at linaro.org
Mon Jan 3 09:27:54 PST 2022
On 12/8/21 9:19 AM, Catalin Marinas wrote:
> Add the program header definition and data layout for the
> PT_ARM_MEMTAG_MTE segments.
>
> Signed-off-by: Catalin Marinas <catalin.marinas at arm.com>
> ---
> .../arm64/memory-tagging-extension.rst | 22 +++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/Documentation/arm64/memory-tagging-extension.rst b/Documentation/arm64/memory-tagging-extension.rst
> index 7b99c8f428eb..34c7eb47f61e 100644
> --- a/Documentation/arm64/memory-tagging-extension.rst
> +++ b/Documentation/arm64/memory-tagging-extension.rst
> @@ -213,6 +213,28 @@ address ABI control and MTE configuration of a process as per the
> Documentation/arm64/tagged-address-abi.rst and above. The corresponding
> ``regset`` is 1 element of 8 bytes (``sizeof(long))``).
>
> +Core dump support
> +-----------------
> +
> +The allocation tags for user memory mapped with ``PROT_MTE`` are dumped
> +in the core file as additional ``PT_ARM_MEMTAG_MTE`` segments. The
> +program header for such segment is defined as:
> +
> +:``p_type``: ``PT_ARM_MEMTAG_MTE``
> +:``p_flags``: 0
> +:``p_offset``: segment file offset
> +:``p_vaddr``: segment virtual address, same as the corresponding
> + ``PT_LOAD`` segment
> +:``p_paddr``: 0
> +:``p_filesz``: segment size in file, calculated as ``p_mem_sz / 16 / 2``
For the sake of making things extra clear, I'd describe what the
constants (16 and 2) mean.
> +:``p_memsz``: segment size in memory, same as the corresponding
> + ``PT_LOAD`` segment
> +:``p_align``: 0
> +
> +The tags are stored in the core file at ``p_offset`` as two 4-bit tags
> +in a byte. With the tag granule of 16 bytes, a 4K page requires 128
> +bytes in the core file.
> +
> Example of correct usage
> ========================
>
>
Otherwise looks good to me.
Acked-by: Luis Machado <luis.machado at linaro.org>
More information about the linux-arm-kernel
mailing list