)]}'
{
  "commit": "e9d0e6330eb81ca49bdd8849cc52b3b0f70ed5cb",
  "tree": "a449919525b7cbc3b756085b0efccca9f36b78c8",
  "parents": [
    "32fcefa2bfc8961987e91d1daeb00624b4176d2e"
  ],
  "author": {
    "name": "Kirill A. Shutemov",
    "email": "kirill.shutemov@linux.intel.com",
    "time": "Mon Feb 26 21:04:51 2018 +0300"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Mon Mar 12 09:37:26 2018 +0100"
  },
  "message": "x86/boot/compressed/64: Prepare new top-level page table for trampoline\n\nIf trampoline code would need to switch between 4- and 5-level paging\nmodes, we have to use a page table in trampoline memory.\n\nHaving it in trampoline memory guarantees that it\u0027s below 4G and we can\npoint CR3 to it from 32-bit trampoline code.\n\nWe only use the page table if the desired paging mode doesn\u0027t match the\nmode we are in. Otherwise the page table is unused and trampoline code\nwouldn\u0027t touch CR3.\n\nFor 4- to 5-level paging transition, we set up current (4-level paging)\nCR3 as the first and the only entry in a new top-level page table.\n\nFor 5- to 4-level paging transition, copy page table pointed by first\nentry in the current top-level page table as our new top-level page\ntable.\n\nIf the page table is used by trampoline we would need to copy it to new\npage table outside trampoline and update CR3 before restoring trampoline\nmemory.\n\nTested-by: Borislav Petkov \u003cbp@suse.de\u003e\nSigned-off-by: Kirill A. Shutemov \u003ckirill.shutemov@linux.intel.com\u003e\nCc: Andy Lutomirski \u003cluto@amacapital.net\u003e\nCc: Andy Shevchenko \u003candy.shevchenko@gmail.com\u003e\nCc: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Juergen Gross \u003cjgross@suse.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Matthew Wilcox \u003cwilly@infradead.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linux-mm@kvack.org\nLink: http://lkml.kernel.org/r/20180226180451.86788-6-kirill.shutemov@linux.intel.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "810c2c32d98ec765f657ba2203e4d8e2d1e0d1a1",
      "old_mode": 33188,
      "old_path": "arch/x86/boot/compressed/pgtable_64.c",
      "new_id": "32af1cbcd9030f64df39554d430d9be9196a53ec",
      "new_mode": 33188,
      "new_path": "arch/x86/boot/compressed/pgtable_64.c"
    }
  ]
}
