)]}'
{
  "commit": "f358166a9405e4f1d8e50d8f415c26d95505b6de",
  "tree": "7f5349d9e8b59633b9f8a7bd9bcd45ace1d21a41",
  "parents": [
    "0e44dc383787b472a7f13564c6bd8a44cc07d408"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Thu May 11 11:08:49 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Thu May 11 11:08:49 2006 -0700"
  },
  "message": "ptrace_attach: fix possible deadlock schenario with irqs\n\nEric Biederman points out that we can\u0027t take the task_lock while holding\ntasklist_lock for writing, because another CPU that holds the task lock\nmight take an interrupt that then tries to take tasklist_lock for writing.\n\nWhich would be a nasty deadlock, with one CPU spinning forever in an\ninterrupt handler (although admittedly you need to really work at\ntriggering it ;)\n\nSince the ptrace_attach() code is special and very unusual, just make it\nbe extra careful, and use trylock+repeat to avoid the possible deadlock.\n\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b0f8da80d7d487665b2cbf9b4f34ac8b011ae64a",
      "old_mode": 33188,
      "old_path": "kernel/ptrace.c",
      "new_id": "921c22ad16e40e898b2cdceda7db6ea13babb36f",
      "new_mode": 33188,
      "new_path": "kernel/ptrace.c"
    }
  ]
}
