)]}'
{
  "commit": "3a2e7f47d71e1df86acc1dda6826890b6546a4e1",
  "tree": "3c5856f67af25a80a4d934e754f437936c7b1bbf",
  "parents": [
    "cbd9b67bd3883dff0ef4b8ec9229d315a9ba38f0"
  ],
  "author": {
    "name": "Pavel Emelyanov",
    "email": "xemul@openvz.org",
    "time": "Tue Apr 29 00:59:24 2008 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue Apr 29 08:06:04 2008 -0700"
  },
  "message": "binfmt_misc.c: avoid potential kernel stack overflow\n\nThis can be triggered with root help only, but...\n\nRegister the \":text:E::txt::/root/cat.txt:\u0027 rule in binfmt_misc (by root) and\ntry launching the cat.txt file (by anyone) :) The result is - the endless\nrecursion in the load_misc_binary -\u003e open_exec -\u003e load_misc_binary chain and\nstack overflow.\n\nThere\u0027s a similar problem with binfmt_script, and there\u0027s a sh_bang memner on\nlinux_binprm structure to handle this, but simply raising this in binfmt_misc\nmay break some setups when the interpreter of some misc binaries is a script.\n\nSo the proposal is to turn sh_bang into a bit, add a new one (the misc_bang)\nand raise it in load_misc_binary.  After this, even if we set up the misc -\u003e\nscript -\u003e misc loop for binfmts one of them will step on its own bang and\nexit.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "f95ae9789c913d81d0df5d17250bced9c5479855",
      "old_mode": 33188,
      "old_path": "fs/binfmt_em86.c",
      "new_id": "f9c88d0c8cedeabcfdca1a5f81a51e1e293a59ea",
      "new_mode": 33188,
      "new_path": "fs/binfmt_em86.c"
    },
    {
      "type": "modify",
      "old_id": "dbf0ac0523de14d49edcc58b43ab7c62a407e406",
      "old_mode": 33188,
      "old_path": "fs/binfmt_misc.c",
      "new_id": "7191306367c5d11912ceed01c5fce4925b528eba",
      "new_mode": 33188,
      "new_path": "fs/binfmt_misc.c"
    },
    {
      "type": "modify",
      "old_id": "ab33939b12a7efb8d754fcc80b89bfc88651a33b",
      "old_mode": 33188,
      "old_path": "fs/binfmt_script.c",
      "new_id": "9e3963f7ebf19f85a1742ff034bbb518d51a6aff",
      "new_mode": 33188,
      "new_path": "fs/binfmt_script.c"
    },
    {
      "type": "modify",
      "old_id": "1dd756731c95272977888c69512662a510c2d258",
      "old_mode": 33188,
      "old_path": "include/linux/binfmts.h",
      "new_id": "b512e48f6d8e9ccbcc811c364cf73a8f85bdd58f",
      "new_mode": 33188,
      "new_path": "include/linux/binfmts.h"
    }
  ]
}
