)]}'
{
  "commit": "b29acbdcf877009af3f1fc0750bcac314c51e055",
  "tree": "f4afe2fcecfe414b75934681cb19a037a953a4e8",
  "parents": [
    "8650e51ac94b5fe93c02e3c8fef02e416f14501c"
  ],
  "author": {
    "name": "Nick Piggin",
    "email": "npiggin@suse.de",
    "time": "Mon Dec 01 13:13:47 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Dec 01 19:55:23 2008 -0800"
  },
  "message": "mm: vmalloc fix lazy unmapping cache aliasing\n\nJim Radford has reported that the vmap subsystem rewrite was sometimes\ncausing his VIVT ARM system to behave strangely (seemed like going into\ninfinite loops trying to fault in pages to userspace).\n\nWe determined that the problem was most likely due to a cache aliasing\nissue.  flush_cache_vunmap was only being called at the moment the page\ntables were to be taken down, however with lazy unmapping, this can happen\nafter the page has subsequently been freed and allocated for something\nelse.  The dangling alias may still have dirty data attached to it.\n\nThe fix for this problem is to do the cache flushing when the caller has\ncalled vunmap -- it would be a bug for them to write anything else to the\nmapping at that point.\n\nThat appeared to solve Jim\u0027s problems.\n\nReported-by: Jim Radford \u003cradford@blackbean.org\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "30f826d484f0b935af18a793f7fe49b65903025e",
      "old_mode": 33188,
      "old_path": "mm/vmalloc.c",
      "new_id": "f3f6e0758562283ac51fc4267a4d87fed600e917",
      "new_mode": 33188,
      "new_path": "mm/vmalloc.c"
    }
  ]
}
