)]}'
{
  "log": [
    {
      "commit": "950bbabb5a804690a0201190de5c22837f72f83f",
      "tree": "0d198ac02244138936acdf201c80aa4cd2da0bbc",
      "parents": [
        "add0d4dfd660e9e4fd0af3eac3cad23583c9558f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Sep 02 14:35:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:38 2008 -0700"
      },
      "message": "pid_ns: (BUG 11391) change -\u003echild_reaper when init-\u003egroup_leader exits\n\nWe don\u0027t change pid_ns-\u003echild_reaper when the main thread of the\nsubnamespace init exits.  As Robert Rex \u003crobert.rex@exasol.com\u003e pointed\nout this is wrong.\n\nYes, the re-parenting itself works correctly, but if the reparented task\nexits it needs -\u003eparent-\u003ensproxy-\u003epid_ns in do_notify_parent(), and if the\nmain thread is zombie its -\u003ensproxy was already cleared by\nexit_task_namespaces().\n\nIntroduce the new function, find_new_reaper(), which finds the new\n-\u003eparent for the re-parenting and changes -\u003echild_reaper if needed.  Kill\nthe now unneeded exit_child_reaper().\n\nAlso move the changing of -\u003echild_reaper from zap_pid_ns_processes() to\nfind_new_reaper(), this consolidates the games with -\u003echild_reaper and\nmakes it stable under tasklist_lock.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d11391\n\nReported-by: Robert Rex \u003crobert.rex@exasol.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "add0d4dfd660e9e4fd0af3eac3cad23583c9558f",
      "tree": "8bba7c39efcd5999c0925bed083a0ca68d6a5e40",
      "parents": [
        "e385ea63f44b475e034a78b6d8bc6bb50caf72ca"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Sep 02 14:35:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 02 19:21:38 2008 -0700"
      },
      "message": "pid_ns: zap_pid_ns_processes: fix the -\u003echild_reaper changing\n\nzap_pid_ns_processes() sets pid_ns-\u003echild_reaper \u003d NULL, this is wrong.\n\nYes, we have already killed all tasks in this namespace, and sys_wait4()\ndoesn\u0027t see any child.  But this doesn\u0027t mean -\u003echildren list is empty, we\nmay have EXIT_DEAD tasks which are not visible to do_wait().  In that case\nthe subsequent forget_original_parent() will crash the kernel because it\nwill try to re-parent these tasks to the NULL reaper.\n\nEven if there are no childs, it is not good that forget_original_parent()\nuses reaper \u003d\u003d NULL.\n\nChange the code to set -\u003echild_reaper \u003d init_pid_ns.child_reaper instead.\nWe could use pid_ns-\u003eparent-\u003echild_reaper as well, I think this does not\nreally matter.  These EXIT_DEAD tasks are not visible to the new -\u003eparent\nafter re-parenting, they will silently do release_task() eventually.\n\nNote that we must change -\u003echild_reaper, otherwise\nforget_original_parent() will use reaper \u003d\u003d father, and in that case we\nwill hit the (correct) BUG_ON(!list_empty(\u0026father-\u003echildren)).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b6b030fc30d169bb406b34b4fc60d99dde4a9c6",
      "tree": "2bf5160ccfe22107937ddc03a1acd4fc9b1ccaf2",
      "parents": [
        "6248b1b342005a428b1247b4e89249da1528d88d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:48:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:47 2008 -0700"
      },
      "message": "bsdacct: switch from global bsd_acct_struct instance to per-pidns one\n\nAllocate the structure on the first call to sys_acct().  After this each\nnamespace, that ordered the accounting, will live with this structure till\nits own death.\n\nTwo notes\n- routines, that close the accounting on fs umount time use\n  the init_pid_ns\u0027s acct by now;\n- accounting routine accounts to dying task\u0027s namespace\n  (also by now).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84406c153a5bfa5d8b428a0933e9d39db6b59a75",
      "tree": "5f39add26e885b810118fbf1740a61f1aac88a4d",
      "parents": [
        "081e4c8a75692c21f3a119a81ca3270081879d0e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 25 01:48:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:46 2008 -0700"
      },
      "message": "pidns: use kzalloc when allocating new pid_namespace struct\n\nIt makes many fields initialization implicit helping in auto-setting\n#ifdef-ed fields (bsd-acct related pointer will be such).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "caafa4324335aeb11bc233d5f87aca8cce30beba",
      "tree": "b6371b0c084ffb91f7304a7e392b28ccfdab8a2e",
      "parents": [
        "ab883af53ec1b87add43b32a28d8347f17d5155b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:54:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "pidns: make pid-\u003elevel and pid_ns-\u003elevel unsigned\n\nThese values represent the nesting level of a namespace and pids living in it,\nand it\u0027s always non-negative.\n\nTurning this from int to unsigned int saves some space in pid.c (11 bytes on\nx86 and 64 on ia64) by letting the compiler optimize the pid_nr_ns a bit.\nE.g.  on ia64 this removes the sign extension calls, which compiler adds to\noptimize access to pid-\u003enubers[ns-\u003elevel].\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b331d259b1147f82d692f3b866e036017cbde8fe",
      "tree": "db8de3a81e63c97c778b950dc6221458df6e6988",
      "parents": [
        "d613c3e2d841889f32b1e74f251a6a6bcd9642cf"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Apr 28 14:13:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 17:29:18 2008 -0700"
      },
      "message": "kernel: fix integer as NULL pointer warnings\n\nkernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer\nkernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nReviewed-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74bd59bb39eb08b4379e2590c5f160748d83f812",
      "tree": "2e0b8e18b0d51f9972239a0322aca313b325a8fa",
      "parents": [
        "aee16ce73c71a241190cef3aaa265f6a3ab8e035"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Feb 08 04:18:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:23 2008 -0800"
      },
      "message": "namespaces: cleanup the code managed with PID_NS option\n\nJust like with the user namespaces, move the namespace management code into\nthe separate .c file and mark the (already existing) PID_NS option as \"depend\non NAMESPACES\"\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Cedric Le Goater \u003cclg@fr.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Herbert Poetzl \u003cherbert@13thfloor.at\u003e\nCc: Kirill Korotaev \u003cdev@sw.ru\u003e\nCc: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ]
}
