)]}'
{
  "commit": "02fdb36ae7f55db7757b623acd27a62d5000d755",
  "tree": "9d96036a7ee174a2828fbb7497a9f365f4f148a1",
  "parents": [
    "6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1"
  ],
  "author": {
    "name": "Serge E. Hallyn",
    "email": "serue@us.ibm.com",
    "time": "Tue Apr 29 01:01:00 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 29 08:06:14 2008 -0700"
  },
  "message": "ipc: sysvsem: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC)\n\nCLONE_NEWIPC|CLONE_SYSVSEM interaction isn\u0027t handled properly.  This can cause\na kernel memory corruption.  CLONE_NEWIPC must detach from the existing undo\nlists.\n\nFix, part 3: refuse clone(CLONE_SYSVSEM|CLONE_NEWIPC).\n\nWith unshare, specifying CLONE_SYSVSEM means unshare the sysvsem.  So it seems\nreasonable that CLONE_NEWIPC without CLONE_SYSVSEM would just imply\nCLONE_SYSVSEM.\n\nHowever with clone, specifying CLONE_SYSVSEM means *share* the sysvsem.  So\ncalling clone(CLONE_SYSVSEM|CLONE_NEWIPC) is explicitly asking for something\nwe can\u0027t allow.  So return -EINVAL in that case.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nCc: Manfred Spraul \u003cmanfred@colorfullife.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": "f5d332cf8c631704b1ee440c35317644e4f6eff9",
      "old_mode": 33188,
      "old_path": "kernel/nsproxy.c",
      "new_id": "adc785146a1cb81d6f7b3d676877921f10bb59e7",
      "new_mode": 33188,
      "new_path": "kernel/nsproxy.c"
    }
  ]
}
