)]}'
{
  "log": [
    {
      "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": "5a8da0ea82db6fa9737041381079fd16f25dcce2",
      "tree": "abd26177c0a965315de290e1e9602d087b78f149",
      "parents": [
        "f3de272b821accbc8387211977c2de4f38468d05"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: x86 TS_RESTORE_SIGMASK\n\nReplace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own\nset_restore_sigmask() function.  This saves the costly SMP-safe set_bit\noperation, which we do not need for the sigmask flag since TIF_SIGPENDING\nalways has to be set too.\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": "f3de272b821accbc8387211977c2de4f38468d05",
      "tree": "775b5b3db5a09176447d4e62e04077b63640a4d7",
      "parents": [
        "49eaeb4bc4c901c327ee259c7768be20fd020a30"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: use HAVE_SET_RESTORE_SIGMASK\n\nChange all the #ifdef TIF_RESTORE_SIGMASK conditionals in non-arch code to\n#ifdef HAVE_SET_RESTORE_SIGMASK.  If arch code defines it first, the generic\nset_restore_sigmask() using TIF_RESTORE_SIGMASK is not defined.\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": "49eaeb4bc4c901c327ee259c7768be20fd020a30",
      "tree": "9f5a3b3dcc2e1d6b9f428a7cf72b8983a9698f15",
      "parents": [
        "02a029b325854a98e76f0a79ab38bec13e66bd38"
      ],
      "author": {
        "name": "akpm@linux-foundation.org",
        "email": "akpm@linux-foundation.org",
        "time": "Wed Apr 30 00:53:09 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: ia64 renumber TIF_RESTORE_SIGMASK\n\nTIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks.\nThose low bits are scarce.  Renumber TIF_RESTORE_SIGMASK to free one up.\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": "02a029b325854a98e76f0a79ab38bec13e66bd38",
      "tree": "02a12a03e9ed484101c3597ec31cc41c88aa1baa",
      "parents": [
        "7648d961fcb454d38e864d2d850bc30e078bf7e6"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: s390: renumber TIF_RESTORE_SIGMASK\n\nTIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks.  Those low\nbits are scarce, and are all used up now.  Renumber TIF_RESTORE_SIGMASK to\nfree one up.\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": "7648d961fcb454d38e864d2d850bc30e078bf7e6",
      "tree": "9a101ba3ffb61d6083654fabc05accedb3d4ef07",
      "parents": [
        "4e4c22c71144c1b2e22c257ec6cf08ccb5be1165"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Wed Apr 30 00:53:07 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: set_restore_sigmask TIF_SIGPENDING\n\nSet TIF_SIGPENDING in set_restore_sigmask.  This lets arch code take\nTIF_RESTORE_SIGMASK out of the set of bits that will be noticed on return to\nuser mode.  On some machines those bits are scarce, and we can free this\nunneeded one up for other uses.\n\nIt is probably the case that TIF_SIGPENDING is always set anyway everywhere\nset_restore_sigmask() is used.  But this is some cheap paranoia in case there\nis an arcane case where it might not be.\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": "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": "7a5e873f096e04e6d8719e4ecb7b70d2decca503",
      "tree": "2d3f7cc6c15e03de02484f9d754a9174ce2fff76",
      "parents": [
        "fae5fa44f1fd079ffbed8e0add929dd7bbd1347f"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed Apr 30 00:53:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:37 2008 -0700"
      },
      "message": "signals: de_thread: simplify the -\u003echild_reaper switching\n\nNow that we rely on SIGNAL_UNKILLABLE flag, de_thread() doesn\u0027t need the nasty\nhack to kill the old -\u003echild_reaper during the mt-exec.\n\nThis also means we can avoid taking tasklist_lock around zap_other_threads().\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": "06fffb1267c9d986687b69d74a46ee332a50575e",
      "tree": "bfbef85a5fa65550f40d83e75d8e23cea5238772",
      "parents": [
        "d6cf723a142f63ccb92272bc0e9bfffd3c3a5cac"
      ],
      "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": "do_task_stat: don\u0027t take rcu_read_lock()\n\nlock_task_sighand() was changed, and do_task_stat() doesn\u0027t need\nrcu_read_lock any longer.  sighand-\u003esiglock protects all \"interesting\"\nfields.\n\nExcept: it doesn\u0027t protect -\u003etty-\u003epgrp, but neither does rcu_read_lock(), this\nshould be fixed.\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\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pavel Emelyanov \u003cxemul@sw.ru\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": "2deb1acc653cbd5384b107d050d2deba089db2bd",
      "tree": "8d9a944b7f5b08b27d849a1aaa20d6ee3851ae9e",
      "parents": [
        "6bfe0b499082fd3950429017cd8ebf2a6c458aa5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Apr 30 00:52:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "isofs: fix access to unallocated memory when reading corrupted filesystem\n\nWhen a directory on isofs is corrupted, we did not check whether length of the\nname in a directory entry and the length of the directory entry itself are\nconsistent.  This could lead to possible access beyond the end of buffer when\nthe length of the name was too big.  Add this sanity check to directory\nreading code.\n\nSigned-off-by: Jan Kara \u003cjack@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": "6bfe0b499082fd3950429017cd8ebf2a6c458aa5",
      "tree": "81476cf7f7ddbea135bdb93729e0bffae0e7c163",
      "parents": [
        "11e2ede0228ee0f81ccacd15894908c3bf241f73"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: support blocking writes to an array on device failure\n\nAllows a userspace metadata handler to take action upon detecting a device\nfailure.\n\nBased on an original patch by Neil Brown.\n\nChanges:\n-added blocked_wait waitqueue to rdev\n-don\u0027t qualify Blocked with Faulty always let userspace block writes\n-added md_wait_for_blocked_rdev to wait for the block device to be clear, if\n userspace misses the notification another one is sent every 5 seconds\n-set MD_RECOVERY_NEEDED after clearing \"blocked\"\n-kill DoBlock flag, just test mddev-\u003eexternal\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11e2ede0228ee0f81ccacd15894908c3bf241f73",
      "tree": "78bf7c8e2762d5dc07f2b9acb92ef5804ac40f38",
      "parents": [
        "242b363e2207d14125f52a6701cfda7376a2a2fc"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: prevent duplicates in bind_rdev_to_array\n\nFound when trying to reassemble an active externally managed array.  Without\nthis check we hit the more noisy \"sysfs duplicate\" warning in the later call\nto kobject_add.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "242b363e2207d14125f52a6701cfda7376a2a2fc",
      "tree": "1ae3f6c59f01f22bde668799674d57a0daacc50b",
      "parents": [
        "648b629ed406233b0a607a3cf29d8a169876131f"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:33 2008 -0700"
      },
      "message": "md: remove a stray command from a copy and paste error in resync_start_store\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "648b629ed406233b0a607a3cf29d8a169876131f",
      "tree": "4faf3a965c6f369608b5187a3ecdd25e00264d63",
      "parents": [
        "31a59e3425d32743738e043c1df1668e0f22bbab"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: fix up switching md arrays between read-only and read-write\n\nWhen setting an array to \u0027readonly\u0027 or to \u0027active\u0027 via sysfs, we must make the\nappropriate set_disk_ro call too.\n\nAlso when switching to \"read_auto\" (which is like readonly, but blocks on the\nfirst write so that metadata can be marked \u0027dirty\u0027) we need to be more careful\nabout what state we are changing from.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31a59e3425d32743738e043c1df1668e0f22bbab",
      "tree": "0329549fd16aeedb767511e6a58df3ed84f463c7",
      "parents": [
        "d897dbf91490f26dccef3d7056ffd09eb83a15a5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: fix \u0027safemode\u0027 handling for external metadata.\n\n\u0027safemode\u0027 relates to marking an array as \u0027clean\u0027 if there has been no write\ntraffic for a while (a couple of seconds), to reduce the chance of the array\nbeing found dirty on reboot.\n\n-\u003esafemode is set to \u00271\u0027 when there have been no write for a while, and it\ngets set to \u00270\u0027 when the superblock is updates with the \u0027clean\u0027 flag set.\n\nThis requires a few fixes for \u0027external\u0027 metadata:\n - When an array is set to \u0027clean\u0027 via sysfs, \u0027safemode\u0027 must be cleared.\n - when we write to an array that has \u0027safemode\u0027 set (there must have been\n        some delay in updating the metadata), we need to clear safemode.\n - Don\u0027t try to update external metadata in md_check_recovery for safemode\n        transitions - it won\u0027t work.\n\nAlso, don\u0027t try to support \"immediate safe mode\" (safemode\u003d\u003d2) for external\nmetadata, it cannot really work (the safemode timeout can be set very low if\nthis is really needed).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d897dbf91490f26dccef3d7056ffd09eb83a15a5",
      "tree": "c9e812bf24f39a497d197f516cf3023482403d19",
      "parents": [
        "8377bc808029251c2c0f52116cf87d80291b25bf"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: reinitialise more mddev fields in do_md_stop.\n\nI keep finding problems where an mddev gets reused and some fields has a value\nfrom a previous usage that confuses the new usage.  So clear all fields that\ncould possible need clearing when calling do_md_stop.\n\nAlso initialise the \u0027level\u0027 of a new array to LEVEL_NONE (which isn\u0027t 0).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8377bc808029251c2c0f52116cf87d80291b25bf",
      "tree": "4cf50fc32d81a6c5f6f98a0503cc05ea924b58eb",
      "parents": [
        "6a51830e14529063cb2685921e1177d9af50e49a"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Wed Apr 30 00:52:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: skip all metadata update processing when using external metadata.\n\nAll the metadata update processing for external metadata is on in user-space\nor through the sysfs interfaces, so make \"md_update_sb\" a no-op in that case.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6a51830e14529063cb2685921e1177d9af50e49a",
      "tree": "d10f96946d36928e8b4cd021be67072321eb4943",
      "parents": [
        "7f1133cbf20bc308d73ba49f971180924e12119b"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Apr 30 00:52:28 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "md: fix use after free when removing rdev via sysfs\n\nrdev-\u003emddev is no longer valid upon return from entry-\u003estore() when the\n\u0027remove\u0027 command is given.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f1133cbf20bc308d73ba49f971180924e12119b",
      "tree": "b642ed3d5a731d2a1afad549122ba6b91bd14f26",
      "parents": [
        "3c42a449107bf76c59b8e0b6a30d070e9696e49c"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:27 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "pxafb: preliminary smart panel interface support (update)\n\nFB_PXA_SMARTPANEL defaults to \"n\" and removed the cast to void *.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nAcked-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c42a449107bf76c59b8e0b6a30d070e9696e49c",
      "tree": "f8277f579a034ebdb8d750d83179e843bff7dc0d",
      "parents": [
        "90eabbf0ec0c626cf5d186214cf8fc79150a7a29"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "pxafb: preliminary smart panel interface support\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nSigned-off-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90eabbf0ec0c626cf5d186214cf8fc79150a7a29",
      "tree": "a17d471960d783f046faf13f56db5794f419cfd3",
      "parents": [
        "2ba162b9335c6e3ba90c77637372fc9f078aae67"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "pxafb: move parallel LCD timing setup into dedicate function\n\nthe new_regs stuff has been removed, and all the setup (modification to those\nfbi-\u003ereg_*) is protected with IRQ disabled\n\n   * disable IRQ is too heavy here, provided that no IRQ context will\n     touch the fbi-\u003ereg_* and the only possible contending place is\n     in the CPUFREQ_POSTCHANGE (task context), a mutex will be better,\n     leave this for future improvement\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ba162b9335c6e3ba90c77637372fc9f078aae67",
      "tree": "777d19a2b3cd20744e221ca2bba451b4b0db42cd",
      "parents": [
        "a7535ba730e13db037bd22c79c3805690d0945a2"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "pxafb: use completion for LCD disable wait code\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a7535ba730e13db037bd22c79c3805690d0945a2",
      "tree": "e029246541524550ac3b7eba1f88d7af073481c9",
      "parents": [
        "0454bd09de7380aac464c09018e6a533f7247b0d"
      ],
      "author": {
        "name": "Eric Miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:32 2008 -0700"
      },
      "message": "pxafb: introduce lcd_{read,write}l() to wrap the __raw_{read,write}l()\n\nusing __raw_{read,write}l() everywhere looks messy, introduce\nlcd_{read,write}l() to get this cleaned up a bit\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0454bd09de7380aac464c09018e6a533f7247b0d",
      "tree": "64e9016c788357f081cb93066c85761c78a7f85b",
      "parents": [
        "84f43c308b73a6a12128288721a1007ba4f1a8da"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:23 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: make lubbock/mainstone/zylonite/littleton to use new LCD connection type\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84f43c308b73a6a12128288721a1007ba4f1a8da",
      "tree": "650246aced2ea56899f11099846980eeae8885e6",
      "parents": [
        "2c42dd8ebdd92ad59d9a68f88f0e20ad9f45270a"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: introduce register independent LCD connection type for pxafb\n\nReasons:\n\n  1. straight forward: the name \"LCD_COLOR_DSTN_16BPP\" is much better\n     than \"LCCR0_Pas | LCCR0_Color | LCCR0_Dual\"\n\n  2. by defining LCD connection types as constants, it allows only\n     valid possibilities\n\n  3. by removing the dependency of register bits definitions, those\n     can be later moved into the body of pxafb.c, instead of having\n     a regs-lcd.h around\n\nCurrently, only lubbock, mainstone, zylonite and littleton have been\nmodified to support these types (see coming patches after this).\nOther platforms are encouraged to change their way describing the\nLCD controller connections.\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2c42dd8ebdd92ad59d9a68f88f0e20ad9f45270a",
      "tree": "1013b04a3543aa1f1e1c9a2472ba15eb2e8f0cd9",
      "parents": [
        "ce4fb7b892a6d6c6a0f87366b26fd834d2923dd7"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: introduce \"struct pxafb_dma_buff\" for palette and dma descriptors\n\nUse structure and array for palette buffer and dma descriptors to:\n\n1. better organize code for future expansion like overlays\n2. separate palette and dma descriptors from frame buffer\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce4fb7b892a6d6c6a0f87366b26fd834d2923dd7",
      "tree": "1b30869071a065f24ab0976b23c9c47998022b24",
      "parents": [
        "92ac73c1e4b4e039162f5d3980c2da8192b28060"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:21 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: convert fb driver to use ioremap() and __raw_{readl, writel}\n\nThis is part of the effort moving peripheral registers outside of pxa-regs.h,\nand using ioremap() make it possible the same IP can be re-used on different\nprocessors with different registers space\n\nAs a result, the fixed mapping in pxa_map_io() is removed.\n\nThe regs-lcd.h can actually moved to where closer to pxafb.c but some of its\nbit definitions are directly used by various platform code, though this is not\na good style.\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ac73c1e4b4e039162f5d3980c2da8192b28060",
      "tree": "207565d3a1ee07db3fb3ffc5358a7edc8154ddf6",
      "parents": [
        "ded245b67f0a412b75052a285a0b0d1798650a63"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: sanitize the usage of #ifdef .. processing pxafb parameters\n\nSo to get a better coding style and centralize the pxafb parameters\nhandling code.\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ded245b67f0a412b75052a285a0b0d1798650a63",
      "tree": "ade22727ad13bff5337d8ce72d13648ecc2ba066",
      "parents": [
        "b0086efba5ad4905090b1e2e62a7e84d9473287f"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: purge unnecessary pr_debug and comments from pxafb\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0086efba5ad4905090b1e2e62a7e84d9473287f",
      "tree": "1db805a60c7defc1aa430d69f596ed818c237ae1",
      "parents": [
        "817daf14a5fa77d4e2c3b63c9be12fbf6eada37d"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: fix various coding style issues for pxafb\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "817daf14a5fa77d4e2c3b63c9be12fbf6eada37d",
      "tree": "0e60ad138ab4470a8e46ceab8115e46b5249d037",
      "parents": [
        "592e7bf80566bf5ac3ed073d4e198dd5b0824c04"
      ],
      "author": {
        "name": "eric miao",
        "email": "eric.miao@marvell.com",
        "time": "Wed Apr 30 00:52:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "pxafb: un-nest pxafb_parse_options() to cleanup the coding style issue\n\npxafb_parse_options() has very long lines exceeding far beyond 80 characters,\nwhich makes the function looks bad.  Un-nest it into smaller functions and use\na temporary string for only what has been overridden instead of the whole\ndev_info() message to reduce the line a bit more.\n\nSigned-off-by: eric miao \u003ceric.miao@marvell.com\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "592e7bf80566bf5ac3ed073d4e198dd5b0824c04",
      "tree": "8e778b8c93a16b11085099214f729b3795fd19a9",
      "parents": [
        "c6495aaabfaa8256c292c54b48ab081f4d86ad79"
      ],
      "author": {
        "name": "Haavard Skinnemoen",
        "email": "haavard.skinnemoen@atmel.com",
        "time": "Wed Apr 30 00:52:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "atmel_spi: clean up baud rate divisor calculation\n\nMake the baud rate divisor calculation code a bit more readable and add a\nfew comments.\n\nAlso fix wrong debug information being displayed when !new_1 and\nmax_speed_hz \u003d\u003d 0.\n\n[david-b@pacbell.net: fix it]\nSigned-off-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nCc: \"Janesh Ramakrishnan\" \u003cjramakrishnan@neuropace.com\u003e\nAcked-by David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6495aaabfaa8256c292c54b48ab081f4d86ad79",
      "tree": "269d46c48870ec11e468e048c3ec368cb9d9a894",
      "parents": [
        "41b25a3784c137ad52c71619c73b925860b1b3a2"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "cooloney@kernel.org",
        "time": "Wed Apr 30 00:52:16 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:31 2008 -0700"
      },
      "message": "kallsyms: nuke all ChangeLog, this should be logged by git\n\nPointed out by Paulo:\n  \"When I wrote this initially, it was a mistake to add a Changelog in\n   the first place, but I didn\u0027t know better at the time.\n\n   If you\u0027re going to make changes to this file, please remove all the\n   Changelog, instead of adding more entries to it.  The \u0027Changelog\u0027\n   should be kept by the version control system, and not the source code\n   itself.\"\n\nCc: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nAcked-by: Paulo Marques \u003cpmarques@grupopie.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41b25a3784c137ad52c71619c73b925860b1b3a2",
      "tree": "4c7e858a692c8ffa41294d661e8f10d58927ed67",
      "parents": [
        "2f3517418dc0684a32318f2c5b53257416448b1e"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Apr 30 00:52:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:30 2008 -0700"
      },
      "message": "/proc/pagetypeinfo: fix output for memoryless nodes\n\non memoryless node, /proc/pagetypeinfo is displayed slightly funny output.\nthis patch fix it.\n\noutput example (header is outputed, but no data is outputed)\n--------------------------------------------------------------\nPage block order: 14\nPages per block:  16384\n\nFree pages count per migrate type at order       0      1      2      3      4      5    \\\n  6      7      8      9     10     11     12     13     14     15     16\n\nNumber of blocks type     Unmovable  Reclaimable      Movable      Reserve      Isolate\nPage block order: 14\nPages per block:  16384\n\nFree pages count per migrate type at order       0      1      2      3      4      5    \\\n  6      7      8      9     10     11     12     13     14     15     16\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2f3517418dc0684a32318f2c5b53257416448b1e",
      "tree": "46225459cb66dcd25e3b392b698b634d4d571012",
      "parents": [
        "4e68852dca7a16271d09269f643a8e0eb8bb500d"
      ],
      "author": {
        "name": "Bryan Wu",
        "email": "bryan.wu@analog.com",
        "time": "Wed Apr 30 00:52:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:30 2008 -0700"
      },
      "message": "Blackfin serial driver: this driver enable SPORTs on Blackfin emulate UART\n\nSigned-off-by: Bryan Wu \u003cbryan.wu@analog.com\u003e\nCc: Alan Cox \u003calan@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": "4e68852dca7a16271d09269f643a8e0eb8bb500d",
      "tree": "386338a0c0329445338a956694329e98ca57503e",
      "parents": [
        "64275ea4f33636de198da5c78d0dbe31522555b0"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Wed Apr 30 00:52:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:30 2008 -0700"
      },
      "message": "MAINTAINERS: sort ordering\n\nSeems we have various confused entries around S and T.  Sort them all out and\nalso add myself as tty maintainer (which is how I noticed it).\n\nSigned-off-by: Alan Cox \u003calan@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": "64275ea4f33636de198da5c78d0dbe31522555b0",
      "tree": "5d8aeac9e74cb62afcccb804b089437f434f4b84",
      "parents": [
        "957d33fc1a3793e9ca8c24c6400271b924e46e19"
      ],
      "author": {
        "name": "David Chinner",
        "email": "dgc@sgi.com",
        "time": "Wed Apr 30 17:11:16 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 07:53:50 2008 -0700"
      },
      "message": "[XFS] Include linux/random.h in all builds, not just debug.\n\nNoted-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "957d33fc1a3793e9ca8c24c6400271b924e46e19",
      "tree": "508550304de6b523897afdf961f1aa433218691e",
      "parents": [
        "0ff5ce7f30b45cc2014cec465c0e96c16877116e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue Apr 29 20:10:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:40:00 2008 -0700"
      },
      "message": "docbook: fix fatal rapidio yet again (and more to come)\n\nDon\u0027t refer to file that no longer exists:\ndocproc: linux-2.6.25-git14/arch/powerpc/kernel/rio.c: No such file or directory\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ff5ce7f30b45cc2014cec465c0e96c16877116e",
      "tree": "63e3ed2af568aba47162171ad91ccfc440407d05",
      "parents": [
        "c4755d16fce9a4cdbb316c17657444856821bd4b",
        "ba7cc365f50cee0758e89217875e56ca3d972ed3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:37:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:37:59 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:\n  V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners\n  V4L/DVB (7794): cx88: Fix a warning\n  V4L/DVB (7792): ivtv: correct misspelled \"HIMEM4G\" to \"HIGHMEM4G\" in error message\n  V4L/DVB (7791): ivtv: POLLHUP must be returned on eof\n  V4L/DVB (7789b): Fix merge conflicts\n"
    },
    {
      "commit": "c4755d16fce9a4cdbb316c17657444856821bd4b",
      "tree": "56060ddcdb8e1e3ddcc7970a2324cadb3e8e4e27",
      "parents": [
        "c15a2434ed4868cad99278ac4d4ae4de9de62e02",
        "f1fa3342e271029f93d323ca664809b94594fe04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:34:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:34:49 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (48 commits)\n  ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta\n  ext4: fix test ext_generic_write_end() copied return value\n  ext3: fix test ext_generic_write_end() copied return value\n  ext4: Move mballoc headers/structures to a seperate header file mballoc.h\n  ext4: cleanup for compiling mballoc with verification and debugging #defines\n  ext4: don\u0027t use ext4_error in ext4_check_descriptors\n  ext4: mark inode dirty after initializing the extent tree\n  ext4: update ctime and mtime for truncate with extents.\n  ext4: Don\u0027t do GFP_NOFS allocations after taking ext4_lock_group\n  ext4: move headers out of include/linux\n  ext4: fix wrong gfp type under transaction\n  ext4: Fix hang on umount with quotas when journal is aborted\n  ext4: Fix update of mtime and ctime on rename\n  jdb2: replace remaining __FUNCTION__ occurrences\n  ext4: replace remaining __FUNCTION__ occurrences\n  jbd2: only create debugfs and stats entries if init is successful\n  jbd2: fix kernel-doc notation\n  jbd2: replace potentially false assertion with if block\n  jbd2: eliminate duplicated code in revocation table init/destroy functions\n  jbd2: tidy up revoke cache initialisation and destruction\n  ...\n"
    },
    {
      "commit": "c15a2434ed4868cad99278ac4d4ae4de9de62e02",
      "tree": "9d08692fda903f92f5bd426147a4bf00043a2ad1",
      "parents": [
        "a94a630a4c69430bb4562ab8252104449bba9a67",
        "adaa693b845373296631766176ebf0f73a342e10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:34:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 20:34:17 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6\n\n* \u0027for-linus\u0027 of git://oss.sgi.com:8090/xfs/xfs-2.6: (24 commits)\n  [XFS] Fix build failure after enabling CONFIG_XFS_DEBUG\n  [XFS] remove dmapi cruft in xfs_file.c\n  [XFS] remove sendfile leftovers\n  [XFS] allow enabling CONFIG_XFS_DEBUG\n  [XFS] Don\u0027t initialise new inode generation numbers to zero\n  [XFS] Fix check for block zero access in xfs_write_iomap_allocate()\n  [XFS] Don\u0027t double count reserved block changes on UP.\n  [XFS] remove xfs_log_ticket_zone on rmmod\n  [XFS] fix non-smp xfs build\n  [XFS] Fix broken HAVE_SPLICE removal commit.\n  [XFS] kill XFS_ICSB_SB_LOCKED\n  [XFS] split xfs_icsb_balance_counter\n  [XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held\n  [XFS] Cleanup xfs_attr a bit with xfs_name and remove cred\n  [XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir\n  [XFS] kill parent \u003d\u003d child checks in xfs_remove and xfs_rmdir\n  [XFS] kill usesless IHOLD calls in xfs_rename\n  [XFS] remove manual lookup from xfs_rename and simplify locking\n  [XFS] shrink mrlock_t\n  [XFS] simplify xfs_lookup\n  ...\n"
    },
    {
      "commit": "ba7cc365f50cee0758e89217875e56ca3d972ed3",
      "tree": "ea2e818d5b01bc01f45d0bc41f7b02a48e52ed0c",
      "parents": [
        "c17bf5db76f19211eaed4d01614414f179a06554"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 03:19:33 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 00:22:18 2008 -0300"
      },
      "message": "V4L/DVB (7798): tuners/Kconfig: Change config name and help to reflect dynamic load for tuners\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "c17bf5db76f19211eaed4d01614414f179a06554",
      "tree": "97295c6e403966865f94d2bd9910f29929712eb9",
      "parents": [
        "dab2ea48dcd3f75fda7ea25479666693321636be"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 02:17:14 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 00:22:16 2008 -0300"
      },
      "message": "V4L/DVB (7794): cx88: Fix a warning\n\ndrivers/media/video/cx88/cx88-i2c.c: In function \u0027attach_inform\u0027:\ndrivers/media/video/cx88/cx88-i2c.c:102: warning: unused variable \u0027tun_setup\u0027\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "dab2ea48dcd3f75fda7ea25479666693321636be",
      "tree": "a428c70c32c98aa1313d5d3eb1b4ea8b87fb6dcd",
      "parents": [
        "16928be301b0881f7b7afcf95e0ee7dc3214de8d"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Mon Apr 28 20:16:20 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 00:22:15 2008 -0300"
      },
      "message": "V4L/DVB (7792): ivtv: correct misspelled \"HIMEM4G\" to \"HIGHMEM4G\" in error message\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "16928be301b0881f7b7afcf95e0ee7dc3214de8d",
      "tree": "52e733f4404e3c73800f3e7a338538e6030715cc",
      "parents": [
        "ff138171ec6f84f311fe8c0395ad7f9e6d04feec"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Mon Apr 28 12:18:00 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Wed Apr 30 00:22:13 2008 -0300"
      },
      "message": "V4L/DVB (7791): ivtv: POLLHUP must be returned on eof\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "a94a630a4c69430bb4562ab8252104449bba9a67",
      "tree": "b4ac91079b6e6f5703aa5b140f61ccb4248f656b",
      "parents": [
        "33ae0cdd3eaba219e7c2f0647b6db4be540e2130"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Apr 30 11:16:16 2008 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 19:06:57 2008 -0700"
      },
      "message": "pasemi_edac needs to include linux/edac.h\n\nCommit c3c52bce6993c6d37af2c2de9b482a7013d646a7 (\"edac: fix module\ninitialization on several modules 2nd time\") added a call to opstate_init\nbut did not include linux/edac.h that declares it.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nAcked-by: Olof Johansson \u003colof@lixom.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff138171ec6f84f311fe8c0395ad7f9e6d04feec",
      "tree": "7ad0ecafefb46988a6f8a69fd3fd6c43afa7b7d0",
      "parents": [
        "33ae0cdd3eaba219e7c2f0647b6db4be540e2130"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Tue Apr 29 23:02:33 2008 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@infradead.org",
        "time": "Tue Apr 29 23:02:33 2008 -0300"
      },
      "message": "V4L/DVB (7789b): Fix merge conflicts\n\nSome Kconfig names were changed. This patch reapplies the rename script,\nfixing for those drivers merged after the patch that renamed those\nitems.\n\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n"
    },
    {
      "commit": "f1fa3342e271029f93d323ca664809b94594fe04",
      "tree": "a157efee03b64049dda19f4292961e085949cc81",
      "parents": [
        "f8a87d89304c1eea8e4a8dc02d134f57590913c6"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Apr 29 22:01:15 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:15 2008 -0400"
      },
      "message": "ext4: fix hot spins in mballoc after err_freebuddy and err_freemeta\n\nIn ext4_mb_init_backend() \u0027i\u0027 is of type ext4_group_t. Since unsigned, i\n\u003e\u003d 0 is always true, so fix hot spins after err_freebuddy: and -meta:\nand prevent decrements when zero.\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f8a87d89304c1eea8e4a8dc02d134f57590913c6",
      "tree": "9d1e5179573a77259c13161a245f7a761e4a5091",
      "parents": [
        "7c2f3d6f89aab04c5c66a0a757888d3a77a5e899"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Apr 29 22:01:18 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:18 2008 -0400"
      },
      "message": "ext4: fix test ext_generic_write_end() copied return value\n\n\u0027copied\u0027 is unsigned, whereas \u0027ret2\u0027 is not. The test (copied \u003c 0) fails\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7c2f3d6f89aab04c5c66a0a757888d3a77a5e899",
      "tree": "bf88a76e882892657b032bd131d9ab43592a055f",
      "parents": [
        "8f6e39a7ade8a5329c5651a2bc07010b3011da6a"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "12o3l@tiscali.nl",
        "time": "Tue Apr 29 22:01:27 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:27 2008 -0400"
      },
      "message": "ext3: fix test ext_generic_write_end() copied return value\n\n\u0027copied\u0027 is unsigned, whereas \u0027ret2\u0027 is not. The test (copied \u003c 0) fails\n\nSigned-off-by: Roel Kluin \u003c12o3l@tiscali.nl\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8f6e39a7ade8a5329c5651a2bc07010b3011da6a",
      "tree": "89ba461b78c3015f9de9e5cd6671005aff71e562",
      "parents": [
        "60bd63d1928c65abd71d8b9b45672cf6e3101845"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Tue Apr 29 22:01:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:01:31 2008 -0400"
      },
      "message": "ext4: Move mballoc headers/structures to a seperate header file mballoc.h\n\nMove function and structure definiations out of mballoc.c and put it under\na new header file mballoc.h\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "60bd63d1928c65abd71d8b9b45672cf6e3101845",
      "tree": "58d4409782dfe81faa40bf70c798d69be87c6037",
      "parents": [
        "c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b"
      ],
      "author": {
        "name": "Solofo Ramangalahy",
        "email": "Solofo.Ramangalahy@bull.net",
        "time": "Tue Apr 29 21:59:59 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 21:59:59 2008 -0400"
      },
      "message": "ext4: cleanup for compiling mballoc with verification and debugging #defines\n\nThis patch allows compiling mballoc with:\n#define AGGRESSIVE_CHECK\n#define DOUBLE_CHECK\n#define MB_DEBUG\n\nIt fixes:\nCompilation errors:\nfs/ext4/mballoc.c: In function \u0027__mb_check_buddy\u0027:\nfs/ext4/mballoc.c:605: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027group_list\u0027\nfs/ext4/mballoc.c:606: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027pstart\u0027\nfs/ext4/mballoc.c:608: error: \u0027struct ext4_prealloc_space\u0027 has no member named \u0027len\u0027\n\nCompilation warnings:\nfs/ext4/mballoc.c: In function \u0027ext4_mb_normalize_group_request\u0027:\nfs/ext4/mballoc.c:2863: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027int\u0027\nfs/ext4/mballoc.c: In function \u0027ext4_mb_use_inode_pa\u0027:\nfs/ext4/mballoc.c:3103: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 3 has type \u0027int\u0027\n\nSparse check:\nfs/ext4/mballoc.c:3818:2: warning: context imbalance in \u0027ext4_mb_show_ac\u0027 - different lock contexts for basic block\n\nSigned-off-by: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c19204b0ae3f8a125118fd5d425d3c7a5f8fda9b",
      "tree": "bca9e898c7a66315ffd2551acb52e2db4ec94c3b",
      "parents": [
        "8753e88f1b4345677620ec68f847222a6301e2fd"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Tue Apr 29 22:00:28 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:28 2008 -0400"
      },
      "message": "ext4: don\u0027t use ext4_error in ext4_check_descriptors\n\nBecause ext4_check_descriptors is called at mount time you can\u0027t use ext4_error\nas it calls ext4_commit_sb, which since the sb isn\u0027t all the way initialized\ncauses bad things to happen (ie a panic).  This patch changes the ext4_error\u0027s\nto printk\u0027s to keep this problem from happening.  Thanks much,\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8753e88f1b4345677620ec68f847222a6301e2fd",
      "tree": "cd24e97014f89d9bbd0ea88b65ed59ea9d2e152e",
      "parents": [
        "ef7377289a1510d638004158e43878643bc75dc5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:00:36 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:36 2008 -0400"
      },
      "message": "ext4: mark inode dirty after initializing the extent tree\n\nWe should mark the inode dirty only after initializing the extent\ntree.  Also if we fail during extent initialization we need\nto call DQUOT_FREE_INODE.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "ef7377289a1510d638004158e43878643bc75dc5",
      "tree": "4e7cfd27dc9322f0803fe438f63e1f9a2c4fb4cd",
      "parents": [
        "c83617db76353ff30e825874be2c15c185b95759"
      ],
      "author": {
        "name": "Solofo Ramangalahy",
        "email": "Solofo.Ramangalahy@bull.net",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:41 2008 -0400"
      },
      "message": "ext4: update ctime and mtime for truncate with extents.\n\nThe recently announced \"Linux POSIX file system test suite\"\ncaught a truncate issue when using extents:\nmtime and ctime are not updated when truncate is successful.\n\nThis is the single issue caught with \"default\" ext4 (mkfs and mount\nwith minimal options).\nThe testsuite does not report failure with -o noextents.\n\nWith the following patch, all tests of the testsuite pass.\n\nSigned-off-by: Solofo Ramangalahy \u003cSolofo.Ramangalahy@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c83617db76353ff30e825874be2c15c185b95759",
      "tree": "630ec09cb577589238e3ca02ad9978a830422d43",
      "parents": [
        "3dcf54515aa4981a647ad74859199032965193a5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Apr 29 22:00:47 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 29 22:00:47 2008 -0400"
      },
      "message": "ext4: Don\u0027t do GFP_NOFS allocations after taking ext4_lock_group\n\nWe can\u0027t do GFP_NOFS allocation after taking ext4_lock_group\n\nBUG: sleeping function called from invalid context at mm/slab.c:3054\nin_atomic():1, irqs_disabled():0\n1 lock held by vi/2426:\n#0:  (\u0026ei-\u003ei_data_sem){----}, at: [\u003cc01cf665\u003e] ext4_release_file+0x23/0x66\nPid: 2426, comm: vi Not tainted 2.6.25-rc7 #24\n[\u003cc011a3dc\u003e] __might_sleep+0xbe/0xc5\n[\u003cc01620c9\u003e] kmem_cache_alloc+0x22/0xa6\n[\u003cc01e382a\u003e] ext4_mb_release_inode_pa+0x73/0x1b3\n[\u003cc01e6adf\u003e] ext4_mb_discard_inode_preallocations+0x22d/0x2d4\n[\u003cc013000a\u003e] ? param_set_ushort+0x32/0x39\n[\u003cc01ceba1\u003e] ext4_discard_reservation+0x27/0x6a\n[\u003cc01cf66c\u003e] ext4_release_file+0x2a/0x66\n[\u003cc0165bd6\u003e] __fput+0xae/0x155\n[\u003cc0165e46\u003e] fput+0x17/0x19\n[\u003cc0163756\u003e] filp_close+0x50/0x5a\n[\u003cc01647c0\u003e] sys_close+0x71/0xad\n[\u003cc0104aba\u003e] sysenter_past_esp+0x5f/0xa5\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "33ae0cdd3eaba219e7c2f0647b6db4be540e2130",
      "tree": "1d0cb11644b40b500ad98e7af3bcac78012dec59",
      "parents": [
        "f5ba0cf3cb145f9a8cc125fb0cc013c5656d6259",
        "fe086a7bea7ab714930bd48addba961ceeef7634"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 16:50:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 16:50:49 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Provide ACPI fixup for /proc/cpuinfo/physical_id\n  [IA64] Remove printk noise on unimplemented SAL_PHYSICAL_ID_INFO\n  [IA64] allocate multiple contiguous pages via uncached allocator\n  [IA64] bugfix: nptcg breaks cpu-hotadd\n"
    },
    {
      "commit": "f5ba0cf3cb145f9a8cc125fb0cc013c5656d6259",
      "tree": "a361279ea74b52015e18299fbf77e91d042ef4ef",
      "parents": [
        "c65a3500b2947d344862da8cce626b7cc7ec5758",
        "d20bdda6d45a4035e48ca7ae467a0d955c1ffc60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 15:58:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 15:58:24 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  Smack: Integrate Smack with Audit\n  Security: Typecast CAP_*_SET macros\n  Security: Make secctx_to_secid() take const secdata\n"
    },
    {
      "commit": "d20bdda6d45a4035e48ca7ae467a0d955c1ffc60",
      "tree": "634f8bcc6ad7382a79be1081575ee12e7006c375",
      "parents": [
        "780db6c104de48104501f5943361f2371564b85d"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Wed Apr 30 08:34:10 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Apr 30 08:34:10 2008 +1000"
      },
      "message": "Smack: Integrate Smack with Audit\n\nSetup the new Audit hooks for Smack. SELinux Audit rule fields are recycled\nto avoid `auditd\u0027 userspace modifications. Currently only equality testing\nis supported on labels acting as a subject (AUDIT_SUBJ_USER) or as an object\n(AUDIT_OBJ_USER).\n\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\n"
    },
    {
      "commit": "780db6c104de48104501f5943361f2371564b85d",
      "tree": "d261d4fb8bb751ddf23e64b09d960b1a2ad77116",
      "parents": [
        "e52c1764f18a62776a0f2bc6752fb76b6e345827"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 20:54:28 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Apr 30 08:24:19 2008 +1000"
      },
      "message": "Security: Typecast CAP_*_SET macros\n\nCast the CAP_*_SET macros to be of kernel_cap_t type to avoid compiler\nwarnings.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "e52c1764f18a62776a0f2bc6752fb76b6e345827",
      "tree": "b60a62585dfe511d9216cdd4a207fd07df1b2f99",
      "parents": [
        "7663c1e2792a9662b23dec6e19bfcd3d55360b8f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Apr 29 20:52:51 2008 +0100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Apr 30 08:23:51 2008 +1000"
      },
      "message": "Security: Make secctx_to_secid() take const secdata\n\nMake secctx_to_secid() take constant secdata.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    }
  ],
  "next": "c65a3500b2947d344862da8cce626b7cc7ec5758"
}
