)]}'
{
  "commit": "44fbbb3dc687c9709a6f2236197316e5c79ab1eb",
  "tree": "d3c995b1cb7e3f9ac5af09b8d78f6c839a65f35a",
  "parents": [
    "29bf5dd895219e5111099908040aecfc1509f9bb"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Apr 30 18:24:46 2012 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Fri Jun 01 13:01:51 2012 -0400"
  },
  "message": "x86: get rid of calling do_notify_resume() when returning to kernel mode\n\nIf we end up calling do_notify_resume() with !user_mode(refs), it\ndoes nothing (do_signal() explicitly bails out and we can\u0027t get there\nwith TIF_NOTIFY_RESUME in such situations).  Then we jump to\nresume_userspace_sig, which rechecks the same thing and bails out\nto resume_kernel, thus breaking the loop.\n\nIt\u0027s easier and cheaper to check *before* calling do_notify_resume()\nand bail out to resume_kernel immediately.  And kill the check in\ndo_signal()...\n\nNote that on amd64 we can\u0027t get there with !user_mode() at all - asm\nglue takes care of that.\n\nAcked-and-reviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "01ccf9b71473ce18ffe0cccf5fa09fd379dcf4cf",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/entry_32.S",
      "new_id": "623f288374763286ec9e58aa66ecabb4e3fc2f6b",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/entry_32.S"
    },
    {
      "type": "modify",
      "old_id": "e8a89374d3565af7b1a64189244ce39e1ea0d70c",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/signal.c",
      "new_id": "21af737053aad05fb726a0e1023dfad428064518",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/signal.c"
    }
  ]
}
