)]}'
{
  "commit": "4b19de6d1cb07c8bcb6778e771f9cfd5bcfdfd3e",
  "tree": "3c570060d915cb1e140fbdbbfb4a9efde26a37ff",
  "parents": [
    "6c1b7f680dd4f550fa6f91f148cc6fa2c4bd0737"
  ],
  "author": {
    "name": "Nick Piggin",
    "email": "npiggin@suse.de",
    "time": "Thu Oct 02 14:50:16 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Oct 02 15:53:13 2008 -0700"
  },
  "message": "mm: tiny-shmem nommu fix\n\nThe previous patch db203d53d474aa068984e409d807628f5841da1b (\"mm:\ntiny-shmem fix lock ordering: mmap_sem vs i_mutex\") to fix the lock\nordering in tiny-shmem breaks shared anonymous and IPC memory on NOMMU\narchitectures because it was using the expanding truncate to signal ramfs\nto allocate a physically contiguous RAM backing the inode (otherwise it is\nunusable for \"memory mapping\" it to userspace).\n\nHowever do_truncate is what caused the lock ordering error, due to it\ntaking i_mutex.  In this case, we can actually just call ramfs directly to\nallocate memory for the mapping, rather than go via truncate.\n\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.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": "52312ec93ff4ae5c0753cdb37af0991f1f733a4c",
      "old_mode": 33188,
      "old_path": "fs/ramfs/file-nommu.c",
      "new_id": "5145cb9125af8c62a574b0dde476a4f7e8f8f814",
      "new_mode": 33188,
      "new_path": "fs/ramfs/file-nommu.c"
    },
    {
      "type": "modify",
      "old_id": "b160fb18e8d6ce6f724827fe19fd31dfe748ddb8",
      "old_mode": 33188,
      "old_path": "include/linux/ramfs.h",
      "new_id": "37aaf2b3986386b3c73784e91c8b70327ecfbbd2",
      "new_mode": 33188,
      "new_path": "include/linux/ramfs.h"
    },
    {
      "type": "modify",
      "old_id": "d17cb6f6ab1029cdad5ef6a67523be159ff12211",
      "old_mode": 33188,
      "old_path": "mm/tiny-shmem.c",
      "new_id": "8d7a27a6335c4c6076b38fc2ab990a82081ada5d",
      "new_mode": 33188,
      "new_path": "mm/tiny-shmem.c"
    }
  ]
}
