)]}'
{
  "log": [
    {
      "commit": "1c8e71d72026ed4c6ba0fdfd7eebd865f4fd1415",
      "tree": "00e9cffc0b33d72a19cb1699d9fa5d32696a5a2b",
      "parents": [
        "788ce43aa1ad7158f894b6bb3df8ba2f63794c20"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Fri Sep 09 17:18:57 2005 +1000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Fri Sep 09 16:37:05 2005 -0500"
      },
      "message": "[SCSI] sg: do not set VM_IO flag on mmap-ed pages\n\nFurther to the problem discussed in this post:\nhttp://marc.theaimsgroup.com/?l\u003dlinux-scsi\u0026m\u003d112540053711489\u0026w\u003d2\n\nIt seems that the sg driver does not need to set the VM_IO flag\non pages that it memory maps to the user space since they are\nnot from the IO space. Ahmed Teirelbar \u003cahmed.teirelbar@adic.com\u003e\nwants the facility and has tested this patch as I have without\nadverse effects.\n\nThe oops protection is still important. Some users really did\ntry and use dio transfers from the sg driver to memory mapped\nIO space (on a video capture card if my memory serves) during the\nlk 2.4 series. I\u0027m not sure how successful it was but that will\nnow be politely refused in lk 2.6.13+ .\n\nChangelog:\n   - set the page flags for sg\u0027s reserved buffer mmap-ed\n     to the user space to VM_RESERVED (rather than\n     VM_RESERVED | VM_IO )\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "17fa53da1239b8712c5cebbd72a74c713b6c2db9",
      "tree": "8cf55e47ce681a6c899ccf8e06abeccecb20d38b",
      "parents": [
        "3173d8c342971a03857d8af749a3f57da7d06b57",
        "fe1b2d544d71300f8e2d151c3c77a130d13a58be"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Tue Sep 06 17:52:54 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Tue Sep 06 17:52:54 2005 -0500"
      },
      "message": "Merge by hand (conflicts in sd.c)\n"
    },
    {
      "commit": "deb92b7ee98e8e580cafaa63bd1edbe6646877bc",
      "tree": "d9f5210e78095048a2ba8a0cd90b19116d1a894f",
      "parents": [
        "07542b832309b93a2741cd162a391ab909f66438"
      ],
      "author": {
        "name": "Douglas Gilbert",
        "email": "dougg@torque.net",
        "time": "Thu Sep 01 21:50:02 2005 +1000"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Sun Sep 04 19:46:03 2005 -0500"
      },
      "message": "[SCSI] sg direct io/mmap oops, st sync\n\nThis patch adopts the same solution as proposed by Kai M. in\na post titled: \"[PATCH] SCSI tape signed/unsigned fix\".\nThe fix is in a function that the sg driver borrowed from\nthe st driver so its maintenance is a little easier if\nthe functions remain the same after the fix.\n\n   - change nr_pages type from unsigned to signed so errors\n     from get_user_pages() call are properly handled\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "7a93aef7fbac6f4db40b6fec5c0c6b654ae7a93c",
      "tree": "4cd7aae38012dfc1ff6c62be20ef8840e56d8383",
      "parents": [
        "392160335c798bbe94ab3aae6ea0c85d32b81bbc",
        "8224bfa84d510630b40ea460b2bb380c91acb8ae"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 11:18:35 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic.(none)",
        "time": "Sun Aug 28 11:18:35 2005 -0500"
      },
      "message": "Merge HEAD from ../scsi-misc-2.6-tmp \n"
    },
    {
      "commit": "729d70f5dfd663b44bca68a4479c96bde7e535d6",
      "tree": "f92ee98a709264984ef6e3e8d6c3ee4f3462797f",
      "parents": [
        "8126fdbc76351bdf99c6737ef4fecf88a22fa538"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "j.blunck@tu-harburg.de",
        "time": "Sat Aug 27 11:07:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Aug 27 11:22:27 2005 -0700"
      },
      "message": "[PATCH] sg.c: fix a memory leak in devices seq_file implementation\n\nI know that scsi procfs is legacy code but this is a fix for a memory leak.\n\nWhile reading through sg.c I realized that the implementation of\n/proc/scsi/sg/devices with seq_file is leaking memory due to freeing the\npointer returned by the next() iterator method.  Since next() might return\nNULL or an error this is wrong.  This patch fixes it through using the\nseq_files private field for holding the reference to the iterator object.\n\nHere is a small bash script to trigger the leak. Use slabtop to watch\nthe size-32 usage grow and grow.\n\n#!/bin/sh\n\nwhile true; do\n\tcat /proc/scsi/sg/devices \u003e /dev/null\ndone\n\nSigned-off-by: Jan Blunck \u003cj.blunck@tu-harburg.de\u003e\nAcked-by: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3301874083874f8a0ac88aa1bb7da6b62df34d2",
      "tree": "ceb564fe0a965588f14b441ef0dc93b36953b6b2",
      "parents": [
        "5dbffcd83d826a9b42a10afb89b13156dc5b9539"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@us.ibm.com",
        "time": "Thu Jun 16 11:12:38 2005 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Sat Jul 30 11:10:24 2005 -0500"
      },
      "message": "[SCSI] host state model update: replace old host bitmap state\n\nMigrate the current SCSI host state model to a model like SCSI\ndevice is using.\n\nSigned-off-by: Mike Anderson \u003candmike@us.ibm.com\u003e\n\nRejections fixed up and\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "d253878b3d9ae523c76118f5336a662780ad3757",
      "tree": "398e59c1d242183269dc8f4a9dd3d7a8057afa16",
      "parents": [
        "7e25ab9155aef04e83da69545742cf65c9b801ce"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 09:55:22 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:08 2005 -0700"
      },
      "message": "[PATCH] class: convert drivers/scsi/* to use the new class api instead of class_simple\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "521314c122ea0cd58e5184443b8cc28f82ee2136",
      "tree": "257d5792baa0f957b4fe1f71607a6882a5032dc9",
      "parents": [
        "b1abb4d67f2a706f52a95064001e0c55d9be2d26"
      ],
      "author": {
        "name": "brking@us.ibm.com",
        "email": "brking@us.ibm.com",
        "time": "Tue May 24 09:49:59 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.(none)",
        "time": "Fri Jun 03 12:25:35 2005 -0500"
      },
      "message": "[SCSI] sg: Command completion after remove oops\n\nA problem exists todayin the sg driver that if an SG_IO request is\noutstanding to a device when it is removed from the system. The\nsystem may oops if that command completes later in time.\n\n1. sg_remove gets called\n2. sg_remove calls sg_finish_req_req on all pending requests\n   This removes the Sg_request\u0027s from the headrp list in the Sg_fd\n3. The sleeping SG_IO ioctl is woken. It does nothing and returns.\n4. The caller closes the fd, which invokes sg_release\n5. sg_release calls sg_remove_sfp. It finds no outstanding commands\n   since the headrp list is empty, so it calls __sg_remove_sfp,\n   which frees the sfp.\n6. Now when sg_cmd_done gets called, sg uses upper_private_data in\n   the Scsi_Request, which should point to the srp, which has been\n   freed, so it points to freed memory.\n7. sg then dereferences the srp pointer to get the sfp, and we oops.\n\nThe fix is to NULL out the upper_private_data field in this path,\nwhich sg_cmd_done already checks for, which will prevent the oops\nfrom occurring.\n\ncpu 0x1: Vector: 300 (Data Access) at [c00000000fff7aa0]\n    pc: d0000000002bbea8: .sg_cmd_done+0x70/0x394 [sg]\n    lr: d000000000073304: .scsi_finish_command+0x10c/0x130 [scsi_mod]\n    sp: c00000000fff7d20\n   msr: 8000000000009032\n   dar: 2f70726f63202f78\n dsisr: 40000000\n  current \u003d 0xc0000000024589b0\n  paca    \u003d 0xc0000000003da800\n    pid   \u003d 7, comm \u003d events/1\n[c00000000fff7dc0] d000000000073304 .scsi_finish_command+0x10c/0x130 [scsi_mod]\n[c00000000fff7e50] d00000000007317c .scsi_softirq+0x140/0x168 [scsi_mod]\n[c00000000fff7ef0] c0000000000634dc .__do_softirq+0xa0/0x17c\n[c00000000fff7f90] c000000000018430 .call_do_softirq+0x14/0x24\n[c00000000ed472e0] c0000000000142e0 .do_softirq+0x74/0x9c\n[c00000000ed47370] c000000000013c9c .do_IRQ+0xe8/0x100\n[c00000000ed473f0] c00000000000ae34 HardwareInterrupt_entry+0x8/0x54\n\nc00000000003df28 .smp_call_function+0\nx100/0x1d0\n[c00000000ed47780] c0000000000ba99c .invalidate_bh_lrus+0x30/0x70\n[c00000000ed47810] c0000000000b91a0 .invalidate_bdev+0x18/0x3c\n[c00000000ed478a0] c0000000000da7b8 .__invalidate_device+0x70/0x94\n[c00000000ed47930] c0000000001d40bc .invalidate_partition+0x4c/0x7c\n[c00000000ed479c0] c00000000010a944 .del_gendisk+0x48/0x15c\n[c00000000ed47a50] d00000000003d55c .sd_remove+0x34/0xe4 [sd_mod]\n[c00000000ed47ae0] c0000000001c5d30 .device_release_driver+0x90/0xb4\n[c00000000ed47b70] c0000000001c6130 .bus_remove_device+0xb0/0x12c\n[c00000000ed47c00] c0000000001c4378 .device_del+0x120/0x198\n[c00000000ed47ca0] d00000000007dcdc .scsi_remove_device+0xb4/0x194 [scsi_mod]\n[c00000000ed47d30] d0000000000a5864 .ipr_worker_thread+0x1d4/0x27c [ipr]\n[c00000000ed47dd0] c0000000000734c4 .worker_thread+0x238/0x2f4\n[c00000000ed47ee0] c0000000000796c0 .kthread+0xcc/0x11c\n[c00000000ed47f90] c000000000018ad0 .kernel_thread+0x4c/0x6c\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "be7db055dd7261522557046370f49160728e3847",
      "tree": "314689dfb551ee9ad5ef8c27576762489a51897d",
      "parents": [
        "80e2ca3dcb1043420ac4b06de8eed3d6fedaddda"
      ],
      "author": {
        "name": "",
        "email": "hch@lst.de",
        "time": "Sun Apr 17 15:26:13 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Mon Apr 18 13:49:58 2005 -0500"
      },
      "message": "[PATCH] remove old scsi data direction macros\n\nthese have been wrappers for the generic dma direction bits since 2.5.x.\nThis patch converts the few remaining drivers and removes the macros.\n\nArjan noticed there\u0027s some hunk in here that shouldn\u0027t.  Updated patch\nbelow:\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "c46f2ffb9e7fce7208c2639790e1ade42e00b146",
      "tree": "284912295d46a861930d0619788a650f56c2a29b",
      "parents": [
        "c2a9331c62216e222a08de8dd58559367fef0af6",
        "f59114b7b5dc677bbd7cc7e26a5fcb3572a3445c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Mon Apr 18 13:45:00 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Mon Apr 18 13:45:00 2005 -0500"
      },
      "message": "merge by hand (scsi_device.h)\n"
    },
    {
      "commit": "db9dff366ba78085d0323364fadbf09bec0e77ee",
      "tree": "ae86a60cf83c3d897f9488e90fca4b36cd545a1a",
      "parents": [
        "b6651129cc27d56a9cbefcb5f713cea7706fd6b7"
      ],
      "author": {
        "name": "",
        "email": "hch@lst.de",
        "time": "Sun Apr 03 14:53:59 2005 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Mon Apr 18 12:32:20 2005 -0500"
      },
      "message": "[PATCH] remove outdated print_* functions\n\nWe have the scsi_print_* functions in the proper namespace for a long\ntime now and there weren\u0027t a lot users left.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "cb59e840838193957a84ad22f7e1465a06a7c10c",
      "tree": "d47f9779a52eb782962dc3406ef0de6100a29dfa",
      "parents": [
        "a757e64cfa400391041ed7953f0290c34a820c93"
      ],
      "author": {
        "name": "",
        "email": "dougg@torque.net",
        "time": "Sat Apr 02 13:51:23 2005 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@titanic",
        "time": "Sat Apr 16 20:08:52 2005 -0500"
      },
      "message": "[PATCH] sg.c: update\n\nThe attachment combines the most recent patch from\nYum Rayan \u003cyum.rayan@gmail.com\u003e (to reduce sg stack\nusage), Adrian Bunk \u003cbunk@stusta.de\u003e (to fix check\nafter use) and me (fix elapsed time calculation\n(duration) on ia64 machines).\n\nI have modified the patch from Yum Rayan so kmalloc()\nin sg_read() is only called for the (rare) code paths\nthat need them.\n\nChangelog:\n   - reduce stack usage in sg_ioctl() and sg_read()\n   - fix check after use in sg_mmap()\n   - hold duration internally in milliseconds and\n     check current time later than held time\n\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\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"
    }
  ]
}
