)]}'
{
  "commit": "6d69cb87f05eef3b02370b2f7bae608ad2301a00",
  "tree": "69f38afc49df51a1a75fc5c7792ced6888af329d",
  "parents": [
    "95c3eb76dc07fd81289888ffc42948196b34b444"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Thu Apr 02 16:58:12 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Apr 02 19:04:59 2009 -0700"
  },
  "message": "ptrace: simplify ptrace_exit()-\u003eignoring_children() path\n\nignoring_children() takes parent-\u003esighand-\u003esiglock and checks\nk_sigaction[SIGCHLD] atomically.  But this buys nothing, we can\u0027t get the\n\"really\" wrong result even if we race with sigaction(SIGCHLD).  If we read\nthe \"stale\" sa_handler/sa_flags we can pretend it was changed right after\nthe check.\n\nRemove spin_lock(-\u003esiglock), and kill \"int ign\" which caches the result of\nignoring_children() which becomes rather trivial.\n\nPerhaps it makes sense to export this helper, do_notify_parent() can use\nit too.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Denys Vlasenko \u003cdvlasenk@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": "0c06b9efae3b320e2ce8284ce1790d2eaf3c00b7",
      "old_mode": 33188,
      "old_path": "kernel/exit.c",
      "new_id": "7a831142293063e88a25c3d1886d3f375f03b6f4",
      "new_mode": 33188,
      "new_path": "kernel/exit.c"
    }
  ]
}
