)]}'
{
  "commit": "307257cf475aac25db30b669987f13d90c934e3a",
  "tree": "393a2c87fd1834aed3e686b65ba5479bae871b0d",
  "parents": [
    "38aefbc585c5d86df101e7644bff2c47112783d4"
  ],
  "author": {
    "name": "Paul Menage",
    "email": "menage@google.com",
    "time": "Mon Dec 15 13:54:22 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Dec 15 16:27:07 2008 -0800"
  },
  "message": "cgroups: fix a race between rmdir and remount\n\nWhen a cgroup is removed, it\u0027s unlinked from its parent\u0027s children list,\nbut not actually freed until the last dentry on it is released (at which\npoint cgrp-\u003eroot-\u003enumber_of_cgroups is decremented).\n\nCurrently rebind_subsystems checks for the top cgroup\u0027s child list being\nempty in order to rebind subsystems into or out of a hierarchy - this can\nresult in the set of subsystems bound to a hierarchy being\nremoved-but-not-freed cgroup.\n\nThe simplest fix for this is to forbid remounts that change the set of\nsubsystems on a hierarchy that has removed-but-not-freed cgroups.  This\nbug can be reproduced via:\n\nmkdir /mnt/cg\nmount -t cgroup -o ns,freezer cgroup /mnt/cg\nmkdir /mnt/cg/foo\nsleep 1h \u003c /mnt/cg/foo \u0026\nrmdir /mnt/cg/foo\nmount -t cgroup -o remount,ns,devices,freezer cgroup /mnt/cg\nkill $!\n\nThough the above will cause oops in -mm only but not mainline, but the bug\ncan cause memory leak in mainline (and even oops)\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.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": "fe00b3b983a86387332234703217abb1d28ca202",
      "old_mode": 33188,
      "old_path": "kernel/cgroup.c",
      "new_id": "8185a0f09594fd904ca2ab032dca27013708ff1c",
      "new_mode": 33188,
      "new_path": "kernel/cgroup.c"
    }
  ]
}
