)]}'
{
  "commit": "8cfe400ca54fd1ed96f962bea5f7e20b09b6d69f",
  "tree": "393f1eb68d2497b04778c2e062fc4e1450df33eb",
  "parents": [
    "133f1128b2bf178a1976b17c54bd14ce6feb90bf"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Nov 26 23:07:27 2010 +0100"
  },
  "committer": {
    "name": "Rafael J. Wysocki",
    "email": "rjw@sisk.pl",
    "time": "Fri Dec 24 15:02:40 2010 +0100"
  },
  "message": "Freezer: Fix a race during freezing of TASK_STOPPED tasks\n\nAfter calling freeze_task(), try_to_freeze_tasks() see whether the\ntask is stopped or traced and if so, considers it to be frozen;\nhowever, nothing guarantees that either the task being frozen sees\nTIF_FREEZE or the freezer sees TASK_STOPPED -\u003e TASK_RUNNING\ntransition.  The task being frozen may wake up and not see TIF_FREEZE\nwhile the freezer fails to notice the transition and believes the task\nis still stopped.\n\nThis patch fixes the race by making freeze_task() always go through\nfake_signal_wake_up() for applicable tasks.  The function goes through\nthe target task\u0027s scheduler lock and thus guarantees that either the\ntarget sees TIF_FREEZE or try_to_freeze_task() sees TASK_RUNNING.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bd1d42b17cb2f52f5156506ba25d75376102af7f",
      "old_mode": 33188,
      "old_path": "kernel/freezer.c",
      "new_id": "66ecd2ead215a9cb88ca8ae9f674e1c82766a066",
      "new_mode": 33188,
      "new_path": "kernel/freezer.c"
    },
    {
      "type": "modify",
      "old_id": "e50b4c1b2a0f7f8943acb041b5d8ab202c40d5cd",
      "old_mode": 33188,
      "old_path": "kernel/power/process.c",
      "new_id": "eb2c88a9e5623efcbcd16b6a6c90fd2e19497885",
      "new_mode": 33188,
      "new_path": "kernel/power/process.c"
    }
  ]
}
