)]}'
{
  "commit": "b6174df5eec9cdfd598c03d6d0807e344e109213",
  "tree": "d61c8627138a8feee31de8320e337251d567fca9",
  "parents": [
    "d6b7d3b62069be60d5b13358bac8670dacdd7a81"
  ],
  "author": {
    "name": "Zhang, Yanmin",
    "email": "yanmin.zhang@intel.com",
    "time": "Mon Jul 10 04:44:49 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Mon Jul 10 13:24:21 2006 -0700"
  },
  "message": "[PATCH] mmap zero-length hugetlb file with PROT_NONE to protect a hugetlb virtual area\n\nSometimes, applications need below call to be successful although\n\"/mnt/hugepages/file1\" doesn\u0027t exist.\n\nfd \u003d open(\"/mnt/hugepages/file1\", O_CREAT|O_RDWR, 0755);\n*addr \u003d mmap(NULL, 0x1024*1024*256, PROT_NONE, 0, fd, 0);\n\nAs for regular pages (or files), above call does work, but as for huge\npages, above call would fail because hugetlbfs_file_mmap would fail if\n(!(vma-\u003evm_flags \u0026 VM_WRITE) \u0026\u0026 len \u003e inode-\u003ei_size).\n\nThis capability on huge page is useful on ia64 when the process wants to\nprotect one area on region 4, so other threads couldn\u0027t read/write this\narea.  A famous JVM (Java Virtual Machine) implementation on IA64 needs the\ncapability.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: David Gibson \u003cdavid@gibson.dropbear.id.au\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\n[ Expand-on-mmap semantics again... this time matching normal fs\u0027s. wli ]\nAcked-by: William Lee Irwin III \u003cwli@holomorphy.com\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": "6449cb697967d28818016b9ee4fbbc7519202203",
      "old_mode": 33188,
      "old_path": "fs/hugetlbfs/inode.c",
      "new_id": "c3920c96dadf2f854ab77dcb9741580859f06c95",
      "new_mode": 33188,
      "new_path": "fs/hugetlbfs/inode.c"
    }
  ]
}
