)]}'
{
  "commit": "c414efdf39458438c965b403a47578dcf3213e10",
  "tree": "9f639e1abd641cf3466ef88349baa658eea49827",
  "parents": [
    "f47e3431b15ae9cae8acc0fdf20fc083422c9f61"
  ],
  "author": {
    "name": "Chintan Pandya",
    "email": "cpandya@codeaurora.org",
    "time": "Wed Jun 27 08:13:47 2018 -0600"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Fri Aug 17 21:03:49 2018 +0200"
  },
  "message": "ioremap: Update pgtable free interfaces with addr\n\ncommit 785a19f9d1dd8a4ab2d0633be4656653bd3de1fc upstream.\n\nThe following kernel panic was observed on ARM64 platform due to a stale\nTLB entry.\n\n 1. ioremap with 4K size, a valid pte page table is set.\n 2. iounmap it, its pte entry is set to 0.\n 3. ioremap the same address with 2M size, update its pmd entry with\n    a new value.\n 4. CPU may hit an exception because the old pmd entry is still in TLB,\n    which leads to a kernel panic.\n\nCommit b6bdb7517c3d (\"mm/vmalloc: add interfaces to free unmapped page\ntable\") has addressed this panic by falling to pte mappings in the above\ncase on ARM64.\n\nTo support pmd mappings in all cases, TLB purge needs to be performed\nin this case on ARM64.\n\nAdd a new arg, \u0027addr\u0027, to pud_free_pmd_page() and pmd_free_pte_page()\nso that TLB purge can be added later in seprate patches.\n\n[toshi.kani@hpe.com: merge changes, rewrite patch description]\nFixes: 28ee90fe6048 (\"x86/mm: implement free pmd/pte page interfaces\")\nSigned-off-by: Chintan Pandya \u003ccpandya@codeaurora.org\u003e\nSigned-off-by: Toshi Kani \u003ctoshi.kani@hpe.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: mhocko@suse.com\nCc: akpm@linux-foundation.org\nCc: hpa@zytor.com\nCc: linux-mm@kvack.org\nCc: linux-arm-kernel@lists.infradead.org\nCc: Will Deacon \u003cwill.deacon@arm.com\u003e\nCc: Joerg Roedel \u003cjoro@8bytes.org\u003e\nCc: stable@vger.kernel.org\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Michal Hocko \u003cmhocko@suse.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nLink: https://lkml.kernel.org/r/20180627141348.21777-3-toshi.kani@hpe.com\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "493ff75670ffd98a1dc344a133f0f31a634f93ff",
      "old_mode": 33188,
      "old_path": "arch/arm64/mm/mmu.c",
      "new_id": "8ae5d7ae4af344967f3cfeb711f2eade43dcf76a",
      "new_mode": 33188,
      "new_path": "arch/arm64/mm/mmu.c"
    },
    {
      "type": "modify",
      "old_id": "1aeb7a5dbce51822400bf088bedf8969e854225b",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/pgtable.c",
      "new_id": "fbd14e5067581eb7cdeb3a9b2ffbf4b5ecf38d91",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/pgtable.c"
    },
    {
      "type": "modify",
      "old_id": "26ca0276b503ee1ffc1d9a7f0b065e3361990156",
      "old_mode": 33188,
      "old_path": "include/asm-generic/pgtable.h",
      "new_id": "a75cb371cd193ae0ddd3355a4a479deae87b9440",
      "new_mode": 33188,
      "new_path": "include/asm-generic/pgtable.h"
    },
    {
      "type": "modify",
      "old_id": "54e5bbaa3200317534926e65982dcd3cbab71492",
      "old_mode": 33188,
      "old_path": "lib/ioremap.c",
      "new_id": "517f5853ffed1726a462543f902450ddb7f9a9b4",
      "new_mode": 33188,
      "new_path": "lib/ioremap.c"
    }
  ]
}
