lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c74c803a-82de-188f-d2c7-6d75bfa8104a@redhat.com>
Date:   Fri, 4 Sep 2020 16:36:28 +0100
From:   Julien Thierry <jthierry@...hat.com>
To:     linux-kernel@...r.kernel.org
Cc:     jpoimboe@...hat.com, peterz@...radead.org, mbenes@...e.cz,
        raphael.gault@....com, benh@...nel.crashing.org
Subject: Re: [PATCH v3 00/10] Make check implementation arch agnostic

Hi,

Apologies again about the duplicate. It seems like I have issues sending 
batched emails...

This thread can be ignored.

On 9/4/20 4:27 PM, Julien Thierry wrote:
> Hi,
> 
> The current implementation of the check subcommand has various x86 bits
> here and there. In order to prepare objtool to provide check for other
> architectures, add some abstraction over the x86 specific bits, relying
> on objtool arch specific code to provide some necessary operations.
> 
> This is part of the effort to implement check for arm64, initiated [1]
> by Raphael. The series is based on top of the separation of check & orc
> subcommands series[2].
> 
> I've push both series base on top of tip/objtool/core at [3].
> 
> - The first two patches make it simpler for new arches to provide their
> list of kernel headers, without worrying about modifications in the x86
> headers.
> - Patch 3 Moves arch specific macros to more suitable location
> - Patches 4 and 5 add abstraction to handle alternatives
> - Patch 6 adds abstraction to handle jump table
> - Patches 7-10 makes unwind hint definitions shared across architectures
> 
> Changes since v2 [4]:
> - Rebased on v5.9-rc1
> - Under tools/objtool/arch/x86/, rename arch_special.c to special.c
> - Rename include/linux/frame.h to inclide/linux/objtool.h
> - Share unwind hint types across architectures
> 
> [1] https://lkml.org/lkml/2019/8/16/400
> [2] https://lkml.org/lkml/2020/6/4/675
> [3] https://github.com/julien-thierry/linux/tree/arch-independent-check
> [4] https://lkml.org/lkml/2020/7/30/424
> 
> Cheers,
> 
> Julien
> 
> -->
> 
> Julien Thierry (9):
>    objtool: Group headers to check in a single list
>    objtool: Make sync-check consider the target architecture
>    objtool: Move macros describing structures to arch-dependent code
>    objtool: Abstract alternative special case handling
>    objtool: Make relocation in alternative handling arch dependent
>    headers: Rename frame.h
>    objtool: Only include valid definitions depending on source file type
>    objtool: Make unwind hints definitions available to other
>      architectures
>    objtool: Decode unwind hint register depending on architecture
> 
> Raphael Gault (1):
>    objtool: Refactor switch-tables code to support other architectures
> 
>   arch/x86/include/asm/nospec-branch.h          |   2 +-
>   arch/x86/include/asm/orc_types.h              |  34 ----
>   arch/x86/include/asm/unwind_hints.h           |  50 +-----
>   arch/x86/kernel/kprobes/core.c                |   2 +-
>   arch/x86/kernel/kprobes/opt.c                 |   2 +-
>   arch/x86/kernel/reboot.c                      |   2 +-
>   arch/x86/kernel/unwind_orc.c                  |  11 +-
>   arch/x86/kvm/svm/svm.c                        |   2 +-
>   arch/x86/kvm/vmx/nested.c                     |   2 +-
>   arch/x86/kvm/vmx/vmx.c                        |   2 +-
>   arch/x86/xen/enlighten_pv.c                   |   2 +-
>   drivers/gpu/drm/vmwgfx/vmwgfx_msg.c           |   3 +-
>   include/linux/frame.h                         |  35 -----
>   include/linux/objtool.h                       | 134 ++++++++++++++++
>   kernel/bpf/core.c                             |   2 +-
>   kernel/kexec_core.c                           |   2 +-
>   tools/arch/x86/include/asm/orc_types.h        |  34 ----
>   tools/include/linux/objtool.h                 | 134 ++++++++++++++++
>   tools/objtool/Makefile                        |   2 +-
>   tools/objtool/arch.h                          |   2 +
>   tools/objtool/arch/x86/Build                  |   1 +
>   tools/objtool/arch/x86/decode.c               |  37 +++++
>   tools/objtool/arch/x86/include/arch_special.h |  20 +++
>   tools/objtool/arch/x86/special.c              | 145 ++++++++++++++++++
>   tools/objtool/check.c                         | 137 ++---------------
>   tools/objtool/check.h                         |   7 +-
>   tools/objtool/objtool.h                       |   2 +
>   tools/objtool/orc_dump.c                      |   7 +-
>   tools/objtool/orc_gen.c                       |   5 +-
>   tools/objtool/special.c                       |  48 +-----
>   tools/objtool/special.h                       |  10 ++
>   tools/objtool/sync-check.sh                   |  27 ++--
>   tools/objtool/weak.c                          |   2 -
>   33 files changed, 561 insertions(+), 346 deletions(-)
>   delete mode 100644 include/linux/frame.h
>   create mode 100644 include/linux/objtool.h
>   create mode 100644 tools/include/linux/objtool.h
>   create mode 100644 tools/objtool/arch/x86/include/arch_special.h
>   create mode 100644 tools/objtool/arch/x86/special.c
> 
> --
> 2.21.3
> 

-- 
Julien Thierry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ