)]}'
{
  "commit": "9a61c349b28ec5aef7e929236571fd770fdef0bb",
  "tree": "c78c703dcca91302901d116031b311de7ad3fd78",
  "parents": [
    "4d7670e0f649f9e6e6ea6c8bb9f52441fa00f92b"
  ],
  "author": {
    "name": "Nick Piggin",
    "email": "nickpiggin@yahoo.com.au",
    "time": "Sat Sep 03 15:54:49 2005 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@evo.osdl.org",
    "time": "Mon Sep 05 00:05:44 2005 -0700"
  },
  "message": "[PATCH] mm: remap ZERO_PAGE mappings\n\nfilemap_xip\u0027s nopage routine maps the ZERO_PAGE into readonly mappings, if it\nhas no data page to map there: then if the hole in the file is later filled,\n__xip_unmap uses an rmap technique to replace the ZERO_PAGEs mapped for that\noffset by the newly allocated file page, so that established mappings will see\nthe newly written data.\n\nHowever, on MIPS (alone) there\u0027s not one but as many as eight ZERO_PAGEs,\nchosen for coloring by user virtual address; and if mremap has meanwhile been\nused to move a mapping containing a ZERO_PAGE, it will generally not match the\nZERO_PAGE(address) __xip_unmap is looking for.\n\nTo maintain XIP\u0027s established mappings correctly on MIPS, we need Nick\u0027s fix\nto mremap\u0027s move_one_page (originally presented as an optimization), to\nreplace the ZERO_PAGE appropriate to the old address by the ZERO_PAGE\nappropriate to the new address.\n\n(But when I first saw this, I was thinking the ZERO_PAGEs themselves would get\ncorrupted, very bad.  Now I think it\u0027s the other way round, that the\nestablished mappings will fail to see the newly written data: incorrect, but\nnot corrupting everything else.  Whether filemap_xip\u0027s technique is generally\nsafe, I\u0027d hesitate to say in a hurry: it\u0027s interesting, but we\u0027ve never tried\nto do that in tmpfs.)\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fc45dc9a617b013f4db5aea5fe7898bf6cd677b6",
      "old_mode": 33188,
      "old_path": "mm/mremap.c",
      "new_id": "a32fed454bd7c60e15da0c720b1631b55a3f8835",
      "new_mode": 33188,
      "new_path": "mm/mremap.c"
    }
  ]
}
