)]}'
{
  "commit": "2d7f2ea9c989853310c7f6e8be52cc090cc8e66b",
  "tree": "a4fab82e393dc525c1f5d7549c0cbd6758e7523e",
  "parents": [
    "f13b83580acef03a36c785dccc534ccdd7e43084"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@ftp.linux.org.uk",
    "time": "Wed Mar 15 21:41:59 2006 +0000"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Wed Mar 15 16:31:51 2006 -0800"
  },
  "message": "[PATCH] Fix ext2 readdir f_pos re-validation logic\n\nThis fixes not one, but _two_, silly (but admittedly hard to hit) bugs\nin the ext2 filesystem \"readdir()\" function.  It also cleans up the code\nto avoid the unnecessary goto mess.\n\nThe bugs were related to re-valiating the f_pos value after somebody had\neither done an \"lseek()\" on the directory to an invalid offset, or when\nthe offset had become invalid due to a file being unlinked in the\ndirectory.  The code would not only set the f_version too eagerly, it\nwould also not update f_pos appropriately for when the offset fixup took\nplace.\n\nWhen that happened, we\u0027d occasionally subsequently fail the readdir()\neven when we shouldn\u0027t (no real harm done, but an ugly printk, and\nobviously you would end up not necessarily seeing all entries).\n\nThanks to Masoud Sharbiani \u003cmasouds@google.com\u003e who noticed the problem\nand had a test-case for it, and also fixed up a thinko in the first\nversion of this patch.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Masoud Sharbiani \u003cmasouds@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7442bdd1267a48da409f0f813113b04c6f9ae1a6",
      "old_mode": 33188,
      "old_path": "fs/ext2/dir.c",
      "new_id": "b3dbd716cd3a19b537c87b88048cd54ee43d7e50",
      "new_mode": 33188,
      "new_path": "fs/ext2/dir.c"
    }
  ]
}
