)]}'
{
  "log": [
    {
      "commit": "1ad539b2bd89bf2e129123eb24d5bcc4484a35de",
      "tree": "e416e208cdbd5d9890d39e39384e4ec913c26ef6",
      "parents": [
        "cbe37d093707762fc0abb280781e6a82a9d8d568"
      ],
      "author": {
        "name": "Darren Hart",
        "email": "dvhltc@us.ibm.com",
        "time": "Tue Jun 21 17:14:53 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] vm: try_to_free_pages unused argument\n\ntry_to_free_pages accepts a third argument, order, but hasn\u0027t used it since\nbefore 2.6.0.  The following patch removes the argument and updates all the\ncalls to try_to_free_pages.\n\nSigned-off-by: Darren Hart \u003cdvhltc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cbe37d093707762fc0abb280781e6a82a9d8d568",
      "tree": "8af4a268765346655291f1ef27df12d11825269c",
      "parents": [
        "73219d178051691a56d57184d8c7f6d0cbe3c5c1"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:17 2005 -0700"
      },
      "message": "[PATCH] mm: remove PG_highmem\n\nRemove PG_highmem, to save a page flag.  Use is_highmem() instead.  It\u0027ll\ngenerate a little more code, but we don\u0027t use PageHigheMem() in many places.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "73219d178051691a56d57184d8c7f6d0cbe3c5c1",
      "tree": "c527691510f5a2b757eac424c5671704084fc9eb",
      "parents": [
        "1363c3cd8603a913a27e2995dccbd70d5312d8e6"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Tue Jun 21 17:14:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] mmap topdown fix for large stack limit, large allocation\n\nThe topdown changes in 2.6.12-rc1 can cause large allocations with large\nstack limit to fail, despite there being space available.  The\nmmap_base-len is only valid when len \u003e\u003d mmap_base.  However, nothing in\ntopdown allocator checks this.  It\u0027s only (now) caught at higher level,\nwhich will cause allocation to simply fail.  The following change restores\nthe fallback to bottom-up path, which will allow large allocations with\nlarge stack limit to potentially still succeed.\n\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1363c3cd8603a913a27e2995dccbd70d5312d8e6",
      "tree": "405e7fc1ef44678f3ca0a54c536d0457e6e80f45",
      "parents": [
        "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a"
      ],
      "author": {
        "name": "Wolfgang Wander",
        "email": "wwc@rentec.com",
        "time": "Tue Jun 21 17:14:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] Avoiding mmap fragmentation\n\nIngo recently introduced a great speedup for allocating new mmaps using the\nfree_area_cache pointer which boosts the specweb SSL benchmark by 4-5% and\ncauses huge performance increases in thread creation.\n\nThe downside of this patch is that it does lead to fragmentation in the\nmmap-ed areas (visible via /proc/self/maps), such that some applications\nthat work fine under 2.4 kernels quickly run out of memory on any 2.6\nkernel.\n\nThe problem is twofold:\n\n  1) the free_area_cache is used to continue a search for memory where\n     the last search ended.  Before the change new areas were always\n     searched from the base address on.\n\n     So now new small areas are cluttering holes of all sizes\n     throughout the whole mmap-able region whereas before small holes\n     tended to close holes near the base leaving holes far from the base\n     large and available for larger requests.\n\n  2) the free_area_cache also is set to the location of the last\n     munmap-ed area so in scenarios where we allocate e.g.  five regions of\n     1K each, then free regions 4 2 3 in this order the next request for 1K\n     will be placed in the position of the old region 3, whereas before we\n     appended it to the still active region 1, placing it at the location\n     of the old region 2.  Before we had 1 free region of 2K, now we only\n     get two free regions of 1K -\u003e fragmentation.\n\nThe patch addresses thes issues by introducing yet another cache descriptor\ncached_hole_size that contains the largest known hole size below the\ncurrent free_area_cache.  If a new request comes in the size is compared\nagainst the cached_hole_size and if the request can be filled with a hole\nbelow free_area_cache the search is started from the base instead.\n\nThe results look promising: Whereas 2.6.12-rc4 fragments quickly and my\n(earlier posted) leakme.c test program terminates after 50000+ iterations\nwith 96 distinct and fragmented maps in /proc/self/maps it performs nicely\n(as expected) with thread creation, Ingo\u0027s test_str02 with 20000 threads\nrequires 0.7s system time.\n\nTaking out Ingo\u0027s patch (un-patch available per request) by basically\ndeleting all mentions of free_area_cache from the kernel and starting the\nsearch for new memory always at the respective bases we observe: leakme\nterminates successfully with 11 distinctive hardly fragmented areas in\n/proc/self/maps but thread creating is gringdingly slow: 30+s(!) system\ntime for Ingo\u0027s test_str02 with 20000 threads.\n\nNow - drumroll ;-) the appended patch works fine with leakme: it ends with\nonly 7 distinct areas in /proc/self/maps and also thread creation seems\nsufficiently fast with 0.71s for 20000 threads.\n\nSigned-off-by: Wolfgang Wander \u003cwwc@rentec.com\u003e\nCredit-to: \"Richard Purdie\" \u003crpurdie@rpsys.net\u003e\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e (partly)\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a",
      "tree": "f04f7b0d08cbc46d2f190a85904a3dd696dc6e88",
      "parents": [
        "63551ae0feaaa23807ebea60de1901564bbef32e"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "christoph@lameter.com",
        "time": "Tue Jun 21 17:14:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:16 2005 -0700"
      },
      "message": "[PATCH] node local per-cpu-pages\n\nThis patch modifies the way pagesets in struct zone are managed.\n\nEach zone has a per-cpu array of pagesets.  So any particular CPU has some\nmemory in each zone structure which belongs to itself.  Even if that CPU is\nnot local to that zone.\n\nSo the patch relocates the pagesets for each cpu to the node that is nearest\nto the cpu instead of allocating the pagesets in the (possibly remote) target\nzone.  This means that the operations to manage pages on remote zone can be\ndone with information available locally.\n\nWe play a macro trick so that non-NUMA pmachines avoid the additional\npointer chase on the page allocator fastpath.\n\nAIM7 benchmark on a 32 CPU SGI Altix\n\nw/o patches:\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      484.68  100       484.6769     12.01      1.97   Fri Mar 25 11:01:42 2005\n  100    27140.46   89       271.4046     21.44    148.71   Fri Mar 25 11:02:04 2005\n  200    30792.02   82       153.9601     37.80    296.72   Fri Mar 25 11:02:42 2005\n  300    32209.27   81       107.3642     54.21    451.34   Fri Mar 25 11:03:37 2005\n  400    34962.83   78        87.4071     66.59    588.97   Fri Mar 25 11:04:44 2005\n  500    31676.92   75        63.3538     91.87    742.71   Fri Mar 25 11:06:16 2005\n  600    36032.69   73        60.0545     96.91    885.44   Fri Mar 25 11:07:54 2005\n  700    35540.43   77        50.7720    114.63   1024.28   Fri Mar 25 11:09:49 2005\n  800    33906.70   74        42.3834    137.32   1181.65   Fri Mar 25 11:12:06 2005\n  900    34120.67   73        37.9119    153.51   1325.26   Fri Mar 25 11:14:41 2005\n 1000    34802.37   74        34.8024    167.23   1465.26   Fri Mar 25 11:17:28 2005\n\nwith slab API changes and pageset patch:\n\nTasks    jobs/min  jti  jobs/min/task      real       cpu\n    1      485.00  100       485.0000     12.00      1.96   Fri Mar 25 11:46:18 2005\n  100    28000.96   89       280.0096     20.79    150.45   Fri Mar 25 11:46:39 2005\n  200    32285.80   79       161.4290     36.05    293.37   Fri Mar 25 11:47:16 2005\n  300    40424.15   84       134.7472     43.19    438.42   Fri Mar 25 11:47:59 2005\n  400    39155.01   79        97.8875     59.46    590.05   Fri Mar 25 11:48:59 2005\n  500    37881.25   82        75.7625     76.82    730.19   Fri Mar 25 11:50:16 2005\n  600    39083.14   78        65.1386     89.35    872.79   Fri Mar 25 11:51:46 2005\n  700    38627.83   77        55.1826    105.47   1022.46   Fri Mar 25 11:53:32 2005\n  800    39631.94   78        49.5399    117.48   1169.94   Fri Mar 25 11:55:30 2005\n  900    36903.70   79        41.0041    141.94   1310.78   Fri Mar 25 11:57:53 2005\n 1000    36201.23   77        36.2012    160.77   1458.31   Fri Mar 25 12:00:34 2005\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Shobhit Dayal \u003cshobhit@calsoftinc.com\u003e\nSigned-off-by: Shai Fultheim \u003cShai@Scalex86.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63551ae0feaaa23807ebea60de1901564bbef32e",
      "tree": "f6f97f60f83c3e9813bdfcc6039c499997b1ea10",
      "parents": [
        "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99"
      ],
      "author": {
        "name": "David Gibson",
        "email": "david@gibson.dropbear.id.au",
        "time": "Tue Jun 21 17:14:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:15 2005 -0700"
      },
      "message": "[PATCH] Hugepage consolidation\n\nA lot of the code in arch/*/mm/hugetlbpage.c is quite similar.  This patch\nattempts to consolidate a lot of the code across the arch\u0027s, putting the\ncombined version in mm/hugetlb.c.  There are a couple of uglyish hacks in\norder to covert all the hugepage archs, but the result is a very large\nreduction in the total amount of code.  It also means things like hugepage\nlazy allocation could be implemented in one place, instead of six.\n\nTested, at least a little, on ppc64, i386 and x86_64.\n\nNotes:\n\t- this patch changes the meaning of set_huge_pte() to be more\n\t  analagous to set_pte()\n\t- does SH4 need s special huge_ptep_get_and_clear()??\n\nAcked-by: William Lee Irwin \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e7e5a9048b30c57ba1ddaa6cdf59b21b65cde99",
      "tree": "26eb9c483718ca1a0fad23597c0dfd3a69e9f080",
      "parents": [
        "0c35bbadc59f5ed105c34471143eceb4c0dd9c95"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: rate limit early reclaim\n\nWhen early zone reclaim is turned on the LRU is scanned more frequently when a\nzone is low on memory.  This limits when the zone reclaim can be called by\nskipping the scan if another thread (either via kswapd or sync reclaim) is\nalready reclaiming from the zone.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c35bbadc59f5ed105c34471143eceb4c0dd9c95",
      "tree": "d82de388e8c0a38fa4b1d27ad372e84c9f01e013",
      "parents": [
        "753ee728964e5afb80c17659cc6c3a6fd0a42fe0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add __GFP_NORECLAIM\n\nWhen using the early zone reclaim, it was noticed that allocating new pages\nthat should be spread across the whole system caused eviction of local pages.\n\nThis adds a new GFP flag to prevent early reclaim from happening during\ncertain allocation attempts.  The example that is implemented here is for page\ncache pages.  We want page cache pages to be spread across the whole system,\nand we don\u0027t want page cache pages to evict other pages to get local memory.\n\nSigned-off-by:  Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "753ee728964e5afb80c17659cc6c3a6fd0a42fe0",
      "tree": "41c9a7700d0858c1f77c5bdaba97e5b636f69b06",
      "parents": [
        "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:41 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: early zone reclaim\n\nThis is the core of the (much simplified) early reclaim.  The goal of this\npatch is to reclaim some easily-freed pages from a zone before falling back\nonto another zone.\n\nOne of the major uses of this is NUMA machines.  With the default allocator\nbehavior the allocator would look for memory in another zone, which might be\noff-node, before trying to reclaim from the current zone.\n\nThis adds a zone tuneable to enable early zone reclaim.  It is selected on a\nper-zone basis and is turned on/off via syscall.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfbb38fb808ac23ef44472d05d9bb36edfb49ed0",
      "tree": "19d26b575bf0ff1e2b3ec2c8ee12310154fdead5",
      "parents": [
        "295ab93497ec703f7d6eaf0787dd9768b83035fe"
      ],
      "author": {
        "name": "Martin Hicks",
        "email": "mort@sgi.com",
        "time": "Tue Jun 21 17:14:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] VM: add may_swap flag to scan_control\n\nHere\u0027s the next round of these patches.  These are totally different in\nan attempt to meet the \"simpler\" request after the last patches.  For\nreference the earlier threads are:\n\nhttp://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d110839604924587\u0026w\u003d2\nhttp://marc.theaimsgroup.com/?l\u003dlinux-mm\u0026m\u003d111461480721249\u0026w\u003d2\n\nThis set of patches replaces my other vm- patches that are currently in\n-mm.  So they\u0027re against 2.6.12-rc5-mm1 about half way through the -mm\npatchset.\n\nAs I said already this patch is a lot simpler.  The reclaim is turned on\nor off on a per-zone basis using a syscall.  I haven\u0027t tested the x86\nsyscall, so it might be wrong.  It uses the existing reclaim/pageout\ncode with the small addition of a may_swap flag to scan_control\n(patch 1/4).\n\nI also added __GFP_NORECLAIM (patch 3/4) so that certain allocation\ntypes can be flagged to never cause reclaim.  This was a deficiency\nthat was in all of my earlier patch sets.  Previously, doing a big\nbuffered read would fill one zone with page cache and then start to\nreclaim from that same zone, leaving the other zones untouched.\n\nAdding some extra throttling on the reclaim was also required (patch\n4/4).  Without the machine would grind to a crawl when doing a \"make -j\"\nkernel build.  Even with this patch the System Time is higher on\naverage, but it seems tolerable.  Here are some numbers for kernbench\nruns on a 2-node, 4cpu, 8Gig RAM Altix in the \"make -j\" run:\n\n\t\t\twall  user   sys   %cpu  ctx sw.  sleeps\n\t\t\t----  ----   ---   ----   ------  ------\nNo patch\t\t1009  1384   847   258   298170   504402\nw/patch, no reclaim     880   1376   667   288   254064   396745\nw/patch \u0026 reclaim       1079  1385   926   252   291625   548873\n\nThese numbers are the average of 2 runs of 3 \"make -j\" runs done right\nafter system boot.  Run-to-run variability for \"make -j\" is huge, so\nthese numbers aren\u0027t terribly useful except to seee that with reclaim\nthe benchmark still finishes in a reasonable amount of time.\n\nI also looked at the NUMA hit/miss stats for the \"make -j\" runs and the\nreclaim doesn\u0027t make any difference when the machine is thrashing away.\n\nDoing a \"make -j8\" on a single node that is filled with page cache pages\ntakes 700 seconds with reclaim turned on and 735 seconds without reclaim\n(due to remote memory accesses).\n\nThe simple zone_reclaim syscall program is at\nhttp://www.bork.org/~mort/sgi/zone_reclaim.c\n\nThis patch:\n\nThis adds an extra switch to the scan_control struct.  It simply lets the\nreclaim code know if its allowed to swap pages out.\n\nThis was required for a simple per-zone reclaimer.  Without this addition\npages would be swapped out as soon as a zone ran out of memory and the early\nreclaim kicked in.\n\nSigned-off-by: Martin Hicks \u003cmort@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "295ab93497ec703f7d6eaf0787dd9768b83035fe",
      "tree": "e3dce05d4cab0d7d3907a7357d37932c99ffd76d",
      "parents": [
        "05b7438475ddbac47e75506913d44550f0e75938"
      ],
      "author": {
        "name": "Nikita Danilov",
        "email": "nikita@clusterfs.com",
        "time": "Tue Jun 21 17:14:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:14 2005 -0700"
      },
      "message": "[PATCH] mm: add /proc/zoneinfo\n\nAdd /proc/zoneinfo file to display information about memory zones.  Useful\nto analyze VM behaviour.\n\nSigned-off-by: Nikita Danilov \u003cnikita@clusterfs.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "05b7438475ddbac47e75506913d44550f0e75938",
      "tree": "3871b9c9c0cfa3699de9581a9283dc9fee608f2c",
      "parents": [
        "e798c6e87b64d9fdbd5e9f757b1c033223763d9f"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: merge the maps\n\nThis attempts to merge back the split maps.  This code is mostly copied\nfrom Chrisw\u0027s mlock merging from post 2.6.11 trees.  The only difference is\nin munmapped_error handling.  Also passed prev to willneed/dontneed,\neventhogh they do not handle it now, since I felt it will be cleaner,\ninstead of handling prev in madvise_vma in some cases and in subfunction in\nsome cases.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e798c6e87b64d9fdbd5e9f757b1c033223763d9f",
      "tree": "da4cdd7c60acff82d2fcc826cdbae43440a6df44",
      "parents": [
        "b15e0905f2b9964fc7426fecab57445e96021b61"
      ],
      "author": {
        "name": "Prasanna Meda",
        "email": "pmeda@akamai.com",
        "time": "Tue Jun 21 17:14:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] madvise: do not split the maps\n\nThis attempts to avoid splittings when it is not needed, that is when\nvm_flags are same as new flags.  The idea is from the \u003c2.6.11 mlock_fixup\nand others.  This will provide base for the next madvise merging patch.\n\nSigned-off-by: Prasanna Meda \u003cpmeda@akamai.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b15e0905f2b9964fc7426fecab57445e96021b61",
      "tree": "bc1b3606cf282f88cd6598de22190eff6708affa",
      "parents": [
        "39c715b71740c4a78ba4769fb54826929bac03cb"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 21 17:14:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] vmscan: notice slab shrinking\n\nFix a problem identified by Andrea Arcangeli \u003candrea@suse.de\u003e\n\nkswapd will set a zone into all_unreclaimable state if it sees that we\u0027re not\nsuccessfully reclaiming LRU pages.  But that fails to notice that we\u0027re\nsuccessfully reclaiming slab obects, so we can set all_unreclaimable too soon.\n\nSo change shrink_slab() to return a success indication if it actually\nreclaimed some objects, and don\u0027t assume that the zone is all_unreclaimable if\nthat is true.  This means that we won\u0027t enter all_unreclaimable state if we\nare successfully freeing slab objects but we\u0027re not yet actually freeing slab\npages, due to internal fragmentation.\n\n(hm, this has a shortcoming.  We could be successfully freeing ZONE_NORMAL\nslab objects while being really oom on ZONE_DMA.  If that happens then kswapd\nmight burn a lot of CPU.  But given that there might be some slab objects in\nZONE_DMA, perhaps that is appropriate.)\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "39c715b71740c4a78ba4769fb54826929bac03cb",
      "tree": "94dd679dfc8e6c2db65971739aa8c8c6206f8174",
      "parents": [
        "84929801e14d968caeb84795bfbb88f04283fbd9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 21 17:14:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:13 2005 -0700"
      },
      "message": "[PATCH] smp_processor_id() cleanup\n\nThis patch implements a number of smp_processor_id() cleanup ideas that\nArjan van de Ven and I came up with.\n\nThe previous __smp_processor_id/_smp_processor_id/smp_processor_id API\nspaghetti was hard to follow both on the implementational and on the\nusage side.\n\nSome of the complexity arose from picking wrong names, some of the\ncomplexity comes from the fact that not all architectures defined\n__smp_processor_id.\n\nIn the new code, there are two externally visible symbols:\n\n - smp_processor_id(): debug variant.\n\n - raw_smp_processor_id(): nondebug variant. Replaces all existing\n   uses of _smp_processor_id() and __smp_processor_id(). Defined\n   by every SMP architecture in include/asm-*/smp.h.\n\nThere is one new internal symbol, dependent on DEBUG_PREEMPT:\n\n - debug_smp_processor_id(): internal debug variant, mapped to\n                             smp_processor_id().\n\nAlso, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new\nlib/smp_processor_id.c file.  All related comments got updated and/or\nclarified.\n\nI have build/boot tested the following 8 .config combinations on x86:\n\n {SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}\n\nI have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT.  (Other\narchitectures are untested, but should work just fine.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84929801e14d968caeb84795bfbb88f04283fbd9",
      "tree": "248fa9fd6cfb411a6df3b7f7fb42aa4f9ceca2bf",
      "parents": [
        "589777eab7360894b7ca1c4ba9d252e03b51225b"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Tue Jun 21 17:14:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:12 2005 -0700"
      },
      "message": "[PATCH] x86_64: TASK_SIZE fixes for compatibility mode processes\n\nAppended patch will setup compatibility mode TASK_SIZE properly.  This will\nfix atleast three known bugs that can be encountered while running\ncompatibility mode apps.\n\na) A malicious 32bit app can have an elf section at 0xffffe000.  During\n   exec of this app, we will have a memory leak as insert_vm_struct() is\n   not checking for return value in syscall32_setup_pages() and thus not\n   freeing the vma allocated for the vsyscall page.  And instead of exec\n   failing (as it has addresses \u003e TASK_SIZE), we were allowing it to\n   succeed previously.\n\nb) With a 32bit app, hugetlb_get_unmapped_area/arch_get_unmapped_area\n   may return addresses beyond 32bits, ultimately causing corruption\n   because of wrap-around and resulting in SEGFAULT, instead of returning\n   ENOMEM.\n\nc) 32bit app doing this below mmap will now fail.\n\n  mmap((void *)(0xFFFFE000UL), 0x10000UL, PROT_READ|PROT_WRITE,\n\tMAP_FIXED|MAP_PRIVATE|MAP_ANON, 0, 0);\n\nSigned-off-by: Zou Nan hai \u003cnanhai.zou@intel.com\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "589777eab7360894b7ca1c4ba9d252e03b51225b",
      "tree": "d32b8dadc4dc52e81d2b9ffbd03d100b168b41fa",
      "parents": [
        "3a845099b20e81fb678521f034bbdcd69208da4e"
      ],
      "author": {
        "name": "Zaur Kambarov",
        "email": "kambarov@berkeley.edu",
        "time": "Tue Jun 21 17:14:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:12 2005 -0700"
      },
      "message": "[PATCH] coverity: idr_get_new_above_int() overrun fix\n\nThis patch fixes overrun of array pa:\n92   \t\tstruct idr_layer *pa[MAX_LEVEL];\n\nin\n\n98   \t\tl \u003d idp-\u003elayers;\n99   \t\tpa[l--] \u003d NULL;\n\nby passing idp-\u003elayers, set in\n202  \t\tidp-\u003elayers \u003d layers;\nto function  sub_alloc in\n203  \t\tv \u003d sub_alloc(idp, ptr, \u0026id);\n\nSigned-off-by: Zaur Kambarov \u003czkambarov@coverity.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3a845099b20e81fb678521f034bbdcd69208da4e",
      "tree": "99f3a8259c54616a1a0fd30f25e34927c36c3eff",
      "parents": [
        "7f20b6a4792c1b5033583c23b5594887dd3867b9"
      ],
      "author": {
        "name": "Zaur Kambarov",
        "email": "kambarov@berkeley.edu",
        "time": "Tue Jun 21 17:14:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] coverity: ipmi: avoid overrun of ipmi_interfaces[]\n\nFix overrun of static array \"ipmi_interfaces\" of size 4 at position 4 with\nindex variable \"if_num\".\n\nDefinitions involved:\n297  \t#define MAX_IPMI_INTERFACES 4\n298  \tstatic ipmi_smi_t ipmi_interfaces[MAX_IPMI_INTERFACES];\n\nSigned-off-by: Zaur Kambarov \u003czkambarov@coverity.com\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f20b6a4792c1b5033583c23b5594887dd3867b9",
      "tree": "1c5fdb0c3e73306a64a442076d9bd9c4b8d603c5",
      "parents": [
        "9a558cb4ec43ccbe82e2cf899ced37f29ac017df"
      ],
      "author": {
        "name": "bobl",
        "email": "bobl@turbolinux.com",
        "time": "Tue Jun 21 17:14:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] megaraid build fix\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a558cb4ec43ccbe82e2cf899ced37f29ac017df",
      "tree": "360f64dcf8ecdb04371a2fd524fddb2424392564",
      "parents": [
        "9723d95d1076e9ef394ff26162fb0b47531089b0"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Jun 21 17:14:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:46:11 2005 -0700"
      },
      "message": "[PATCH] arm: irqs_disabled() type fix\n\nkernel/sched.c: In function `__might_sleep\u0027:\nkernel/sched.c:5461: warning: int format, long unsigned int arg (arg 3)\n\nWe expect irqs_disabled() to return an int (poor man\u0027s bool).\n\nAcked-by: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9723d95d1076e9ef394ff26162fb0b47531089b0",
      "tree": "242504391bf7f373cd5198d32df29868ea2996e2",
      "parents": [
        "4a4f8fdba6f5a34ca90f426021e17491a30202da",
        "7049e6800f40046c384c522a990669024d5f5836"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:19:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 18:19:10 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n"
    },
    {
      "commit": "7049e6800f40046c384c522a990669024d5f5836",
      "tree": "5e790230b26721a89864fa610bc9d8e53114a881",
      "parents": [
        "8005aba69a6440a535a4cc2aed99ffca580847e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 16:20:28 2005 -0700"
      },
      "message": "[SPARC64]: Add prefetch support.\n\nThe implementation is optimal for UltraSPARC-III and later.\nIt will work, however suboptimally, on UltraSPARC-II and\nbe treated as a NOP on UltraSPARC-I.\n\nIt is not worth code patching this thing as the highest cost\nis the code space, and code patching cannot eliminate that.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a4f8fdba6f5a34ca90f426021e17491a30202da",
      "tree": "6eb8be6c9542845321252b1d64394a2c2ea84dd0",
      "parents": [
        "2c6e5a839f92591a4bc6cac4a575d42151645af3",
        "90f66914c89b0be63548d4387d1211280aa7bc8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:45:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:45:19 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "2c6e5a839f92591a4bc6cac4a575d42151645af3",
      "tree": "e9214a7c5a4de96a76445dbc36262239c8315e20",
      "parents": [
        "9527cc77e25b3a3787569edcbb8e74080b8df54a"
      ],
      "author": {
        "name": "Greg KH",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 21 15:24:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 15:41:16 2005 -0700"
      },
      "message": "[PATCH] devfs: remove devfs from Kconfig preventing it from being built\n\nHere\u0027s a much smaller patch to simply disable devfs from the build.  If\nthis goes well, and there are no complaints for a few weeks, I\u0027ll resend\nmy big \"devfs-die-die-die\" series of patches that rip the whole thing\nout of the kernel tree.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8005aba69a6440a535a4cc2aed99ffca580847e0",
      "tree": "d15f836f483ec374751fd9eda4a4f7a8b816eff5",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 15:39:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 15:39:22 2005 -0700"
      },
      "message": "[SPARC64]: Fix cmsg length checks in Solaris emulation layer.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9527cc77e25b3a3787569edcbb8e74080b8df54a",
      "tree": "f74d109be6176c4e5eb0cc2424b696856eebc0e5",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e",
        "d039ba24f135147f60a13bcaa768189a5b773b6e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 14:49:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 21 14:49:35 2005 -0700"
      },
      "message": "Merge \u0027for-linus\u0027 branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n"
    },
    {
      "commit": "90f66914c89b0be63548d4387d1211280aa7bc8e",
      "tree": "712c9d3e2e7cb9c45e8442d12727db3e901a1913",
      "parents": [
        "047601bf7c803724bbab9a4fdbad9481cecc12e0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:43:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:43:28 2005 -0700"
      },
      "message": "[IPV4]: Fix fib_trie.c\u0027s args to fib_dump_info().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "047601bf7c803724bbab9a4fdbad9481cecc12e0",
      "tree": "0047ba0cb2179cefd93f7a8b1d0075e21a02d872",
      "parents": [
        "2715bcf9efc34063e05009f188eb896c462ae925"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:07:13 2005 -0700"
      },
      "message": "[NETFILTER]: Fix ip6t_LOG sit tunnel logging\n\nSit tunnel logging is currently broken:\n\nMAC\u003d01:23:45:67:89:ab-\u003e01:23:45:47:89:ac TUNNEL\u003d123.123.  0.123-\u003e 12.123.  6.123\n\nApart from the broken IP address, MAC addresses are printed differently\nfor sit tunnels than for everything else.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2715bcf9efc34063e05009f188eb896c462ae925",
      "tree": "57a36042e5774cdc731f9ecfc7a51bb54bdd6619",
      "parents": [
        "6150bacfec95c7042678667561664efcf10d4508"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:06:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:06:24 2005 -0700"
      },
      "message": "[NETFILTER]: Drop conntrack reference in ip_call_ra_chain()/ip_mr_input()\n\nDrop reference before handing the packets to raw_rcv()\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6150bacfec95c7042678667561664efcf10d4508",
      "tree": "6a415a742dca3ea44cc035c8e2a7e523df92e4e9",
      "parents": [
        "e3be8ba79294df5de96692411e122506b40c5aa4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:03:46 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:46 2005 -0700"
      },
      "message": "[NETFILTER]: Check TCP checksum in ipt_REJECT\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3be8ba79294df5de96692411e122506b40c5aa4",
      "tree": "85021ea2b3ecc698bc356fa15d873199a40d83d8",
      "parents": [
        "97216c799a6496163be8c81c9ceed297d92956c5"
      ],
      "author": {
        "name": "Keir Fraser",
        "email": "Keir.Fraser@xl.cam.ac.uk",
        "time": "Tue Jun 21 14:03:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:23 2005 -0700"
      },
      "message": "[NETFILTER]: Avoid unncessary checksum validation in UDP connection tracking\n\nSigned-off-by: Keir Fraser \u003cKeir.Fraser@xl.cam.ac.uk\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97216c799a6496163be8c81c9ceed297d92956c5",
      "tree": "9bd1d85b486c428ae5d12592997cf7668db63097",
      "parents": [
        "1d3cdb41f52e299f70b66cbb569bff5216f3643a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:03:01 2005 -0700"
      },
      "message": "[NETFILTER]: Missing owner-field initialization in ip6table_raw\n\nI missed this one when fixing up iptable_raw.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d3cdb41f52e299f70b66cbb569bff5216f3643a",
      "tree": "519f0feab4b0481bbb7c6298a82485071a0acbe4",
      "parents": [
        "e98231858bbfd2aca42f93d55133c2fca6df00f9"
      ],
      "author": {
        "name": "Phil Oester",
        "email": "kernel@linuxace.com",
        "time": "Tue Jun 21 14:02:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:02:42 2005 -0700"
      },
      "message": "[NETFILTER]: expectation timeouts are compulsory\n\nSince expectation timeouts were made compulsory [1], there is no need to\ncheck for them in ip_conntrack_expect_insert.\n\n[1] https://lists.netfilter.org/pipermail/netfilter-devel/2005-January/018143.html\n\nSigned-off-by: Phil Oester \u003ckernel@linuxace.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e98231858bbfd2aca42f93d55133c2fca6df00f9",
      "tree": "e7100bf038e70a840aa0e69afc75d217e210522e",
      "parents": [
        "18b8afc771102b1b6af97962808291a7d27f52af"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:02:15 2005 -0700"
      },
      "message": "[NETFILTER]: Restore netfilter assumptions in IPv6 multicast\n\nNetfilter assumes that skb-\u003edata \u003d\u003d skb-\u003enh.ipv6h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b8afc771102b1b6af97962808291a7d27f52af",
      "tree": "4d278a45ab07b5ba81dfa0b737f5174ad9ee7f79",
      "parents": [
        "e45b1be8bcb3643808975a426fa3e201a2588e87"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "message": "[NETFILTER]: Kill nf_debug\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e45b1be8bcb3643808975a426fa3e201a2588e87",
      "tree": "0c461d7bd90d0c2fb462b42e664cf8a099c750ec",
      "parents": [
        "c9e3e8b6958e02230079e6817862ea2968509866"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:30 2005 -0700"
      },
      "message": "[NETFILTER]: Kill lockhelp.h\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9e3e8b6958e02230079e6817862ea2968509866",
      "tree": "296b30b9e208d37b1cdfa6d40ad785abb1487bd9",
      "parents": [
        "0d51aa80a9b1db43920c0770c3bb842dd823c005"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:58:25 2005 -0700"
      },
      "message": "[IPV6]: multicast join and misc\n\nHere is a simplified version of the patch to fix a bug in IPv6\nmulticasting. It:\n\n1) adds existence check \u0026 EADDRINUSE error for regular joins\n2) adds an exception for EADDRINUSE in the source-specific multicast\n        join (where a prior join is ok)\n3) adds a missing/needed read_lock on sock_mc_list; would\u0027ve raced\n        with destroying the socket on interface down without\n4) adds a \"leave group\" in the (INCLUDE, empty) source filter case.\n        This frees unneeded socket buffer memory, but also prevents\n        an inappropriate interaction among the 8 socket options that\n        mess with this. Some would fail as if in the group when you\n        aren\u0027t really.\n\nItem #4 had a locking bug in the last version of this patch; rather than\nremoving the idev-\u003elock read lock only, I\u0027ve simplified it to remove\nall lock state in the path and treat it as a direct \"leave group\" call for\nthe (INCLUDE,empty) case it covers. Tested on an MP machine. :-)\n\nMuch thanks to HoerdtMickael \u003choerdt@clarinet.u-strasbg.fr\u003e who\nreported the original bug.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d51aa80a9b1db43920c0770c3bb842dd823c005",
      "tree": "999b0c5afbbb1f32af07eb2e1cb9e2692f1aa791",
      "parents": [
        "19baf839ff4a8daa1f2a7400897094fc18e4f5e9"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 13:51:04 2005 -0700"
      },
      "message": "[IPV6]: V6 route events reported with wrong netlink PID and seq number\n\nEssentially netlink at the moment always reports a pid and sequence of 0\nalways for v6 route activities. \nTo understand the repurcassions of this look at:\nhttp://lists.quagga.net/pipermail/quagga-dev/2005-June/003507.html\n\nWhile fixing this, i took the liberty to resolve the outstanding issue\nof IPV6 routes inserted via ioctls to have the correct pids as well.\n\nThis patch tries to behave as close as possible to the v4 routes i.e\nmaintains whatever PID the socket issuing the command owns as opposed to\nthe process. That made the patch a little bulky.\n\nI have tested against both netlink derived utility to add/del routes as\nwell as ioctl derived one. The Quagga folks have tested against quagga.\nThis fixes the problem and so far hasnt been detected to introduce any\nnew issues.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19baf839ff4a8daa1f2a7400897094fc18e4f5e9",
      "tree": "719e1b64a4fedc4fc028874b5562553c7a524473",
      "parents": [
        "18b504e25fd617bee8830d2cdcaff7fb7b5931bb"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "Robert.Olsson@data.slu.se",
        "time": "Tue Jun 21 12:43:18 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 12:43:18 2005 -0700"
      },
      "message": "[IPV4]: Add LC-Trie FIB lookup algorithm.\n\nSigned-off-by: Robert Olsson \u003cRobert.Olsson@data.slu.se\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b504e25fd617bee8830d2cdcaff7fb7b5931bb",
      "tree": "6e7daab06749832d0e40ffae6572abc297d02d11",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "message": "[NETLINK]: netlink_callback structure needs 5 args not 4\n\nnet/ipv4/tcp_diag.c uses up to -\u003eargs[4]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e",
      "tree": "42a7deda7589edf704fe60dc262046755bd3f6a8",
      "parents": [
        "fb395884576684ebb54b19b1054f4caed589d5f0",
        "87c8a4433b608261a9becdb0ce2d2f2ed4b71d05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 16:00:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 16:00:33 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n"
    },
    {
      "commit": "fb395884576684ebb54b19b1054f4caed589d5f0",
      "tree": "c941073819d504fb967e4d107e382ec92f51ecf0",
      "parents": [
        "91b90475e793e84a57d956af8c52645e292badcb",
        "246955fe4c38bd706ae30e37c64892c94213775d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 15:58:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Jun 20 15:58:58 2005 -0700"
      },
      "message": "Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "87c8a4433b608261a9becdb0ce2d2f2ed4b71d05",
      "tree": "c3ddd09b1ad6312fccecc67d26098bd634ea17de",
      "parents": [
        "4893e9d1cfeb614b5155c43eefbb338b4f02cb34"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jun 19 12:21:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:28:51 2005 -0700"
      },
      "message": "[PATCH] PCI: fix show_modalias() function due to attribute change\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4893e9d1cfeb614b5155c43eefbb338b4f02cb34",
      "tree": "4f6637cf3496fa9d6d645d38680d542c21e8b263",
      "parents": [
        "9d9d27fb651a7c95a46f276bacb4329db47470a6"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Jun 19 12:21:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:27:35 2005 -0700"
      },
      "message": "[PATCH] USB: fix show_modalias() function due to attribute change\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9d9d27fb651a7c95a46f276bacb4329db47470a6",
      "tree": "cf25134082cb61e860f65af73adc91674ec74258",
      "parents": [
        "42b16c051c3f462095fb8c9bad1bc05b34518cb9"
      ],
      "author": {
        "name": "Jon Smirl",
        "email": "jonsmirl@gmail.com",
        "time": "Tue Jun 14 09:54:54 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:38 2005 -0700"
      },
      "message": "[PATCH] SYSFS: fix PAGE_SIZE check\n\nWithout this change I can\u0027t set an attribute exactly PAGE_SIZE in\nlength. There is no need for zero termination because the interface\nuses lengths.\n\nFrom: Jon Smirl \u003cjonsmirl@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "42b16c051c3f462095fb8c9bad1bc05b34518cb9",
      "tree": "3178bf5b2e3b516b6aea270c757adf728db83836",
      "parents": [
        "8215534ce7d073423bfa9c17405c43ab7636ca03"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue May 31 17:08:49 2005 +1000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] Driver core: Don\u0027t \"lose\" devices on suspend on failure\n\nI think we need this patch or we might \"lose\" devices to the dpm_irq_off\nlist if a failure occurs during the suspend process.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8215534ce7d073423bfa9c17405c43ab7636ca03",
      "tree": "b53aed1111cf10a7d42ef0695308c4a70b820747",
      "parents": [
        "988d186de5b6966a71a8cc52e6cb4895fd2f7799"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:39:52 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: set inode attributes\n\no Following patch sets the attributes for newly allocated inodes for sysfs\n  objects. If the object has non-default attributes, inode attributes are\n  set as saved in sysfs_dirent-\u003es_iattr, pointer to struct iattr.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "988d186de5b6966a71a8cc52e6cb4895fd2f7799",
      "tree": "428cb6c29cbe2563eb91f9f2a03512b7eafa9449",
      "parents": [
        "6fa5c828c7fb6beef7035864bd2b18e7386fbdd5"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:39:14 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:37 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: add sysfs_setattr\n\no This adds -\u003ei_op-\u003esetattr VFS method for sysfs inodes. The changed\n  attribues are saved in the persistent sysfs_dirent structure as a pointer\n  to struct iattr. The struct iattr is allocated only for those sysfs_dirent\u0027s\n  for which default attributes are getting changed. Thanks to Jon Smirl for\n  this suggestion.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6fa5c828c7fb6beef7035864bd2b18e7386fbdd5",
      "tree": "88c7c0a03fe13ad802721dcd54b9b93733e964fe",
      "parents": [
        "050480f12aeab62d39a1a07546606a47217ebefa"
      ],
      "author": {
        "name": "Maneesh Soni",
        "email": "maneesh@in.ibm.com",
        "time": "Tue May 31 10:38:12 2005 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] sysfs-iattr: attach sysfs_dirent before new inode\n\no The following patch makes sure to attach sysfs_dirent to the dentry before\n  allocation a new inode through sysfs_create(). This change is done as\n  preparatory work for implementing -\u003ei_op-\u003esetattr() functionality for\n  sysfs objects.\n\nSigned-off-by: Maneesh Soni \u003cmaneesh@in.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "050480f12aeab62d39a1a07546606a47217ebefa",
      "tree": "ffae2c627f613c6da54599f0752d38039c22a011",
      "parents": [
        "0a3e7eeabc9f76b7496488aad2d11626ff6a2a4f"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Sun Jun 05 10:51:46 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] I2C: drivers/i2c/chips/adm1026.c: use dynamic sysfs callbacks\n\nFinally (phew!) this patch demonstrates how to adapt the adm1026 to\ntake advantage of the new callbacks, and the i2c-sysfs.h defined\nstructure/macros. Most of the other sensor/hwmon drivers could be\nupdated in the same way. The odd few exceptions (bmcsensors for\nexample) however might be better off with their own custom attribute\nstructure.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0a3e7eeabc9f76b7496488aad2d11626ff6a2a4f",
      "tree": "0cab827910fe12199d666b84919d88fb881fb82d",
      "parents": [
        "f2d03e1b3f00f1c5971463ab0101bef0c521ad3b"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 22:59:05 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:36 2005 -0700"
      },
      "message": "[PATCH] I2C: add i2c sensor_device_attribute and macros\n\nThis patch creates a new header with a potential standard i2c sensor\nattribute type (which simply includes an int representing the sensor\nnumber/index) and the associated macros, SENSOR_DEVICE_ATTR to define\na static attribute and to_sensor_dev_attr to get a\nsensor_device_attribute reference from an embedded device_attribute\nreference.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\n"
    },
    {
      "commit": "f2d03e1b3f00f1c5971463ab0101bef0c521ad3b",
      "tree": "44b0daa72e356e830066d0027f128106d7476ddb",
      "parents": [
        "060b8845e6bea938d65ad6f89e83507e5ff4fec4"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:44:59 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: include: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "060b8845e6bea938d65ad6f89e83507e5ff4fec4",
      "tree": "ba82ce7d7a532b045f02e29788ece53d6be693e6",
      "parents": [
        "10523b3b82456e416cbaffcc24ea2246980aa746"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:44:04 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/usb/input/aiptek.c - drivers/zorro/zorro-sysfs.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "10523b3b82456e416cbaffcc24ea2246980aa746",
      "tree": "fab3ac16bffb04cc25683e83a583b1cae3f0d450",
      "parents": [
        "3fd3c0a5f53a0f9d8987b90acbd84f7dd8ef606e"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:43:37 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:35 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/s390/net/qeth_sys.c - drivers/usb/gadget/pxa2xx_udc.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3fd3c0a5f53a0f9d8987b90acbd84f7dd8ef606e",
      "tree": "46a9050abe4c11375a78b51f07e524682722bf70",
      "parents": [
        "e404e274f62665f3333d6a539d0d3701f678a598"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:43:27 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:34 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/char/raw3270.c - drivers/net/netiucv.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e404e274f62665f3333d6a539d0d3701f678a598",
      "tree": "ef6618291524edaab45c4123274730c7d57ae852",
      "parents": [
        "a5099cfc2e82240b0a3e72ad79a5969d5af1a7dc"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:58 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:34 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/w83781d.c - drivers/s390/block/dcssblk.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a5099cfc2e82240b0a3e72ad79a5969d5af1a7dc",
      "tree": "aca3273e927a4d65f8f5fdf4cf5d8283969a3b43",
      "parents": [
        "8627f9ba531269d8850919c62af1b017438e2e79"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:25 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/pc87360.c - w83627hf.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8627f9ba531269d8850919c62af1b017438e2e79",
      "tree": "ed560594954e5e2303c98bbc8fb83ec7e0dec661",
      "parents": [
        "30f74292e50d6c4ae438dbee5cb45d77bf774351"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:42:03 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/lm77.c - max1619.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "30f74292e50d6c4ae438dbee5cb45d77bf774351",
      "tree": "4bfa1b6715ecd597e196a9f448c825ef0c12d8e3",
      "parents": [
        "74880c063b06efd103c924abfe19d9d8fa4864c4"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:41:35 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:33 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/i2c/chips/adm1031.c - lm75.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "74880c063b06efd103c924abfe19d9d8fa4864c4",
      "tree": "7d0995426cec1f3577a5f8e5f61ada43a0df9813",
      "parents": [
        "ff381d2223a30ee70752791fd9c3588d8f1cab77"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:41:12 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver Core: drivers/base - drivers/i2c/chips/adm1026.c: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ff381d2223a30ee70752791fd9c3588d8f1cab77",
      "tree": "124dab1e725ad0d16f1122696a67f1657ea97a8f",
      "parents": [
        "3eb8c7836eb074b61d63597be3e4f085814ac4c0"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:40:51 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver Core: arch: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3eb8c7836eb074b61d63597be3e4f085814ac4c0",
      "tree": "41256899f1451a7e4fe0c764e15195c967e988ca",
      "parents": [
        "54b6f35c99974e99e64c05c2895718355123c55f"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:40:28 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:32 2005 -0700"
      },
      "message": "[PATCH] Driver core: Documentation: update device attribute callbacks\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "54b6f35c99974e99e64c05c2895718355123c55f",
      "tree": "321d08c397bc26b49c706ca5b86de7003c2329c0",
      "parents": [
        "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b"
      ],
      "author": {
        "name": "Yani Ioannou",
        "email": "yani.ioannou@gmail.com",
        "time": "Tue May 17 06:39:34 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] Driver core: change device_attribute callbacks\n\nThis patch adds the device_attribute paramerter to the\ndevice_attribute store and show sysfs callback functions, and passes a\nreference to the attribute when the callbacks are called.\n\nSigned-off-by: Yani Ioannou \u003cyani.ioannou@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca2b94ba12f3c36fd3d6ed9d38b3798d4dad0d8b",
      "tree": "d9b85e0f423d1cd0a9ad1c72cec7464bcf50c126",
      "parents": [
        "acaefc25d21f850e47ecc5098d1e0bc442c526be"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed May 18 10:42:23 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:31 2005 -0700"
      },
      "message": "[PATCH] driver core: fix error handling in bus_add_device\n\nThe error handling in bus_add_device() and device_attach() is simply\nnon-existing. This patch propagates any error from device_attach to\nthe upper layers to allow for a proper recovery.\n\nFrom: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "acaefc25d21f850e47ecc5098d1e0bc442c526be",
      "tree": "fbc7aa605c71667507b54d3b3320f9a999458dd4",
      "parents": [
        "4109aca06cb7b042ea791d0f9d3c9615bc3bf5cd"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed May 18 14:40:59 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:30 2005 -0700"
      },
      "message": "[PATCH] libfs: add simple attribute files\n\nBased on the discussion about spufs attributes, this is my suggestion\nfor a more generic attribute file support that can be used by both\ndebugfs and spufs.\n\nSimple attribute files behave similarly to sequential files from\na kernel programmers perspective in that a standard set of file\noperations is provided and only an open operation needs to\nbe written that registers file specific get() and set() functions.\n\nThese operations are defined as\n\nvoid foo_set(void *data, u64 val); and\nu64 foo_get(void *data);\n\nwhere data is the inode-\u003eu.generic_ip pointer of the file and the\noperations just need to make send of that pointer. The infrastructure\nmakes sure this works correctly with concurrent access and partial\nread calls.\n\nA macro named DEFINE_SIMPLE_ATTRIBUTE is provided to further simplify\nusing the attributes.\n\nThis patch already contains the changes for debugfs to use attributes\nfor its internal file operations.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4109aca06cb7b042ea791d0f9d3c9615bc3bf5cd",
      "tree": "36312d5fe016d507ec0682de914e1ac6b66c3246",
      "parents": [
        "4b45099b75832434c5113b9aed1499f8a69d13d5"
      ],
      "author": {
        "name": "David Brownell",
        "email": "david-b@pacbell.net",
        "time": "Mon May 16 17:19:55 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] Driver Core: driver model doc update\n\nThis updates some driver data documentation:\n\n - removes references to some fields that haven\u0027t been there for a\n   long time now, e.g. pre-kobject or even older;\n\n - giving more information about the probe() method;\n\n - adding an example of how platform_data is used\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "4b45099b75832434c5113b9aed1499f8a69d13d5",
      "tree": "dbb6cf4a3937120be0cfd6f4699926fa4689ac8d",
      "parents": [
        "f409661877a25d11c2495bcd879807f17c286684"
      ],
      "author": {
        "name": "Keiichiro Tokunaga",
        "email": "tokunaga.keiich@jp.fujitsu.com",
        "time": "Sun May 08 21:28:53 2005 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] Driver core: unregister_node() for hotplug use\n\nThis adds a generic function \u0027unregister_node()\u0027.\nIt is used to remove objects of a node going away\nfor hotplug.  All the devices on the node must be\nunregistered before calling this function.\n\nSigned-off-by: Keiichiro Tokunaga \u003ctokunaga.keiich@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -puN drivers/base/node.c~numa_hp_base drivers/base/node.c\n"
    },
    {
      "commit": "f409661877a25d11c2495bcd879807f17c286684",
      "tree": "ce14b7c16191af662d087c9be4a3fcbe642a63af",
      "parents": [
        "c95a6b057b108c2b7add35cba1354f9af921349e"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 06 15:41:08 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:29 2005 -0700"
      },
      "message": "[PATCH] usbcore: Don\u0027t call device_release_driver recursively\n\nThis patch fixes usb_driver_release_interface() to make it avoid calling\ndevice_release_driver() recursively, i.e., when invoked from within the\ndisconnect routine for the same device.  The patch applies to your\n\"driver\" tree.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c95a6b057b108c2b7add35cba1354f9af921349e",
      "tree": "5a312f634b0aec295201a93020ba025d840e5f21",
      "parents": [
        "6623415687eaffef49429292ab062bb046ee3311"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri May 06 15:38:33 2005 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] driver core: Fix races in driver_detach()\n\nThis patch is intended for your \"driver\" tree.  It fixes several subtle\nraces in driver_detach() and device_release_driver() in the driver-model\ncore.\n\nThe major change is to use klist_remove() rather than klist_del() when\ntaking a device off its driver\u0027s list.  There\u0027s no other way to guarantee\nthat the list pointers will be updated before some other driver binds to\nthe device.  For this to work driver_detach() can\u0027t use a klist iterator,\nso the loop over the devices must be written out in full.  In addition the\npatch protects against the possibility that, when a driver and a device\nare unregistered at the same time, one may be unloaded from memory before\nthe other is finished using it.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6623415687eaffef49429292ab062bb046ee3311",
      "tree": "f969c9683cf152a2709ca00b558b2cc65b36f7dc",
      "parents": [
        "273971bade8a6d37c1b162146de1a53965cdc245"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Apr 28 17:11:52 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] sn: fixes due to driver core changes\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "273971bade8a6d37c1b162146de1a53965cdc245",
      "tree": "ef78c4a7c1b8ab39c9b6f47fef82278d5145e74d",
      "parents": [
        "12eac738e5889a10da5b391c02eeb61229c796dc"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:28 2005 -0700"
      },
      "message": "[PATCH] usb: klist_node_attached() fix\n\nThe original code looks like this:\n\n        /* if interface was already added, bind now; else let\n         * the future device_add() bind it, bypassing probe()\n         */\n        if (!list_empty (\u0026dev-\u003ebus_list))\n                device_bind_driver(dev);\n\nIOW, it\u0027s checking to see if the device is attached to the bus or not\nand binding the driver if it is. It\u0027s checking the device\u0027s bus list,\nwhich will only appear empty when the device has been initialized, but\nnot added. It depends way too much on the driver model internals, but it\nseems to be the only way to do the weird crap they want to do with\ninterfaces.\n\nWhen I converted it to use klists, I accidentally inverted the logic,\nwhich led to bad things happening. This patch returns the check to its\norginal value.\n\nFrom: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "12eac738e5889a10da5b391c02eeb61229c796dc",
      "tree": "f571bf26898e816d91f0a830a45a0dc6f781fc6e",
      "parents": [
        "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "jasonuhl@sgi.com",
        "time": "Wed Mar 30 13:19:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Fix typo in scdrv_init()\n\nFix a typo in scdrv_init() which was breaking the build for SGI sn2.\n\nSigned-off-by: Jason Uhlenkott \u003cjasonuhl@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76",
      "tree": "30e584b73c356adce49dcc9df75332abaef95470",
      "parents": [
        "b86c1df1f98d16c999423a3907eb40a9423f481e"
      ],
      "author": {
        "name": "Patrick Mochel",
        "email": "mochel@digitalimplant.org",
        "time": "Tue Apr 05 23:46:33 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix bk-driver-core kills ppc64\n\nThere\u0027s no check to see if the device is already bound to a driver, which\ncould do bad things.  The first thing to go wrong is that it will try to match\na driver with a device already bound to one.  In some cases (it appears with\nUSB with drivers/usb/core/usb.c::usb_match_id()), some drivers will match a\ndevice based on the class type, so it would be common (especially for HID\ndevices) to match a device that is already bound.\n\nThe fun comes when -\u003eprobe() is called, it fails, then\ndriver_probe_device() does this:\n\n\tdev-\u003edriver \u003d NULL;\n\nLater on, that pointer could be be dereferenced without checking and cause\nhell to break loose.\n\nThis problem could be nasty. It\u0027s very hardware dependent, since some\ndevices could have a different set of matching qualifiers than others.\n\nNow, I don\u0027t quite see exactly where/how you were getting that crash.\nYou\u0027re dereferencing bad memory, but I\u0027m not sure which pointer was bad\nand where it came from, but it could have come from a couple of different\nplaces.\n\nThe patch below will hopefully fix it all up for you. It\u0027s against\n2.6.12-rc2-mm1, and does the following:\n\n- Move logic to driver_probe_device() and comments uncommon returns:\n  1 - If device is bound\n  0 - If device not bound, and no error\n  error - If there was an error.\n\n- Move locking to caller of that function, since we want to lock a\n  device for the entire time we\u0027re trying to bind it to a driver (to\n  prevent against a driver being loaded at the same time).\n\n- Update __device_attach() and __driver_attach() to do that locking.\n\n- Check if device is already bound in __driver_attach()\n\n- Update the converse device_release_driver() so it locks the device\n  around all of the operations.\n\n- Mark driver_probe_device() as static and remove export. It\u0027s an\n  internal function, it should stay that way, and there are no other\n  callers. If there is ever a need to export it, we can audit it as\n  necessary.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "b86c1df1f98d16c999423a3907eb40a9423f481e",
      "tree": "02cf0b54f3c1d9b987268f2d4737af1a67dd4056",
      "parents": [
        "d0e2b4a0a9dd3eed71b56c47268bf4e40cff6d0f"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 31 12:53:00 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Driver core: Fix up the driver and device iterators to be quieter\n\nAlso stops looping over the lists when a match is found.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\n"
    },
    {
      "commit": "d0e2b4a0a9dd3eed71b56c47268bf4e40cff6d0f",
      "tree": "567d849ed870807599d439e459e1bbe3cfec2877",
      "parents": [
        "64360322ab3330d4881166380ad43a1eec2f123d"
      ],
      "author": {
        "name": "long",
        "email": "tlnguyen@snoqualmie.dp.intel.com",
        "time": "Tue Mar 29 13:36:43 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] use device_for_each_child() to properly access child devices.\n\nOn Friday, March 25, 2005 8:47 PM Greg KH wrote:\n\u003eHere\u0027s a fix for pci express.  For some reason I don\u0027t think they are\n\u003eusing the driver model properly here, but I could be wrong...\n\nThanks for making the changes. However, changes in functions:\nvoid pcie_port_device_remove(struct pci_dev *dev) and\nstatic int remove_iter(struct device *dev, void *data)\nare not correct. Please use the patch, which is based on kernel\n2.6.12-rc1, below for a fix for these.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "64360322ab3330d4881166380ad43a1eec2f123d",
      "tree": "cfb876990acbe4669e9ba45d6252c75538288f24",
      "parents": [
        "ff710710eae73990dd484ea8e37dba636452502b"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 25 11:45:31 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] Use device_for_each_child() to unregister devices in nodemgr_remove_host_dev()\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c\n"
    },
    {
      "commit": "ff710710eae73990dd484ea8e37dba636452502b",
      "tree": "c764773894a10b5650f81b32e86751b97e54706e",
      "parents": [
        "126eddfbf8cae8a20c22708192bffcbd77c8a889"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Thu Mar 24 00:44:28 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:26 2005 -0700"
      },
      "message": "[PATCH] USB: fix build warning in usb core as pointed out by Andrew.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "126eddfbf8cae8a20c22708192bffcbd77c8a889",
      "tree": "204287a611f015bb68f96d3be1135d2e93826b35",
      "parents": [
        "4d12d2d953ca5e299de6a653f1d0478f670d7bc6"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 22 12:17:13 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:24 2005 -0700"
      },
      "message": "[PATCH] driver core: change export symbol for driver_for_each_device()\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: linux-2.6.12-rc2/drivers/base/driver.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "4d12d2d953ca5e299de6a653f1d0478f670d7bc6",
      "tree": "ba89978abb57da6a24cc141b869a14b6d6c76884",
      "parents": [
        "36239577cfb6b9a7c111209536b54200b0252ebf"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 20:08:04 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:23 2005 -0700"
      },
      "message": "[PATCH] Fix up bogus comment.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/drivers/base/driver.c b/drivers/base/driver.c\n"
    },
    {
      "commit": "36239577cfb6b9a7c111209536b54200b0252ebf",
      "tree": "f8fa5034fbb31d273d0889119cbc20e4c4b0c983",
      "parents": [
        "9a881f166f473373589ce6f3fdc47b44a1450e2d"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 19:08:30 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:23 2005 -0700"
      },
      "message": "[PATCH] Use a klist for device child lists.\n\n- Use klist iterator in device_for_each_child(), making it safe to use for\n  removing devices.\n- Remove unused list_to_dev() function.\n- Kills all usage of devices_subsys.rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9a881f166f473373589ce6f3fdc47b44a1450e2d",
      "tree": "7f845c4f30aec7df6052a4503d3a76bf2a4362c0",
      "parents": [
        "20b1e674230b642be662c5975923a0160ab9cbdc"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 25 15:52:00 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:22 2005 -0700"
      },
      "message": "[PATCH] use device_for_each_child() to properly access child devices.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "20b1e674230b642be662c5975923a0160ab9cbdc",
      "tree": "749e1384c57576bfbe3ffd1414df321cc783296f",
      "parents": [
        "0293a509405dccecc30783a5d729d615b68d6a77"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 19:03:59 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:19 2005 -0700"
      },
      "message": "[PATCH] Use device_for_each_child() to unregister devices in scsi_remove_target().\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/scsi/scsi_sysfs.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "0293a509405dccecc30783a5d729d615b68d6a77",
      "tree": "69856eefdaba010e35dd7fbe2e5bb152a110d186",
      "parents": [
        "0956af53afea290c5676c75249fc2c180d831375"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 18:59:59 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:19 2005 -0700"
      },
      "message": "[PATCH] Don\u0027t reference NULL klist pointer in klist_remove().\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/lib/klist.c b/lib/klist.c\n"
    },
    {
      "commit": "0956af53afea290c5676c75249fc2c180d831375",
      "tree": "43ba929157462d22b6320a8924823a56cb292569",
      "parents": [
        "63c4f204ffc8219696bda88eb20c9873d007a2fc"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 18:58:45 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:19 2005 -0700"
      },
      "message": "[PATCH] Call klist_del() instead of klist_remove().\n\n- Can\u0027t wait on removing the current item in the list (the positive refcount *because*\n  we are using it causes it to deadlock).\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "63c4f204ffc8219696bda88eb20c9873d007a2fc",
      "tree": "4a787908743ae0360b4e4356326c8912e6954a40",
      "parents": [
        "7dc35cdf69149a7f2b5216ada9bafe359746ac1c"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:08:05 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Remove struct device::driver_list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7dc35cdf69149a7f2b5216ada9bafe359746ac1c",
      "tree": "bdbcaff7bc9d2ac391aae54bc4cb23ecbf93038f",
      "parents": [
        "6eded061b1263847aedac7469339e99579aec5e5"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:03:35 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Remove struct device::bus_list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6eded061b1263847aedac7469339e99579aec5e5",
      "tree": "849eadc1c02df67e2d327880ce2ecc20975a856f",
      "parents": [
        "d4a7537122fa47a6ce41c5fdab53d844c78d7023"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:02:28 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:18 2005 -0700"
      },
      "message": "[PATCH] Fix up bus code and remove use of rwsem.\n\n- Don\u0027t add devices to bus\u0027s embedded kset, since it\u0027s not used by anyone anymore.\n- Don\u0027t need to take the bus rwsem when calling {device,driver}_attach(), since\n  those functions use the klists and the klists\u0027 spinlocks.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d4a7537122fa47a6ce41c5fdab53d844c78d7023",
      "tree": "e4ae3e20f27497c90fca268260c591f117356a3e",
      "parents": [
        "8b0c250be489dcbf1a3a33bb4ec4c7f33735a365"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 13:00:16 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:17 2005 -0700"
      },
      "message": "[PATCH] Fix up USB to use klist_node_attached() instead of list_empty() on lists that will go away.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "8b0c250be489dcbf1a3a33bb4ec4c7f33735a365",
      "tree": "17935d1064101df10ad7bb2f7ed94e6a88af295c",
      "parents": [
        "2287c322b61fced7e0c326a1a9606aa73147e3df"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 12:58:57 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:17 2005 -0700"
      },
      "message": "[PATCH] add klist_node_attached() to determine if a node is on a list or not.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/include/linux/klist.h b/include/linux/klist.h\n"
    },
    {
      "commit": "2287c322b61fced7e0c326a1a9606aa73147e3df",
      "tree": "8241c7cab4172969f38d8b55852aca2e071a494f",
      "parents": [
        "cb85b6f1cc811ecb9ed4b950206d8941ba710e68"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 10:50:24 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:17 2005 -0700"
      },
      "message": "[PATCH] Use bus_for_each_{dev,drv} for driver binding.\n\n- Now possible, since the lists are locked using the klist lock and not the\n  global rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "cb85b6f1cc811ecb9ed4b950206d8941ba710e68",
      "tree": "f017c851e25078c8445ec7045556eb41e364ffdb",
      "parents": [
        "94e7b1c5ff2055571703e38b059afffe17658432"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 10:48:35 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:16 2005 -0700"
      },
      "message": "[PATCH] Remove the unused device_find().\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94e7b1c5ff2055571703e38b059afffe17658432",
      "tree": "469dbd920087ec62acd88b4985437a78c6786c0e",
      "parents": [
        "38fdac3cdce276554b4484a41f8ec2daf81cb2ff"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 12:25:36 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:16 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct device_driver for the devices bound to it.\n\n- Use it in driver_for_each_device() instead of the regular list_head and stop using\n  the bus\u0027s rwsem for protection.\n- Use driver_for_each_device() in driver_detach() so we don\u0027t deadlock on the\n  bus\u0027s rwsem.\n- Remove -\u003edevices.\n- Move klist access and sysfs link access out from under device\u0027s semaphore, since\n  they\u0027re synchronized through other means.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "38fdac3cdce276554b4484a41f8ec2daf81cb2ff",
      "tree": "1bdd0b8b69bd8e13de53036c8ef8b968a0dacc1d",
      "parents": [
        "465c7a3a3a5aabcedd2e43612cac5a12f23da19a"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 12:00:18 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct bus_type for its drivers.\n\n- Use it in bus_for_each_drv().\n- Use the klist spinlock instead of the bus rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "465c7a3a3a5aabcedd2e43612cac5a12f23da19a",
      "tree": "392dabbfe84d1de3e84b1eb238bfd09d0ade6c4c",
      "parents": [
        "9a19fea43616066561e221359596ce532e631395"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:49:14 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add a klist to struct bus_type for its devices.\n\n- Use it for bus_for_each_dev().\n- Use the klist spinlock instead of the bus rwsem.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9a19fea43616066561e221359596ce532e631395",
      "tree": "f776bee1bcb1051bf75323b65fa887347412409e",
      "parents": [
        "6034a080f98b0bbc0a058e2ac65a538f75cffeee"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:45:16 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add initial implementation of klist helpers.\n\nThis klist interface provides a couple of structures that wrap around\nstruct list_head to provide explicit list \"head\" (struct klist) and\nlist \"node\" (struct klist_node) objects. For struct klist, a spinlock\nis included that protects access to the actual list itself. struct\nklist_node provides a pointer to the klist that owns it and a kref\nreference count that indicates the number of current users of that node\nin the list.\n\nThe entire point is to provide an interface for iterating over a list\nthat is safe and allows for modification of the list during the\niteration (e.g. insertion and removal), including modification of the\ncurrent node on the list.\n\nIt works using a 3rd object type - struct klist_iter - that is declared\nand initialized before an iteration. klist_next() is used to acquire the\nnext element in the list. It returns NULL if there are no more items.\nThis klist interface provides a couple of structures that wrap around\nstruct list_head to provide explicit list \"head\" (struct klist) and\nlist \"node\" (struct klist_node) objects. For struct klist, a spinlock\nis included that protects access to the actual list itself. struct\nklist_node provides a pointer to the klist that owns it and a kref\nreference count that indicates the number of current users of that node\nin the list.\n\nThe entire point is to provide an interface for iterating over a list\nthat is safe and allows for modification of the list during the\niteration (e.g. insertion and removal), including modification of the\ncurrent node on the list.\n\nIt works using a 3rd object type - struct klist_iter - that is declared\nand initialized before an iteration. klist_next() is used to acquire the\nnext element in the list. It returns NULL if there are no more items.\nInternally, that routine takes the klist\u0027s lock, decrements the reference\ncount of the previous klist_node and increments the count of the next\nklist_node. It then drops the lock and returns.\n\nThere are primitives for adding and removing nodes to/from a klist.\nWhen deleting, klist_del() will simply decrement the reference count.\nOnly when the count goes to 0 is the node removed from the list.\nklist_remove() will try to delete the node from the list and block\nuntil it is actually removed. This is useful for objects (like devices)\nthat have been removed from the system and must be freed (but must wait\nuntil all accessors have finished).\n\nInternally, that routine takes the klist\u0027s lock, decrements the reference\ncount of the previous klist_node and increments the count of the next\nklist_node. It then drops the lock and returns.\n\nThere are primitives for adding and removing nodes to/from a klist.\nWhen deleting, klist_del() will simply decrement the reference count.\nOnly when the count goes to 0 is the node removed from the list.\nklist_remove() will try to delete the node from the list and block\nuntil it is actually removed. This is useful for objects (like devices)\nthat have been removed from the system and must be freed (but must wait\nuntil all accessors have finished).\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/include/linux/klist.h b/include/linux/klist.h\n"
    },
    {
      "commit": "6034a080f98b0bbc0a058e2ac65a538f75cffeee",
      "tree": "3e3bb5b4afcce4aafd4cf287377c5298bd7211b2",
      "parents": [
        "8d618afdd61ccaacbab4976a556c0ddcf36e2d8a"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:09:40 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Use driver_for_each_device() instead of manually walking list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: gregkh-2.6/drivers/usb/core/usb.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "8d618afdd61ccaacbab4976a556c0ddcf36e2d8a",
      "tree": "abe9d05aacee69b9b59375e867db295982222e65",
      "parents": [
        "fae3cd00255e3e51ffd59fedb1bdb91ec96be395"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:07:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Use driver_for_each_device() in drivers/pnp/driver.c instead of manually walking list.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/drivers/pnp/driver.c b/drivers/pnp/driver.c\n"
    },
    {
      "commit": "fae3cd00255e3e51ffd59fedb1bdb91ec96be395",
      "tree": "59e56a65f4b01f496436bd9b0720737ce1937db4",
      "parents": [
        "07e4a3e27fe414980ddc85a358e5a56abc48b363"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:59:56 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Add driver_for_each_device().\n\nNow there\u0027s an iterator for accessing each device bound to a driver.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\nIndex: linux-2.6.12-rc2/drivers/base/driver.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "07e4a3e27fe414980ddc85a358e5a56abc48b363",
      "tree": "eb32858e7facf8b24a2f0fc2d4e829d6ee715c09",
      "parents": [
        "af70316af182f4716cc5eec7e0d27fc731d164bd"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:52:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:13 2005 -0700"
      },
      "message": "[PATCH] Move device/driver code to drivers/base/dd.c\n\nThis relocates the driver binding/unbinding code to drivers/base/dd.c. This is done\nfor two reasons: One, it\u0027s not code related to the bus_type itself; it uses some from\nthat, some from devices, and some from drivers. And Two, it will make it easier to do\nsome of the upcoming lock removal on that code..\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "af70316af182f4716cc5eec7e0d27fc731d164bd",
      "tree": "22fa4732c8270db8fd3f681355cd83e4b8088847",
      "parents": [
        "eb51b65005737b777e0709683b061d5f82aefd97"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 10:41:04 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:12 2005 -0700"
      },
      "message": "[PATCH] Add a semaphore to struct device to synchronize calls to its driver.\n\nThis adds a per-device semaphore that is taken before every call from the core to a\ndriver method. This prevents e.g. simultaneous calls to the -\u003esuspend() or -\u003eresume()\nand -\u003eprobe() or -\u003erelease(), potentially saving a whole lot of headaches.\n\nIt also moves us a step closer to removing the bus rwsem, since it protects the fields\nin struct device that are modified by the core.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "eb51b65005737b777e0709683b061d5f82aefd97"
}
