)]}'
{
  "log": [
    {
      "commit": "00cd5c37afd5f431ac186dd131705048c0a11fdb",
      "tree": "d5412f6c720e2cee11ac66783bb45e6bd78f4a1d",
      "parents": [
        "33e9fc7d01269737cd5a3b6de1db9d0e796ab708"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: permit ptracing of /sbin/init\n\nAfaics, currently there are no kernel problems with ptracing init, it can\u0027t\nlose SIGNAL_UNKILLABLE flag and be killed/stopped by accident.\n\nThe ability to strace/debug init can be very useful if you try to figure out\nwhy it does not work as expected.\n\nHowever, admin should know what he does, \"gdb /sbin/init 1\" stops init, it\ncan\u0027t reap orphaned zombies or take care of /etc/inittab until continued.  It\nis even possible to crash init (and thus the whole system) if you wish,\nptracer has full control.\n\nSee also the long discussion: http://marc.info/?t\u003d120628018600001\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.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": "33e9fc7d01269737cd5a3b6de1db9d0e796ab708",
      "tree": "36084d425e4d39ea06acff6f12164f257d0a102c",
      "parents": [
        "68cb94786630b34196713794a2880ade17fca887"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: ptrace_attach: use send_sig_info() instead force_sig_specific()\n\nNobody can block/ignore SIGSTOP, no need to use force_sig_specific() in\nptrace_attach.  Use the \"regular\" send_sig_info().\n\nWith this patch stracing of /sbin/init doesn\u0027t clear its SIGNAL_UNKILLABLE,\nbut not that this makes ptracing of init safe.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68cb94786630b34196713794a2880ade17fca887",
      "tree": "78bd2d66aaaa2c9acdd6060a9a9964420c511ebc",
      "parents": [
        "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: __ptrace_unlink: use the ptrace_reparented() helper\n\nCurrently __ptrace_unlink() checks list_empty(-\u003eptrace_list) to figure out\nwhether the child was reparented.  Change the code to use ptrace_reparented()\nto make this check more explicit and consistent.\n\nNo functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53b6f9fbd3b63af14b4f6268e8b5b80d178d05bc",
      "tree": "93a5bd26974e07a3d7fa20dc17c8b70daacc1d85",
      "parents": [
        "2800d8d19e51414403df8144eaa214bb03400b87"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce ptrace_reparented() helper\n\nAdd another trivial helper for the sake of grep.  It also auto-documents the\nfact that -\u003eparent !\u003d real_parent implies -\u003eptrace.\n\nNo functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2800d8d19e51414403df8144eaa214bb03400b87",
      "tree": "d5b01302c7109d7ffdc140ce8d6e31cebcdb233a",
      "parents": [
        "376e1d2531860358c8a79fecf5f4f42994d03c4d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "document de_thread() with exit_notify() connection\n\nAdd a couple of small comments, it is not easy to see what this code does.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "376e1d2531860358c8a79fecf5f4f42994d03c4d",
      "tree": "7d90aa39ee7250e1ba0593fa927118b4a9c911e9",
      "parents": [
        "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "reparent_thread: use same_thread_group()\n\nTrivial, use same_thread_group() in reparent_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d839fd4d2e95a5fbc4d50aa9d17eed6a5f2094e6",
      "tree": "bfeccf3201208a9ce0e994cff9eacdc4647002a6",
      "parents": [
        "5a8da0ea82db6fa9737041381079fd16f25dcce2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:38 2008 -0700"
      },
      "message": "ptrace: introduce task_detached() helper\n\nexit.c has numerous \"-\u003eexit_signal \u003d\u003d -1\" comparisons, this check is subtle\nand deserves a helper.  Imho makes the code more parseable for humans.  At\nleast it\u0027s surely more greppable.\n\nAlso, a couple of whitespace cleanups. No functional changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165",
      "tree": "0a41fb405ab60654f70ead9698d5ce414a066c37",
      "parents": [
        "80fe728d593e3a048a56610de932919f7d6d968a"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: add set_restore_sigmask\n\nThis adds the set_restore_sigmask() inline in \u003clinux/thread_info.h\u003e and\nreplaces every set_thread_flag(TIF_RESTORE_SIGMASK) with a call to it.  No\nchange, but abstracts the details of the flag protocol from all the calls.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80fe728d593e3a048a56610de932919f7d6d968a",
      "tree": "ff8effec1d05d871bcbb1347947d2a0970a8ff32",
      "parents": [
        "7a5e873f096e04e6d8719e4ecb7b70d2decca503"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:05 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: allow the kernel to actually kill /sbin/init\n\nCurrently the buggy /sbin/init hangs if SIGSEGV/etc happens.  The kernel sends\nthe signal, init dequeues it and ignores, returns from the exception, repeats\nthe faulting instruction, and so on forever.\n\nImho, such a behaviour is not good.  I think that the explicit loud death of\nthe buggy /sbin/init is better than the silent hang.\n\nChange force_sig_info() to clear SIGNAL_UNKILLABLE when the task should be\nreally killed.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f",
      "tree": "8990ac958d29733cb61733ae69265472f5e1d13c",
      "parents": [
        "193191035ad6268db9f561e81e3474b8be89a5ba"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: fix /sbin/init protection from unwanted signals\n\nThe global init has a lot of long standing problems with the unhandled fatal\nsignals.\n\n\t- The \"is_global_init(current)\" check in get_signal_to_deliver()\n\t  protects only the main thread. Sub-thread can dequee the fatal\n\t  signal and shutdown the whole thread group except the main thread.\n\t  If it dequeues SIGSTOP /sbin/init will be stopped, this is not\n\t  right too. Note that we can\u0027t use is_global_init(-\u003egroup_leader),\n\t  this breaks exec and this can\u0027t solve other problems we have.\n\n\t- Even if afterwards ignored, the fatal signals sets SIGNAL_GROUP_EXIT\n\t  on delivery. This breaks exec, has other bad implications, and this\n\t  is just wrong.\n\nIntroduce the new SIGNAL_UNKILLABLE flag to fix these problems.  It also helps\nto solve some other problems addressed by the subsequent patches.\n\nCurrently we use this flag for the global init only, but it could also be used\nby kthreads and (perhaps) by the sub-namespace inits.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "193191035ad6268db9f561e81e3474b8be89a5ba",
      "tree": "ac4af28bf65dd7fc6c40d7260806725d9f3330ba",
      "parents": [
        "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: remove tasklist_lock\n\nNow that task_session() can\u0027t return a false NULL, check_kill_permission()\ndoesn\u0027t need tasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e2ba22ea4fd4bb85f0fa37c521066db6775cbef",
      "tree": "aada1523affbcbe1301decad43ad0875e1f680c4",
      "parents": [
        "53c30337f2c61aff6eecf2a446e839641172f9bd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: check_kill_permission: check session under tasklist_lock\n\nThis wasn\u0027t documented, but as Atsushi Tsuji pointed out\ncheck_kill_permission() needs tasklist_lock for task_session_nr().  I missed\nthis fact when removed tasklist from the callers.\n\nChange check_kill_permission() to take tasklist_lock for the SIGCONT case.\nRe-order security checks so that we take tasklist_lock only if/when it is\nactually needed.  This is a minimal fix for now, tasklist will be removed\nlater.\n\nAlso change the code to use task_session() instead of task_session_nr().\n\nAlso, remove the SIGCONT check from cap_task_kill(), it is bogus (and the\nwhole function is bogus.  Serge, Eric, why it is still alive?).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Atsushi Tsuji \u003ca-tsuji@bk.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Serge Hallyn \u003cserue@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"
    },
    {
      "commit": "53c30337f2c61aff6eecf2a446e839641172f9bd",
      "tree": "268c52124c19b379b7f9c32430414acb606699cb",
      "parents": [
        "021e1ae3d85a76ce962a300c96813f04ae50c87c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: send_signal: be paranoid about signalfd_notify()\n\nsend_signal() shouldn\u0027t call signalfd_notify() if it then fails with -EAGAIN.\nHarmless, just a paranoid cleanup.\n\nAlso remove the comment.  It is obsolete, signalfd_notify() was simplified and\ndoes a simple wakeup.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "021e1ae3d85a76ce962a300c96813f04ae50c87c",
      "tree": "1c3cfbf8151c339baa3b35a4a78fa50ccc7594ab",
      "parents": [
        "7e695a5ef5c1c768d7feb75cc61e42f13d763623"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: document CLD_CONTINUED notification mechanics\n\nA couple of small comments about how CLD_CONTINUED notification works.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e695a5ef5c1c768d7feb75cc61e42f13d763623",
      "tree": "97bf6b5865e097a77b791342eccaeddc7132b9fc",
      "parents": [
        "2dce81bff28dceb2153c901883a56f278d91db65"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: fold sig_ignored() into handle_stop_signal()\n\nRename handle_stop_signal() to prepare_signal(), make it return a boolean, and\nmove the callsites of sig_ignored() into it.\n\nNo functional changes for now.  But it would be nice to factor out the \"should\nwe drop this signal\" checks as much as possible, before we try to fix the bugs\nwith the sub-namespace init\u0027s signals (actually the global /sbin/init has some\nproblems with signals too).\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2dce81bff28dceb2153c901883a56f278d91db65",
      "tree": "831da312ea00c5c505d376098b5b1a90fe33fed7",
      "parents": [
        "34c8f07b9ac499a807918eda377193a55f64f8df"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: cleanup the usage of print_fatal_signal()\n\nMove the callsite of print_fatal_signal() down, under \"if\n(sig_kernel_coredump(signr))\", so we don\u0027t need to check signr !\u003d SIGKILL.\n\nWe are only interested in the sig_kernel_coredump() signals anyway, and due to\nthe previous changes we almost never can see other fatal signals here except\nSIGKILL.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "34c8f07b9ac499a807918eda377193a55f64f8df",
      "tree": "042cf061406273dcfdb3fabe4b07425e4cb8f0aa",
      "parents": [
        "ac5c215383f43a106ba4ef298126bf78c126f5e9"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: handle_stop_signal: don\u0027t worry about SIGKILL\n\nhandle_stop_signal() clears SIGNAL_STOP_DEQUEUED when sig \u003d\u003d SIGKILL.  Remove\nthis nasty special case.  It was needed to prevent the race with group stop\nand exit caused by thread-specific SIGKILL.  Now that we use complete_signal()\nfor private signals too this is not needed, complete_signal() will notice\nSIGKILL and abort the soon-to-begin group stop.\n\nExcept: the target thread is dead (has PF_EXITING).  But in that case we\nshould not just clear SIGNAL_STOP_DEQUEUED and nothing more.  We should either\nkill the whole thread group, or silently ignore the signal.\n\nI suspect we are not right wrt zombie leaders, but this is another issue which\nand should be fixed separately.  Note that this check can\u0027t abort the group\nstop if it was already started/finished, this check only adds a subtle side\neffect if we race with the thread which has already dequeued sig_kernel_stop()\nsignal and temporary released -\u003esiglock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac5c215383f43a106ba4ef298126bf78c126f5e9",
      "tree": "77340eea86103df7bc3b4a6c6d83f4140004bc9c",
      "parents": [
        "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: join send_sigqueue() with send_group_sigqueue()\n\nWe export send_sigqueue() and send_group_sigqueue() for the only user,\nposix_timer_event().  This is a bit silly, because both are just trivial\nhelpers on top of do_send_sigqueue() and because the we pass the unused\n.si_signo parameter.\n\nKill them both, rename do_send_sigqueue() to send_sigqueue(), and export it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e62e6650e99a3dffcd0bf0d063cd818fbc13fa95",
      "tree": "75f79d45eb89fb75014117b6fdc67bae1608f826",
      "parents": [
        "4cd4b6d4e0372075f846feb85aea016cbdbfec4c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: unify send_sigqueue/send_group_sigqueue completely\n\nSuggested by Pavel Emelyanov.\n\nsend_sigqueue/send_group_sigqueue are only differ in how they lock -\u003esiglock.\nUnify them.  send_group_sigqueue() uses spin_lock() because it knows the task\ncan\u0027t exit, but in that case lock_task_sighand() can\u0027t fail and doesn\u0027t hurt.\n\nNote that the \"sig\" argument is ignored, it is always equal to -\u003esi_signo.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4cd4b6d4e0372075f846feb85aea016cbdbfec4c",
      "tree": "219dd1d4de6313bcc9dd232fe3186423875bea5e",
      "parents": [
        "5fcd835bf8c2cde06404559b1904e2f1dfcb4567"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: fold complete_signal() into send_signal/do_send_sigqueue\n\nFactor out complete_signal() callsites.  This change completely unifies the\nhelpers sending the specific/group signals.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fcd835bf8c2cde06404559b1904e2f1dfcb4567",
      "tree": "c370d13b34d7c516c449427aebfde5bd29c83489",
      "parents": [
        "2ca3515aa57224edf0151e05a8c9f21a76bf5957"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:36 2008 -0700"
      },
      "message": "signals: use __group_complete_signal() for the specific signals too\n\nBased on Pavel Emelyanov\u0027s suggestion.\n\nRename __group_complete_signal() to complete_signal() and use it to process\nthe specific signals too.  To do this we simply add the \"int group\" argument.\n\nThis allows us to greatly simply the signal-sending code and adds a useful\nbehaviour change.  We can avoid the unneeded wakeups for the private signals\nbecause wants_signal() is more clever than sigismember(blocked), but more\nimportantly we now take into account the fatal specific signals too.\n\nThe latter allows us to kill some subtle checks in handle_stop_signal() and\nmakes the specific/group signal\u0027s behaviour more consistent.  For example,\ncurrently sigtimedwait(FATAL_SIGNAL) behaves differently depending on was the\nsignal sent by kill() or tkill() if the signal was not blocked.\n\nAnd.  This allows us to tweak/fix the behaviour when the specific signal is\nsent to the dying/dead -\u003egroup_leader.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ca3515aa57224edf0151e05a8c9f21a76bf5957",
      "tree": "fd0154e8ecb2f0f39425cba207cf7b74bc18c0ff",
      "parents": [
        "71f11dc025055cb2ef9226424f26b3287efadd26"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: change send_signal/do_send_sigqueue to take \"boolean group\" parameter\n\nsend_signal() is used either with -\u003epending or with -\u003esignal-\u003eshared_pending.\nChange it to take \"int group\" instead, this argument will be re-used later.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "71f11dc025055cb2ef9226424f26b3287efadd26",
      "tree": "d489b52d6d1779af1a325d4bed2354a07ca1cc60",
      "parents": [
        "db51aeccd7097ce19a522a4c5ff91c320f870e2b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: move the definition of __group_complete_signal() up\n\nMove the unchanged definition of __group_complete_signal() so that send_signal\ncan see it.  To simplify the reading of the next patches.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db51aeccd7097ce19a522a4c5ff91c320f870e2b",
      "tree": "373bdfb55d1d90c04d53d4a419bcd156fe7f054c",
      "parents": [
        "08d2c30ce98d274137f12b0a9b9c74137455922c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: microoptimize the usage of -\u003ecurr_target\n\nSuggested by Roland McGrath.\n\nInitialize signal-\u003ecurr_target in copy_signal().  This way -\u003ecurr_target is\nnever \u003d\u003d NULL, we can kill the check in __group_complete_signal\u0027s hot path.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08d2c30ce98d274137f12b0a9b9c74137455922c",
      "tree": "cc649fd249aef0c4d227406b17a1a75c9d327e50",
      "parents": [
        "3547ff3aefbe092ca35506c60c02e2d17a4f2199"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sig_info: don\u0027t take tasklist_lock\n\nThe comment in send_sig_info() is wrong, tasklist_lock can\u0027t help.\n\nThe caller must ensure the task can\u0027t go away, otherwise -\u003esighand can be NULL\neven before we take the lock.\n\np-\u003esighand could be changed by exec(), but I can\u0027t imagine how it is possible\nto prevent exit(), but not exec().\n\nSince the things seem to work, I assume all callers are correct.  However,\ndrm_vbl_send_signals() looks broken.  block_all_signals() which is solely used\nby drm is definitely broken.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3547ff3aefbe092ca35506c60c02e2d17a4f2199",
      "tree": "722222124ae06ef45947fae20913bbd71e179c49",
      "parents": [
        "6e65acba7ca8169e38ab55d62d52f29a75fb141f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: do_tkill: don\u0027t use tasklist_lock\n\nConvert do_tkill() to use rcu_read_lock() + lock_task_sighand() to avoid\ntaking tasklist lock.\n\nNote that we don\u0027t return an error if lock_task_sighand() fails, we pretend\nthe task dies after receiving the signal.  Otherwise, we should fight with the\nnasty races with mt-exec without having any advantage.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e65acba7ca8169e38ab55d62d52f29a75fb141f",
      "tree": "a691ee9392b0f2ed8a434e5a5cd6e6a213b70f1b",
      "parents": [
        "c99fcf28b87d8cab592db7571e3164f5cb54c5b3"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: move handle_stop_signal() into send_signal()\n\nMove handle_stop_signal() into send_signal().  This factors out a couple of\ncallsites and allows us to do further unifications.\n\nAlso, with this change specific_send_sig_info() does handle_stop_signal().\nNot that this is really important, we never send STOP/CONT via send_sig() and\nfriends, but still this looks more consistent.\n\nThe only (afaics) special case is get_signal_to_deliver().  If the traced task\ndequeues SIGCONT, it can re-send it to itself after ptrace_stop() if the\nsignal was blocked by debugger.  In that case handle_stop_signal() is\nunnecessary, but hopefully not a problem.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c99fcf28b87d8cab592db7571e3164f5cb54c5b3",
      "tree": "356ce5d2b0bfd33794a81bf4cd90abd7859776da",
      "parents": [
        "f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_group_sigqueue: don\u0027t take tasklist_lock\n\nhandle_stop_signal() was changed, now send_group_sigqueue() doesn\u0027t need\ntasklist_lock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f8c5b5c06f63fe9aaebefbf9f0b79909066b1b6c",
      "tree": "58f7cde6d5b6c52ad927658521a32822661f048d",
      "parents": [
        "5fc894bb4fb1de8373d1d5fb6db19204a16859e8"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: __group_complete_signal: cache the value of p-\u003esignal\n\nCosmetic, cache p-\u003esignal to make the code a bit more readable.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5fc894bb4fb1de8373d1d5fb6db19204a16859e8",
      "tree": "167c513b50b8ceed48a8fb7e4c2e63397f0fa7d7",
      "parents": [
        "5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sigqueue: don\u0027t forget about handle_stop_signal()\n\nsend_group_sigqueue() calls handle_stop_signal(), send_sigqueue() doesn\u0027t.\nThis is not consistent and in fact I\u0027d say this is (minor) bug.\n\nMove handle_stop_signal() from send_group_sigqueue() to do_send_sigqueue(),\nthe latter is called by send_sigqueue() too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c193e8871b76f3bf8ed1e31f7af7c70890ebc4f",
      "tree": "533b708c86908e8d1a439ef63a1c1515871715d7",
      "parents": [
        "f6b76d4fb0039e077824be85ed4ac94e96beef86"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "signals: send_sigqueue: don\u0027t take rcu lock\n\nlock_task_sighand() was changed, send_sigqueue() doesn\u0027t need rcu_read_lock()\nany longer.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6b76d4fb0039e077824be85ed4ac94e96beef86",
      "tree": "70a9ccff1d0194ff3a5ab23837f5a2ad839af6ba",
      "parents": [
        "ad16a4606939ce1bedb79c87e412467be803e990"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:35 2008 -0700"
      },
      "message": "get_signal_to_deliver: use the cached -\u003esignal/sighand values\n\nCache the values of current-\u003esignal/sighand.  Shrinks .text a bit and makes\nthe code more readable.  Also, remove \"sigset_t *mask\", it is pointless\nbecause in fact we save the constant offset.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ad16a4606939ce1bedb79c87e412467be803e990",
      "tree": "d9b1e96c2520c9c08660c4dfd5258b2acdc8d1ef",
      "parents": [
        "fc321d2e60d6f4eee17206612d0b50519f526daf"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "handle_stop_signal: use the cached p-\u003esignal value\n\nCache the value of p-\u003esignal, and change the code to use while_each_thread()\nhelper.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc321d2e60d6f4eee17206612d0b50519f526daf",
      "tree": "79dd03d347ccee2f5a538823f7434dfd40e302be",
      "parents": [
        "6ca25b551309eb1b1b41f83414a92f7472e0b23d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "handle_stop_signal: unify partial/full stop handling\n\nNow that handle_stop_signal() doesn\u0027t drop -\u003esiglock, we can\u0027t see both\n-\u003egroup_stop_count \u0026\u0026 SIGNAL_STOP_STOPPED.  Merge two \"if\" branches.\n\nAs Roland pointed out, we never actually needed 2 do_notify_parent_cldstop()\ncalls.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ca25b551309eb1b1b41f83414a92f7472e0b23d",
      "tree": "a2c5785ec484ec997ac6a03d3fceae04e4d21795",
      "parents": [
        "e442055193e4584218006e616c9bdce0c5e9ae5c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "kill_pid_info: don\u0027t take now unneeded tasklist_lock\n\nPreviously handle_stop_signal(SIGCONT) could drop -\u003esiglock.  That is why\nkill_pid_info(SIGCONT) takes tasklist_lock to make sure the target task can\u0027t\ngo away after unlock.  Not needed now.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e442055193e4584218006e616c9bdce0c5e9ae5c",
      "tree": "5e444253953c2f48c0a194bf8c5799f03bb2e266",
      "parents": [
        "3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: re-assign CLD_CONTINUED notification from the sender to reciever\n\nBased on discussion with Jiri and Roland.\n\nIn short: currently handle_stop_signal(SIGCONT, p) sends the notification to\np-\u003eparent, with this patch p itself notifies its parent when it becomes\nrunning.\n\nhandle_stop_signal(SIGCONT) has to drop -\u003esiglock temporary in order to notify\nthe parent with do_notify_parent_cldstop().  This leads to multiple problems:\n\n\t- as Jiri Kosina pointed out, the stopped task can resume without\n\t  actually seeing SIGCONT which may have a handler.\n\n\t- we race with another sig_kernel_stop() signal which may come in\n\t  that window.\n\n\t- we race with sig_fatal() signals which may set SIGNAL_GROUP_EXIT\n\t  in that window.\n\n\t- we can\u0027t avoid taking tasklist_lock() while sending SIGCONT.\n\nWith this patch handle_stop_signal() just sets the new SIGNAL_CLD_CONTINUED\nflag in p-\u003esignal-\u003eflags and returns.  The notification is sent by the first\ntask which returns from finish_stop() (there should be at least one) or any\nother signalled thread from get_signal_to_deliver().\n\nThis is a user-visible change.  Say, currently kill(SIGCONT, stopped_child)\ncan\u0027t return without seeing SIGCHLD, with this patch SIGCHLD can be delayed\nunpredictably.  Another difference is that if the child is ptraced by another\nprocess, CLD_CONTINUED may be delivered to -\u003ereal_parent after ptrace_detach()\nwhile currently it always goes to the tracer which doesn\u0027t actually need this\nnotification.  Hopefully not a problem.\n\nThe patch asks for the futher obvious cleanups, I\u0027ll send them separately.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b5e9e53c6f31b5a5a0f5c43707503c62bdefa46",
      "tree": "1244b7cf2755c06a8a793149ce4717e4a1311218",
      "parents": [
        "9e3bd6c3fb2334be171e69b432039cd18bce4458"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: cleanup security_task_kill() usage/implementation\n\nEvery implementation of -\u003etask_kill() does nothing when the signal comes from\nthe kernel.  This is correct, but means that check_kill_permission() should\ncall security_task_kill() only for SI_FROMUSER() case, and we can remove the\nsame check from -\u003etask_kill() implementations.\n\n(sadly, check_kill_permission() is the last user of signal-\u003esession/__session\n but we can\u0027t s/task_session_nr/task_session/ here).\n\nNOTE: Eric W.  Biederman pointed out cap_task_kill() should die, and I think\nhe is very right.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: David Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Harald Welte \u003claforge@gnumonks.org\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e3bd6c3fb2334be171e69b432039cd18bce4458",
      "tree": "199963534d6379457d84e6f2ead2b104088182dd",
      "parents": [
        "c5363d03637885310f1101b95cbbd26d067b4c8d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: consolidate send_sigqueue and send_group_sigqueue\n\nBoth functions do the same thing after proper locking, but with\ndifferent sigpending structs, so move the common code into a helper.\n\nAfter this we have 4 places that look very similar: send_sigqueue: calls\ndo_send_sigqueue and signal_wakeup send_group_sigqueue: calls\ndo_send_sigqueue and __group_complete_signal __group_send_sig_info:\ncalls send_signal and __group_complete_signal specific_send_sig_info:\ncalls send_signal and signal_wakeup\n\nBesides, send_signal performs actions similar to do_send_sigqueue\u0027s\nand __group_complete_signal - to signal_wakeup.\n\nIt looks like they can be consolidated gracefully.\n\nOleg said:\n\n  Personally, I think this change is very good.  But send_sigqueue() and\n  send_group_sigqueue() have a very subtle difference which I was never able\n  to understand.\n\n  Let\u0027s suppose that sigqueue is already queued, and the signal is ignored\n  (the latter means we should re-schedule cpu timer or handle overrruns).  In\n  that case send_sigqueue() returns 0, but send_group_sigqueue() returns 1.\n\n  I think this is not the problem (in fact, I think this patch makes the\n  behaviour more correct), but I hope Thomas can take a look and confirm.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c5363d03637885310f1101b95cbbd26d067b4c8d",
      "tree": "e22fd822f03dd5437c53bf459ae986723aaa1613",
      "parents": [
        "93585eeaf3d42d608cd7232e7420c93fb676bba1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:40 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: clean dequeue_signal from excess checks and assignments\n\nThe signr variable may be declared without initialization - it is set ro the\nreturn value from __dequeue_signal() right at the function beginning.\n\nBesides, after recalc_sigpending() two checks for signr to be not 0 may be\nmerged into one.  Both if-s become easier to read.\n\nThanks to Oleg for pointing out mistakes in the first version of this patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "93585eeaf3d42d608cd7232e7420c93fb676bba1",
      "tree": "7c87ab85480af514a055563f03aec6ef7b1e3f87",
      "parents": [
        "06fffb1267c9d986687b69d74a46ee332a50575e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "signals: consolidate checks for whether or not to ignore a signal\n\nBoth sig_ignored() and do_sigaction() check for signr to be explicitly or\nimplicitly ignored.  Introduce a helper for them.\n\nThis patch is aimed to help handling signals by pid namespace\u0027s init, and was\nderived from one of Oleg\u0027s patches\nhttps://lists.linux-foundation.org/pipermail/containers/2007-December/009308.html\nso, if he doesn\u0027t mind, he should be considered as an author.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac",
      "tree": "16ec6665ebb03107d40f5ab0884ca7e8394b5358",
      "parents": [
        "1406f2d321bae5ac5ff729dcb773336d9c05ec74"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:34 2008 -0700"
      },
      "message": "k_getrusage: don\u0027t take rcu_read_lock()\n\nJust a trivial example, more to come.\n\nk_getrusage() holds rcu_read_lock() because it was previously required by\nlock_task_sighand().  Unneeded now.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1406f2d321bae5ac5ff729dcb773336d9c05ec74",
      "tree": "178f7e2d800cee7be211225952f397458707587a",
      "parents": [
        "bfc4b0890af566940de6e7aeb4b5faf46d3c3513"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "lock_task_sighand: add rcu lock/unlock\n\nMost of the callers of lock_task_sighand() doesn\u0027t actually need rcu_lock().\nlock_task_sighand() needs it only to safely play with tsk-\u003esighand, it can\ntake the lock itself.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bfc4b0890af566940de6e7aeb4b5faf46d3c3513",
      "tree": "d3c0d7ad6e3d619345acf7130f053514177bf5c7",
      "parents": [
        "573cf9ad72c13750e86c91de43477e9dfb440523"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: do_group_exit(): use signal_group_exit() more consistently\n\ndo_group_exit() checks SIGNAL_GROUP_EXIT to avoid taking sighand-\u003esiglock.\nSince ed5d2cac114202fe2978a9cbcab8f5032796d538 exec() doesn\u0027t set this\nflag, we should use signal_group_exit().\n\nThis is not needed for correctness, but can speedup the multithreaded exec\nand makes the code more consistent.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "573cf9ad72c13750e86c91de43477e9dfb440523",
      "tree": "7b7fab20559e2e96ec7e8aeefb156b35ee2c6c55",
      "parents": [
        "2acb024d5524eda305523c1d6061fe5ef1949165"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:52:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: do_signal_stop(): use signal_group_exit()\n\ndo_signal_stop() needs signal_group_exit() but checks sig-\u003egroup_exit_task.\n This (optimization) is correct, SIGNAL_STOP_DEQUEUED and SIGNAL_GROUP_EXIT\nare mutually exclusive, but looks confusing.  Use signal_group_exit(), this\nis not fastpath, the code clarity is more important.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2acb024d5524eda305523c1d6061fe5ef1949165",
      "tree": "036d7a02f2e6db3be810e42947f4caaa3b290d7f",
      "parents": [
        "af7fff9c13d56657dc328c75590f401c99bcecd9"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: consolidate checking for ignored/legacy signals\n\nTwo callers for send_signal() - the specific_send_sig_info and the\n__group_send_sig_info - both check for sig to be ignored or already queued.\n\nMove these checks into send_signal() and make it return 1 to indicate that the\nsignal is dropped, but there\u0027s no error in this.\n\nBesides, merge comments and spell-check them.\n\n[oleg@tv-sign.ru: simplifications]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af7fff9c13d56657dc328c75590f401c99bcecd9",
      "tree": "8adc8d2039910efb28429cb0aec0f1bde8ff98be",
      "parents": [
        "e1401c6bbb289d154eb0d0c292cc9f8259e4af73"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: turn LEGACY_QUEUE macro into static inline function\n\nThis makes the code more readable, due to less brackets and small letters in\nname.\n\nI also move it above the send_signal() as a preparation for the 3rd patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1401c6bbb289d154eb0d0c292cc9f8259e4af73",
      "tree": "64e4e7754c240c1c34c69e2975ccfb350eb4aa1f",
      "parents": [
        "2deb1acc653cbd5384b107d050d2deba089db2bd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Apr 30 00:52:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "signals: remove unused variable from send_signal()\n\nThis function doesn\u0027t change the ret\u0027s value and thus always returns 0, with a\nsingle exception of returning -EAGAIN explicitly.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9781db7b345b5dfe93787aaaf310c861db7c1ede",
      "tree": "d9796e29fd914ca04835636be95bbd5082a034fd",
      "parents": [
        "97094dcf5cefc8ccfdf93839f54dac2c4d316165",
        "8b67dca9420474623709e00d72a066068a502b20"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 11:41:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 11:41:22 2008 -0700"
      },
      "message": "Merge branch \u0027audit.b50\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current\n\n* \u0027audit.b50\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:\n  [PATCH] new predicate - AUDIT_FILETYPE\n  [patch 2/2] Use find_task_by_vpid in audit code\n  [patch 1/2] audit: let userspace fully control TTY input auditing\n  [PATCH 2/2] audit: fix sparse shadowed variable warnings\n  [PATCH 1/2] audit: move extern declarations to audit.h\n  Audit: MAINTAINERS update\n  Audit: increase the maximum length of the key field\n  Audit: standardize string audit interfaces\n  Audit: stop deadlock from signals under load\n  Audit: save audit_backlog_limit audit messages in case auditd comes back\n  Audit: collect sessionid in netlink messages\n  Audit: end printk with newline\n"
    },
    {
      "commit": "bd5d435a96837c3495e62eef37cbe4cb728b79ae",
      "tree": "82aacaf5a1d220910c4b0a1088d7d2482c0d9ee0",
      "parents": [
        "fee4b19fb3f28d17c0b9f9ea0668db5275697178",
        "ac9fafa1243640349aa481adf473db283a695766"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:18:03 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:18:03 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: Skip I/O merges when disabled\n  block: add large command support\n  block: replace sizeof(rq-\u003ecmd) with BLK_MAX_CDB\n  ide: use blk_rq_init() to initialize the request\n  block: use blk_rq_init() to initialize the request\n  block: rename and export rq_init()\n  block: no need to initialize rq-\u003ecmd with blk_get_request\n  block: no need to initialize rq-\u003ecmd in prepare_flush_fn hook\n  block/blk-barrier.c:blk_ordered_cur_seq() mustn\u0027t be inline\n  block/elevator.c:elv_rq_merge_ok() mustn\u0027t be inline\n  block: make queue flags non-atomic\n  block: add dma alignment and padding support to blk_rq_map_kern\n  unexport blk_max_pfn\n  ps3disk: Remove superfluous cast\n  block: make rq_init() do a full memset()\n  relay: fix splice problem\n"
    },
    {
      "commit": "37487a56523d402e25650da16c337acf4cecd13d",
      "tree": "7b33ea929f98e25421f48d553bca986d983745c7",
      "parents": [
        "39fa00311f21318cc498b139c2cc2830dcad98ff"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Apr 29 01:03:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:29 2008 -0700"
      },
      "message": "Add kbuild.h that contains common definitions for kbuild users\n\nThe same definitions are used for the bounds logic and the asm-offsets.h\ngeneration by kbuild.  Put them into include/linux/kbuild.h file.\n\nAlso add a new feature\n\n\tCOMMENT(\"text\")\n\nwhich can be used to insert lines of ocmments into asm-offsets.h and\nbounds.h.\n\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jay Estabrook \u003cjay.estabrook@hp.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Miles Bader \u003cmiles@gnu.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68ab3d883a2df13f4b93a923bae3a287cbee29d3",
      "tree": "7886f6ecd3b7e7fb1359b89ab94a3871af63ede4",
      "parents": [
        "97a4feb4a78ae5cd130be7d546471a0779f1aa14"
      ],
      "author": {
        "name": "Masami Hiramatsu",
        "email": "mhiramat@redhat.com",
        "time": "Tue Apr 29 01:03:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:28 2008 -0700"
      },
      "message": "relayfs: support larger relay buffer\n\nUse vmalloc() and memset() instead of kcalloc() to allocate a page* array when\nthe array size is bigger than one page.  This enables relayfs to support\nbigger relay buffers than 64MB on 4k-page system, 512MB on 16k-page system.\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: David Wilder \u003cdwilder@us.ibm.com\u003e\nReviewed-by: Tom Zanussi \u003czanussi@comcast.net\u003e\nReviewed-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "801678c5a3b4c79236970bcca27c733f5559e0d1",
      "tree": "5ad4761f539525077895f261b64fccda4d1303c4",
      "parents": [
        "9a6f70bbed4e8b72dd340812d7c606bfd5e00b47"
      ],
      "author": {
        "name": "Hirofumi Nakagawa",
        "email": "hnakagawa@miraclelinux.com",
        "time": "Tue Apr 29 01:03:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:25 2008 -0700"
      },
      "message": "Remove duplicated unlikely() in IS_ERR()\n\nSome drivers have duplicated unlikely() macros.  IS_ERR() already has\nunlikely() in itself.\n\nThis patch cleans up such pointless code.\n\nSigned-off-by: Hirofumi Nakagawa \u003chnakagawa@miraclelinux.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Paul Clements \u003cpaul.clements@steeleye.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Alessandro Zummo \u003ca.zummo@towertech.it\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Carsten Otte \u003ccotte@de.ibm.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jaroslav Kysela \u003cperex@perex.cz\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7321cd62470b70d2717dae5a963e7a8fabff4d5",
      "tree": "1e3468e44239a310b03c3f8dabf754e64b6ad281",
      "parents": [
        "2c4c7155f25192da3511a6c911db4d08102d36c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: add the -\u003epermissions callback on the ctl_table_root\n\nWhen reading from/writing to some table, a root, which this table came from,\nmay affect this table\u0027s permissions, depending on who is working with the\ntable.\n\nThe core hunk is at the bottom of this patch.  All the rest is just pushing\nthe ctl_table_root argument up to the sysctl_perm() function.\n\nThis will be mostly (only?) used in the net sysctls.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@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": "2c4c7155f25192da3511a6c911db4d08102d36c4",
      "tree": "ed38f2fec221203f4baf078fb38454e14d6e33f9",
      "parents": [
        "7708bfb1c855f2a076ef71cc21647deea022ebe7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:02:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:23 2008 -0700"
      },
      "message": "sysctl: clean from unneeded extern and forward declarations\n\nThe do_sysctl_strategy isn\u0027t used outside kernel/sysctl.c, so this can be\nstatic and without a prototype in header.\n\nBesides, move this one and parse_table() above their callers and drop the\nforward declarations of the latter call.\n\nOne more \"besides\" - fix two checkpatch warnings: space before a ( and an\nextra space at the end of a line.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: Denis V. Lunev \u003cden@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": "88f458e4b91348b2e892c72977b5f665d7f374da",
      "tree": "1ef9e98f74fc63193327053af079079e23aa8443",
      "parents": [
        "c7705f3449c7edd5c1744871097f93977227afc4"
      ],
      "author": {
        "name": "Holger Schurig",
        "email": "hs4233@mail.mn-solutions.de",
        "time": "Tue Apr 29 01:02:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "sysctl: allow embedded targets to disable sysctl_check.c\n\nDisable sysctl_check.c for embedded targets. This saves about about 11 kB\nin .text and another 11 kB in .data on a PXA255 embedded platform.\n\nSigned-off-by: Holger Schurig \u003chs4233@mail.mn-solutions.de\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": "c33fff0afbef4f0467c99e3f47ee7e98ae78c77e",
      "tree": "d6b5f8dc77aa21de95bbca76c6be6056026cc1d8",
      "parents": [
        "ac41cfd19bf77424519b962f8205ede51fceaac6"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "kernel: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c74c120a21d87b0b6925ada5830d8cac21e852d9",
      "tree": "79558a29ecadc7b71eeb5bdf0945680f0560b2ed",
      "parents": [
        "928b4d8c8963e75bdb133f562b03b07f9aa4844a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Apr 29 01:01:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:18 2008 -0700"
      },
      "message": "proc: remove proc_root from drivers\n\nRemove proc_root export.  Creation and removal works well if parent PDE is\nsupplied as NULL -- it worked always that way.\n\nSo, one useless export removed and consistency added, some drivers created\nPDEs with \u0026proc_root as parent but removed them as NULL and so on.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "925d1c401fa6cfd0df5d2e37da8981494ccdec07",
      "tree": "4f3b7a09311cd99783b822350628125e44f9902d",
      "parents": [
        "e93b4ea20adb20f1f1f07f10ba5d7dd739d2843e"
      ],
      "author": {
        "name": "Matt Helsley",
        "email": "matthltc@us.ibm.com",
        "time": "Tue Apr 29 01:01:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "procfs task exe symlink\n\nThe kernel implements readlink of /proc/pid/exe by getting the file from\nthe first executable VMA.  Then the path to the file is reconstructed and\nreported as the result.\n\nBecause of the VMA walk the code is slightly different on nommu systems.\nThis patch avoids separate /proc/pid/exe code on nommu systems.  Instead of\nwalking the VMAs to find the first executable file-backed VMA we store a\nreference to the exec\u0027d file in the mm_struct.\n\nThat reference would prevent the filesystem holding the executable file\nfrom being unmounted even after unmapping the VMAs.  So we track the number\nof VM_EXECUTABLE VMAs and drop the new reference when the last one is\nunmapped.  This avoids pinning the mounted filesystem.\n\n[akpm@linux-foundation.org: improve comments]\n[yamamoto@valinux.co.jp: fix dup_mmap]\nSigned-off-by: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc:\"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b77f5bfb45c13e1e5142374f9d6ca75292252a4",
      "tree": "cf62055536d267e9a4abe6518e5d9f683a1ceb75",
      "parents": [
        "69664cf16af4f31cd54d77948a4baf9c7e0ca7b9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: make the keyring quotas controllable through /proc/sys\n\nMake the keyring quotas controllable through /proc/sys files:\n\n (*) /proc/sys/kernel/keys/root_maxkeys\n     /proc/sys/kernel/keys/root_maxbytes\n\n     Maximum number of keys that root may have and the maximum total number of\n     bytes of data that root may have stored in those keys.\n\n (*) /proc/sys/kernel/keys/maxkeys\n     /proc/sys/kernel/keys/maxbytes\n\n     Maximum number of keys that each non-root user may have and the maximum\n     total number of bytes of data that each of those users may have stored in\n     their keys.\n\nAlso increase the quotas as a number of people have been complaining that it\u0027s\nnot big enough.  I\u0027m not sure that it\u0027s big enough now either, but on the\nother hand, it can now be set in /etc/sysctl.conf.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003ckwc@citi.umich.edu\u003e\nCc: \u003carunsr@cse.iitk.ac.in\u003e\nCc: \u003cdwalsh@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "69664cf16af4f31cd54d77948a4baf9c7e0ca7b9",
      "tree": "3ff4ecae21c140a2beed25cfa9e55b788f9814ac",
      "parents": [
        "6b79ccb5144f9ffb4d4596c23e7570238dd12abc"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 01:01:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:17 2008 -0700"
      },
      "message": "keys: don\u0027t generate user and user session keyrings unless they\u0027re accessed\n\nDon\u0027t generate the per-UID user and user session keyrings unless they\u0027re\nexplicitly accessed.  This solves a problem during a login process whereby\nset*uid() is called before the SELinux PAM module, resulting in the per-UID\nkeyrings having the wrong security labels.\n\nThis also cures the problem of multiple per-UID keyrings sometimes appearing\ndue to PAM modules (including pam_keyinit) setuiding and causing user_structs\nto come into and go out of existence whilst the session keyring pins the user\nkeyring.  This is achieved by first searching for extant per-UID keyrings\nbefore inventing new ones.\n\nThe serial bound argument is also dropped from find_keyring_by_name() as it\u0027s\nnot currently made use of (setting it to 0 disables the feature).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003ckwc@citi.umich.edu\u003e\nCc: \u003carunsr@cse.iitk.ac.in\u003e\nCc: \u003cdwalsh@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "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"
    },
    {
      "commit": "6013f67fc1a4c7fa5bcab2d39c1eaa3e260c7ac1",
      "tree": "33f61a88048e659359864ec10104e304d8a97a73",
      "parents": [
        "9edff4ab1f8d82675277a04e359d0ed8bf14a7b7"
      ],
      "author": {
        "name": "Manfred Spraul",
        "email": "manfred@colorfullife.com",
        "time": "Tue Apr 29 01:00:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:14 2008 -0700"
      },
      "message": "ipc: sysvsem: force unshare(CLONE_SYSVSEM) when CLONE_NEWIPC\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 2: perform an implicit CLONE_SYSVSEM in CLONE_NEWIPC.  CLONE_NEWIPC\ncreates a new IPC namespace, the task cannot access the existing semaphore\narrays after the unshare syscall.  Thus the task can/must detach from the\nexisting undo list entries, too.\n\nThis fixes the kernel corruption, because it makes it impossible that\nundo records from two different namespaces are in sysvsem.undo_list.\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"
    },
    {
      "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"
    },
    {
      "commit": "6546bc4279241e8fa432de1bb63a4f6f791fd669",
      "tree": "308f5c1621b1019a44800622ffc468a372f09434",
      "parents": [
        "91cfb2b4b57816de0c96de417b3238249f0b125f"
      ],
      "author": {
        "name": "Nadia Derbey",
        "email": "Nadia.Derbey@bull.net",
        "time": "Tue Apr 29 01:00:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:13 2008 -0700"
      },
      "message": "ipc: re-enable msgmni automatic recomputing msgmni if set to negative\n\nThe enhancement as asked for by Yasunori: if msgmni is set to a negative\nvalue, register it back into the ipcns notifier chain.\n\nA new interface has been added to the notification mechanism:\nnotifier_chain_cond_register() registers a notifier block only if not already\nregistered.  With that new interface we avoid taking care of the states\nchanges in procfs.\n\nSigned-off-by: Nadia Derbey \u003cNadia.Derbey@bull.net\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nCc: Matt Helsley \u003cmatthltc@us.ibm.com\u003e\nCc: Mingming Cao \u003ccmm@us.ibm.com\u003e\nCc: Pierre Peiffer \u003cpierre.peiffer@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d2ba7e2ae206e9ab24e8937d99d0d5513bfd08e5",
      "tree": "4cdd43bbf03885705fed5c80e982d19d397afaeb",
      "parents": [
        "1e35eaa2d86419470f3f3aed9acd85b8addff25c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "simplify cpu_hotplug_begin()/put_online_cpus()\n\ncpu_hotplug_begin() must be always called under cpu_add_remove_lock, this\nmeans that only one process can be cpu_hotplug.active_writer.  So we don\u0027t\nneed the cpu_hotplug.writer_queue, we can wake up the -\u003eactive_writer\ndirectly.\n\nAlso, fix the comment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nAcked-by: Gautham R Shenoy \u003cego@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Srivatsa Vaddagiri \u003cvatsa@in.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": "1e35eaa2d86419470f3f3aed9acd85b8addff25c",
      "tree": "4cea78468e4789dcd64a4c38100e010994f1b4ff",
      "parents": [
        "00dfcaf748f46de89efe41baa298b5cf9adda67e"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "cleanup_workqueue_thread: remove the unneeded \"cpu\" parameter\n\ncleanup_workqueue_thread() doesn\u0027t need the second argument, remove it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "00dfcaf748f46de89efe41baa298b5cf9adda67e",
      "tree": "4420dbfac9ba213e1604320cf9615a505ca909fd",
      "parents": [
        "786083667e0ced85ce17c4c0b6c57a9f47c5b9f2"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Tue Apr 29 01:00:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "workqueues: shrink cpu_populated_map when CPU dies\n\nWhen cpu_populated_map was introduced, it was supposed that cwq-\u003ethread can\nsurvive after CPU_DEAD, that is why we never shrink cpu_populated_map.\n\nThis is not very nice, we can safely remove the already dead CPU from the map.\n The only required change is that destroy_workqueue() must hold the hotplug\nlock until it destroys all cwq-\u003ethread\u0027s, to protect the cpu_populated_map.\nWe could make the local copy of cpu mask and drop the lock, but\nsizeof(cpumask_t) may be very large.\n\nAlso, fix the comment near queue_work().  Unless _cpu_down() happens we do\nguarantee the cpu-affinity of the work_struct, and we have users which rely on\nthis.\n\n[akpm@linux-foundation.org: repair comment]\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "786083667e0ced85ce17c4c0b6c57a9f47c5b9f2",
      "tree": "4519c51c3ec7d093fe0bafbbd67204a6f7b773b3",
      "parents": [
        "addf2c739d9015d3e9c0500b58a3af051cd58ea7"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "Cpuset hardwall flag: add a mem_hardwall flag to cpusets\n\nThis flag provides the hardwalling properties of mem_exclusive, without\nenforcing the exclusivity.  Either mem_hardwall or mem_exclusive is sufficient\nto prevent GFP_KERNEL allocations from passing outside the cpuset\u0027s assigned\nnodes.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "addf2c739d9015d3e9c0500b58a3af051cd58ea7",
      "tree": "0dec81fe642817c32c8c6b3a77dc72fb41c1a145",
      "parents": [
        "9e0c914cabc6d75d2eafdff00671a2ad683a5e3c"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "Cpuset hardwall flag: switch cpusets to use the bulk cgroup_add_files() API\n\nCurrently the cpusets mem_exclusive flag is overloaded to mean both\n\"no-overlapping\" and \"no GFP_KERNEL allocations outside this cpuset\".\n\nThese patches add a new mem_hardwall flag with just the allocation restriction\npart of the mem_exclusive semantics, without breaking backwards-compatibility\nfor those who continue to use just mem_exclusive.  Additionally, the cgroup\ncontrol file registration for cpusets is cleaned up to reduce boilerplate.\n\nThis patch:\n\nThis change tidies up the cpusets control file definitions, and reduces the\namount of boilerplate required to add/change control files in the future.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e0c914cabc6d75d2eafdff00671a2ad683a5e3c",
      "tree": "5986ff43c7af515b34520069efce556b529ea5d9",
      "parents": [
        "1faf8e40a8ab12ae1f7f474965e6fb031e43f8d6"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 01:00:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:11 2008 -0700"
      },
      "message": "kernel/cpuset.c: make 3 functions static\n\nMake the following needlessly global functions static:\n\n- cpuset_test_cpumask()\n- cpuset_change_cpumask()\n- cpuset_do_move_task()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Paul Jackson \u003cpj@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c84872e168d10926acd2dee975d19172eef79252",
      "tree": "c28f4f87ad38b524fe2a4c1e0e590bea3aacd92a",
      "parents": [
        "cf475ad28ac35cc9ba612d67158f29b73b38b05d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "memcgroup: add the max_usage member on the res_counter\n\nThis field is the maximal value of the usage one since the counter creation\n(or since the latest reset).\n\nTo reset this to the usage value simply write anything to the appropriate\ncgroup file.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cf475ad28ac35cc9ba612d67158f29b73b38b05d",
      "tree": "2c7cd568d00357bd42643ea602884e731cc24f26",
      "parents": [
        "29486df325e1fe6e1764afcb19e3370804c2b002"
      ],
      "author": {
        "name": "Balbir Singh",
        "email": "balbir@linux.vnet.ibm.com",
        "time": "Tue Apr 29 01:00:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: add an owner to the mm_struct\n\nRemove the mem_cgroup member from mm_struct and instead adds an owner.\n\nThis approach was suggested by Paul Menage.  The advantage of this approach\nis that, once the mm-\u003eowner is known, using the subsystem id, the cgroup\ncan be determined.  It also allows several control groups that are\nvirtually grouped by mm_struct, to exist independent of the memory\ncontroller i.e., without adding mem_cgroup\u0027s for each controller, to\nmm_struct.\n\nA new config option CONFIG_MM_OWNER is added and the memory resource\ncontroller selects this config option.\n\nThis patch also adds cgroup callbacks to notify subsystems when mm-\u003eowner\nchanges.  The mm_cgroup_changed callback is called with the task_lock() of\nthe new task held and is called just prior to changing the mm-\u003eowner.\n\nI am indebted to Paul Menage for the several reviews of this patchset and\nhelping me make it lighter and simpler.\n\nThis patch was tested on a powerpc box, it was compiled with both the\nMM_OWNER config turned on and off.\n\nAfter the thread group leader exits, it\u0027s moved to init_css_state by\ncgroup_exit(), thus all future charges from runnings threads would be\nredirected to the init_css_set\u0027s subsystem.\n\nSigned-off-by: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelianov \u003cxemul@openvz.org\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Sudhir Kumar \u003cskumar@linux.vnet.ibm.com\u003e\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nCc: Hirokazu Takahashi \u003ctaka@valinux.co.jp\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e,\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29486df325e1fe6e1764afcb19e3370804c2b002",
      "tree": "d69a96bb829940f3ae5171fde481edb20a9e468a",
      "parents": [
        "28fd5dfc12bde391981dfdcf20755952b6e916af"
      ],
      "author": {
        "name": "Serge E. Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Tue Apr 29 01:00:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: introduce cft-\u003eread_seq()\n\nIntroduce a read_seq() helper in cftype, which uses seq_file to print out\nlists.  Use it in the devices cgroup.  Also split devices.allow into two\nfiles, so now devices.deny and devices.allow are the ones to use to manipulate\nthe whitelist, while devices.list outputs the cgroup\u0027s current whitelist.\n\nSigned-off-by: Serge E. Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28fd5dfc12bde391981dfdcf20755952b6e916af",
      "tree": "ce0637c3f8c04d802b467cd518a9d0c076f1eeea",
      "parents": [
        "e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: remove the css_set linked-list\n\nNow we can run through the hash table instead of running through the\nlinked-list.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8d55fdeb882cfcb5e8db5a5ce16edfba78aafc5",
      "tree": "0c0a7338d8adb2aaf4310eb89d1679c802ea617d",
      "parents": [
        "472b1053f3c319cc60bfb2a0bb062fed77a93eb6"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:10 2008 -0700"
      },
      "message": "cgroups: simplify init_subsys()\n\nWe are at system boot and there is only 1 cgroup group (i,e, init_css_set), so\nwe don\u0027t need to run through the css_set linked list.  Neither do we need to\nrun through the task list, since no processes have been created yet.\n\nAlso referring to a comment in cgroup.h:\n\nstruct css_set\n{\n\t...\n\t/*\n\t * Set of subsystem states, one for each subsystem. This array\n\t * is immutable after creation apart from the init_css_set\n\t * during subsystem registration (at boot time).\n\t */\n\tstruct cgroup_subsys_state *subsys[CGROUP_SUBSYS_COUNT];\n}\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "472b1053f3c319cc60bfb2a0bb062fed77a93eb6",
      "tree": "2ef88bfdb7e397d3718a1bed38f13194f894097e",
      "parents": [
        "08ce5f16ee466ffc5bf243800deeecd77d9eaf50"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroups: use a hash table for css_set finding\n\nWhen we attach a process to a different cgroup, the css_set linked-list will\nbe run through to find a suitable existing css_set to use.  This patch\nimplements a hash table for better performance.\n\nThe following benchmarks have been tested:\n\nFor N in 1, 5, 10, 50, 100, 500, 1000, create N cgroups with one sleeping\ntask in each, and then move an additional task through each cgroup in\nturn.\n\nHere is a test result:\n\nN\tLoop\torig - Time(s)\thash - Time(s)\n----------------------------------------------\n1\t10000\t1.201231728\t1.196311177\n5\t2000\t1.065743872\t1.040566424\n10\t1000\t0.991054735\t0.986876440\n50\t200\t0.976554203\t0.969608733\n100\t100\t0.998504680\t0.969218270\n500\t20\t1.157347764\t0.962602963\n1000\t10\t1.619521852\t1.085140172\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReviewed-by: Paul Menage \u003cmenage@google.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d447ea2f30ec60370ddb99a668e5ac12995f043d",
      "tree": "f5d53c03d32323f3e916237f8ec0e0b2572f93b0",
      "parents": [
        "46ae220bea40bd1cf4abec2d5cdfb4f9396c7115"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Apr 29 01:00:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroups: add the trigger callback to struct cftype\n\nTrigger callback can be used to receive a kick-up from the user space.  The\nstring written is ignored.\n\nThe cftype-\u003eprivate is used for multiplexing events.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.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": "46ae220bea40bd1cf4abec2d5cdfb4f9396c7115",
      "tree": "e485a13dd8d85d2f40ecf73d9482671dc39ceab1",
      "parents": [
        "06a119204d3e1e67d393e996ed987b0df7998381"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroup: switch to proc_create()\n\nThere is a race between create_proc_entry() and the assignment of file ops.\nproc_create() is invented to fix it.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06a119204d3e1e67d393e996ed987b0df7998381",
      "tree": "0cf3798102d13252d33c9907888a9608a0af6f96",
      "parents": [
        "06ecb27cfbf53ac2c7e397aa1619a6f9a98c5896"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Apr 29 01:00:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "cgroup: annotate cgroup_init_subsys with __init\n\nIt is called by cgroup_init() and cgroup_init_early() only, which are\nannotated with __init.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06ecb27cfbf53ac2c7e397aa1619a6f9a98c5896",
      "tree": "1633e77714da0d6478b79bd74d95c7fc715db15c",
      "parents": [
        "e73d2c61d1fcbd3621688ae457b49509c8d4c601"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "CGroups _s64 files: use read_s64/write_s64 in CFS cgroup for rt_runtime file\n\nThis removes some filesystem boilerplate from the CFS cgroup subsystem.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e73d2c61d1fcbd3621688ae457b49509c8d4c601",
      "tree": "e54b1543e786afd036b7884776a6753d8a8973f6",
      "parents": [
        "418d7d875ce7f33ef0d48d7cc3a95f31302dcf56"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "CGroups _s64 files: add cgroups read_s64/write_s64 file methods\n\nThese patches add cgroups read_s64 and write_s64 control file methods (the\nsigned equivalent of read_u64/write_u64) and use them to implement the\ncpu.rt_runtime_us control file in the CFS cgroup subsystem.\n\nThis patch:\n\nThese are the signed equivalents of the read_u64/write_u64 methods\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3116f0e3df0a67ad56f15dd4c5f6cefb04bb4a98",
      "tree": "27dc8e1000eb7c3e36157963415a0bc8b8555e44",
      "parents": [
        "c27e8818a09bbdfe7c07c629cb2c27e1a742e156"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:09 2008 -0700"
      },
      "message": "CGroup API files: move \"releasable\" to cgroup_debug subsystem\n\nThe \"releasable\" control file provided by the cgroup framework exports the\nstate of a per-cgroup flag that\u0027s related to the notify-on-release feature.\nThis isn\u0027t really generally useful, unless you\u0027re trying to debug this\nparticular feature of cgroups.\n\nThis patch moves the \"releasable\" file to the cgroup_debug subsystem.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9179656961adcea3c25403365597e486d851ac5e",
      "tree": "13acbdd7ae045ed46fa679e613783717eb3b9138",
      "parents": [
        "700fe1ab99240c1a9c4d155e2a0612a1b044bb69"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:08 2008 -0700"
      },
      "message": "CGroup API files: add cgroup map data type\n\nAdds a new type of supported control file representation, a map from strings\nto u64 values.\n\nEach map entry is printed as a line in a similar format to /proc/vmstat, i.e.\n\"$key $value\\n\"\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "700fe1ab99240c1a9c4d155e2a0612a1b044bb69",
      "tree": "0a3f15dc24d3f369ed16b06625a1620b997c38ab",
      "parents": [
        "b7269dfc826fbf554c9e6a9eaa4e6ff95fa08656"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 01:00:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:08 2008 -0700"
      },
      "message": "CGroup API files: update cpusets to use cgroup structured file API\n\nMany of the cpusets control files are simple integer values, which don\u0027t\nrequire the overhead of memory allocations for reads and writes.\n\nMove the handlers for these control files into cpuset_read_u64() and\ncpuset_write_u64().\n\n[akpm@linux-foundation.org: ad dmissing `break\u0027]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7269dfc826fbf554c9e6a9eaa4e6ff95fa08656",
      "tree": "3be0f111e9951deb4e7ea5930ea659742dea419e",
      "parents": [
        "2c3daa722b624eaf0c5ea60e4f180bd0684542e2"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 00:59:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:08 2008 -0700"
      },
      "message": "CGroup API files: strip all trailing whitespace in cgroup_write_u64\n\nThis removes the need for people to remember to pass the -n flag to echo when\nwriting values to cgroup control files.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c7eabf37647dd459d555e76954b4de87be2321f",
      "tree": "553a080db29ad1d9724e6c7da30f64f5fe7cc12a",
      "parents": [
        "f4c753b7eacc277e506066abdda351cbc1cf8e6a"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 00:59:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:08 2008 -0700"
      },
      "message": "CGroup API files: add res_counter_read_u64()\n\nAdds a function for returning the value of a resource counter member, in a\nform suitable for use in a cgroup read_u64 control file method.\n\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f4c753b7eacc277e506066abdda351cbc1cf8e6a",
      "tree": "2510264d4fac836dc64acd700846a5fe8d960b1e",
      "parents": [
        "3ff31d0cca38b3c20e88a022bf38c4f7c98492f0"
      ],
      "author": {
        "name": "Paul Menage",
        "email": "menage@google.com",
        "time": "Tue Apr 29 00:59:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "CGroup API files: rename read/write_uint methods to read_write_u64\n\nSeveral people have justifiably complained that the \"_uint\" suffix is\ninappropriate for functions that handle u64 values, so this patch just renames\nall these functions and their users to have the suffic _u64.\n\n[peterz@infradead.org: build fix]\nSigned-off-by: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Li Zefan\" \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: \"YAMAMOTO Takashi\" \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ff31d0cca38b3c20e88a022bf38c4f7c98492f0",
      "tree": "ba4a68df5c634cd09593cc2e95eb6dd9ea4e1011",
      "parents": [
        "4fe91d518e4958af7edebbeb112a3272b2be232d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:59:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "cgroups: kernel/ns_cgroup.c should #include \u003clinux/nsproxy.h\u003e\n\nEvery file should include the headers containing the externs its global\nfunctions (in this case for ns_cgroup_clone()).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@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"
    },
    {
      "commit": "4fe91d518e4958af7edebbeb112a3272b2be232d",
      "tree": "6c23637806a7206e21dcc42bfc65dbe433e212b7",
      "parents": [
        "3df91fe30a1547af7e794c6e8cca76f4932c6ad7"
      ],
      "author": {
        "name": "Paul Jackson",
        "email": "pj@sgi.com",
        "time": "Tue Apr 29 00:59:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "cgroup: fix sparse warning of shadow symbol in cgroup.c\n\nFix a code warning: symbol \u0027p\u0027 shadows an earlier one\n\nThis is a reincarnation of Harvey Harrison\u0027s patch:\n\tcpuset: sparse warnings in cpuset.c\n\nIndependently, Cliff Wickman moved the affected code,\nfrom kernel/cpuset.c to kernel/cgroup.c, in his patch:\n\tcpusets: update_cpumask revision\n\nSigned-off-by: Paul Jackson \u003cpj@sgi.com\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Cliff Wickman \u003ccpw@sgi.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3df91fe30a1547af7e794c6e8cca76f4932c6ad7",
      "tree": "f8d459ba2a16aaf946f66d767c4066eaa937592e",
      "parents": [
        "3ef0e1f8cad0a851b3dbf91802b14af7dd780352"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Apr 29 00:59:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "make cgroup_enable_task_cg_lists() static\n\nMake the needlessly global cgroup_enable_task_cg_lists() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a3fd92e73fffd9e583650c56ad9558afe51dc5c",
      "tree": "d65917432ffd0e6223dab3500819205433de22bd",
      "parents": [
        "f66e883eb6186bc43a79581b67aff7d1a69d0ff1"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Tue Apr 29 00:59:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:07 2008 -0700"
      },
      "message": "eCryptfs: make key module subsystem respect namespaces\n\nMake eCryptfs key module subsystem respect namespaces.\n\nSince I will be removing the netlink interface in a future patch, I just made\nchanges to the netlink.c code so that it will not break the build.  With my\nrecent patches, the kernel module currently defaults to the device handle\ninterface rather than the netlink interface.\n\n[akpm@linux-foundation.org: export free_user_ns()]\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@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"
    },
    {
      "commit": "5f97a5a8799b8d7d0afdb9d68a50a4e0e8298a05",
      "tree": "03f0a35e50e9a765603fc9249e601b52e043fd0d",
      "parents": [
        "762873c251b056c6c1b29e83a4dabafb064e5421"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Tue Apr 29 00:59:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:06 2008 -0700"
      },
      "message": "isolate ratelimit from printk.c for other use\n\nDue to the rcupreempt.h WARN_ON trigged, I got 2G syslog file.  For some\nserious complaining of kernel, we need repeat the warnings, so here I isolate\nthe ratelimit part of printk.c to a standalone file.\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Paul E. McKenney \u003cpaulmck@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": "1aeb272cf09f9e2cbc62163b9f37a9b4d1c7e81d",
      "tree": "17c76e18fa145affedae790460cff724f965646b",
      "parents": [
        "3a2e7f47d71e1df86acc1dda6826890b6546a4e1"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Tue Apr 29 00:59:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:04 2008 -0700"
      },
      "message": "kernel: explicitly include required header files under kernel/\n\nFollowing an experimental deletion of the unnecessary directive\n\n #include \u003clinux/slab.h\u003e\n\nfrom the header file \u003clinux/percpu.h\u003e, these files under kernel/ were exposed\nas needing to include one of \u003clinux/slab.h\u003e or \u003clinux/gfp.h\u003e, so explicit\nincludes were added where necessary.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cbd9b67bd3883dff0ef4b8ec9229d315a9ba38f0",
      "tree": "38a59233e8ec529980741dac371dcb9587d0a098",
      "parents": [
        "a2d416dcc92e576d0e339efd641bd3d8ee2bfb4d"
      ],
      "author": {
        "name": "Dmitry Adamushko",
        "email": "dmitry.adamushko@gmail.com",
        "time": "Tue Apr 29 00:59:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:04 2008 -0700"
      },
      "message": "kthread: call wake_up_process() without the lock being held\n\nFrom the POV of synchronization, there should be no need to call\nwake_up_process() with the \u0027kthread_create_lock\u0027 being held.\n\nSigned-off-by: Dmitry Adamushko \u003cdmitry.adamushko@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f7b16c108fd044adc422ff21b5d6c16022462fd0",
      "tree": "dbc64c60bd7c1d3f046ac230fdb415b7ab7af4bf",
      "parents": [
        "514a20a5da99aef8e667cc395841a5c4e5f9e8c1"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Apr 29 00:58:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "cpu: fix section mismatch warning in reference to register_cpu_notifier\n\nFix following warnings:\nWARNING: vmlinux.o(.text+0xc60): Section mismatch in reference from the function kvm_init() to the function .cpuinit.text:register_cpu_notifier()\nWARNING: vmlinux.o(.text+0x33869a): Section mismatch in reference from the function xfs_icsb_init_counters() to the function .cpuinit.text:register_cpu_notifier()\nWARNING: vmlinux.o(.text+0x5556a1): Section mismatch in reference from the function acpi_processor_install_hotplug_notify() to the function .cpuinit.text:register_cpu_notifier()\nWARNING: vmlinux.o(.text+0xfe6b28): Section mismatch in reference from the function cpufreq_register_driver() to the function .cpuinit.text:register_cpu_notifier()\n\nregister_cpu_notifier() are only really defined when HOTPLUG_CPU is enabled.\nSo references to the function are OK.\n\nAnnotate it with __ref so we do not get warnings from callers and do not get\nwarnings for the functions/data used by register_cpu_notifier().\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Gautham R Shenoy \u003cego@in.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": "514a20a5da99aef8e667cc395841a5c4e5f9e8c1",
      "tree": "c95ee722fb4cfc58ebb2fcad5ec7971abc3884de",
      "parents": [
        "9647155ffbce9dffed8a9a4768c8994334b609db"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Apr 29 00:58:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:00 2008 -0700"
      },
      "message": "cpu: fix section mismatch warnings in *cpu_down\n\nFix following warnings:\nWARNING: vmlinux.o(.text+0x75c8d): Section mismatch in reference from the function take_cpu_down() to the variable .cpuinit.data:cpu_chain\nWARNING: vmlinux.o(.text+0x75d2a): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain\nWARNING: vmlinux.o(.text+0x75d4d): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain\nWARNING: vmlinux.o(.text+0x75de4): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain\nWARNING: vmlinux.o(.text+0x75e33): Section mismatch in reference from the function _cpu_down() to the variable .cpuinit.data:cpu_chain\n\ncpu_down is only used from code surrounded by HOTPLUG_CPU so any references to\n__cpuinit is OK.\n\nAdd a few __ref to tech modpost to ignore the references.\n\nThis is just papering over the fact that the cpu hotplug code is fragile with\nrespect to use of HOTPLUG_CPU and in many cases rely on __cpuinit to get rid\nof code when HOTPLUG_CPU is not enabled.  For now this is the least invasive\nchange.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Gautham R Shenoy \u003cego@in.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": "9647155ffbce9dffed8a9a4768c8994334b609db",
      "tree": "da905e9965a2f5932fb56be66836b1b8804b5f3f",
      "parents": [
        "f718e31819857825315300ea3c2dbc3f26ff3b0e"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Apr 29 00:58:48 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:05:59 2008 -0700"
      },
      "message": "cpu: fix section mismatch warning in unregister_cpu_notifier\n\nFix following warning:\nWARNING: vmlinux.o(.text+0x75f4e): Section mismatch in reference from the function unregister_cpu_notifier() to the variable .cpuinit.data:cpu_chain\n\nWe know that unregister_cpu_notifier is using HOTPLUG_CPU\nstuff - so ignore these references.\nAnnotating unregister_cpu_notifier had been another option\nbut this caused far more warnings since not all callers were\nannotated __cpuinit.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Gautham R Shenoy \u003cego@in.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": "679c9cd4acc2cf2872171813752eab3320273339",
      "tree": "ddc9c455e47361746d58636419d535550a86cbcc",
      "parents": [
        "e5949050f2610fa526b154e0d8379218e54f49d1"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Tue Apr 29 00:58:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:05:59 2008 -0700"
      },
      "message": "add RUSAGE_THREAD\n\nAdd the RUSAGE_THREAD option for the getrusage system call.  This is\nessentially Roland\u0027s patch from http://lkml.org/lkml/2008/1/18/589, but the\nline about RUSAGE_LWP line has been removed, as suggested by Ulrich and\nChristoph.\n\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "95b570c9cef3b12356454c7112571b7e406b4b51",
      "tree": "f4494412f9e3a02bce5b59a906ee9360a536191d",
      "parents": [
        "bd3feb13e15a4859f629c9a076554e260c1d1397"
      ],
      "author": {
        "name": "Nur Hussein",
        "email": "nurhussein@gmail.com",
        "time": "Tue Apr 29 00:58:39 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:05:59 2008 -0700"
      },
      "message": "Taint kernel after WARN_ON(condition)\n\nThe kernel is sent to tainted within the warn_on_slowpath() function, and\nwhenever a warning occurs the new taint flag \u0027W\u0027 is set.  This is useful to\nknow if a warning occurred before a BUG by preserving the warning as a flag\nin the taint state.\n\nThis does not work on architectures where WARN_ON has its own definition.\nThese archs are:\n\t1. s390\n\t2. superh\n\t3. avr32\n\t4. parisc\n\nThe maintainers of these architectures have been added in the Cc: list\nin this email to alert them to the situation.\n\nThe documentation in oops-tracing.txt has been updated to include the\nnew flag.\n\nSigned-off-by: Nur Hussein \u003cnurhussein@gmail.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c3270e577c18b3d0e984c3371493205a4807db9d",
      "tree": "4a9e418798f897a580da930a575747706d17b94b",
      "parents": [
        "a01e035ebb552223c03f2d9138ffc73f2d4d3965"
      ],
      "author": {
        "name": "Tom Zanussi",
        "email": "zanussi@comcast.ne",
        "time": "Thu Apr 24 12:52:20 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 29 09:48:15 2008 +0200"
      },
      "message": "relay: fix splice problem\n\nSplice isn\u0027t always incrementing the ppos correctly, which broke\nrelay splice.\n\nSigned-off-by: Tom Zanussi \u003czanussi@comcast.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "b331d259b1147f82d692f3b866e036017cbde8fe"
}
