)]}'
{
  "commit": "6405f7f4675884b671bee66678e1c2859bdb0e56",
  "tree": "31f0e42b011de36976f5a50b86aee7132f6b82b4",
  "parents": [
    "c0c0b649d67aa775aa9851de61aade17504be70c"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@tv-sign.ru",
    "time": "Fri Feb 08 04:19:00 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri Feb 08 09:22:26 2008 -0800"
  },
  "message": "ptrace_stop: fix the race with ptrace detach+attach\n\nIf the tracer went away (may_ptrace_stop() failed), ptrace_stop() drops\ntasklist and then changes the -\u003estate from TASK_TRACED to TASK_RUNNING.\n\nThis can fool another tracer which attaches to us in between.  Change the\n-\u003estate under tasklist_lock to ensure that ptrace_check_attach() can\u0027t wrongly\nsucceed.  Also, remove the unnecessary mb().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6d6d1ab39e7e3f7dbeea0800a59e336bf4865137",
      "old_mode": 33188,
      "old_path": "kernel/signal.c",
      "new_id": "678bffa437c1fceae1e0da4132db5950f0534b8e",
      "new_mode": 33188,
      "new_path": "kernel/signal.c"
    }
  ]
}
