)]}'
{
  "log": [
    {
      "commit": "649f1ee6c705aab644035a7998d7b574193a598a",
      "tree": "81dcf2be969b90b8cda18c72229bb1ca71577749",
      "parents": [
        "efc7ffcb4237f8cb9938909041c4ed38f6e1bf40"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Wed Oct 15 22:04:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:46 2008 -0700"
      },
      "message": "hfsplus: check read_mapping_page() return value\n\nWhile testing more corrupted images with hfsplus, i came across\none which triggered the following bug:\n\n[15840.675016] BUG: unable to handle kernel paging request at fffffffb\n[15840.675016] IP: [\u003cc0116a4f\u003e] kmap+0x15/0x56\n[15840.675016] *pde \u003d 00008067 *pte \u003d 00000000\n[15840.675016] Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC\n[15840.675016] Modules linked in:\n[15840.675016]\n[15840.675016] Pid: 11575, comm: ln Not tainted (2.6.27-rc4-00123-gd3ee1b4-dirty #29)\n[15840.675016] EIP: 0060:[\u003cc0116a4f\u003e] EFLAGS: 00010202 CPU: 0\n[15840.675016] EIP is at kmap+0x15/0x56\n[15840.675016] EAX: 00000246 EBX: fffffffb ECX: 00000000 EDX: cab919c0\n[15840.675016] ESI: 000007dd EDI: cab0bcf4 EBP: cab0bc98 ESP: cab0bc94\n[15840.675016]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\n[15840.675016] Process ln (pid: 11575, ti\u003dcab0b000 task\u003dcab919c0 task.ti\u003dcab0b000)\n[15840.675016] Stack: 00000000 cab0bcdc c0231cfb 00000000 cab0bce0 00000800 ca9290c0 fffffffb\n[15840.675016]        cab145d0 cab919c0 cab15998 22222222 22222222 22222222 00000001 cab15960\n[15840.675016]        000007dd cab0bcf4 cab0bd04 c022cb3a cab0bcf4 cab15a6c ca9290c0 00000000\n[15840.675016] Call Trace:\n[15840.675016]  [\u003cc0231cfb\u003e] ? hfsplus_block_allocate+0x6f/0x2d3\n[15840.675016]  [\u003cc022cb3a\u003e] ? hfsplus_file_extend+0xc4/0x1db\n[15840.675016]  [\u003cc022ce41\u003e] ? hfsplus_get_block+0x8c/0x19d\n[15840.675016]  [\u003cc06adde4\u003e] ? sub_preempt_count+0x9d/0xab\n[15840.675016]  [\u003cc019ece6\u003e] ? __block_prepare_write+0x147/0x311\n[15840.675016]  [\u003cc0161934\u003e] ? __grab_cache_page+0x52/0x73\n[15840.675016]  [\u003cc019ef4f\u003e] ? block_write_begin+0x79/0xd5\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc019f22a\u003e] ? cont_write_begin+0x27f/0x2af\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0139ebe\u003e] ? tick_program_event+0x28/0x4c\n[15840.675016]  [\u003cc013bd35\u003e] ? trace_hardirqs_off+0xb/0xd\n[15840.675016]  [\u003cc022b723\u003e] ? hfsplus_write_begin+0x2d/0x32\n[15840.675016]  [\u003cc022cdb5\u003e] ? hfsplus_get_block+0x0/0x19d\n[15840.675016]  [\u003cc0161988\u003e] ? pagecache_write_begin+0x33/0x107\n[15840.675016]  [\u003cc01879e5\u003e] ? __page_symlink+0x3c/0xae\n[15840.675016]  [\u003cc019ad34\u003e] ? __mark_inode_dirty+0x12f/0x137\n[15840.675016]  [\u003cc0187a70\u003e] ? page_symlink+0x19/0x1e\n[15840.675016]  [\u003cc022e6eb\u003e] ? hfsplus_symlink+0x41/0xa6\n[15840.675016]  [\u003cc01886a9\u003e] ? vfs_symlink+0x99/0x101\n[15840.675016]  [\u003cc018a2f6\u003e] ? sys_symlinkat+0x6b/0xad\n[15840.675016]  [\u003cc018a348\u003e] ? sys_symlink+0x10/0x12\n[15840.675016]  [\u003cc01038bd\u003e] ? sysenter_do_call+0x12/0x31\n[15840.675016]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[15840.675016] Code: 00 00 75 10 83 3d 88 2f ec c0 02 75 07 89 d0 e8 12 56 05 00 5d c3 55 ba 06 00 00 00 89 e5 53 89 c3 b8 3d eb 7e c0 e8 16 74 00 00 \u003c8b\u003e 03 c1 e8 1e 69 c0 d8 02 00 00 05 b8 69 8e c0 2b 80 c4 02 00\n[15840.675016] EIP: [\u003cc0116a4f\u003e] kmap+0x15/0x56 SS:ESP 0068:cab0bc94\n[15840.675016] ---[ end trace 4fea40dad6b70e5f ]---\n\nThis happens because the return value of read_mapping_page() is passed on\nto kmap unchecked.  The bug is triggered after the first\nread_mapping_page() in hfsplus_block_allocate(), this patch fixes all\nthree usages in this functions but leaves the ones further down in the\nfile unchanged.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "090d2b185d8680fc26a2eaf4245d4171dcf4baf1",
      "tree": "67e604e3cd1bad3cfd034bced19a0fbff6a80c30",
      "parents": [
        "c330dda908b5a46469a997eea90b66f2f9f02b34"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Fri Jun 23 02:05:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:02 2006 -0700"
      },
      "message": "[PATCH] read_mapping_page for address space\n\nAdd read_mapping_page() which is used for callers that pass\nmapping-\u003ea_ops-\u003ereadpage as the filler for read_cache_page.  This removes\nsome duplication from filesystem code.\n\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
