)]}'
{
  "commit": "4f331f01b9c43bf001d3ffee578a97a1e0633eac",
  "tree": "77cd690ab7af2624e3fd7932563f6dc0f5d6441a",
  "parents": [
    "719f2c879f4dda7d7f303bd387d37cd96db29d31"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Jul 20 15:18:07 2010 -0700"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Aug 09 16:48:59 2010 -0400"
  },
  "message": "vfs: don\u0027t hold s_umount over close_bdev_exclusive() call\n\nFix an obscure AB-BA deadlock in get_sb_bdev().\n\nWhen a superblock is mounted more than once get_sb_bdev() calls\nclose_bdev_exclusive() to drop the extra bdev reference while holding\ns_umount.  However, sb-\u003es_umount nests inside bd_mutex during\n__invalidate_device() and close_bdev_exclusive() acquires bd_mutex during\nblkdev_put(); thus creating an AB-BA deadlock.\n\nThis condition doesn\u0027t trigger frequently.  For this condition to be\nvisible to lockdep, the filesystem must occupy the whole device (as\n__invalidate_device() only grabs bd_mutex for the whole device), the FS\nmust be mounted more than once and partition rescan should be issued while\nthe FS is still mounted.\n\nFix it by dropping s_umount over close_bdev_exclusive().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Ciprian Docan \u003cdocan@eden.rutgers.edu\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Jens Axboe \u003caxboe@kernel.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "938119ab8dcbc28f3f9853bc0808d6d70cd51d55",
      "old_mode": 33188,
      "old_path": "fs/super.c",
      "new_id": "3479ca6f005ff7c87d22d52cd1381a89e06d0fbb",
      "new_mode": 33188,
      "new_path": "fs/super.c"
    }
  ]
}
