)]}'
{
  "commit": "9c2d2056647790c5034d722bd24e9d913ebca73c",
  "tree": "38db96956ac0167b2a277429746c500b522bc5aa",
  "parents": [
    "96a7b9c2f5df899f302ade45cf17ad753fe130fd"
  ],
  "author": {
    "name": "Tyler Hicks",
    "email": "tyhicks@linux.vnet.ibm.com",
    "time": "Tue Sep 22 12:52:17 2009 -0500"
  },
  "committer": {
    "name": "Tyler Hicks",
    "email": "tyhicks@linux.vnet.ibm.com",
    "time": "Wed Sep 23 09:10:34 2009 -0500"
  },
  "message": "eCryptfs: Prevent lower dentry from going negative during unlink\n\nWhen calling vfs_unlink() on the lower dentry, d_delete() turns the\ndentry into a negative dentry when the d_count is 1.  This eventually\ncaused a NULL pointer deref when a read() or write() was done and the\nnegative dentry\u0027s d_inode was dereferenced in\necryptfs_read_update_atime() or ecryptfs_getxattr().\n\nPlacing mutt\u0027s tmpdir in an eCryptfs mount is what initially triggered\nthe oops and I was able to reproduce it with the following sequence:\n\nopen(\"/tmp/upper/foo\", O_RDWR|O_CREAT|O_EXCL|O_NOFOLLOW, 0600) \u003d 3\nlink(\"/tmp/upper/foo\", \"/tmp/upper/bar\") \u003d 0\nunlink(\"/tmp/upper/foo\")                \u003d 0\nopen(\"/tmp/upper/bar\", O_RDWR|O_CREAT|O_NOFOLLOW, 0600) \u003d 4\nunlink(\"/tmp/upper/bar\")                \u003d 0\nwrite(4, \"eCryptfs test\\n\"..., 14 \u003cunfinished ...\u003e\n+++ killed by SIGKILL +++\n\nhttps://bugs.launchpad.net/ecryptfs/+bug/387073\n\nReported-by: Loïc Minier \u003cloic.minier@canonical.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2f0945d632970511ba189a0ef8595e918c10b693",
      "old_mode": 33188,
      "old_path": "fs/ecryptfs/inode.c",
      "new_id": "056fed62d0de8beb39f6a0ab6f195bb2577976e1",
      "new_mode": 33188,
      "new_path": "fs/ecryptfs/inode.c"
    }
  ]
}
