)]}'
{
  "commit": "964ee7df90d799e38fb1556c57cd5c45fc736436",
  "tree": "58ae7325f80394cb86409d5876c710376dde8e1a",
  "parents": [
    "61be228a06dc6e8662f30e89eda3c12083c1f379"
  ],
  "author": {
    "name": "Oleg Nesterov",
    "email": "oleg@redhat.com",
    "time": "Wed Sep 23 15:56:59 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Sep 24 07:21:01 2009 -0700"
  },
  "message": "exec: fix set_binfmt() vs sys_delete_module() race\n\nsys_delete_module() can set MODULE_STATE_GOING after\nsearch_binary_handler() does try_module_get().  In this case\nset_binfmt()-\u003etry_module_get() fails but since none of the callers\ncheck the returned error, the task will run with the wrong old\n-\u003ebinfmt.\n\nThe proper fix should change all -\u003eload_binary() methods, but we can\nrely on fact that the caller must hold a reference to binfmt-\u003emodule\nand use __module_get() which never fails.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Hiroshi Shimamoto \u003ch-shimamoto@ct.jp.nec.com\u003e\nCc: Roland McGrath \u003croland@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": "8efbdc606a1e9be84eff1dc72872a7f49d8545db",
      "old_mode": 33188,
      "old_path": "fs/exec.c",
      "new_id": "6dc92c39dd944d5493fffc3890862352d7672d27",
      "new_mode": 33188,
      "new_path": "fs/exec.c"
    },
    {
      "type": "modify",
      "old_id": "2046b5b8af48ae094d0182b143450b5459b67b30",
      "old_mode": 33188,
      "old_path": "include/linux/binfmts.h",
      "new_id": "aece486ac7349b8463ace95585b2fa9379a04ab3",
      "new_mode": 33188,
      "new_path": "include/linux/binfmts.h"
    }
  ]
}
