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  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:   Sat, 16 May 2020 01:45:47 +0200
From:   Thomas Gleixner <>
To:     LKML <>
Cc:, "Paul E. McKenney" <>,
        Andy Lutomirski <>,
        Alexandre Chartre <>,
        Frederic Weisbecker <>,
        Paolo Bonzini <>,
        Sean Christopherson <>,
        Masami Hiramatsu <>,
        Petr Mladek <>,
        Steven Rostedt <>,
        Joel Fernandes <>,
        Boris Ostrovsky <>,
        Juergen Gross <>,
        Brian Gerst <>,
        Mathieu Desnoyers <>,
        Josh Poimboeuf <>,
        Will Deacon <>,
        Tom Lendacky <>,
        Wei Liu <>,
        Michael Kelley <>,
        Jason Chen CJ <>,
        Zhao Yakui <>,
        "Peter Zijlstra (Intel)" <>
Subject: [patch V6 00/37] x86/entry: Rework leftovers and merge plan


This is V6 of the rework series. V5 can be found here:

The V6 leftover series is based on:

  git:// entry-base-v6

which is the reworked base series from part 1-4 of the original 5 part
series with a few changes which are described in detail below in the merge
plan section.

V6 has the following changes vs. V5:

    - Rebased on top entry-base-v6

    - Addressed Stevens request to split up the hardware latency detector.
      This are 3 patches now as I couldn't resist to cleanup the
      timestamping mess in that code before splitting it up.
    - Dropped the KVM/SVM change as that is going to be routed
      differently. See below.

The full series is available from:

  git:// entry-v6-the-rest

On top of that the kvm changes are applied for completeness and available

  git:// entry-v6-full

Merge plan:

After figuring out that the entry pile and next are not really happy with
each other, I spent quite some time to come up with a plan.

The goal was to:

    - not let Stephen Rothwell grow more grey hair when trying to resolve
      the conflicts

    - allow the affected trees (RCU and KVM) to take a small part of the
      series into their trees while making sure that the x86/entry branch
      is complete and contains the required RCU and KVM changes as well.

About 10 hours of patch tetris later the solution looks like this:

  I've reshuffled the patches so that they are grouped by subsystem instead
  of having the cross tree/subsystem patches close to the actual usage site
  in the x86/entry series.

  This allowed me to tag these subsytem parts and they contain just the
  minimal subset of changes to be able to build and boot.

The resulting tag list is:

  - noinstr-lds-2020-05-15

    A single commit containing the change which introduces
    the noinstr.text section.

  - noinstr-core-2020-05-15

    Based on noinstr-lds-2020-05-15 and contains the core changes

  - noinstr-core-for-kvm-2020-05-15

    Subset of noinstr-core-2020-05-15 which is required to let KVM pull
    the KVM async pagefault cleanup and base the guest_enter/exit() and
    noinstr changes on top.

  - noinstr-rcu-nmi-2020-05-15

    Based on the core/rcu branch in the tip tree. It has merged in
    noinstr-lds-2020-05-15 and contains the nmi_enter/exit() changes along
    with the noinstr section changes on top.

    This tag is intended to be pulled by Paul into his rcu/next branch so
    he can sort the conflicts and base further work on top.

  - noinstr-core-2020-05-15

    Based on noinstr-core-for-kvm-2020-05-15 and contains the async page
    fault cleanup which goes into x86/entry so the IDTENTRY conversion of
    #PF which also touches the async pagefault code can be applied on top

    This tag is intended to be pulled by Paolo into his next branch so he
    can work against these changes and the merged result is also target for
    the rebased version of the KVM guest_enter/exit() changes. These are
    not part of the entry-v6-base tag. I'm going to post them as a separate
    series because the original ones are conflicting with work in that area
    in the KVM tree.

  - noinstr-kcsan-2020-05015, noinstr-kprobes-2020-05-15,

    TIP tree internal tags which I added to reduce the brain-melt.

The x86/entry branch is based on the TIP x86/entry branch and has the
following branches and tags merged and patches from part 1-4 applied:

    - x86/asm because this has conflicting changes vs. #DF

    - A small set of preparatory changes and fixes which are independent
      of the noinstr mechanics

    - noinstr-objtool-2020-05-15
    - noinstr-core-2020-05-15
    - noinstr-kprobes-2020-05-15
    - noinstr-rcu-nmi-2020-05-15
    - noinstr-kcsan-2020-05015
    - noinstr-x86-kvm-2020-05-15
    - The part 1-4 patches up to

        51336ff8b658 ("x86/entry: Convert double fault exception to IDTENTRY_DF")

      This is tagged as entry-v6-base

The remaining patches in this leftover series will be applied on top.

If this works for all maintainers involved, then I'm going to pull the tags
and branches into the tip-tree which makes them immutable.

If not, please tell me ASAP that I should restart the patch tetris session
after hiding in a brown paperbag for some time to recover from brain melt.



Powered by blists - more mailing lists