)]}'
{
  "log": [
    {
      "commit": "643ad8388e189dfd14ef76972cf7dc394b3cbebd",
      "tree": "82d4787ddc09cf5a6fc9fc1345839973ab7763f5",
      "parents": [
        "d21142ece414ce1088cfcae760689aa60d6fee80"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jun 17 16:50:35 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 19:26:28 2011 +0200"
      },
      "message": "ptrace: introduce ptrace_event_enabled() and simplify ptrace_event() and tracehook_prepare_clone()\n\nThis patch implements ptrace_event_enabled() which tests whether a\ngiven PTRACE_EVENT_* is enabled and use it to simplify ptrace_event()\nand tracehook_prepare_clone().\n\nPT_EVENT_FLAG() macro is added which calculates PT_TRACE_* flag from\nPTRACE_EVENT_*.  This is used to define PT_TRACE_* flags and by\nptrace_event_enabled() to find the matching flag.\n\nThis is used to make ptrace_event() and tracehook_prepare_clone()\nsimpler.\n\n* ptrace_event() callers were responsible for providing mask to test\n  whether the event was enabled.  This patch implements\n  ptrace_event_enabled() and make ptrace_event() drop @mask and\n  determine whether the event is enabled from @event.  Note that\n  @event is constant and this conversion doesn\u0027t add runtime overhead.\n\n  All conversions except tracehook_report_clone_complete() are\n  trivial.  tracehook_report_clone_complete() used to use 0 for @mask\n  (always enabled) but now tests whether the specified event is\n  enabled.  This doesn\u0027t cause any behavior difference as it\u0027s\n  guaranteed that the event specified by @trace is enabled.\n\n* tracehook_prepare_clone() now only determines which event is\n  applicable and use ptrace_event_enabled() for enable test.\n\nThis doesn\u0027t introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "d21142ece414ce1088cfcae760689aa60d6fee80",
      "tree": "9f97b4518cd06fe695476fc6cc4ff9ed8d5bdd58",
      "parents": [
        "544b2c91a9f14f9565af1972203438b7f49afd48"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jun 17 16:50:34 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed Jun 22 19:26:27 2011 +0200"
      },
      "message": "ptrace: kill task_ptrace()\n\ntask_ptrace(task) simply dereferences task-\u003eptrace and isn\u0027t even used\nconsistently only adding confusion.  Kill it and directly access\n-\u003eptrace instead.\n\nThis doesn\u0027t introduce any behavior change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "544b2c91a9f14f9565af1972203438b7f49afd48",
      "tree": "38615eeed1e50580a2341b5a9d15c98793d33c2d",
      "parents": [
        "fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:18 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:54 2011 +0200"
      },
      "message": "ptrace: implement PTRACE_LISTEN\n\nThe previous patch implemented async notification for ptrace but it\nonly worked while trace is running.  This patch introduces\nPTRACE_LISTEN which is suggested by Oleg Nestrov.\n\nIt\u0027s allowed iff tracee is in STOP trap and puts tracee into\nquasi-running state - tracee never really runs but wait(2) and\nptrace(2) consider it to be running.  While ptracer is listening,\ntracee is allowed to re-enter STOP to notify an async event.\nListening state is cleared on the first notification.  Ptracer can\nalso clear it by issuing INTERRUPT - tracee will re-trap into STOP\nwith listening state cleared.\n\nThis allows ptracer to monitor group stop state without running tracee\n- use INTERRUPT to put tracee into STOP trap, issue LISTEN and then\nwait(2) to wait for the next group stop event.  When it happens,\nPTRACE_GETSIGINFO provides information to determine the current state.\n\nTest program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_INTERRUPT\t0x4207\n  #define PTRACE_LISTEN\t\t0x4208\n\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee, tracer;\n\t  int i;\n\n\t  tracee \u003d fork();\n\t  if (!tracee)\n\t\t  while (1)\n\t\t\t  pause();\n\n\t  tracer \u003d fork();\n\t  if (!tracer) {\n\t\t  siginfo_t si;\n\n\t\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t\t  ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL);\n\t  repeat:\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\n\t\t  ptrace(PTRACE_GETSIGINFO, tracee, NULL, \u0026si);\n\t\t  if (!si.si_code) {\n\t\t\t  printf(\"tracer: SIG %d\\n\", si.si_signo);\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL,\n\t\t\t\t (void *)(unsigned long)si.si_signo);\n\t\t\t  goto repeat;\n\t\t  }\n\t\t  printf(\"tracer: stopped\u003d%d signo\u003d%d\\n\",\n\t\t\t si.si_signo !\u003d SIGTRAP, si.si_signo);\n\t\t  if (si.si_signo !\u003d SIGTRAP)\n\t\t\t  ptrace(PTRACE_LISTEN, tracee, NULL, NULL);\n\t\t  else\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t\t  goto repeat;\n\t  }\n\n\t  for (i \u003d 0; i \u003c 3; i++) {\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGSTOP\\n\");\n\t\t  kill(tracee, SIGSTOP);\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGCONT\\n\");\n\t\t  kill(tracee, SIGCONT);\n\t  }\n\t  nanosleep(\u0026ts1s, NULL);\n\n\t  kill(tracer, SIGKILL);\n\t  kill(tracee, SIGKILL);\n\t  return 0;\n  }\n\nThis is identical to the program to test TRAP_NOTIFY except that\ntracee is PTRACE_LISTEN\u0027d instead of PTRACE_CONT\u0027d when group stopped.\nThis allows ptracer to monitor when group stop ends without running\ntracee.\n\n  # ./test-listen\n  tracer: stopped\u003d0 signo\u003d5\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n\n-v2: Moved JOBCTL_LISTENING check in wait_task_stopped() into\n     task_stopped_code() as suggested by Oleg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "fb1d910c178ba0c5bc32d3e5a9e82e05b7aad3cd",
      "tree": "dd889f33758a914cb538583073000bc21aeb1759",
      "parents": [
        "fca26f260c528ee51a2e451b5b200aeb528f3e09"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:17 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:53 2011 +0200"
      },
      "message": "ptrace: implement TRAP_NOTIFY and use it for group stop events\n\nCurrently there\u0027s no way for ptracer to find out whether group stop\nfinished other than polling with INTERRUPT - GETSIGINFO - CONT\nsequence.  This patch implements group stop notification for ptracer\nusing STOP traps.\n\nWhen group stop state of a seized tracee changes, JOBCTL_TRAP_NOTIFY\nis set, which schedules a STOP trap which is sticky - it isn\u0027t cleared\nby other traps and at least one STOP trap will happen eventually.\nSTOP trap is synchronization point for event notification and the\ntracer can determine the current group stop state by looking at the\nsignal number portion of exit code (si_status from waitid(2) or\nsi_code from PTRACE_GETSIGINFO).\n\nNotifications are generated both on start and end of group stops but,\nbecause group stop participation always happens before STOP trap, this\ndoesn\u0027t cause an extra trap while tracee is participating in group\nstop.  The symmetry will be useful later.\n\nNote that this notification works iff tracee is not trapped.\nCurrently there is no way to be notified of group stop state changes\nwhile tracee is trapped.  This will be addressed by a later patch.\n\nAn example program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_INTERRUPT\t0x4207\n\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee, tracer;\n\t  int i;\n\n\t  tracee \u003d fork();\n\t  if (!tracee)\n\t\t  while (1)\n\t\t\t  pause();\n\n\t  tracer \u003d fork();\n\t  if (!tracer) {\n\t\t  siginfo_t si;\n\n\t\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t\t  ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL);\n\t  repeat:\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\n\t\t  ptrace(PTRACE_GETSIGINFO, tracee, NULL, \u0026si);\n\t\t  if (!si.si_code) {\n\t\t\t  printf(\"tracer: SIG %d\\n\", si.si_signo);\n\t\t\t  ptrace(PTRACE_CONT, tracee, NULL,\n\t\t\t\t (void *)(unsigned long)si.si_signo);\n\t\t\t  goto repeat;\n\t\t  }\n\t\t  printf(\"tracer: stopped\u003d%d signo\u003d%d\\n\",\n\t\t\t si.si_signo !\u003d SIGTRAP, si.si_signo);\n\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t\t  goto repeat;\n\t  }\n\n\t  for (i \u003d 0; i \u003c 3; i++) {\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGSTOP\\n\");\n\t\t  kill(tracee, SIGSTOP);\n\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  printf(\"mother: SIGCONT\\n\");\n\t\t  kill(tracee, SIGCONT);\n\t  }\n\t  nanosleep(\u0026ts1s, NULL);\n\n\t  kill(tracer, SIGKILL);\n\t  kill(tracee, SIGKILL);\n\t  return 0;\n  }\n\nIn the above program, tracer keeps tracee running and gets\nnotification of each group stop state changes.\n\n  # ./test-notify\n  tracer: stopped\u003d0 signo\u003d5\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n  mother: SIGSTOP\n  tracer: SIG 19\n  tracer: stopped\u003d1 signo\u003d19\n  mother: SIGCONT\n  tracer: stopped\u003d0 signo\u003d5\n  tracer: SIG 18\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "fca26f260c528ee51a2e451b5b200aeb528f3e09",
      "tree": "8c64ecdcece48b55e79bbb7f376a834fc99804a3",
      "parents": [
        "3544d72a0e10d0aa1c1bd59ed77a53a59cdc12f7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:16 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:53 2011 +0200"
      },
      "message": "ptrace: implement PTRACE_INTERRUPT\n\nCurrently, there\u0027s no way to trap a running ptracee short of sending a\nsignal which has various side effects.  This patch implements\nPTRACE_INTERRUPT which traps ptracee without any signal or job control\nrelated side effect.\n\nThe implementation is almost trivial.  It uses the group stop trap -\nSIGTRAP | PTRACE_EVENT_STOP \u003c\u003c 8.  A new trap flag\nJOBCTL_TRAP_INTERRUPT is added, which is set on PTRACE_INTERRUPT and\ncleared when any trap happens.  As INTERRUPT should be useable\nregardless of the current state of tracee, task_is_traced() test in\nptrace_check_attach() is skipped for INTERRUPT.\n\nPTRACE_INTERRUPT is available iff tracee is attached with\nPTRACE_SEIZE.\n\nTest program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_INTERRUPT\t0x4207\n\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts100ms \u003d { .tv_nsec \u003d 100000000 };\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n  static const struct timespec ts3s \u003d { .tv_sec \u003d 3 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee;\n\n\t  tracee \u003d fork();\n\t  if (tracee \u003d\u003d 0) {\n\t\t  nanosleep(\u0026ts100ms, NULL);\n\t\t  while (1) {\n\t\t\t  printf(\"tracee: alive pid\u003d%d\\n\", getpid());\n\t\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  }\n\t  }\n\n\t  if (argc \u003e 1)\n\t\t  kill(tracee, SIGSTOP);\n\n\t  nanosleep(\u0026ts100ms, NULL);\n\n\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t  if (argc \u003e 1) {\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t  }\n\t  nanosleep(\u0026ts3s, NULL);\n\n\t  printf(\"tracer: INTERRUPT and DETACH\\n\");\n\t  ptrace(PTRACE_INTERRUPT, tracee, NULL, NULL);\n\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\t  ptrace(PTRACE_DETACH, tracee, NULL, NULL);\n\t  nanosleep(\u0026ts3s, NULL);\n\n\t  printf(\"tracer: exiting\\n\");\n\t  kill(tracee, SIGKILL);\n\t  return 0;\n  }\n\nWhen called without argument, tracee is seized from running state,\ninterrupted and then detached back to running state.\n\n  # ./test-interrupt\n  tracee: alive pid\u003d4546\n  tracee: alive pid\u003d4546\n  tracee: alive pid\u003d4546\n  tracer: INTERRUPT and DETACH\n  tracee: alive pid\u003d4546\n  tracee: alive pid\u003d4546\n  tracee: alive pid\u003d4546\n  tracer: exiting\n\nWhen called with argument, tracee is seized from stopped state,\ncontinued, interrupted and then detached back to stopped state.\n\n  # ./test-interrupt  1\n  tracee: alive pid\u003d4548\n  tracee: alive pid\u003d4548\n  tracee: alive pid\u003d4548\n  tracer: INTERRUPT and DETACH\n  tracer: exiting\n\nBefore PTRACE_INTERRUPT, once the tracee was running, there was no way\nto trap tracee and do PTRACE_DETACH without causing side effect.\n\n-v2: Updated to use task_set_jobctl_pending() so that it doesn\u0027t end\n     up scheduling TRAP_STOP if child is dying which may make the\n     child unkillable.  Spotted by Oleg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "3544d72a0e10d0aa1c1bd59ed77a53a59cdc12f7",
      "tree": "27eb767b5cb98f58cccb5b7053a58bccd105f9d0",
      "parents": [
        "73ddff2bee159ffb580bd24faf625cd5e628f5ec"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:15 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:53 2011 +0200"
      },
      "message": "ptrace: implement PTRACE_SEIZE\n\nPTRACE_ATTACH implicitly issues SIGSTOP on attach which has side\neffects on tracee signal and job control states.  This patch\nimplements a new ptrace request PTRACE_SEIZE which attaches a tracee\nwithout trapping it or affecting its signal and job control states.\n\nThe usage is the same with PTRACE_ATTACH but it takes PTRACE_SEIZE_*\nflags in @data.  Currently, the only defined flag is\nPTRACE_SEIZE_DEVEL which is a temporary flag to enable PTRACE_SEIZE.\nPTRACE_SEIZE will change ptrace behaviors outside of attach itself.\nThe changes will be implemented gradually and the DEVEL flag is to\nprevent programs which expect full SEIZE behavior from using it before\nall the behavior modifications are complete while allowing unit\ntesting.  The flag will be removed once SEIZE behaviors are completely\nimplemented.\n\n* PTRACE_SEIZE, unlike ATTACH, doesn\u0027t force tracee to trap.  After\n  attaching tracee continues to run unless a trap condition occurs.\n\n* PTRACE_SEIZE doesn\u0027t affect signal or group stop state.\n\n* If PTRACE_SEIZE\u0027d, group stop uses PTRACE_EVENT_STOP trap which uses\n  exit_code of (signr | PTRACE_EVENT_STOP \u003c\u003c 8) where signr is one of\n  the stopping signals if group stop is in effect or SIGTRAP\n  otherwise, and returns usual trap siginfo on PTRACE_GETSIGINFO\n  instead of NULL.\n\nSeizing sets PT_SEIZED in -\u003eptrace of the tracee.  This flag will be\nused to determine whether new SEIZE behaviors should be enabled.\n\nTest program follows.\n\n  #define PTRACE_SEIZE\t\t0x4206\n  #define PTRACE_SEIZE_DEVEL\t0x80000000\n\n  static const struct timespec ts100ms \u003d { .tv_nsec \u003d 100000000 };\n  static const struct timespec ts1s \u003d { .tv_sec \u003d 1 };\n  static const struct timespec ts3s \u003d { .tv_sec \u003d 3 };\n\n  int main(int argc, char **argv)\n  {\n\t  pid_t tracee;\n\n\t  tracee \u003d fork();\n\t  if (tracee \u003d\u003d 0) {\n\t\t  nanosleep(\u0026ts100ms, NULL);\n\t\t  while (1) {\n\t\t\t  printf(\"tracee: alive\\n\");\n\t\t\t  nanosleep(\u0026ts1s, NULL);\n\t\t  }\n\t  }\n\n\t  if (argc \u003e 1)\n\t\t  kill(tracee, SIGSTOP);\n\n\t  nanosleep(\u0026ts100ms, NULL);\n\n\t  ptrace(PTRACE_SEIZE, tracee, NULL,\n\t\t (void *)(unsigned long)PTRACE_SEIZE_DEVEL);\n\t  if (argc \u003e 1) {\n\t\t  waitid(P_PID, tracee, NULL, WSTOPPED);\n\t\t  ptrace(PTRACE_CONT, tracee, NULL, NULL);\n\t  }\n\t  nanosleep(\u0026ts3s, NULL);\n\t  printf(\"tracer: exiting\\n\");\n\t  return 0;\n  }\n\nWhen the above program is called w/o argument, tracee is seized while\nrunning and remains running.  When tracer exits, tracee continues to\nrun and print out messages.\n\n  # ./test-seize-simple\n  tracee: alive\n  tracee: alive\n  tracee: alive\n  tracer: exiting\n  tracee: alive\n  tracee: alive\n\nWhen called with an argument, tracee is seized from stopped state and\ncontinued, and returns to stopped state when tracer exits.\n\n  # ./test-seize\n  tracee: alive\n  tracee: alive\n  tracee: alive\n  tracer: exiting\n  # ps -el|grep test-seize\n  1 T     0  4720     1  0  80   0 -   941 signal ttyS0    00:00:00 test-seize\n\n-v2: SEIZE doesn\u0027t schedule TRAP_STOP and leaves tracee running as Jan\n     suggested.\n\n-v3: PTRACE_EVENT_STOP traps now report group stop state by signr.  If\n     group stop is in effect the stop signal number is returned as\n     part of exit_code; otherwise, SIGTRAP.  This was suggested by\n     Denys and Oleg.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "73ddff2bee159ffb580bd24faf625cd5e628f5ec",
      "tree": "218cf5101b67c98ef99814e59706976d3ad245c2",
      "parents": [
        "dd1d6772692316fe35094085c5e4d9a370ad3462"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jun 14 11:20:14 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 16 21:41:52 2011 +0200"
      },
      "message": "job control: introduce JOBCTL_TRAP_STOP and use it for group stop trap\n\ndo_signal_stop() implemented both normal group stop and trap for group\nstop while ptraced.  This approach has been enough but scheduled\nchanges require trap mechanism which can be used in more generic\nmanner and using group stop trap for generic trap site simplifies both\nuserland visible interface and implementation.\n\nThis patch adds a new jobctl flag - JOBCTL_TRAP_STOP.  When set, it\ntriggers a trap site, which behaves like group stop trap, in\nget_signal_to_deliver() after checking for pending signals.  While\nptraced, do_signal_stop() doesn\u0027t stop itself.  It initiates group\nstop if requested and schedules JOBCTL_TRAP_STOP and returns.  The\ncaller - get_signal_to_deliver() - is responsible for checking whether\nTRAP_STOP is pending afterwards and handling it.\n\nptrace_attach() is updated to use JOBCTL_TRAP_STOP instead of\nJOBCTL_STOP_PENDING and __ptrace_unlink() to clear all pending trap\nbits and TRAPPING so that TRAP_STOP and future trap bits don\u0027t linger\nafter detach.\n\nWhile at it, add proper function comment to do_signal_stop() and make\nit return bool.\n\n-v2: __ptrace_unlink() updated to clear JOBCTL_TRAP_MASK and TRAPPING\n     instead of JOBCTL_PENDING_MASK.  This avoids accidentally\n     clearing JOBCTL_STOP_CONSUME.  Spotted by Oleg.\n\n-v3: do_signal_stop() updated to return %false without dropping\n     siglock while ptraced and TRAP_STOP check moved inside for(;;)\n     loop after group stop participation.  This avoids unnecessary\n     relocking and also will help avoiding unnecessary traps by\n     consuming group stop before handling pending traps.\n\n-v4: Jobctl trap handling moved into a separate function -\n     do_jobctl_trap().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "dd1d6772692316fe35094085c5e4d9a370ad3462",
      "tree": "d6f2743d96b93ded07d35a0af2cafa6056bfdc74",
      "parents": [
        "62c124ff3bcdb414af635c2bf822c9e4f2a5abfa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:11 2011 +0200"
      },
      "message": "signal: remove three noop tracehooks\n\nRemove the following three noop tracehooks in signals.c.\n\n* tracehook_force_sigpending()\n* tracehook_get_signal()\n* tracehook_finish_jctl()\n\nThe code area is about to be updated and these hooks don\u0027t do anything\nother than obfuscating the logic.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "62c124ff3bcdb414af635c2bf822c9e4f2a5abfa",
      "tree": "5d279211e098d24245d49e394d84aa8cfdb6f277",
      "parents": [
        "7dd3db54e77d21eb95e145f19ba53f68250d0e73"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:11 2011 +0200"
      },
      "message": "ptrace: use bit_waitqueue for TRAPPING instead of wait_chldexit\n\nptracer-\u003esignal-\u003ewait_chldexit was used to wait for TRAPPING; however,\n-\u003ewait_chldexit was already complicated with waker-side filtering\nwithout adding TRAPPING wait on top of it.  Also, it unnecessarily\nmade TRAPPING clearing depend on the current ptrace relationship - if\nthe ptracee is detached, wakeup is lost.\n\nThere is no reason to use signal-\u003ewait_chldexit here.  We\u0027re just\nwaiting for JOBCTL_TRAPPING bit to clear and given the relatively\ninfrequent use of ptrace, bit_waitqueue can serve it perfectly.\n\nThis patch makes JOBCTL_TRAPPING wait use bit_waitqueue instead of\nsignal-\u003ewait_chldexit.\n\n-v2: Use JOBCTL_*_BIT macros instead of ilog2() as suggested by Linus.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "7dd3db54e77d21eb95e145f19ba53f68250d0e73",
      "tree": "628e44b22e6fbf2828cf2c533c41b3d24f3e3ec9",
      "parents": [
        "6dfca32984237a8a011b5bf367e53341a265b2a4"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:11 2011 +0200"
      },
      "message": "job control: introduce task_set_jobctl_pending()\n\ntask-\u003ejobctl currently hosts JOBCTL_STOP_PENDING and will host TRAP\npending bits too.  Setting pending conditions on a dying task may make\nthe task unkillable.  Currently, each setting site is responsible for\nchecking for the condition but with to-be-added job control traps this\nbecomes too fragile.\n\nThis patch adds task_set_jobctl_pending() which should be used when\nsetting task-\u003ejobctl bits to schedule a stop or trap.  The function\nperforms the followings to ease setting pending bits.\n\n* Sanity checks.\n\n* If fatal signal is pending or PF_EXITING is set, no bit is set.\n\n* STOP_SIGMASK is automatically cleared if new value is being set.\n\ndo_signal_stop() and ptrace_attach() are updated to use\ntask_set_jobctl_pending() instead of setting STOP_PENDING explicitly.\nThe surrounding structures around setting are changed to fit\ntask_set_jobctl_pending() better but there should be no userland\nvisible behavior difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "6dfca32984237a8a011b5bf367e53341a265b2a4",
      "tree": "a879c682f00921959ee28b563b9024c0ac54f861",
      "parents": [
        "3759a0d94c18764247b66511d1038f2b93aa95de"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:11 2011 +0200"
      },
      "message": "job control: make task_clear_jobctl_pending() clear TRAPPING automatically\n\nJOBCTL_TRAPPING indicates that ptracer is waiting for tracee to\n(re)transit into TRACED.  task_clear_jobctl_pending() must be called\nwhen either tracee enters TRACED or the transition is cancelled for\nsome reason.  The former is achieved by explicitly calling\ntask_clear_jobctl_pending() in ptrace_stop() and the latter by calling\nit at the end of do_signal_stop().\n\nCalling task_clear_jobctl_trapping() at the end of do_signal_stop()\nlimits the scope TRAPPING can be used and is fragile in that seemingly\nunrelated changes to tracee\u0027s control flow can lead to stuck TRAPPING.\n\nWe already have task_clear_jobctl_pending() calls on those cancelling\nevents to clear JOBCTL_STOP_PENDING.  Cancellations can be handled by\nmaking those call sites use JOBCTL_PENDING_MASK instead and updating\ntask_clear_jobctl_pending() such that task_clear_jobctl_trapping() is\ncalled automatically if no stop/trap is pending.\n\nThis patch makes the above changes and removes the fallback\ntask_clear_jobctl_trapping() call from do_signal_stop().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "3759a0d94c18764247b66511d1038f2b93aa95de",
      "tree": "ec56295fc1bd252bcbe1cb8552102deeef03bbb7",
      "parents": [
        "81be24b8cdeb69e62f9d1b6b425fd9ffdd37f581"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:14:00 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:10 2011 +0200"
      },
      "message": "job control: introduce JOBCTL_PENDING_MASK and task_clear_jobctl_pending()\n\nThis patch introduces JOBCTL_PENDING_MASK and replaces\ntask_clear_jobctl_stop_pending() with task_clear_jobctl_pending()\nwhich takes an extra @mask argument.\n\nJOBCTL_PENDING_MASK is currently equal to JOBCTL_STOP_PENDING but\nfuture patches will add more bits.  recalc_sigpending_tsk() is updated\nto use JOBCTL_PENDING_MASK instead.\n\ntask_clear_jobctl_pending() takes @mask which in subset of\nJOBCTL_PENDING_MASK and clears the relevant jobctl bits.  If\nJOBCTL_STOP_PENDING is set, other STOP bits are cleared together.  All\ntask_clear_jobctl_stop_pending() users are updated to call\ntask_clear_jobctl_pending() with JOBCTL_STOP_PENDING which is\nfunctionally identical to task_clear_jobctl_stop_pending().\n\nThis patch doesn\u0027t cause any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "81be24b8cdeb69e62f9d1b6b425fd9ffdd37f581",
      "tree": "63afd141fdb380c7b00a01a2080ace6bcc232386",
      "parents": [
        "755e276b3326f300585435d2f3876e66e248c476"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:13:59 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:10 2011 +0200"
      },
      "message": "ptrace: relocate set_current_state(TASK_TRACED) in ptrace_stop()\n\nIn ptrace_stop(), after arch hook is done, the task state and jobctl\nbits are updated while holding siglock.  The ordering requirement\nthere is that TASK_TRACED is set before JOBCTL_TRAPPING is cleared to\nprevent ptracer waiting on TRAPPING doesn\u0027t end up waking up TRACED is\nactually set and sees TASK_RUNNING in wait(2).\n\nMove set_current_state(TASK_TRACED) to the top of the block and\nreorganize comments.  This makes the ordering more obvious\n(TASK_TRACED before other updates) and helps future updates to group\nstop participation.\n\nThis patch doesn\u0027t cause any functional change.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "755e276b3326f300585435d2f3876e66e248c476",
      "tree": "67ee93cf68a1ee0e307c0d8fcd4514a61dcdd697",
      "parents": [
        "a8f072c1d624a627b67f2ace2f0c25d856ef4e54"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:13:59 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:10 2011 +0200"
      },
      "message": "ptrace: ptrace_check_attach(): rename @kill to @ignore_state and add comments\n\nPTRACE_INTERRUPT is going to be added which should also skip\ntask_is_traced() check in ptrace_check_attach().  Rename @kill to\n@ignore_state and make it bool.  Add function comment while at it.\n\nThis patch doesn\u0027t introduce any behavior difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "a8f072c1d624a627b67f2ace2f0c25d856ef4e54",
      "tree": "9ba3e96aa874b08c7156a3584f27187bcdbdd9cd",
      "parents": [
        "0b1007c3578569469a6fab6ae5cca918ccdc3ee1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:13:59 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:09 2011 +0200"
      },
      "message": "job control: rename signal-\u003egroup_stop and flags to jobctl and update them\n\nsignal-\u003egroup_stop currently hosts mostly group stop related flags;\nhowever, it\u0027s gonna be used for wider purposes and the GROUP_STOP_\nflag prefix becomes confusing.  Rename signal-\u003egroup_stop to\nsignal-\u003ejobctl and rename all GROUP_STOP_* flags to JOBCTL_*.\n\nBit position macros JOBCTL_*_BIT are defined and JOBCTL_* flags are\ndefined in terms of them to allow using bitops later.\n\nWhile at it, reassign JOBCTL_TRAPPING to bit 22 to better accomodate\nfuture additions.\n\nThis doesn\u0027t cause any functional change.\n\n-v2: JOBCTL_*_BIT macros added as suggested by Linus.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "0b1007c3578569469a6fab6ae5cca918ccdc3ee1",
      "tree": "f6a5254c6f8caeb843fc1a130f7642b9a55a2694",
      "parents": [
        "23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 02 11:13:59 2011 +0200"
      },
      "committer": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Jun 04 18:17:09 2011 +0200"
      },
      "message": "ptrace: remove silly wait_trap variable from ptrace_attach()\n\nRemove local variable wait_trap which determines whether to wait for\n!TRAPPING or not and simply wait for it if attach was successful.\n\n-v2: Oleg pointed out wait should happen iff attach was successful.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\n"
    },
    {
      "commit": "23c79d31a3dd2602ee1a5ff31303b2d7a2d3c159",
      "tree": "95187d64da68a22339ee0e61ba4e9939aeefb2b1",
      "parents": [
        "0e833d8cfcb52b5ee3ead22cabbab81dea32c3f0",
        "e73e079bf128d68284efedeba1fbbc18d78610f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 23:19:51 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 23:19:51 2011 +0900"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] Fix oops caused by queue refcounting failure\n"
    },
    {
      "commit": "0e833d8cfcb52b5ee3ead22cabbab81dea32c3f0",
      "tree": "0c64533ba9181c014a4b2dcda75c273ae0437dd6",
      "parents": [
        "4f1ba49efafccbc73017f824efa2505c81b247cd",
        "7b29dc21ea084be7ddfb536994a9cfae95337690"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 23:16:00 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 23:16:00 2011 +0900"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (40 commits)\n  tg3: Fix tg3_skb_error_unmap()\n  net: tracepoint of net_dev_xmit sees freed skb and causes panic\n  drivers/net/can/flexcan.c: add missing clk_put\n  net: dm9000: Get the chip in a known good state before enabling interrupts\n  drivers/net/davinci_emac.c: add missing clk_put\n  af-packet: Add flag to distinguish VID 0 from no-vlan.\n  caif: Fix race when conditionally taking rtnl lock\n  usbnet/cdc_ncm: add missing .reset_resume hook\n  vlan: fix typo in vlan_dev_hard_start_xmit()\n  net/ipv4: Check for mistakenly passed in non-IPv4 address\n  iwl4965: correctly validate temperature value\n  bluetooth l2cap: fix locking in l2cap_global_chan_by_psm\n  ath9k: fix two more bugs in tx power\n  cfg80211: don\u0027t drop p2p probe responses\n  Revert \"net: fix section mismatches\"\n  drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run()\n  sctp: stop pending timers and purge queues when peer restart asoc\n  drivers/net: ks8842 Fix crash on received packet when in PIO mode.\n  ip_options_compile: properly handle unaligned pointer\n  iwlagn: fix incorrect PCI subsystem id for 6150 devices\n  ...\n"
    },
    {
      "commit": "4f1ba49efafccbc73017f824efa2505c81b247cd",
      "tree": "db072bbccffd1f1c6b1269ac7a752cb30af3a726",
      "parents": [
        "39b4a46f19295b4876fba6655f27d67232dc6a1f",
        "e3a57b3ccf5c04934ac43b5b80e32ba51b817288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:11:26 2011 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-block:\n  block: Use hlist_entry() for io_context.cic_list.first\n  cfq-iosched: Remove bogus check in queue_fail path\n  xen/blkback: potential null dereference in error handling\n  xen/blkback: don\u0027t call vbd_size() if bd_disk is NULL\n  block: blkdev_get() should access -\u003ebd_disk only after success\n  CFQ: Fix typo and remove unnecessary semicolon\n  block: remove unwanted semicolons\n  Revert \"block: Remove extra discard_alignment from hd_struct.\"\n  nbd: adjust \u0027max_part\u0027 according to part_shift\n  nbd: limit module parameters to a sane value\n  nbd: pass MSG_* flags to kernel_recvmsg()\n  block: improve the bio_add_page() and bio_add_pc_page() descriptions\n"
    },
    {
      "commit": "39b4a46f19295b4876fba6655f27d67232dc6a1f",
      "tree": "d30a6312bf61fa987774707331c2434d9ebd0198",
      "parents": [
        "cb37bbd90a11003993d47c395837e0f87abf1b31",
        "5ff6197f828d5ea051b3abf77cb61f8a34480e8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:04:10 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:04:10 2011 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:\n  Blackfin: strncpy: fix handling of zero lengths\n"
    },
    {
      "commit": "cb37bbd90a11003993d47c395837e0f87abf1b31",
      "tree": "404f13b334c2c2287e4bebac845c35db70ebfe81",
      "parents": [
        "3af91a1256b628d55913324d27fe747c69566749",
        "b36a968927b789b2dd8de0aaf7a72ef7c1f0d012"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:03:16 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 08:03:16 2011 +0900"
      },
      "message": "Merge branch \u0027stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile\n\n* \u0027stable\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:\n  asm-generic/unistd.h: support sendmmsg syscall\n  tile: enable CONFIG_BUGVERBOSE\n"
    },
    {
      "commit": "3af91a1256b628d55913324d27fe747c69566749",
      "tree": "cdbb84d4cce611ba722699d989bf1fecb73a69f1",
      "parents": [
        "9a44fde3435e0c6012cbc9122497bbbd3338434a",
        "098011940a2549ae7182db4bf101c3e3d2b4e6df"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:59:32 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:59:32 2011 +0900"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6\n\n* \u0027linux-next\u0027 of git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix-up free space earlier\n  UBIFS: intialize LPT earlier\n  UBIFS: assert no fixup when writing a node\n  UBIFS: fix clean znode counter corruption in error cases\n  UBIFS: fix memory leak on error path\n  UBIFS: fix shrinker object count reports\n  UBIFS: fix recovery broken by the previous recovery fix\n  UBIFS: amend ubifs_recover_leb interface\n  UBIFS: introduce a \"grouped\" journal head flag\n  UBIFS: supress false error messages\n"
    },
    {
      "commit": "9a44fde3435e0c6012cbc9122497bbbd3338434a",
      "tree": "6ad70370b4f6143e2acd324a466bccc21f60541b",
      "parents": [
        "cd4ecf877a4d629c38571405fd649077c12dec50",
        "9bf7174949aef2f43253956e1f3ab01698abbd79"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:58:48 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:58:48 2011 +0900"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:\n  ktest: Ignore unset values of the minconfig in config_bisect\n  ktest: Fix result of rebooting the kernel\n  ktest: Fix off-by-one in config bisect result\n"
    },
    {
      "commit": "cd4ecf877a4d629c38571405fd649077c12dec50",
      "tree": "ac0c5a72b503e1debbc06a10682f4a551bc304ac",
      "parents": [
        "1f3bd0f2ac870c9eb29590f193ee3d94e2d35514",
        "816af7422f5bdbb74a0c9bb09735a9aeb9522c30"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:53:23 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:53:23 2011 +0900"
      },
      "message": "Merge branch \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027rmobile-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  ARM: mach-shmobile: add DMAC clock definitions on SH7372\n  ARM: arch-shmobile: support SDHI card detection on mackerel, using a GPIO\n  sh_mobile_meram: MERAM platform data for LCDC\n"
    },
    {
      "commit": "1f3bd0f2ac870c9eb29590f193ee3d94e2d35514",
      "tree": "40a12bd6ac1fb2c0ef51e51265d773a9044c7281",
      "parents": [
        "bb3d6bf1919a20c56b3257b4ec09e67a9226cfb2",
        "a1b2cc50679c1d2eed44e2885f6178ce907498b7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:04:25 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:04:25 2011 +0900"
      },
      "message": "Merge branch \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* \u0027sh-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:\n  dmaengine: shdma: fix a regression: initialise DMA channels for memcpy\n  dmaengine: shdma: Fix up fallout from runtime PM changes.\n  Revert \"clocksource: sh_cmt: Runtime PM support\"\n  Revert \"clocksource: sh_tmu: Runtime PM support\"\n  sh: Fix up asm-generic/ptrace.h fallout.\n  sh64: Move from P1SEG to CAC_ADDR for consistent sync.\n  sh64: asm/pgtable.h needs asm/mmu.h\n  sh: asm/tlb.h needs linux/swap.h\n  sh: mark DMA slave ID 0 as invalid\n  sh: Update shmin to reflect PIO dependency.\n  sh: arch/sh/kernel/process_32.c needs linux/prefetch.h.\n  sh: add MMCIF runtime PM support on ecovec\n  sh: switch ap325rxa to dynamically manage the platform camera\n"
    },
    {
      "commit": "bb3d6bf1919a20c56b3257b4ec09e67a9226cfb2",
      "tree": "53763eef4382a42cad216edf0247108b621e45b1",
      "parents": [
        "55db4c64eddf37e31279ec15fe90314713bc9cfa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:00:50 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 07:00:50 2011 +0900"
      },
      "message": "Revert \"ASoC: Update cx20442 for TTY API change\"\n\nThis reverts commit ed0bd2333cffc3d856db9beb829543c1dfc00982.\n\nSince we reverted the TTY API change, we should revert the ASoC update\nto it too.\n\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: Liam Girdwood \u003clrg@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55db4c64eddf37e31279ec15fe90314713bc9cfa",
      "tree": "4bd186333049c5fcc1eacdff0efc82ac8b80ff5e",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 06:33:24 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 04 06:33:24 2011 +0900"
      },
      "message": "Revert \"tty: make receive_buf() return the amout of bytes received\"\n\nThis reverts commit b1c43f82c5aa265442f82dba31ce985ebb7aa71c.\n\nIt was broken in so many ways, and results in random odd pty issues.\n\nIt re-introduced the buggy schedule_work() in flush_to_ldisc() that can\ncause endless work-loops (see commit a5660b41af6a: \"tty: fix endless\nwork loop when the buffer fills up\").\n\nIt also used an \"unsigned int\" return value fo the -\u003ereceive_buf()\nfunction, but then made multiple functions return a negative error code,\nand didn\u0027t actually check for the error in the caller.\n\nAnd it didn\u0027t actually work at all.  BenH bisected down odd tty behavior\nto it:\n  \"It looks like the patch is causing some major malfunctions of the X\n   server for me, possibly related to PTYs.  For example, cat\u0027ing a\n   large file in a gnome terminal hangs the kernel for -minutes- in a\n   loop of what looks like flush_to_ldisc/workqueue code, (some ftrace\n   data in the quoted bits further down).\n\n   ...\n\n   Some more data: It -looks- like what happens is that the\n   flush_to_ldisc work queue entry constantly re-queues itself (because\n   the PTY is full ?) and the workqueue thread will basically loop\n   forver calling it without ever scheduling, thus starving the consumer\n   process that could have emptied the PTY.\"\n\nwhich is pretty much exactly the problem we fixed in a5660b41af6a.\n\nMilton Miller pointed out the \u0027unsigned int\u0027 issue.\n\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReported-by: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Stefan Bigler \u003cstefan.bigler@keymile.com\u003e\nCc: Toby Gray \u003ctoby.gray@realvnc.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b29dc21ea084be7ddfb536994a9cfae95337690",
      "tree": "799f5becd9484e53e09b5f620ebfd5315bdfe033",
      "parents": [
        "9a2e0fb0893ddf595d0a372e681f5b98017c6d90",
        "dfe21582ac5ebc460dda98c67e8589dd506d02cd"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 14:31:50 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 03 14:31:50 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem\n"
    },
    {
      "commit": "098011940a2549ae7182db4bf101c3e3d2b4e6df",
      "tree": "2c4c1e51beee85fba008a81598a58efffa1443d0",
      "parents": [
        "781c5717a95a74b294beb38b8276943b0f8b5bb4"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:16 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix-up free space earlier\n\nThe free space fixup is currently initiated during mount after the call to\nubifs_write_master() which results in a write to PEBs; this has been observed\nwith the patch \u0027assert no fixup when writing a node\u0027 applied:\n\nMove the free space fixup on mount to before the calls to\nubifs_recover_inl_heads() and ubifs_write_master(). This results in no\nassertions with the previously mentioned patch applied.\n\nArtem: tweaked the patch a bit\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "781c5717a95a74b294beb38b8276943b0f8b5bb4",
      "tree": "ed8dfe3b7066e6d0854e381f46712c7280b2f05e",
      "parents": [
        "4f1ab9b01d34eac9fc958f7150d3bf266dcc1685"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:15 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: intialize LPT earlier\n\nThe current \u0027mount_ubifs()\u0027 implementation does not initialize the LPT until the\nthe master node is marked dirty. Move the LPT initialization to before marking\nthe master node dirty. This is a preparation for the next patch which will move\nthe free-space-fixup check to before marking the master node dirty, because we\nhave to fix-up the free space before doing any writes.\n\nArtem: massaged the patch and commit message.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "4f1ab9b01d34eac9fc958f7150d3bf266dcc1685",
      "tree": "77ff5efa6449743984e77f491902fa53f7716969",
      "parents": [
        "837072377034d0a0b18b851d1ab95676b245cc0a"
      ],
      "author": {
        "name": "Ben Gardiner",
        "email": "bengardiner@nanometrics.ca",
        "time": "Mon May 30 14:56:14 2011 -0400"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: assert no fixup when writing a node\n\nThe current free space fixup can result in some writing to the UBI volume\nwhen the space_fixup flag is set.\n\nTo catch instances where UBIFS is writing to the NAND while the space_fixup\nflag is set, add an assert to ubifs_write_node().\n\nArtem: tweaked the patch, added similar assertion to the write buffer\n       write path.\n\nSigned-off-by: Ben Gardiner \u003cbengardiner@nanometrics.ca\u003e\nReviewed-by: Matthew L. Creech \u003cmlcreech@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "837072377034d0a0b18b851d1ab95676b245cc0a",
      "tree": "7020b369ac3373f292d59fe5fd470f73ecb69897",
      "parents": [
        "812eb258311f89bcd664a34a620f249d54a2cd83"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 14:26:07 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix clean znode counter corruption in error cases\n\nUBIFS maintains per-filesystem and global clean znode counters\n(\u0027c-\u003eclean_zn_cnt\u0027 and \u0027ubifs_clean_zn_cnt\u0027). It is important to maintain\ncorrect values there since the shrinker relies on \u0027ubifs_clean_zn_cnt\u0027.\n\nHowever, in case of failures during commit the counters were corrupted. E.g.,\nif a failure happens in the middle of \u0027write_index()\u0027, then some nodes in the\ncommit list (\u0027c-\u003ecnext\u0027) are marked as clean, and some are marked as dirty. And\nthe \u0027ubifs_destroy_tnc_subtree()\u0027 frees does not retrun correct count, and we\nend up with non-zero \u0027c-\u003eclean_zn_cnt\u0027 when unmounting. This means that if we\nhave 2 file-sytem and one of them fails, and we unmount it,\n\u0027ubifs_clean_zn_cnt\u0027 stays incorrect and confuses the shrinker.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "812eb258311f89bcd664a34a620f249d54a2cd83",
      "tree": "2b1598190efd598cfbdff30fbca302426f796e3a",
      "parents": [
        "cf610bf4199770420629d3bc273494bd27ad6c1d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 08:40:40 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:31 2011 +0300"
      },
      "message": "UBIFS: fix memory leak on error path\n\nUBIFS leaks memory on error path in \u0027ubifs_jnl_update()\u0027 in case of write\nfailure because it forgets to free the \u0027struct ubifs_dent_node *dent\u0027 object.\nAlthough the object is small, the alignment can make it large - e.g., 2KiB\nif the min. I/O unit is 2KiB.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "cf610bf4199770420629d3bc273494bd27ad6c1d",
      "tree": "76418cad3b35d8b40090ae13d5100de598e6c4cb",
      "parents": [
        "da8b94ea61c5d80aae0cc7b7541f1e0fa7459391"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue May 31 07:03:21 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Fri Jun 03 18:12:24 2011 +0300"
      },
      "message": "UBIFS: fix shrinker object count reports\n\nSometimes VM asks the shrinker to return amount of objects it can shrink,\nand we return the ubifs_clean_zn_cnt in that case. However, it is possible\nthat this counter is negative for a short period of time, due to the way\nUBIFS TNC code updates it. And I can observe the following warnings sometimes:\n\nshrink_slab: ubifs_shrinker+0x0/0x2b7 [ubifs] negative objects to delete nr\u003d-8541616642706119788\n\nThis patch makes sure UBIFS never returns negative count of objects.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "5ff6197f828d5ea051b3abf77cb61f8a34480e8d",
      "tree": "4d40c726ed8b09f1cd184f972641edc99a8c07b8",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "Steven Miao",
        "email": "realmz6@gmail.com",
        "time": "Wed Jun 01 15:52:41 2011 +0800"
      },
      "committer": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jun 03 11:05:36 2011 -0400"
      },
      "message": "Blackfin: strncpy: fix handling of zero lengths\n\nThe jump to 4f will cause the NUL padding loop to run at least one time,\nso if string length is zero just jump to the end.  Otherwise we wrongly\nwrite one NUL byte when size\u003d\u003d0.\n\nSigned-off-by: Steven Miao \u003crealmz6@gmail.com\u003e\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\n"
    },
    {
      "commit": "9a2e0fb0893ddf595d0a372e681f5b98017c6d90",
      "tree": "fc32f2ae2fefe55bfe5b3381629b33550f7adea6",
      "parents": [
        "ec764bf083a6ff396234351b51fd236f53c903bf"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Thu Jun 02 13:01:39 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 03 00:01:30 2011 -0700"
      },
      "message": "tg3: Fix tg3_skb_error_unmap()\n\nThis function attempts to free one fragment beyond the number of\nfragments that were actually mapped.  This patch brings back the limit\nto the correct spot.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nTested-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec764bf083a6ff396234351b51fd236f53c903bf",
      "tree": "30c0f8232fe10c76651114dea999b93fa2c8ade5",
      "parents": [
        "2e4ceec4edaef6e903422792de4f7f37de98cec6"
      ],
      "author": {
        "name": "Koki Sanagi",
        "email": "sanagi.koki@jp.fujitsu.com",
        "time": "Mon May 30 21:48:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 14:06:31 2011 -0700"
      },
      "message": "net: tracepoint of net_dev_xmit sees freed skb and causes panic\n\nBecause there is a possibility that skb is kfree_skb()ed and zero cleared\nafter ndo_start_xmit, we should not see the contents of skb like skb-\u003elen and\nskb-\u003edev-\u003ename after ndo_start_xmit. But trace_net_dev_xmit does that\nand causes panic by NULL pointer dereference.\nThis patch fixes trace_net_dev_xmit not to see the contents of skb directly.\n\nIf you want to reproduce this panic,\n\n1. Get tracepoint of net_dev_xmit on\n2. Create 2 guests on KVM\n2. Make 2 guests use virtio_net\n4. Execute netperf from one to another for a long time as a network burden\n5. host will panic(It takes about 30 minutes)\n\nSigned-off-by: Koki Sanagi \u003csanagi.koki@jp.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b36a968927b789b2dd8de0aaf7a72ef7c1f0d012",
      "tree": "3e2df4e6a5d60255ff9fc36dda0b763f11682571",
      "parents": [
        "3cc39b3f061e90f69cb1f65d72c005c56cddd6a6"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Jun 02 14:21:45 2011 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Thu Jun 02 14:31:38 2011 -0400"
      },
      "message": "asm-generic/unistd.h: support sendmmsg syscall\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "9bf7174949aef2f43253956e1f3ab01698abbd79",
      "tree": "0c40eb90a854dd369df648d0a767d03fc6ced0c9",
      "parents": [
        "4da46da2d295c0d9f4aaf28dd2b70a1ecb42d972"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 01 23:27:19 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 02 11:57:57 2011 -0400"
      },
      "message": "ktest: Ignore unset values of the minconfig in config_bisect\n\nBy ignoring the unset values of the minconfig in deciding\nwhat to test in the config_bisect can cause the problem\nconfig from being tested too.\n\nJust do not test the configs that are set in the minconfig.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4da46da2d295c0d9f4aaf28dd2b70a1ecb42d972",
      "tree": "a5d01b5c399702afd71969ca0b1e94be4aa1c254",
      "parents": [
        "4c8cc55b3c0ebe989e727017933945b68b4327cd"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 01 23:25:13 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 02 11:57:56 2011 -0400"
      },
      "message": "ktest: Fix result of rebooting the kernel\n\nThe command that is called that reboots the kernel may fail\nbut the return code is not passed back to the ktest.pl script.\nThis is because a \u0027;\u0027 is used between the two commands and\nif the second command fails, only the first command\u0027s return\ncode is returned. Using a \u0027\u0026\u0026\u0027 between the two commands fixes\nthis.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4c8cc55b3c0ebe989e727017933945b68b4327cd",
      "tree": "725aa612c6d01c912e724c3dc0e1eb8f4e1b2712",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Jun 01 23:22:30 2011 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 02 11:57:41 2011 -0400"
      },
      "message": "ktest: Fix off-by-one in config bisect result\n\nBecause in perl the array size returned by $#arr, is the last\nindex and not the actually size of the array, we end the config\nbisect early, thinking there is only one config left when there\nare in fact two. Thus the result has a 50% chance of picking\nthe correct config that caused the problem.\n\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e3a57b3ccf5c04934ac43b5b80e32ba51b817288",
      "tree": "990d7b323057b9969e7c251fa9fc8c50465b8702",
      "parents": [
        "e2bd9678fc0085acf540dc4cb48ff961cd4d88c0",
        "9b83c771214cf6a256ee875050e6eaf320cf7983"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 02 13:14:15 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 02 13:14:15 2011 +0200"
      },
      "message": "Merge branch \u0027for-jens/xen-blkback.fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus\n"
    },
    {
      "commit": "e2bd9678fc0085acf540dc4cb48ff961cd4d88c0",
      "tree": "25fa9535761abdafa1f9de9fc86108d8b178cfef",
      "parents": [
        "28304f485c3627cc5e1665b92e26eb7fcfe98088"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Thu Jun 02 13:05:02 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 02 13:05:02 2011 +0200"
      },
      "message": "block: Use hlist_entry() for io_context.cic_list.first\n\nlist_entry() and hlist_entry() are both simply aliases for\ncontainer_of(), but since io_context.cic_list.first is an hlist_node one\nshould at least use the correct alias.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "28304f485c3627cc5e1665b92e26eb7fcfe98088",
      "tree": "c885abcc932d5ae28fdeb49027ea5eafaaafd376",
      "parents": [
        "4c49ff3fe128ca68dabd07537415c419ad7f82f9"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Thu Jun 02 13:05:02 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Jun 02 13:05:02 2011 +0200"
      },
      "message": "cfq-iosched: Remove bogus check in queue_fail path\n\nqueue_fail can only be reached if cic is NULL, so its check for cic must\nbe bogus.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e73e079bf128d68284efedeba1fbbc18d78610f9",
      "tree": "7477ba6759346155bb784e9719fe68bab89ee88e",
      "parents": [
        "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed May 25 15:52:14 2011 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jbottomley@parallels.com",
        "time": "Thu Jun 02 18:34:43 2011 +0900"
      },
      "message": "[SCSI] Fix oops caused by queue refcounting failure\n\nIn certain circumstances, we can get an oops from a torn down device.\nMost notably this is from CD roms trying to call scsi_ioctl.  The root\ncause of the problem is the fact that after scsi_remove_device() has\nbeen called, the queue is fully torn down.  This is actually wrong\nsince the queue can be used until the sdev release function is called.\nTherefore, we add an extra reference to the queue which is released in\nsdev-\u003erelease, so the queue always exists.\n\nReported-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Bottomley \u003cjbottomley@parallels.com\u003e\n"
    },
    {
      "commit": "2e4ceec4edaef6e903422792de4f7f37de98cec6",
      "tree": "628626d17ea26b1c77449afc9bdee88581982033",
      "parents": [
        "6979d5dd96a4a4975ce240982436e92a3da23315"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Jun 01 19:48:50 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 02 00:10:01 2011 -0700"
      },
      "message": "drivers/net/can/flexcan.c: add missing clk_put\n\nThe failed_get label is used after the call to clk_get has succeeded, so it\nshould be moved up above the call to clk_put.\n\nThe failed_req labels doesn\u0027t do anything different than failed_get, so\ndelete it.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nexpression e1,e2;\nstatement S;\n@@\n\ne1 \u003d clk_get@p1(...);\n... when !\u003d e1 \u003d e2\n    when !\u003d clk_put(e1)\n    when any\nif (...) { ... when !\u003d clk_put(e1)\n               when !\u003d if (...) { ... clk_put(e1) ... }\n* return@p3 ...;\n } else S\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "816af7422f5bdbb74a0c9bb09735a9aeb9522c30",
      "tree": "a55684242df29a5b88248ccccbf0c11380755eb2",
      "parents": [
        "4bff4a7ee4b9e487a1bc1d31082e77b6a381418a"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed Jun 01 07:32:07 2011 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 02 14:45:33 2011 +0900"
      },
      "message": "ARM: mach-shmobile: add DMAC clock definitions on SH7372\n\nThese definitions are needed to let the runtime PM subsystem turn off\nDMAC clocks, when it is suspended by the driver.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "a1b2cc50679c1d2eed44e2885f6178ce907498b7",
      "tree": "e30d672493dc63325dc9d92a05ed70e6ec995957",
      "parents": [
        "1222de7c415cfa70f441f836588fd79a3334d4fe"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Tue May 31 09:25:16 2011 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Jun 02 14:40:43 2011 +0900"
      },
      "message": "dmaengine: shdma: fix a regression: initialise DMA channels for memcpy\n\nA recent patch has introduced a regression, where repeating a memcpy\nDMA test with shdma module unloading between them skips the DMA channel\nconfiguration. Fix this regression by always configuring the channel\nduring its allocation.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "6979d5dd96a4a4975ce240982436e92a3da23315",
      "tree": "b8a5c017e168d87f91668b5cab89c7df56dcda58",
      "parents": [
        "b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jun 01 10:18:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:22:15 2011 -0700"
      },
      "message": "net: dm9000: Get the chip in a known good state before enabling interrupts\n\nCurrently the DM9000 driver requests the primary interrupt before it\nresets the chip and puts it into a known good state. This means that if\nthe chip is asserting interrupt for some reason we can end up with a\nscreaming IRQ that the interrupt handler is unable to deal with. Avoid\nthis by only requesting the interrupt after we\u0027ve reset the chip so we\nknow what state it\u0027s in.\n\nThis started manifesting itself on one of my boards in the past month or\nso, I suspect as a result of some core infrastructure changes removing\nsome form of mitigation against bad behaviour here, even when things boot\nit seems that the new code brings the interface up more quickly.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b722dbf176b67c75fe0f5a6b1b31f5ea8aa6117d",
      "tree": "8eb77b610efcabd6185b964b817b2b30bdebad0d",
      "parents": [
        "a3bcc23e890a6d49d6763d9eb073d711de2e0469"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed Jun 01 07:10:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:20:14 2011 -0700"
      },
      "message": "drivers/net/davinci_emac.c: add missing clk_put\n\nGo to existing error handling code at the end of the function that calls\nclk_put.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@r exists@\nexpression e1,e2;\nstatement S;\n@@\n\ne1 \u003d clk_get@p1(...);\n... when !\u003d e1 \u003d e2\n    when !\u003d clk_put(e1)\n    when any\nif (...) { ... when !\u003d clk_put(e1)\n               when !\u003d if (...) { ... clk_put(e1) ... }\n* return@p3 ...;\n } else S\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nAcked-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3bcc23e890a6d49d6763d9eb073d711de2e0469",
      "tree": "c4156e932f081dc14a514d5ab23cd43e590029cd",
      "parents": [
        "41be5a4a3668810bf3687a76c2b017bd437039e0"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 06:49:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:18:03 2011 -0700"
      },
      "message": "af-packet: Add flag to distinguish VID 0 from no-vlan.\n\nCurrently, user-space cannot determine if a 0 tcp_vlan_tci\nmeans there is no VLAN tag or the VLAN ID was zero.\n\nAdd flag to make this explicit.  User-space can check for\nTP_STATUS_VLAN_VALID || tp_vlan_tci \u003e 0, which will be backwards\ncompatible. Older could would have just checked for tp_vlan_tci,\nso it will work no worse than before.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41be5a4a3668810bf3687a76c2b017bd437039e0",
      "tree": "dcdfd3de6ee34d6467f26208ae431f9207769088",
      "parents": [
        "85e3c65fa3a1d0542c181510a950a2be7733ff29"
      ],
      "author": {
        "name": "sjur.brandeland@stericsson.com",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Wed Jun 01 00:55:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:13:53 2011 -0700"
      },
      "message": "caif: Fix race when conditionally taking rtnl lock\n\nTake the RTNL lock unconditionally when calling dev_close.\nTaking the lock conditionally may cause race conditions.\n\nSigned-off-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85e3c65fa3a1d0542c181510a950a2be7733ff29",
      "tree": "7efb6a9f3ed34ed52358eef6b4a59659a5fdea94",
      "parents": [
        "307f73df2b9829ee5a261d1ed432ff683c426cdf"
      ],
      "author": {
        "name": "Stefan Metzmacher",
        "email": "metze@samba.org",
        "time": "Wed Jun 01 02:01:41 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:10:49 2011 -0700"
      },
      "message": "usbnet/cdc_ncm: add missing .reset_resume hook\n\nThis avoids messages like this after suspend:\n\n   cdc_ncm 2-1.4:1.6: no reset_resume for driver cdc_ncm?\n   cdc_ncm 2-1.4:1.7: no reset_resume for driver cdc_ncm?\n   cdc_ncm 2-1.4:1.6: usb0: unregister \u0027cdc_ncm\u0027 usb-0000:00:1d.0-1.4, CDC NCM\n\nThis is important for the Ericsson F5521gw GSM/UMTS modem.\nOtherwise modemmanager looses the fact that the cdc_ncm and cdc_acm devices\nbelong together.\n\nThe cdc_ether module does the same.\n\nSigned-off-by: Stefan Metzmacher \u003cmetze@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "307f73df2b9829ee5a261d1ed432ff683c426cdf",
      "tree": "909f94f39bda3ef24b4cd72cc7ac201c92c7367c",
      "parents": [
        "d0733d2e29b652b2e7b1438ececa732e4eed98eb"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue May 31 22:53:19 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:08:47 2011 -0700"
      },
      "message": "vlan: fix typo in vlan_dev_hard_start_xmit()\n\ncommit 4af429d29b341bb1735f04c2fb960178ed5d52e7 (vlan: lockless\ntransmit path) have a typo in vlan_dev_hard_start_xmit(), using\nu64_stats_update_begin() to end the stat update, it should be\nu64_stats_update_end().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nReviewed-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d0733d2e29b652b2e7b1438ececa732e4eed98eb",
      "tree": "1fdc2634b52f097f0dc01f76196228492dac4be6",
      "parents": [
        "948252cb9e01d65a89ecadf67be5018351eee15e"
      ],
      "author": {
        "name": "Marcus Meissner",
        "email": "meissner@suse.de",
        "time": "Wed Jun 01 21:05:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:05:22 2011 -0700"
      },
      "message": "net/ipv4: Check for mistakenly passed in non-IPv4 address\n\nCheck against mistakenly passing in IPv6 addresses (which would result\nin an INADDR_ANY bind) or similar incompatible sockaddrs.\n\nSigned-off-by: Marcus Meissner \u003cmeissner@suse.de\u003e\nCc: Reinhard Max \u003cmax@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1fa7b6a29c61358cc2ca6f64cef4aa0e1a7ca74c",
      "tree": "7318c8602f61c2052df308920bd681539f760555",
      "parents": [
        "f0f52a9463839c52a63c05d6e7d4a330d94a9794"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 06:11:24 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 06:11:24 2011 +0900"
      },
      "message": "Revert \"mm: fail GFP_DMA allocations when ZONE_DMA is not configured\"\n\nThis reverts commit a197b59ae6e8bee56fcef37ea2482dc08414e2ac.\n\nAs rmk says:\n \"Commit a197b59ae6e8 (mm: fail GFP_DMA allocations when ZONE_DMA is not\n  configured) is causing regressions on ARM with various drivers which\n  use GFP_DMA.\n\n  The behaviour up until now has been to silently ignore that flag when\n  CONFIG_ZONE_DMA is not enabled, and to allocate from the normal zone.\n  However, as a result of the above commit, such allocations now fail\n  which causes drivers to fail.  These are regressions compared to the\n  previous kernel version.\"\n\nso just revert it.\n\nRequested-by: Russell King \u003clinux@arm.linux.org.uk\u003e\nAcked-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f0f52a9463839c52a63c05d6e7d4a330d94a9794",
      "tree": "d964f65aa37dd46b457bc615f2f37e75390c6df8",
      "parents": [
        "0f48f2600911d5de6393829e4a9986d4075558b3",
        "70e535d1e5d1e4317e894d6228b762cf9c3fbc6a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:48:50 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:48:50 2011 +0900"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: Fix off-by-one in RMRR setup\n  intel-iommu: Add domain check in domain_remove_one_dev_info\n  intel-iommu: Remove Host Bridge devices from identity mapping\n  intel-iommu: Use coherent DMA mask when requested\n  intel-iommu: Dont cache iova above 32bit\n  intel-iommu: Speed up processing of the identity_mapping function\n  intel-iommu: Check for identity mapping candidate using system dma mask\n  intel-iommu: Only unlink device domains from iommu\n  intel-iommu: Enable super page (2MiB, 1GiB, etc.) support\n  intel-iommu: Flush unmaps at domain_exit\n  intel-iommu: Remove obsolete comment from detect_intel_iommu\n  intel-iommu: fix VT-d PMR disable for TXT on S3 resume\n"
    },
    {
      "commit": "0f48f2600911d5de6393829e4a9986d4075558b3",
      "tree": "39745ab1858bb308f3b101f5ae555f08485bb7ea",
      "parents": [
        "3f303103b884ca577908d3e5c0650ad12e40c586"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:29:19 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 02 05:29:19 2011 +0900"
      },
      "message": "block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal\n\nJens\u0027 back-merge commit 698567f3fa79 (\"Merge commit \u0027v2.6.39\u0027 into\nfor-2.6.40/core\") was incorrectly done, and re-introduced the\nDISK_EVENT_MEDIA_CHANGE lines that had been removed earlier in commits\n\n - 9fd097b14918 (\"block: unexport DISK_EVENT_MEDIA_CHANGE for\n   legacy/fringe drivers\")\n\n - 7eec77a1816a (\"ide: unexport DISK_EVENT_MEDIA_CHANGE for ide-gd\n   and ide-cd\")\n\nbecause of conflicts with the \"g-\u003eflags\" updates near-by by commit\nd4dc210f69bc (\"block: don\u0027t block events on excl write for non-optical\ndevices\")\n\nAs a result, we re-introduced the hanging behavior due to infinite disk\nmedia change reports.\n\nTssk, tssk, people! Don\u0027t do back-merges at all, and *definitely* don\u0027t\ndo them to hide merge conflicts from me - especially as I\u0027m likely\nbetter at merging them than you are, since I do so many merges.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cc39b3f061e90f69cb1f65d72c005c56cddd6a6",
      "tree": "2a076b5e1bb8469928695bc2447f94ee95b99a32",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Jun 01 16:06:04 2011 -0400"
      },
      "committer": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Wed Jun 01 16:06:04 2011 -0400"
      },
      "message": "tile: enable CONFIG_BUGVERBOSE\n\nTrivial config change to enable backtraces on panic.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\n"
    },
    {
      "commit": "dfe21582ac5ebc460dda98c67e8589dd506d02cd",
      "tree": "76fe13dd7d63a378d432ac98b62015fcae38a2e3",
      "parents": [
        "a7567b2059020bf3fa96c389ec25eed8e28ad4ba"
      ],
      "author": {
        "name": "Stanislaw Gruszka",
        "email": "sgruszka@redhat.com",
        "time": "Wed Jun 01 17:17:57 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 01 14:41:13 2011 -0400"
      },
      "message": "iwl4965: correctly validate temperature value\n\nIn some cases we can read wrong temperature value. If after that\ntemperature value will not be updated to good one, we badly configure\ntx power parameters and device is unable to send a data.\n\nResolves:\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d35932\n\nCc: stable@kernel.org # 2.6.39+\nSigned-off-by: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "a7567b2059020bf3fa96c389ec25eed8e28ad4ba",
      "tree": "8cade3b43b567a6fbf0541cffd36295c07f79552",
      "parents": [
        "21fdc87248d1d28492c775e05fa92b3c8c7bc8db"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Wed Jun 01 08:29:54 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 01 14:35:54 2011 -0400"
      },
      "message": "bluetooth l2cap: fix locking in l2cap_global_chan_by_psm\n\nread_lock() ... read_unlock_bh() is clearly bogus.\nThis was broken by\n\ncommit 23691d75cdc69c3b285211b4d77746aa20a17d18\nAuthor: Gustavo F. Padovan \u003cpadovan@profusion.mobi\u003e\nDate:   Wed Apr 27 18:26:32 2011 -0300\n\n    Bluetooth: Remove l2cap_sk_list\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "21fdc87248d1d28492c775e05fa92b3c8c7bc8db",
      "tree": "cd0f69b7a496b866d2a67cfcf12305b1e5060abc",
      "parents": [
        "333ba7325213f0a09dfa5ceeddb056d6ad74b3b5"
      ],
      "author": {
        "name": "Daniel Halperin",
        "email": "dhalperi@cs.washington.edu",
        "time": "Tue May 31 11:59:30 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 01 14:35:54 2011 -0400"
      },
      "message": "ath9k: fix two more bugs in tx power\n\nThis is the same fix as\n\n   commit 841051602e3fa18ea468fe5a177aa92b6eb44b56\n   Author: Matteo Croce \u003ctechnoboy85@gmail.com\u003e\n   Date:   Fri Dec 3 02:25:08 2010 +0100\n\n   The ath9k driver subtracts 3 dBm to the txpower as with two radios the\n   signal power is doubled.\n   The resulting value is assigned in an u16 which overflows and makes\n   the card work at full power.\n\nin two more places. I grepped the ath tree and didn\u0027t find any others.\n\nCc: stable@kernel.org\nSigned-off-by: Daniel Halperin \u003cdhalperi@cs.washington.edu\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "333ba7325213f0a09dfa5ceeddb056d6ad74b3b5",
      "tree": "9dff6d71d30b863a30bc07c22326e32cd573eea5",
      "parents": [
        "1144181c1bc054dc5e001a6f10b4820167e6c883"
      ],
      "author": {
        "name": "Eliad Peller",
        "email": "eliad@wizery.com",
        "time": "Sun May 29 15:53:20 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 01 14:34:01 2011 -0400"
      },
      "message": "cfg80211: don\u0027t drop p2p probe responses\n\nCommit 0a35d36 (\"cfg80211: Use capability info to detect mesh beacons\")\nassumed that probe response with both ESS and IBSS bits cleared\nmeans that the frame was sent by a mesh sta.\n\nHowever, these capabilities are also being used in the p2p_find phase,\nand the mesh-validation broke it.\n\nRename the WLAN_CAPABILITY_IS_MBSS macro, and verify that mesh ies\nexist before assuming this frame was sent by a mesh sta.\n\nSigned-off-by: Eliad Peller \u003celiad@wizery.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9b83c771214cf6a256ee875050e6eaf320cf7983",
      "tree": "39b5308ea40a47d19cefab98721402296b78a246",
      "parents": [
        "6464920a6e30604cb71d0ecbaa20e35009bd76fb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri May 27 09:27:16 2011 +0300"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jun 01 09:28:21 2011 -0400"
      },
      "message": "xen/blkback: potential null dereference in error handling\n\nblkbk-\u003epending_pages can be NULL here so I added a check for it.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\n[v1: Redid the loop a bit]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "6464920a6e30604cb71d0ecbaa20e35009bd76fb",
      "tree": "e4b8e6a06c6548d739176988c0bbdc21cafa40eb",
      "parents": [
        "4c49ff3fe128ca68dabd07537415c419ad7f82f9"
      ],
      "author": {
        "name": "Laszlo Ersek",
        "email": "lersek@redhat.com",
        "time": "Wed May 25 12:24:25 2011 +0200"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jun 01 09:28:20 2011 -0400"
      },
      "message": "xen/blkback: don\u0027t call vbd_size() if bd_disk is NULL\n\n...because vbd_size() dereferences bd_disk if bd_part is NULL.\n\nSigned-off-by: Laszlo Ersek\u003clersek@redhat.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "3f303103b884ca577908d3e5c0650ad12e40c586",
      "tree": "021b8baeba20df329b60798ad4fb55f280b0cbda",
      "parents": [
        "5c6cce92bc8aee751aafe82c5d9caf7553226a3d",
        "63da029015b5255915cd6d61f19ffc276ad4635d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 21:47:39 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 21:47:39 2011 +0900"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  mtd: fix physmap.h warnings\n"
    },
    {
      "commit": "70e535d1e5d1e4317e894d6228b762cf9c3fbc6a",
      "tree": "2c7ed5f263440c6a7302c19a31827488eade9ea5",
      "parents": [
        "8519dc4401ddf8a5399f979870bbeeadbc111186"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue May 31 00:22:52 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:48:21 2011 +0100"
      },
      "message": "intel-iommu: Fix off-by-one in RMRR setup\n\nWe were mapping an extra byte (and hence usually an extra page):\niommu_prepare_identity_map() expects to be given an \u0027end\u0027 argument which\nis the last byte to be mapped; not the first byte *not* to be mapped.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "8519dc4401ddf8a5399f979870bbeeadbc111186",
      "tree": "a1eb0bc0fa29b955a757a1e1c1c76f569e6be4ee",
      "parents": [
        "825507d6d059f1cbe2503e0e5a3926225b983aec"
      ],
      "author": {
        "name": "Mike Habeck",
        "email": "habeck@sgi.com",
        "time": "Sat May 28 13:15:07 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:48 2011 +0100"
      },
      "message": "intel-iommu: Add domain check in domain_remove_one_dev_info\n\nThe comment in domain_remove_one_dev_info() states \"No need to compare\nPCI domain; it has to be the same\". But for the si_domain that isn\u0027t\ngoing to be true, as it consists of all the PCI devices that are\nidentity mapped thus multiple PCI domains can be in si_domain.  The\ncode needs to validate the PCI domain too.\n\nSigned-off-by: Mike Habeck \u003chabeck@sgi.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "825507d6d059f1cbe2503e0e5a3926225b983aec",
      "tree": "8f191cb5c4704a4710c7b89b81d9629206714d3b",
      "parents": [
        "c681d0ba1252954208220ad32248a3e8e2fc98e4"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat May 28 13:15:06 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:46 2011 +0100"
      },
      "message": "intel-iommu: Remove Host Bridge devices from identity mapping\n\nWhen using the 1:1 (identity) PCI DMA remapping, PCI Host Bridge devices\nthat do not use the IOMMU causes a kernel panic.  Fix that by not\ninserting those devices into the si_domain.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Mike Habeck \u003chabeck@sgi.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "c681d0ba1252954208220ad32248a3e8e2fc98e4",
      "tree": "fe74fdee4fa76e743aa0e8d2d22f958b1a1c710e",
      "parents": [
        "1c9fc3d11b84fbd0c4f4aa7855702c2a1f098ebb"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat May 28 13:15:05 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:45 2011 +0100"
      },
      "message": "intel-iommu: Use coherent DMA mask when requested\n\nThe __intel_map_single function is not honoring the passed in DMA mask.\nThis results in not using the coherent DMA mask when called from\nintel_alloc_coherent().\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nReviewed-by: Mike Habeck \u003chabeck@sgi.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "1c9fc3d11b84fbd0c4f4aa7855702c2a1f098ebb",
      "tree": "c06f2bcc3b5aa5d0cb0869815e6247afc736ea7a",
      "parents": [
        "cb452a4040bb051d92e85d6e7eb60c11734c1781"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Sat May 28 13:15:04 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:40 2011 +0100"
      },
      "message": "intel-iommu: Dont cache iova above 32bit\n\nMike Travis and Mike Habeck reported an issue where iova allocation\nwould return a range that was larger than a device\u0027s dma mask.\n\nhttps://lkml.org/lkml/2011/3/29/423\n\nThe dmar initialization code will reserve all PCI MMIO regions and copy\nthose reservations into a domain specific iova tree.  It is possible for\none of those regions to be above the dma mask of a device.  It is typical\nto allocate iovas with a 32bit mask (despite device\u0027s dma mask possibly\nbeing larger) and cache the result until it exhausts the lower 32bit\naddress space.  Freeing the iova range that is \u003e\u003d the last iova in the\nlower 32bit range when there is still an iova above the 32bit range will\ncorrupt the cached iova by pointing it to a region that is above 32bit.\nIf that region is also larger than the device\u0027s dma mask, a subsequent\nallocation will return an unusable iova and cause dma failure.\n\nSimply don\u0027t cache an iova that is above the 32bit caching boundary.\n\nReported-by: Mike Travis \u003ctravis@sgi.com\u003e\nReported-by: Mike Habeck \u003chabeck@sgi.com\u003e\nCc: stable@kernel.org\nAcked-by: Mike Travis \u003ctravis@sgi.com\u003e\nTested-by: Mike Habeck \u003chabeck@sgi.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "cb452a4040bb051d92e85d6e7eb60c11734c1781",
      "tree": "ef19298ec70274c9c199fa74a4f08e77cc69080b",
      "parents": [
        "8fcc5372fbac085199d84a880503ed67aba3fe49"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat May 28 13:15:03 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:36 2011 +0100"
      },
      "message": "intel-iommu: Speed up processing of the identity_mapping function\n\nWhen there are a large count of PCI devices, and the pass through\noption for iommu is set, much time is spent in the identity_mapping\nfunction hunting though the iommu domains to check if a specific\ndevice is \"identity mapped\".\n\nSpeed up the function by checking the cached info to see if\nit\u0027s mapped to the static identity domain.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Mike Habeck \u003chabeck@sgi.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "8fcc5372fbac085199d84a880503ed67aba3fe49",
      "tree": "aab84e5ac18fa8028efa49e2cc47a5b97d873916",
      "parents": [
        "9b4554b21ed07e8556405510638171f0c787742a"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@sous-sol.org",
        "time": "Sat May 28 13:15:02 2011 -0500"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:34 2011 +0100"
      },
      "message": "intel-iommu: Check for identity mapping candidate using system dma mask\n\nThe identity mapping code appears to make the assumption that if the\ndevices dma_mask is greater than 32bits the device can use identity\nmapping.  But that is not true: take the case where we have a 40bit\ndevice in a 44bit architecture. The device can potentially receive a\nphysical address that it will truncate and cause incorrect addresses\nto be used.\n\nInstead check to see if the device\u0027s dma_mask is large enough\nto address the system\u0027s dma_mask.\n\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nReviewed-by: Mike Habeck \u003chabeck@sgi.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "9b4554b21ed07e8556405510638171f0c787742a",
      "tree": "384c8517f6aee9a09a43ac55c7d0cbadc3d2ee23",
      "parents": [
        "6dd9a7c73761a8a5f5475d5cfdc15368a0f4c06d"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@redhat.com",
        "time": "Tue May 24 12:19:04 2011 -0400"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:47:29 2011 +0100"
      },
      "message": "intel-iommu: Only unlink device domains from iommu\n\nCommit a97590e5 added unlinking domains from iommus to reciprocate the\niommu from domains unlinking that was already done.  We actually want\nto only do this for device domains and never for the static\nidentity map domain or VM domains.  The SI domain is special and\nnever freed, while VM domain-\u003eid lives in their own special address\nspace, separate from iommu-\u003edomain_ids.\n\nIn the current code, a VM can get domain-\u003eid zero, then mark that\ndomain unused when unbound from pci-stub.  This leads to DMAR\nwrite faults when the device is re-bound to the host driver.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "6dd9a7c73761a8a5f5475d5cfdc15368a0f4c06d",
      "tree": "cb685e370cc1cb2dec39b29500bdd22fd1814596",
      "parents": [
        "7b668357810ecb5fdda4418689d50f5d95aea6a8"
      ],
      "author": {
        "name": "Youquan Song",
        "email": "youquan.song@intel.com",
        "time": "Wed May 25 19:13:49 2011 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 12:26:35 2011 +0100"
      },
      "message": "intel-iommu: Enable super page (2MiB, 1GiB, etc.) support\n\nThere are no externally-visible changes with this. In the loop in the\ninternal __domain_mapping() function, we simply detect if we are mapping:\n  - size \u003e\u003d 2MiB, and\n  - virtual address aligned to 2MiB, and\n  - physical address aligned to 2MiB, and\n  - on hardware that supports superpages.\n\n(and likewise for larger superpages).\n\nWe automatically use a superpage for such mappings. We never have to\nworry about *breaking* superpages, since we trust that we will always\n*unmap* the same range that was mapped. So all we need to do is ensure\nthat dma_pte_clear_range() will also cope with superpages.\n\nAdjust pfn_to_dma_pte() to take a superpage \u0027level\u0027 as an argument, so\nit can return a PTE at the appropriate level rather than always\nextending the page tables all the way down to level 1. Again, this is\nsimplified by the fact that we should never encounter existing small\npages when we\u0027re creating a mapping; any old mapping that used the same\nvirtual range will have been entirely removed and its obsolete page\ntables freed.\n\nProvide an \u0027intel_iommu\u003dsp_off\u0027 argument on the command line as a\nchicken bit. Not that it should ever be required.\n\n\u003d\u003d\n\nThe original commit seen in the iommu-2.6.git was Youquan\u0027s\nimplementation (and completion) of my own half-baked code which I\u0027d\ntyped into an email. Followed by half a dozen subsequent \u0027fixes\u0027.\n\nI\u0027ve taken the unusual step of rewriting history and collapsing the\noriginal commits in order to keep the main history simpler, and make\nlife easier for the people who are going to have to backport this to\nolder kernels. And also so I can give it a more coherent commit comment\nwhich (hopefully) gives a better explanation of what\u0027s going on.\n\nThe original sequence of commits leading to identical code was:\n\nYouquan Song (3):\n      intel-iommu: super page support\n      intel-iommu: Fix superpage alignment calculation error\n      intel-iommu: Fix superpage level calculation error in dma_pfn_level_pte()\n\nDavid Woodhouse (4):\n      intel-iommu: Precalculate superpage support for dmar_domain\n      intel-iommu: Fix hardware_largepage_caps()\n      intel-iommu: Fix inappropriate use of superpages in __domain_mapping()\n      intel-iommu: Fix phys_pfn in __domain_mapping for sglist pages\n\nSigned-off-by: Youquan Song \u003cyouquan.song@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "63da029015b5255915cd6d61f19ffc276ad4635d",
      "tree": "77e1110712e7adff87fcfc0db80310ff736a285f",
      "parents": [
        "29a6ccca3869bbe33879dae0cd7df2a1559eff54"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 23 11:37:09 2011 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Wed Jun 01 11:36:49 2011 +0100"
      },
      "message": "mtd: fix physmap.h warnings\n\nFix build warnings in physmap.h:\n\ninclude/linux/mtd/physmap.h:25: warning: \u0027struct platform_device\u0027 declared inside parameter list\ninclude/linux/mtd/physmap.h:25: warning: its scope is only this definition or declaration, which is probably not what you want\ninclude/linux/mtd/physmap.h:26: warning: \u0027struct platform_device\u0027 declared inside parameter list\ninclude/linux/mtd/physmap.h:27: warning: \u0027struct platform_device\u0027 declared inside parameter list\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "da8b94ea61c5d80aae0cc7b7541f1e0fa7459391",
      "tree": "5d0b7c64b7f5afd9c9b2c528ed08e7d8a0d97859",
      "parents": [
        "efcfde54ca68091b164f9aec544c7233a9760aff"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:58:19 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: fix recovery broken by the previous recovery fix\n\nUnfortunately, the recovery fix d1606a59b6be4ea392eabd40d1250aa1eeb19efb\n(UBIFS: fix extremely rare mount failure) broke recovery. This commit make\nUBIFS drop the last min. I/O unit in all journal heads, but this is needed only\nfor the GC head. And this does not work for non-GC heads. For example, if\nsuppose we have min. I/O units A and B, and A contains a valid node X, which\nwas fsynced, and then a group of nodes Y which spans the rest of A and B. In\nthis case we\u0027ll drop not only Y, but also X, which is obviously incorrect.\n\nThis patch fixes the issue and additionally makes recovery to drop last min.\nI/O unit only for the GC head, and leave things as they have been for ages for\nthe other heads - this is safer.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "efcfde54ca68091b164f9aec544c7233a9760aff",
      "tree": "f94cd590448a23c2ba7c6566dcbeb72eb3f3dd1d",
      "parents": [
        "1a0b06997ceca96db9259e537eb935f9fe59a3de"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:36:52 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: amend ubifs_recover_leb interface\n\nInstead of passing \"grouped\" parameter to \u0027ubifs_recover_leb()\u0027 which tells\nwhether the nodes are grouped in the LEB to recover, pass the journal head\nnumber and let \u0027ubifs_recover_leb()\u0027 look at the journal head\u0027s \u0027grouped\u0027 flag.\n\nThis patch is a preparation to a further fix where we\u0027ll need to know the\njournal head number for other purposes.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "1a0b06997ceca96db9259e537eb935f9fe59a3de",
      "tree": "0428c1bb46987ae0deb05061d74f8c639ac879c8",
      "parents": [
        "ab75950b11e74145ffe61376ac073d56645aab8a"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 08:26:05 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:06 2011 +0300"
      },
      "message": "UBIFS: introduce a \"grouped\" journal head flag\n\nJournal heads are different in a way how UBIFS writes nodes there. All normal\njournal heads receive grouped nodes, while the GC journal heads receives\nungrouped nodes. This patch adds a \u0027grouped\u0027 flag to \u0027struct ubifs_jhead\u0027 which\ndescribes this property.\n\nThis patch is a preparation to a further recovery fix.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ab75950b11e74145ffe61376ac073d56645aab8a",
      "tree": "8c4a2548e00f6ed83fc209edcccc729fac76708e",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu May 26 06:51:48 2011 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed Jun 01 12:29:05 2011 +0300"
      },
      "message": "UBIFS: supress false error messages\n\nCommit ab51afe05273741f72383529ef488aa1ea598ec6 was a good clean-up, but\nit introduced a regression - now UBIFS prints scary error messages during\nrecovery on all corrupted nodes, even though the corruptions are expected\n(due to a power cut). This patch fixes the issue.\n\nAdditionally fix a typo in a commentary introduced by the same commit.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "5c6cce92bc8aee751aafe82c5d9caf7553226a3d",
      "tree": "d46ddaa86089148e39ba91ddf58430bb1d235748",
      "parents": [
        "603d04b2010976a52f62b7633f9999d104046900",
        "a5b2c5b2ad5853591a6cac6134cd0f599a720865"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 16:35:37 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 16:35:37 2011 +0900"
      },
      "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  AppArmor: fix oops in apparmor_setprocattr\n"
    },
    {
      "commit": "603d04b2010976a52f62b7633f9999d104046900",
      "tree": "884a5db96f4254cda481423fcaa18bae7e2a4c67",
      "parents": [
        "e12ca23d41bd157354a5d1aadff30211a410c53a"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Sat May 28 10:04:25 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 16:35:01 2011 +0900"
      },
      "message": "kgdbts: only use new asm-generic/ptrace.h api when needed\n\nThe new instruction_pointer_set helper is defined for people who have\nconverted to asm-generic/ptrace.h, so don\u0027t use it generally unless\nthe arch needs it (in which case it has been converted).  This should\nfix building of kgdb tests for arches not yet converted.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nAcked-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c49ff3fe128ca68dabd07537415c419ad7f82f9",
      "tree": "58898648d2b9d896804fa98fce9eecb2724e2a75",
      "parents": [
        "4495a7d41dbda03841c2a1c2a5ce7135a45131ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Jun 01 08:27:41 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Wed Jun 01 08:28:47 2011 +0200"
      },
      "message": "block: blkdev_get() should access -\u003ebd_disk only after success\n\nd4dc210f69 (block: don\u0027t block events on excl write for non-optical\ndevices) added dereferencing of bdev-\u003ebd_disk to test\nGENHD_FL_BLOCK_EVENTS_ON_EXCL_WRITE; however, bdev-\u003ebd_disk can be\n%NULL if open failed which can lead to an oops.\n\nTest the flag after testing open was successful, not before.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: David Miller \u003cdavem@davemloft.net\u003e\nTested-by: David Miller \u003cdavem@davemloft.net\u003e\nCc: stable@kernel.org\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "a5b2c5b2ad5853591a6cac6134cd0f599a720865",
      "tree": "e49bdfe8a1bdcc1a15219d1d940a1776bb79446a",
      "parents": [
        "e12ca23d41bd157354a5d1aadff30211a410c53a"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Tue May 31 11:31:41 2011 -0700"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Wed Jun 01 13:07:03 2011 +1000"
      },
      "message": "AppArmor: fix oops in apparmor_setprocattr\n\nWhen invalid parameters are passed to apparmor_setprocattr a NULL deref\noops occurs when it tries to record an audit message. This is because\nit is passing NULL for the profile parameter for aa_audit. But aa_audit\nnow requires that the profile passed is not NULL.\n\nFix this by passing the current profile on the task that is trying to\nsetprocattr.\n\nSigned-off-by: Kees Cook \u003ckees@ubuntu.com\u003e\nSigned-off-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\nCc: stable@kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "948252cb9e01d65a89ecadf67be5018351eee15e",
      "tree": "c26e0de3e2b938139f2673cff12520e100f0cd3b",
      "parents": [
        "930a6eac9f40e692bd9670d89bcd9ac0f4019356"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 19:27:48 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 19:28:32 2011 -0700"
      },
      "message": "Revert \"net: fix section mismatches\"\n\nThis reverts commit e5cb966c0838e4da43a3b0751bdcac7fe719f7b4.\n\nIt causes new build regressions with gcc-4.2 which is\npretty common on non-x86 platforms.\n\nReported-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "930a6eac9f40e692bd9670d89bcd9ac0f4019356",
      "tree": "9da346841ed70c260580d29e9462ad629d0f076f",
      "parents": [
        "a000c01e60e40e15304ffe48fff051d17a7bea91"
      ],
      "author": {
        "name": "Alexey Khoroshilov",
        "email": "khoroshilov@ispras.ru",
        "time": "Mon May 30 07:06:24 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 15:30:17 2011 -0700"
      },
      "message": "drivers/net/usb/catc.c: Fix potential deadlock in catc_ctrl_run()\n\ncatc_ctrl_run() calls usb_submit_urb() with GFP_KERNEL, while it is called from\ncatc_ctrl_async() and catc_ctrl_done() with catc-\u003ectrl_lock spinlock held.\n\nThe patch replaces GFP_KERNEL with GFP_ATOMIC.\n\nFound by Linux Driver Verification project (linuxtesting.org).\n\nSigned-off-by: Alexey Khoroshilov \u003ckhoroshilov@ispras.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a000c01e60e40e15304ffe48fff051d17a7bea91",
      "tree": "429060980f87287a3df70d8d286b73d6f1985cc8",
      "parents": [
        "b10cec8a4e8167075b9e1ff3f05419769e7f381a"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Sun May 29 23:23:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 31 15:29:17 2011 -0700"
      },
      "message": "sctp: stop pending timers and purge queues when peer restart asoc\n\nIf the peer restart the asoc, we should not only fail any unsent/unacked\ndata, but also stop the T3-rtx, SACK, T4-rto timers, and teardown ASCONF\nqueues.\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b10cec8a4e8167075b9e1ff3f05419769e7f381a",
      "tree": "78f82ee427a29c9b3afcd4f06968495cb757b5bf",
      "parents": [
        "48bdf072c3f1f8f739f76d19c74f4c79605cac46"
      ],
      "author": {
        "name": "Dennis Aberilla",
        "email": "dennis.aberilla@mimomax.com",
        "time": "Sun May 29 11:46:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@zippy.davemloft.net",
        "time": "Tue May 31 15:14:31 2011 -0700"
      },
      "message": "drivers/net: ks8842 Fix crash on received packet when in PIO mode.\n\nThis patch fixes a driver crash during packet reception due to not enough\nbytes allocated in the skb. Since the loop reads out 4 bytes at a time, we\nneed to allow for up to 3 bytes of slack space.\n\nSigned-off-by: Dennis Aberilla \u003cdenzzzhome@yahoo.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@zippy.davemloft.net\u003e\n"
    },
    {
      "commit": "48bdf072c3f1f8f739f76d19c74f4c79605cac46",
      "tree": "0cf0f1600892a781949451df0087b2407522a5ed",
      "parents": [
        "11ad2f52826ac6d58d6780d3d8a3e098c88d9142"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Sun May 29 10:55:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@zippy.davemloft.net",
        "time": "Tue May 31 15:11:02 2011 -0700"
      },
      "message": "ip_options_compile: properly handle unaligned pointer\n\nThe current code takes an unaligned pointer and does htonl() on it to\nmake it big-endian, then does a memcpy().  The problem is that the\ncompiler decides that since the pointer is to a __be32, it is legal\nto optimize the copy into a processor word store.  However, on an\narchitecture that does not handled unaligned writes in kernel space,\nthis produces an unaligned exception fault.\n\nThe solution is to track the pointer as a \"char *\" (which removes a bunch\nof unpleasant casts in any case), and then just use put_unaligned_be32()\nto write the value to memory.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@zippy.davemloft.net\u003e\n"
    },
    {
      "commit": "e12ca23d41bd157354a5d1aadff30211a410c53a",
      "tree": "e195ce5b9cf9d83fdef9fa5c8bcef132b9ade567",
      "parents": [
        "850761b2b13aec5d4f9935199e917f9a4ae00cce",
        "7a66f784375c5922315bbe879b789ee50b924d26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 06:45:08 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 06:45:08 2011 +0900"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  virtio_net: delay TX callbacks\n  virtio: add api for delayed callbacks\n  virtio_test: support event index\n  vhost: support event index\n  virtio_ring: support event idx feature\n  virtio ring: inline function to check for events\n  virtio: event index interface\n  virtio: add full three-clause BSD text to headers.\n  virtio balloon: kill tell-host-first logic\n  virtio console: don\u0027t manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT.\n  drivers, block: virtio_blk: Replace cryptic number with the macro\n  virtio_blk: allow re-reading config space at runtime\n  lguest: remove support for VIRTIO_F_NOTIFY_ON_EMPTY.\n  lguest: fix up compilation after move\n  lguest: fix timer interrupt setup\n"
    },
    {
      "commit": "850761b2b13aec5d4f9935199e917f9a4ae00cce",
      "tree": "0b45332cc3f1c7eda037c0e60d4a4415754c6c31",
      "parents": [
        "af0d6a0a3a30946f7df69c764791f1b0643f7cd6",
        "83caba8436b28bd9081013fd840424983127d4ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 06:44:10 2011 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jun 01 06:44:10 2011 +0900"
      },
      "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] wire up sendmmsg() syscall for Itanium\n"
    },
    {
      "commit": "1144181c1bc054dc5e001a6f10b4820167e6c883",
      "tree": "bdd36e2b480c594c11451d9bc7c8d03d47c93b20",
      "parents": [
        "59342f6a6bc35df623fb44784daa5e1077063b8f"
      ],
      "author": {
        "name": "Wey-Yi Guy",
        "email": "wey-yi.w.guy@intel.com",
        "time": "Mon May 30 09:32:52 2011 -0700"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:51:53 2011 -0400"
      },
      "message": "iwlagn: fix incorrect PCI subsystem id for 6150 devices\n\nFor 6150 devices, modify the supported PCI subsystem ID.\n\nCc: stable@kernel.org\nSigned-off-by: Wey-Yi Guy \u003cwey-yi.w.guy@intel.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "59342f6a6bc35df623fb44784daa5e1077063b8f",
      "tree": "612d3ec8c09d18fb0a97f841a535de8b25e46ada",
      "parents": [
        "66870b1ccd5c1460e437c18b0026e2dcaab1ece9"
      ],
      "author": {
        "name": "Jussi Kivilinna",
        "email": "jussi.kivilinna@mbnet.fi",
        "time": "Mon May 30 10:15:47 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:26 2011 -0400"
      },
      "message": "zd1211rw: fix to work on OHCI\n\nzd1211 devices register \u0027EP 4 OUT\u0027 endpoint as Interrupt type on USB 2.0:\n\n      Endpoint Descriptor:\n        bLength                 7\n        bDescriptorType         5\n        bEndpointAddress     0x04  EP 4 OUT\n        bmAttributes            3\n          Transfer Type            Interrupt\n          Synch Type               None\n          Usage Type               Data\n        wMaxPacketSize     0x0040  1x 64 bytes\n        bInterval               1\n\nHowever on USB 1.1 endpoint becomes Bulk:\n\n      Endpoint Descriptor:\n        bLength                 7\n        bDescriptorType         5\n        bEndpointAddress     0x04  EP 4 OUT\n        bmAttributes            2\n          Transfer Type            Bulk\n          Synch Type               None\n          Usage Type               Data\n        wMaxPacketSize     0x0040  1x 64 bytes\n        bInterval               0\n\nCommit 37939810b937aba830dd751291fcdc51cae1a6cb assumed that endpoint is\nalways interrupt type and changed usb_bulk_msg() calls to usb_interrupt_msg().\n\nProblem here is that usb_bulk_msg() on interrupt endpoint selfcorrects the\ncall and changes requested pipe to interrupt type (see usb_bulk_msg).\nHowever with usb_interrupt_msg() on bulk endpoint does not correct the\npipe type to bulk, but instead URB is submitted with interrupt type pipe.\n\nSo pre-2.6.39 used usb_bulk_msg() and therefore worked with both endpoint\ntypes, however in 2.6.39 usb_interrupt_msg() with bulk endpoint causes\nohci_hcd to fail submitted URB instantly with -ENOSPC and preventing zd1211rw\nfrom working with OHCI.\n\nFix this by detecting endpoint type and using correct endpoint/pipe types\nfor URB. Also fix asynchronous zd_usb_iowrite16v_async() to use right\nURB type on \u0027EP 4 OUT\u0027.\n\nCc: stable@kernel.org\nSigned-off-by: Jussi Kivilinna \u003cjussi.kivilinna@mbnet.fi\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "66870b1ccd5c1460e437c18b0026e2dcaab1ece9",
      "tree": "0067c12e2014b4e4aa58ca6204236618515b3d79",
      "parents": [
        "50a66d7f04adbfab9db55144c58dc693358cb635"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri May 27 15:34:48 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:26 2011 -0400"
      },
      "message": "wl12xx: fix oops in sched_scan when forcing a passive scan\n\nFix kernel oops when trying to use passive scheduled scans.  The\nreason was that in passive scans there are no SSIDs, so there was a\nNULL pointer dereference.\n\nTo solve the problem, we now check the number of SSIDs provided in the\nsched_scan request and only access the list if there\u0027s one or more\n(ie. passive scan is not forced).  We also force all the channels to\nbe passive by adding the IEEE80211_CHAN_PASSIVE_SCAN flag locally\nbefore the checks in the wl1271_scan_get_sched_scan_channels()\nfunction.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "50a66d7f04adbfab9db55144c58dc693358cb635",
      "tree": "5b332a377b92a58991666a57fbaa274d15a7797b",
      "parents": [
        "2497a246e880d1fb537f754f551177c01fa39242"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri May 27 15:34:47 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:25 2011 -0400"
      },
      "message": "wl12xx: add separate config value for DFS dwell time on sched scan\n\nUse a different value for DFS dwell time when performing a scheduled\nscan.  Previously we were using the same value as for normal passive\nscans.  This adds some flexibility between these two different types\nof passive scan.\n\nFor now we use 150 TUs for DFS channel dwell time.  This may need to\nbe fine-tuned in the future.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2497a246e880d1fb537f754f551177c01fa39242",
      "tree": "530cd6f0533ae65ec3336e3b85e7f94f051d54d7",
      "parents": [
        "dd08682150e1815fe5cdd0673a2f2e9cd2d55a7a"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri May 27 15:34:46 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:25 2011 -0400"
      },
      "message": "wl12xx: fix DFS channels handling in scheduled scan\n\nDFS channels were never getting included in the scheduled scans,\nbecause they always contain the passive flag as well and the call was\nasking for DFS and active channels.\n\nFix this by ignoring the passive flag when collecting DFS channels.\nAlso, move the DFS channels in the channel list before the 5GHz active\nchannels (this was implemented in the FW differently than specified).\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "dd08682150e1815fe5cdd0673a2f2e9cd2d55a7a",
      "tree": "3c52564a8c92cb75c0b9fa49a91809412c1bdaeb",
      "parents": [
        "71005be40a7fc95edda3cc462361ce0243e4f5fa"
      ],
      "author": {
        "name": "Luciano Coelho",
        "email": "coelho@ti.com",
        "time": "Fri May 27 15:34:45 2011 +0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:24 2011 -0400"
      },
      "message": "wl12xx: fix passive and radar channel generation for scheduled scan\n\nWe were comparing bitwise AND results with a boolean, so when the\nboolean was set to true, it was not matching as it should.\n\nFix this by booleanizing the bitwise AND results with !!.\n\nSigned-off-by: Luciano Coelho \u003ccoelho@ti.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "71005be40a7fc95edda3cc462361ce0243e4f5fa",
      "tree": "d2787b9d02c8a77cffa1028e079856b7fbae50cd",
      "parents": [
        "11ad2f52826ac6d58d6780d3d8a3e098c88d9142"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Thu May 26 21:31:08 2011 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue May 31 14:47:23 2011 -0400"
      },
      "message": "libertas: Set command sequence number later to ensure consistency\n\nBefore this patch, the command sequence number is being set before\nlbs_queue_cmd() adds the command to the queue. However, lbs_queue_cmd()\nsometimes forces commands to queue-jump (e.g. CMD_802_11_WAKEUP_CONFIRM).\nIt currently does this without considering that sequence numbers might need\nadjusting to keep things running in order.\n\nFix this by setting the sequence number at a later stage, just before\nwe\u0027re actually submitting the command to the hardware. Also fixes a\npossible race where seqnum was being modified outside of the driver\nlock.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nAcked-by: Dan Williams \u003cdcbw@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4495a7d41dbda03841c2a1c2a5ce7135a45131ba",
      "tree": "9c5044963151f3c058d9e20ef88c4a856497fe27",
      "parents": [
        "ea9d6553b3b3044e7374774cc33bb1b2eee19dd3"
      ],
      "author": {
        "name": "Kyungmin Park",
        "email": "kyungmin.park@samsung.com",
        "time": "Tue May 31 10:04:09 2011 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue May 31 19:49:44 2011 +0200"
      },
      "message": "CFQ: Fix typo and remove unnecessary semicolon\n\nFix comment typo and remove unnecessary semicolon at macro\n\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "83caba8436b28bd9081013fd840424983127d4ca",
      "tree": "da15a602e99fec3eac04508e36799a98a6c0b666",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue May 31 10:09:24 2011 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue May 31 10:09:24 2011 -0700"
      },
      "message": "[IA64] wire up sendmmsg() syscall for Itanium\n\nAdd entries in unistd.h and entry.S to make this new syscall visible.\n\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    }
  ],
  "next": "af0d6a0a3a30946f7df69c764791f1b0643f7cd6"
}
