)]}'
{
  "commit": "45c18b0bb579b5c1b89f8c99f1b6ffa4c586ba08",
  "tree": "2dbd334c763232ce2de46739908054639e5629c8",
  "parents": [
    "80491eb90c750fcd7d13830062f27ae9b7cc5f75"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sat Nov 04 10:06:02 2006 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sat Nov 04 10:06:02 2006 -0800"
  },
  "message": "Fix unlikely (but possible) race condition on task-\u003euser access\n\nThere\u0027s a possible race condition when doing a \"switch_uid()\" from one\nuser to another, which could race with another thread doing a signal\nallocation and looking at the old thread -\u003euser pointer as it is freed.\n\nThis explains an oops reported by Lukasz Trabinski:\n\thttp://permalink.gmane.org/gmane.linux.kernel/462241\n\nWe fix this by delaying the (reference-counted) freeing of the user\nstructure until the thread signal handler lock has been released, so\nthat we know that the signal allocation has either seen the new value or\nhas properly incremented the reference count of the old one.\n\nRace identified by Oleg Nesterov.\n\nCc: Lukasz Trabinski \u003clukasz@wsisiz.edu.pl\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Andrew Morton \u003cakpm@osdl.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6408c04242914191405dfef6a21b73948ef5ae73",
      "old_mode": 33188,
      "old_path": "kernel/user.c",
      "new_id": "220e586127a0ca9cd65b3ccfd6b01c4620fef2e7",
      "new_mode": 33188,
      "new_path": "kernel/user.c"
    }
  ]
}
