)]}'
{
  "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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4402105287cb7d1928b03c87ba0b7ec74f4dfd4d",
      "old_mode": 33188,
      "old_path": "fs/exec.c",
      "new_id": "a9f2b3631bdb081b17a25e4be600026bd5df4453",
      "new_mode": 33188,
      "new_path": "fs/exec.c"
    },
    {
      "type": "modify",
      "old_id": "288d952fa3b8885557363b877b49e896ee5cee35",
      "old_mode": 33188,
      "old_path": "kernel/signal.c",
      "new_id": "637a171b65b605bc788103d66c7978e0d0a01b50",
      "new_mode": 33188,
      "new_path": "kernel/signal.c"
    }
  ]
}
