)]}'
{
  "commit": "9edff4ab1f8d82675277a04e359d0ed8bf14a7b7",
  "tree": "05e67ca13f78b0eff666a4424e03dd6d0fa964c7",
  "parents": [
    "44f564a4bf6ac70f2a84806203045cf515bc9367"
  ],
  "author": {
    "name": "Manfred Spraul",
    "email": "manfred@colorfullife.com",
    "time": "Tue Apr 29 01:00:57 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 29 08:06:14 2008 -0700"
  },
  "message": "ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM)\n\nsys_unshare(CLONE_NEWIPC) doesn\u0027t handle the undo lists properly, this can\ncause a kernel memory corruption.  CLONE_NEWIPC must detach from the existing\nundo lists.\n\nFix, part 1: add support for sys_unshare(CLONE_SYSVSEM)\n\nThe original reason to not support it was the potential (inevitable?)\nconfusion due to the fact that sys_unshare(CLONE_SYSVSEM) has the\ninverse meaning of clone(CLONE_SYSVSEM).\n\nOur two most reasonable options then appear to be (1) fully support\nCLONE_SYSVSEM, or (2) continue to refuse explicit CLONE_SYSVSEM,\nbut always do it anyway on unshare(CLONE_SYSVSEM).  This patch does\n(1).\n\nChangelog:\n\tApr 16: SEH: switch to Manfred\u0027s alternative patch which\n\t\tremoves the unshare_semundo() function which\n\t\talways refused CLONE_SYSVSEM.\n\nSigned-off-by: Manfred Spraul \u003cmanfred@colorfullife.com\u003e\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Pierre Peiffer \u003cpeifferp@gmail.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": "d56d3ab6bb8a7b62b6aa9141b1d22f34a3c3c002",
      "old_mode": 33188,
      "old_path": "ipc/sem.c",
      "new_id": "e9418df5ff3ecf0c3cb3bb6e6fbac9de5fcac828",
      "new_mode": 33188,
      "new_path": "ipc/sem.c"
    },
    {
      "type": "modify",
      "old_id": "156db96ff7548ec430050ba50eec1a268521d146",
      "old_mode": 33188,
      "old_path": "kernel/fork.c",
      "new_id": "01666979beac6f1a7e492d96ecf940648d1b40cf",
      "new_mode": 33188,
      "new_path": "kernel/fork.c"
    }
  ]
}
