)]}'
{
  "commit": "9da33de62431c7839f98156720862262272a8380",
  "tree": "1a05e4bab566cf0aeba5890e536387c0859012ac",
  "parents": [
    "ac3d0da8f3290b3d394cdb7f50604424a7cd6092"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Sun Aug 26 21:12:11 2012 +0200"
  },
  "committer": {
    "name": "Ingo Molnar",
    "email": "mingo@kernel.org",
    "time": "Thu Sep 13 16:47:34 2012 +0200"
  },
  "message": "task_work: task_work_add() should not succeed after exit_task_work()\n\ned3e694d \"move exit_task_work() past exit_files() et.al\" destroyed\nthe add/exit synchronization we had, the caller itself should ensure\ntask_work_add() can\u0027t race with the exiting task.\n\nHowever, this is not convenient/simple, and the only user which tries\nto do this is buggy (see the next patch). Unless the task is current,\nthere is simply no way to do this in general.\n\nChange exit_task_work()-\u003etask_work_run() to use the dummy \"work_exited\"\nentry to let task_work_add() know it should fail.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/20120826191211.GA4228@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fb46b03b18522752538bfae6e192804e9629fc2a",
      "old_mode": 33188,
      "old_path": "include/linux/task_work.h",
      "new_id": "ca5a1cf27daeb9487303dd29d9c58a9e571ecfb4",
      "new_mode": 33188,
      "new_path": "include/linux/task_work.h"
    },
    {
      "type": "modify",
      "old_id": "f13ec0bda1d5af70713d5d237612d120141e84dd",
      "old_mode": 33188,
      "old_path": "kernel/task_work.c",
      "new_id": "65bd3c92d6f3a14cf9db95f9ab7e22c368457661",
      "new_mode": 33188,
      "new_path": "kernel/task_work.c"
    }
  ]
}
