)]}'
{
  "commit": "81759b5b221107488bda99fe7beeb7b734f61133",
  "tree": "2ca1207d4ae5d6bbdc49db727a35b22a502fc76f",
  "parents": [
    "efc1a3b16930c41d64ffefde16b87d82f603a8a0"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Fri Jan 15 17:01:36 2010 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Jan 16 12:15:40 2010 -0800"
  },
  "message": "nommu: fix race between ramfs truncation and shared mmap\n\nFix the race between the truncation of a ramfs file and an attempt to make\na shared mmap of region of that file.\n\nThe problem is that do_mmap_pgoff() calls f_op-\u003eget_unmapped_area() to\nverify that the file region is made of contiguous pages and to find its\nbase address - but there isn\u0027t any locking to guarantee this region until\nvma_prio_tree_insert() is called by add_vma_to_mm().\n\nNote that moving the functionality into f_op-\u003emmap() doesn\u0027t help as that\nis also called before vma_prio_tree_insert().\n\nInstead make ramfs_nommu_check_mappings() grab nommu_region_sem whilst it\ndoes its checks.  This means that this function will wait whilst mmaps\ntake place.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg Ungerer \u003cgerg@snapgear.com\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": "2efc57173fd703b74bfc1adaad5289df1ff1f179",
      "old_mode": 33188,
      "old_path": "fs/ramfs/file-nommu.c",
      "new_id": "266531343aae05bcc5336f05751c44347cceccab",
      "new_mode": 33188,
      "new_path": "fs/ramfs/file-nommu.c"
    }
  ]
}
