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-next>] [day] [month] [year] [list]
Date:   Tue, 05 May 2020 15:43:54 +0200
From:   Thomas Gleixner <tglx@...utronix.de>
To:     LKML <linux-kernel@...r.kernel.org>
Cc:     x86@...nel.org, "Paul E. McKenney" <paulmck@...nel.org>,
        Andy Lutomirski <luto@...nel.org>,
        Alexandre Chartre <alexandre.chartre@...cle.com>,
        Frederic Weisbecker <frederic@...nel.org>,
        Paolo Bonzini <pbonzini@...hat.com>,
        Sean Christopherson <sean.j.christopherson@...el.com>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        Petr Mladek <pmladek@...e.com>,
        Steven Rostedt <rostedt@...dmis.org>,
        Joel Fernandes <joel@...lfernandes.org>,
        Boris Ostrovsky <boris.ostrovsky@...cle.com>,
        Juergen Gross <jgross@...e.com>,
        Brian Gerst <brgerst@...il.com>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Josh Poimboeuf <jpoimboe@...hat.com>,
        Will Deacon <will@...nel.org>
Subject: [patch V4 part 3 00/29] x86/entry: Entry/exception code rework,
 simple exceptions

Folks,

This is the third part of the rework series. Part 2 can be found here:

 https://lore.kernel.org/r/20200505134112.272268764@linutronix.de

The series has a total of 138 patches and is split into 5 parts. The base
for this 3rd series is:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-v4-part-2

The full series with all parts applied is available here:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-v4-part-5

The third part, i.e. this series is available from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git entry-v4-part-3
 
This part contains the modifications for the simple exceptions and traps:

 - Preparatory changes and simplifications moving especially tracing affected
   code out of ASM

 - Distangle the unreadable idtentry maze on 64bit

 - Provide C entry/exit functions which handle the transitions vs. RCU,
   context tracking and instrumentation.
 
 - Provide a set of macros to define and declare exception and trap handlers

   The macros generate:
     - The prototypes for the relevant C, ASM and XEN/PV functions
     - C wrappers for the actual handler code which contain all
       the necessary entry handling
     - Automatic emission of the low level ASM entry code  

 - Converting the trivial exceptions over to the new scheme

The objtool check for the noinstr.text correctness is not yet added to the
build machinery and has to be invoked manually for now:

   objtool check -fal vmlinux.o

The checking only works for builtin code as objtool cannot do a combined
analysis of vmlinux.o and a module.o

Thanks,

	tglx

8<----------
 arch/x86/entry/common.c              |   90 +++++++
 arch/x86/entry/entry_32.S            |  188 ++++++---------
 arch/x86/entry/entry_64.S            |  436 +++++++++++++++++++----------------
 arch/x86/include/asm/idtentry.h      |  153 ++++++++++++
 arch/x86/include/asm/special_insns.h |   14 -
 arch/x86/include/asm/trapnr.h        |   31 ++
 arch/x86/include/asm/traps.h         |   76 ------
 arch/x86/kernel/idt.c                |   28 +-
 arch/x86/kernel/traps.c              |  184 +++++++++-----
 arch/x86/mm/fault.c                  |   17 +
 arch/x86/xen/enlighten_pv.c          |   33 +-
 arch/x86/xen/xen-asm_32.S            |    2 
 arch/x86/xen/xen-asm_64.S            |   28 +-
 include/linux/rcutiny.h              |    1 
 include/linux/rcutree.h              |    1 
 kernel/rcu/tree.c                    |   21 +
 16 files changed, 808 insertions(+), 495 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ