)]}'
{
  "commit": "c595ceee45707f00f64f61c54fb64ef0cc0b4e85",
  "tree": "64b612c6912868ed64c587f65c1ccfabf8717694",
  "parents": [
    "3fa045be4c720146b18a19cea7a767dc6ad5df94"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Mon Jul 02 13:07:14 2018 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Wed Jul 04 20:49:39 2018 +0200"
  },
  "message": "x86/KVM/VMX: Add L1D flush logic\n\nAdd the logic for flushing L1D on VMENTER. The flush depends on the static\nkey being enabled and the new l1tf_flush_l1d flag being set.\n\nThe flags is set:\n - Always, if the flush module parameter is \u0027always\u0027\n\n - Conditionally at:\n   - Entry to vcpu_run(), i.e. after executing user space\n\n   - From the sched_in notifier, i.e. when switching to a vCPU thread.\n\n   - From vmexit handlers which are considered unsafe, i.e. where\n     sensitive data can be brought into L1D:\n\n     - The emulator, which could be a good target for other speculative\n       execution-based threats,\n\n     - The MMU, which can bring host page tables in the L1 cache.\n     \n     - External interrupts\n\n     - Nested operations that require the MMU (see above). That is\n       vmptrld, vmptrst, vmclear,vmwrite,vmread.\n\n     - When handling invept,invvpid\n\n[ tglx: Split out from combo patch and reduced to a single flag ]\n\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c13cd28d9d1be5abdff8fdf93692d51755c8930c",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/kvm_host.h",
      "new_id": "57d418061c55d876fcafe16f4f7fca550035583e",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/kvm_host.h"
    },
    {
      "type": "modify",
      "old_id": "d594690d8b9597a87f4cba26e8c1be5cb2de22de",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/mmu.c",
      "new_id": "9beb772b9eb6450eda337e0c56f5db15ba9f8fd3",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/mmu.c"
    },
    {
      "type": "modify",
      "old_id": "a1dbc17c7a0318083951741bf0a5ca92f3711b6e",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/vmx.c",
      "new_id": "882df9605e4260d7d1e56fb95dedf896d437da02",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/vmx.c"
    },
    {
      "type": "modify",
      "old_id": "0046aa70205aa2dfbc0577065250be717ca25b4e",
      "old_mode": 33188,
      "old_path": "arch/x86/kvm/x86.c",
      "new_id": "902d535dff8f8c5704a9c26b88819e3afdf58862",
      "new_mode": 33188,
      "new_path": "arch/x86/kvm/x86.c"
    }
  ]
}
