)]}'
{
  "commit": "ccf02aaf8167bb8bfb3c17c01c843d309b872671",
  "tree": "744c59c27e0883dca4da631118432a8df86ce894",
  "parents": [
    "35beab0635f3cdd475e3c11a304b866c25b76fcf"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Mon Feb 03 14:02:57 2014 -0500"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Fri Feb 07 15:42:40 2014 -0800"
  },
  "message": "kernfs: invoke kernfs_unmap_bin_file() directly from kernfs_deactivate()\n\nkernfs_unmap_bin_file() is supposed to unmap all memory mappings of\nthe target file before kernfs_remove() finishes; however, it currently\nis being called from kernfs_addrm_finish() and has the same race\nproblem as the original implementation of deactivation when there are\nmultiple removers - only the remover which snatches the node to its\naddrm_cxt-\u003eremoved list is guaranteed to wait for its completion\nbefore returning.\n\nIt can be easily fixed by moving kernfs_unmap_bin_file() invocation\nfrom kernfs_addrm_finish() to kernfs_deactivated().  The function may\nbe called multiple times but that shouldn\u0027t do any harm.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3ac93737174af67f3b7888d478c973c60aec1efd",
      "old_mode": 33188,
      "old_path": "fs/kernfs/dir.c",
      "new_id": "9603c06550a02270fd95a8f4f963a5463b240467",
      "new_mode": 33188,
      "new_path": "fs/kernfs/dir.c"
    }
  ]
}
