)]}'
{
  "commit": "35c7422649ee7a3d0eb4ebd32c997eeb45f81046",
  "tree": "8baebdb9aeb46844c7e9becc5a7699c47257f86d",
  "parents": [
    "4cdd9c8931767e1c56a51a1078d33a8c340f4405"
  ],
  "author": {
    "name": "Jeremy Fitzhardinge",
    "email": "jeremy@goop.org",
    "time": "Wed May 02 19:27:15 2007 +0200"
  },
  "committer": {
    "name": "Andi Kleen",
    "email": "andi@basil.nowhere.org",
    "time": "Wed May 02 19:27:15 2007 +0200"
  },
  "message": "[PATCH] x86: deflate stack usage in lib/inflate.c\n\ninflate_fixed and huft_build together use around 2.7k of stack.  When\nusing 4k stacks, I saw stack overflows from interrupts arriving while\nunpacking the root initrd:\n\ndo_IRQ: stack overflow: 384\n [\u003cc0106b64\u003e] show_trace_log_lvl+0x1a/0x30\n [\u003cc01075e6\u003e] show_trace+0x12/0x14\n [\u003cc010763f\u003e] dump_stack+0x16/0x18\n [\u003cc0107ca4\u003e] do_IRQ+0x6d/0xd9\n [\u003cc010202b\u003e] xen_evtchn_do_upcall+0x6e/0xa2\n [\u003cc0106781\u003e] xen_hypervisor_callback+0x25/0x2c\n [\u003cc010116c\u003e] xen_restore_fl+0x27/0x29\n [\u003cc0330f63\u003e] _spin_unlock_irqrestore+0x4a/0x50\n [\u003cc0117aab\u003e] change_page_attr+0x577/0x584\n [\u003cc0117b45\u003e] kernel_map_pages+0x8d/0xb4\n [\u003cc016a314\u003e] cache_alloc_refill+0x53f/0x632\n [\u003cc016a6c2\u003e] __kmalloc+0xc1/0x10d\n [\u003cc0463d34\u003e] malloc+0x10/0x12\n [\u003cc04641c1\u003e] huft_build+0x2a7/0x5fa\n [\u003cc04645a5\u003e] inflate_fixed+0x91/0x136\n [\u003cc04657e2\u003e] unpack_to_rootfs+0x5f2/0x8c1\n [\u003cc0465acf\u003e] populate_rootfs+0x1e/0xe4\n\n(This was under Xen, but there\u0027s no reason it couldn\u0027t happen on bare\n  hardware.)\n\nThis patch mallocs the local variables, thereby reducing the stack\nusage to sane levels.\n\nAlso, up the heap size for the kernel decompressor to deal with the\nextra allocation.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Tim Yamin \u003cplasmaroo@gentoo.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Ian Molton \u003cspyro@f2s.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1d65adf5691e6fab0e66535afeb09d9b6ae62c24",
      "old_mode": 33188,
      "old_path": "arch/alpha/boot/misc.c",
      "new_id": "c00646b25f6e961862900c8e13bd69cb31a89823",
      "new_mode": 33188,
      "new_path": "arch/alpha/boot/misc.c"
    },
    {
      "type": "modify",
      "old_id": "283891c736c4a9a92ab9f336f93b23ba83dfe956",
      "old_mode": 33188,
      "old_path": "arch/arm/boot/compressed/misc.c",
      "new_id": "9b444022cb9bc76933f1fdba6dffb294723fd7ac",
      "new_mode": 33188,
      "new_path": "arch/arm/boot/compressed/misc.c"
    },
    {
      "type": "modify",
      "old_id": "f17f50e5516fef6797d3ae4ee3b457b7416e6125",
      "old_mode": 33188,
      "old_path": "arch/arm26/boot/compressed/misc.c",
      "new_id": "0714d19c577636f655889726efbeabb887cfca24",
      "new_mode": 33188,
      "new_path": "arch/arm26/boot/compressed/misc.c"
    },
    {
      "type": "modify",
      "old_id": "1ce7017fd62706ccb02e1d5b34c683bd6537677c",
      "old_mode": 33188,
      "old_path": "arch/i386/boot/compressed/misc.c",
      "new_id": "b28505c544c9ca60306c5029326fb82b16ef4b95",
      "new_mode": 33188,
      "new_path": "arch/i386/boot/compressed/misc.c"
    },
    {
      "type": "modify",
      "old_id": "fed1167159c342a3bda42fd560eda1b7537711fb",
      "old_mode": 33188,
      "old_path": "arch/x86_64/boot/compressed/misc.c",
      "new_id": "f932b0e89096afaf0eefdcf723a27d1957c4a3d5",
      "new_mode": 33188,
      "new_path": "arch/x86_64/boot/compressed/misc.c"
    },
    {
      "type": "modify",
      "old_id": "6db6e98d1637b58764d3356a52ecff7216dfe3ed",
      "old_mode": 33188,
      "old_path": "lib/inflate.c",
      "new_id": "88a22f4a49dfb84f49c01e63f4682d2198419a9b",
      "new_mode": 33188,
      "new_path": "lib/inflate.c"
    }
  ]
}
