)]}'
{
  "commit": "e06b933e6ded42384164d28a2060b7f89243b895",
  "tree": "5dfb0149aec8be222d613391fd1e49c791d6485f",
  "parents": [
    "b403f0e37a11f84f7ceaf40b0075499e5bcfd220"
  ],
  "author": {
    "name": "Andrey Ulanov",
    "email": "andreyu@google.com",
    "time": "Fri Apr 15 14:24:41 2016 -0700"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Thu Jun 30 23:28:30 2016 -0400"
  },
  "message": "namespace: update event counter when umounting a deleted dentry\n\n- m_start() in fs/namespace.c expects that ns-\u003eevent is incremented each\n  time a mount added or removed from ns-\u003elist.\n- umount_tree() removes items from the list but does not increment event\n  counter, expecting that it\u0027s done before the function is called.\n- There are some codepaths that call umount_tree() without updating\n  \"event\" counter. e.g. from __detach_mounts().\n- When this happens m_start may reuse a cached mount structure that no\n  longer belongs to ns-\u003elist (i.e. use after free which usually leads\n  to infinite loop).\n\nThis change fixes the above problem by incrementing global event counter\nbefore invoking umount_tree().\n\nChange-Id: I622c8e84dcb9fb63542372c5dbf0178ee86bb589\nCc: stable@vger.kernel.org\nSigned-off-by: Andrey Ulanov \u003candreyu@google.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4fb1691b435552c044134b56aa2032da35684b5b",
      "old_mode": 33188,
      "old_path": "fs/namespace.c",
      "new_id": "298618b88bba5d8b31239aecf0538d79c7c82064",
      "new_mode": 33188,
      "new_path": "fs/namespace.c"
    }
  ]
}
