)]}'
{
  "log": [
    {
      "commit": "4ac63ad6c52e9cdefbcb54ec4575ab12b78b49d9",
      "tree": "e8ff9d5a9bbe01c68a95f71f1707cc24afa770d1",
      "parents": [
        "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:45:06 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:27 2007 -0800"
      },
      "message": "[IPVS]: Fix sched registration race when checking for name collision.\n\nThe register_ip_vs_scheduler() checks for the scheduler with the\nsame name under the read-locked __ip_vs_sched_lock, then drops,\ntakes it for writing and puts the scheduler in list.\n\nThis is racy, since we can have a race window between the lock\nbeing re-locked for writing.\n\nThe fix is to search the scheduler with the given name right under\nthe write-locked __ip_vs_sched_lock.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a014bc8f0f0a3a0cac4fef656f101cdfb77b71eb",
      "tree": "0b48fdff5525ddba1c64a8c0fd8c8fb6e1a9aeab",
      "parents": [
        "e3c0ac04f980750a368f7cd5f1b8d1d2cdc1f735"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Dec 04 00:43:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 05 05:37:26 2007 -0800"
      },
      "message": "[IPVS]: Don\u0027t leak sysctl tables if the scheduler registration fails.\n\nIn case we load lblc or lblcr module we can leak some sysctl\ntables if the call to register_ip_vs_scheduler() fails.\n\nI\u0027ve looked at the register_ip_vs_scheduler() code and saw, that\nthe only reason to fail is the name collision, so I think that\nwith some 3rd party schedulers this becomes a relevant issue. No?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d535a916cdb1620d936a0a6197194c458854bd71",
      "tree": "1117969a146d7cc0a05c816e593e9ca1f661ebaf",
      "parents": [
        "b4a9811c42ecb70b2f0b375f6d4c77ab34d1f598"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Nov 20 17:44:01 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 20 17:44:01 2007 -0800"
      },
      "message": "[IPVS]: Fix compiler warning about unused register_ip_vs_protocol\n\nThis is silly, but I have turned the CONFIG_IP_VS to m,\nto check the compilation of one (recently sent) fix\nand set all the CONFIG_IP_VS_PROTO_XXX options to n to\nspeed up the compilation.\n\nIn this configuration the compiler warns me about\n\n  CC [M]  net/ipv4/ipvs/ip_vs_proto.o\nnet/ipv4/ipvs/ip_vs_proto.c:49: warning: \u0027register_ip_vs_protocol\u0027 defined but not used\n\nIndeed. With no protocols selected there are no\ncalls to this function - all are compiled out with\nifdefs.\n\nMaybe the best fix would be to surround this call with\nifdef-s or tune the Kconfig dependences, but I think that\nmarking this register function as __used is enough. No?\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "464c4f184ac671c6206d502a67034f9bfe9fe25c",
      "tree": "f09baabf8b3dc700a3820c10bd7786a2a32f7586",
      "parents": [
        "4756daa3b63e806d8ef093c8b4b5f56ee34250a2"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 23:46:29 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 23:46:29 2007 -0800"
      },
      "message": "[IPV4]: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9055fa1f3ded5ad858a55ae18439ed55227ee7eb",
      "tree": "d8ea30e4b8b53f3f6e47cb6c2823fc84d40bea60",
      "parents": [
        "9e103fa6bd53147e228e941256803a6b8927cdb9"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Nov 19 21:51:13 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:51:13 2007 -0800"
      },
      "message": "[IPVS]: Move remaining sysctl handlers over to CTL_UNNUMBERED\n\nSwitch the remaining IPVS sysctl entries over to to use CTL_UNNUMBERED,\nI stronly doubt that anyone is using the sys_sysctl interface to\nthese variables.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e103fa6bd53147e228e941256803a6b8927cdb9",
      "tree": "9460058bcf8d27f4a3f9f69103b896ff74cf6f0a",
      "parents": [
        "611cd55b155a89d9a0ce5f92a9cbabc5e284d0d4"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Nov 19 21:50:21 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:50:21 2007 -0800"
      },
      "message": "[IPVS]: Fix sysctl warnings about missing strategy in schedulers\n\nsysctl table check failed: /net/ipv4/vs/lblc_expiration .3.5.21.19 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/lblcr_expiration .3.5.21.20 Missing strategy\n\nSwitch these entried over to use CTL_UNNUMBERED as clearly\nthe sys_syscal portion wasn\u0027t working.\n\nThis is along the same lines as Christian Borntraeger\u0027s patch that fixes\nup entries with no stratergy in net/ipv4/ipvs/ip_vs_ctl.c\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611cd55b155a89d9a0ce5f92a9cbabc5e284d0d4",
      "tree": "369fe04d727a5ef83b2585f95604ce3092051021",
      "parents": [
        "21df56c6e2372e09c916111efb6c14c372a5ab2e"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Mon Nov 19 21:49:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 19 21:49:25 2007 -0800"
      },
      "message": "[IPVS]: Fix sysctl warnings about missing strategy\n\nRunning the latest git code I get the following messages during boot:\nsysctl table check failed: /net/ipv4/vs/drop_entry .3.5.21.4 Missing strategy\n[...]\t\t  \nsysctl table check failed: /net/ipv4/vs/drop_packet .3.5.21.5 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/secure_tcp .3.5.21.6 Missing strategy\n[...]\nsysctl table check failed: /net/ipv4/vs/sync_threshold .3.5.21.24 Missing strategy\n\nI removed the binary sysctl handler for those messages and also removed\nthe definitions in ip_vs.h. The alternative would be to implement a \nproper strategy handler, but syscall sysctl is deprecated.\n\nThere are other sysctl definitions that are commented out or work with \nthe default sysctl_data strategy. I did not touch these. \n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22649d1afbe6988688a07fd70abb06f1e2213567",
      "tree": "b749e74c9e2cf5dece5b0e8799282c1848672b73",
      "parents": [
        "6aed42159db1f99e83ccf17b1aa1a83bc75ac3e8"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Nov 12 21:25:24 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:25:24 2007 -0800"
      },
      "message": "[IPVS]: Remove unused exports.\n\nThis patch removes the following unused EXPORT_SYMBOL\u0027s:\n- ip_vs_try_bind_dest\n- ip_vs_find_dest\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "efac52762b1e3fe3035d29e82d8ee1aebc45e4a7",
      "tree": "3979958b12d4a3b326b657f52f960f013c6cb560",
      "parents": [
        "1e356f9cdfa885c78791d5d6e5d2baef22f01853"
      ],
      "author": {
        "name": "Rumen G. Bogdanovski",
        "email": "rumen@voicecho.com",
        "time": "Wed Nov 07 02:36:55 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:10 2007 -0800"
      },
      "message": "[IPVS]: Synchronize closing of Connections\n\nThis patch makes the master daemon to sync the connection when it is about\nto close.  This makes the connections on the backup to close or timeout\naccording their state.  Before the sync was performed only if the\nconnection is in ESTABLISHED state which always made the connections to\ntimeout in the hard coded 3 minutes. However the Andy Gospodarek\u0027s patch\n([IPVS]: use proper timeout instead of fixed value) effectively did nothing\nmore than increasing this to 15 minutes (Established state timeout).  So\nthis patch makes use of proper timeout since it syncs the connections on\nstatus changes to FIN_WAIT (2min timeout) and CLOSE (10sec timeout).\nHowever if the backup misses CLOSE hopefully it did not miss FIN_WAIT.\nOtherwise we will just have to wait for the ESTABLISHED state timeout. As\nit is without this patch.  This way the number of the hanging connections\non the backup is kept to minimum. And very few of them will be left to\ntimeout with a long timeout.\n\nThis is important if we want to make use of the fix for the real server\novercommit on master/backup fail-over.\n\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e356f9cdfa885c78791d5d6e5d2baef22f01853",
      "tree": "5ddd3064dd27fcca0ca3538842021cccf8ff74d9",
      "parents": [
        "c183783e28969e92f3df23f8b7e18d5c3e5bc8dd"
      ],
      "author": {
        "name": "Rumen G. Bogdanovski",
        "email": "rumen@voicecho.com",
        "time": "Wed Nov 07 02:35:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:09 2007 -0800"
      },
      "message": "[IPVS]: Bind connections on stanby if the destination exists\n\nThis patch fixes the problem with node overload on director fail-over.\nGiven the scenario: 2 nodes each accepting 3 connections at a time and 2\ndirectors, director failover occurs when the nodes are fully loaded (6\nconnections to the cluster) in this case the new director will assign\nanother 6 connections to the cluster, If the same real servers exist\nthere.\n\nThe problem turned to be in not binding the inherited connections to\nthe real servers (destinations) on the backup director. Therefore:\n\"ipvsadm -l\" reports 0 connections:\nroot@test2:~# ipvsadm -l\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port           Forward Weight ActiveConn InActConn\nTCP  test2.local:5999 wlc\n  -\u003e node473.local:5999           Route   1000   0          0\n  -\u003e node484.local:5999           Route   1000   0          0\n\nwhile \"ipvs -lnc\" is right\nroot@test2:~# ipvsadm -lnc\nIPVS connection entries\npro expire state       source             virtual            destination\nTCP 14:56  ESTABLISHED 192.168.0.10:39164 192.168.0.222:5999\n192.168.0.51:5999\nTCP 14:59  ESTABLISHED 192.168.0.10:39165 192.168.0.222:5999\n192.168.0.52:5999\n\nSo the patch I am sending fixes the problem by binding the received\nconnections to the appropriate service on the backup director, if it\nexists, else the connection will be handled the old way. So if the\nmaster and the backup directors are synchronized in terms of real\nservices there will be no problem with server over-committing since\nnew connections will not be created on the nonexistent real services\non the backup. However if the service is created later on the backup,\nthe binding will be performed when the next connection update is\nreceived. With this patch the inherited connections will show as\ninactive on the backup:\n\nroot@test2:~# ipvsadm -l\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port           Forward Weight ActiveConn InActConn\nTCP  test2.local:5999 wlc\n  -\u003e node473.local:5999           Route   1000   0          1\n  -\u003e node484.local:5999           Route   1000   0          1\n\nrumen@test2:~$ cat /proc/net/ip_vs\nIP Virtual Server version 1.2.1 (size\u003d4096)\nProt LocalAddress:Port Scheduler Flags\n  -\u003e RemoteAddress:Port Forward Weight ActiveConn InActConn\nTCP  C0A800DE:176F wlc\n  -\u003e C0A80033:176F      Route   1000   0          1\n  -\u003e C0A80032:176F      Route   1000   0          1\n\nRegards,\nRumen Bogdanovski\n\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Rumen G. Bogdanovski \u003crumen@voicecho.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\n"
    },
    {
      "commit": "07afa040252eb41f91f46f8e538b434a63122999",
      "tree": "d84046808facecda8793f96be92efaebebf6708f",
      "parents": [
        "1675c7b254cd37cb58921abd95cdfef36ae82059"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@sw.ru",
        "time": "Tue Oct 30 15:40:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:16:27 2007 -0700"
      },
      "message": "[IPVS]: Remove /proc/net/ip_vs_lblcr\n\nIt\u0027s under CONFIG_IP_VS_LBLCR_DEBUG option which never existed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c81833c2f74304142be6dde5688bf444316da21",
      "tree": "7024dc03b5241d6ad8e7edee0f370c9a15c64646",
      "parents": [
        "ad02ac145d49067a94bf8f3357c527020d5893ed"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Oct 29 04:35:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 29 22:37:23 2007 -0700"
      },
      "message": "[IPVS]: use proper timeout instead of fixed value\n\nInstead of using the default timeout of 3 minutes, this uses the timeout\nspecific to the protocol used for the connection. The 3 minute timeout\nseems somewhat arbitrary (though I know it is used other places in the\nipvs code) and when failing over it would be much nicer to use one of\nthe configured timeout values.\n\nSigned-off-by: Andy Gospodarek \u003candy@greyhouse.net\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c2636b4d9e8ab8d16b9e2bf0f0744bb8418d4026",
      "tree": "4db39ee9b93871385d72e776bec2e640166e3b34",
      "parents": [
        "0ffdd581497286e8af529b0b39770c01eab15b30"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Tue Oct 23 21:07:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 23 21:27:55 2007 -0700"
      },
      "message": "[NET]: Treat the sign of the result of skb_headroom() consistently\n\nIn some places, the result of skb_headroom() is compared to an unsigned\ninteger, and in others, the result is compared to a signed integer.  Make\nthe comparisons consistent and correct.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6651fd561bc6fbc688542e9a5bf070c6485eebe8",
      "tree": "413e8f3f0411b88b66b0f60eea9e7c9331b943e9",
      "parents": [
        "457c25107b83bc6456b3a18a25511418dc25da69"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use task_pid_nr() in ip_vs_sync.c\n\nThe sync_master_pid and sync_backup_pid are set in set_sync_pid() and are\nused later for set/not-set checks and in printk.  So it is safe to use the\nglobal pid value in this case.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed",
      "tree": "3123c03b25dd5c0cd24b6ab4fc16731217838157",
      "parents": [
        "9a2e70572e94e21e7ec4186702d045415422bda0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 23:40:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:43 2007 -0700"
      },
      "message": "Use helpers to obtain task pid in printks\n\nThe task_struct-\u003epid member is going to be deprecated, so start\nusing the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in\nthe kernel.\n\nThe first thing to start with is the pid, printed to dmesg - in\nthis case we may safely use task_pid_nr(). Besides, printks produce\nmore (much more) than a half of all the explicit pid usage.\n\n[akpm@linux-foundation.org: git-drm went and changed lots of stuff]\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9",
      "tree": "0d0e4c18cdf2dcb7321035f6614628a2ddfb502d",
      "parents": [
        "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 00:53:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:29 2007 -0700"
      },
      "message": "[NETFILTER]: Replace sk_buff ** with sk_buff *\n\nWith all the users of the double pointers removed, this patch mops up by\nfinally replacing all occurances of sk_buff ** in the netfilter API by\nsk_buff *.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af1e1cf073e3d038b7aac417a20585ecdcab7de6",
      "tree": "2a9eaba23f721fd59160d77cbaaa643ad44f8f76",
      "parents": [
        "37d41879224108d6c24578ba6a3eeafce106ce84"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:28 2007 -0700"
      },
      "message": "[IPVS]: Replace local version of skb_make_writable\n\nThis patch removes the IPVS-specific version of skb_make_writable and\nreplaces it with the netfilter one.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "776c729e8d91b2740583a2169678f2d3f383458b",
      "tree": "16ad06616e8d04c127266bf323fb35fbed03b96d",
      "parents": [
        "1706d58763c36133d7fce6cc78b1444fd40db28c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:38:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:25 2007 -0700"
      },
      "message": "[IPV4]: Change ip_defrag to return an integer\n\nNow that ip_frag always returns the packet given to it on input, we can\nchange it to return an integer indicating error instead.  This patch does\nthat and updates all its callers accordingly.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cc217e16cb8ca8ef2544363571fce94259900e0",
      "tree": "05d7ef10fd9971fffa3f3870a4c3e66077bb1dc2",
      "parents": [
        "5967789dbc8aafdba5813fa8e8cfce3c90516f83"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:48 2007 -0700"
      },
      "message": "[IPV4]: When possible test for IFF_LOOPBACK and not dev \u003d\u003d loopback_dev\n\nNow that multiple loopback devices are becoming possible it makes\nthe code a little cleaner and more maintainable to test if a deivice\nis th a loopback device by testing dev-\u003eflags \u0026 IFF_LOOPBACK instead\nof dev \u003d\u003d loopback_dev.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16fcec35e7d7c4faaa4709f6434a4a25b06d25e3",
      "tree": "5febf4d688f2c32ed55e02bc20246388b74d85e4",
      "parents": [
        "0fb96701376874c9f1f80322f89a5bf4457c709f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "message": "[NETFILTER]: Fix/improve deadlock condition on module removal netfilter\n\nSo I\u0027ve had a deadlock reported to me.  I\u0027ve found that the sequence of\nevents goes like this:\n\n1) process A (modprobe) runs to remove ip_tables.ko\n\n2) process B (iptables-restore) runs and calls setsockopt on a netfilter socket,\nincreasing the ip_tables socket_ops use count\n\n3) process A acquires a file lock on the file ip_tables.ko, calls remove_module\nin the kernel, which in turn executes the ip_tables module cleanup routine,\nwhich calls nf_unregister_sockopt\n\n4) nf_unregister_sockopt, seeing that the use count is non-zero, puts the\ncalling process into uninterruptible sleep, expecting the process using the\nsocket option code to wake it up when it exits the kernel\n\n4) the user of the socket option code (process B) in do_ipt_get_ctl, calls\nipt_find_table_lock, which in this case calls request_module to load\nip_tables_nat.ko\n\n5) request_module forks a copy of modprobe (process C) to load the module and\nblocks until modprobe exits.\n\n6) Process C. forked by request_module process the dependencies of\nip_tables_nat.ko, of which ip_tables.ko is one.\n\n7) Process C attempts to lock the request module and all its dependencies, it\nblocks when it attempts to lock ip_tables.ko (which was previously locked in\nstep 3)\n\nTheres not really any great permanent solution to this that I can see, but I\u0027ve\ndeveloped a two part solution that corrects the problem\n\nPart 1) Modifies the nf_sockopt registration code so that, instead of using a\nuse counter internal to the nf_sockopt_ops structure, we instead use a pointer\nto the registering modules owner to do module reference counting when nf_sockopt\ncalls a modules set/get routine.  This prevents the deadlock by preventing set 4\nfrom happening.\n\nPart 2) Enhances the modprobe utilty so that by default it preforms non-blocking\nremove operations (the same way rmmod does), and add an option to explicity\nrequest blocking operation.  So if you select blocking operation in modprobe you\ncan still cause the above deadlock, but only if you explicity try (and since\nroot can do any old stupid thing it would like....  :)  ).\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cae7ca3d3de48851e929de9469397749638df779",
      "tree": "2919ea031c5dcc43668f080faa3a463ac04cfed6",
      "parents": [
        "7f353bf29e162459f2f1e2ca25e41011fae65241"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Aug 10 15:50:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:15 2007 -0700"
      },
      "message": "[IPVS]: Use IP_VS_WAIT_WHILE when encessary.\n\nFor architectures that don\u0027t have a volatile atomic_ts constructs like\nwhile (atomic_read(\u0026something)); might result in endless loops since a\nbarrier() is missing which forces the compiler to generate code that\nactually reads memory contents.\nFix this in ipvs by using the IP_VS_WAIT_WHILE macro which resolves to\nwhile (expr) { cpu_relax(); }\n(why isn\u0027t this open coded btw?)\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f49f9967b263cc88b48d912172afdc621bcb0a3c",
      "tree": "a1c0a27da646f589703f62624c1891c70465111b",
      "parents": [
        "6869a35b365c027b7acf50585c5bb34e34d4c41c"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:17:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:02 2007 -0700"
      },
      "message": "[IPV4]: Clean up duplicate includes in net/ipv4/\n\nThis patch cleans up duplicate includes in\n\tnet/ipv4/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccc7911fbd1c5af9b60453d3a8cca0a36402fee5",
      "tree": "ceceb86b2a888385c89fbf607b9853346ffa2117",
      "parents": [
        "25a8b2545bfb2238f6f66da8032d768c6870c863"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jul 30 16:20:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:11 2007 -0700"
      },
      "message": "[IPVS]: Use skb_forward_csum\n\nAs a path that forwards packets, IPVS should be using\nskb_forward_csum instead of directly setting ip_summed\nto CHECKSUM_NONE.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc0191aeef73e5aa0c7f9a586d4bb27ed67facbb",
      "tree": "c432069053def48651313d2d1f0d206159d8f667",
      "parents": [
        "281216177a407f78cfd650ee4391afc487577193"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Jun 18 22:33:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 18 22:33:20 2007 -0700"
      },
      "message": "[IPVS]: Fix state variable on failure to start ipvs threads\n\nip_vs currently fails to reset its ip_vs_sync_state variable if the\nsync thread fails to start properly.  The result is that the kernel\nwill report a running daemon when their actuall is none.\n\nIf you issue the following commands:\n\n1. ipvsadm --start-daemon master --mcast-interface bla\n2. ipvsadm -L --daemon\n3. ipvsadm --stop-daemon master\n\nAssuming that bla is not an actual interface, step 2 should return no\ndata, but instead returns:\n\n$ ipvsadm -L --daemon\nmaster sync daemon (mcast\u003dbla, syncid\u003d0)\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6938a1e0e0ebdf42f34b37116576d9eaaa9bba4",
      "tree": "3269fa0391deee811c649621dccfa7404e98de26",
      "parents": [
        "3df25df354d0e9bae9b83be5a828b6756db9bcf4"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@gmx.de",
        "time": "Wed May 23 14:48:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 16:36:47 2007 -0700"
      },
      "message": "[IPVS]: Use menuconfig objects.\n\nUse menuconfigs instead of menus, so the whole menu can be disabled at once\ninstead of going through all options.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a9136e270af14da506f66bcafcc506b86a86498",
      "tree": "b4d0a6877d92635134b7a944d0032fbc43227fd2",
      "parents": [
        "3960208f9ca0cf6bdb31c21c59ac0526303f8b34",
        "7bb2acb76e8168ca5d0bde5a5a56585a11b3525a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:54:17 2007 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)\n  sound: convert \"sound\" subdirectory to UTF-8\n  MAINTAINERS: Add cxacru website/mailing list\n  include files: convert \"include\" subdirectory to UTF-8\n  general: convert \"kernel\" subdirectory to UTF-8\n  documentation: convert the Documentation directory to UTF-8\n  Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.\n  remove broken URLs from net drivers\u0027 output\n  Magic number prefix consistency change to Documentation/magic-number.txt\n  trivial: s/i_sem /i_mutex/\n  fix file specification in comments\n  drivers/base/platform.c: fix small typo in doc\n  misc doc and kconfig typos\n  Remove obsolete fat_cvf help text\n  Fix occurrences of \"the the \"\n  Fix minor typoes in kernel/module.c\n  Kconfig: Remove reference to external mqueue library\n  Kconfig: A couple of grammatical fixes in arch/i386/Kconfig\n  Correct comments in genrtc.c to refer to correct /proc file.\n  Fix more \"deprecated\" spellos.\n  Fix \"deprecated\" typoes.\n  ...\n\nFix trivial comment conflict in kernel/relay.c.\n"
    },
    {
      "commit": "28e53bddf814485699a4142bc056fd37d4e11dd4",
      "tree": "5182090c4cc2186eedbda3cb90ed82a2836f6ff6",
      "parents": [
        "5830c5902138f80b0a097b797200c739466beedd"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:22 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:53 2007 -0700"
      },
      "message": "unify flush_work/flush_work_keventd and rename it to cancel_work_sync\n\nflush_work(wq, work) doesn\u0027t need the first parameter, we can use cwq-\u003ewq\n(this was possible from the very beginnig, I missed this).  So we can unify\nflush_work_keventd and flush_work.\n\nAlso, rename flush_work() to cancel_work_sync() and fix all callers.\nPerhaps this is not the best name, but \"flush_work\" is really bad.\n\n(akpm: this is why the earlier patches bypassed maintainers)\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: Auke Kok \u003cauke-jan.h.kok@intel.com\u003e,\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c214b2cc5f9be7c236f9b91acf524688ff0e3e72",
      "tree": "9edffda8f78422d01219dacf9ab2fb0104302a1d",
      "parents": [
        "1634c48f8b85dcb05101f1eb2eab9af40b5976da"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Wed May 09 02:34:18 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed May 09 12:30:52 2007 -0700"
      },
      "message": "ipvs: flush defense_work before module unload\n\nnet/ipv4/ipvs/ip_vs_core.c\n\n\tmodule_exit\n\t    ip_vs_cleanup\n\t\tip_vs_control_cleanup\n\t\t    cancel_rearming_delayed_work\n\t// done\n\nThis is unsafe.  The module may be unloaded and the memory may be freed\nwhile defense_work\u0027s handler is still running/preempted.\n\nDo flush_work(\u0026defense_work.work) after cancel_rearming_delayed_work().\n\nAlternatively, we could add flush_work() to cancel_rearming_delayed_work(),\nbut note that we can\u0027t change cancel_delayed_work() in the same manner\nbecause it may be called from atomic context.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59c51591a0ac7568824f541f57de967e88adaa07",
      "tree": "243d20eb0a26b76d5d312f39ec5a1ff60e036711",
      "parents": [
        "02a3e59a088749c08b0293ee1535f5bf48f5926c"
      ],
      "author": {
        "name": "Michael Opdenacker",
        "email": "michael@free-electrons.com",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed May 09 08:57:56 2007 +0200"
      },
      "message": "Fix occurrences of \"the the \"\n\nSigned-off-by: Michael Opdenacker \u003cmichael@free-electrons.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "604763722c655c7e3f31ecf6f7b4dafcd26a7a15",
      "tree": "a5c07f0e22ac86e7ca7a8c80bd3f111116610edd",
      "parents": [
        "628592ccdbbb5bb751217cf02e2e7abb500d7ffe"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Apr 09 11:59:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:43 2007 -0700"
      },
      "message": "[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY\n\nWhen a transmitted packet is looped back directly, CHECKSUM_PARTIAL\nmaps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should\ntreat it as such in the stack.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27d7ff46a3498d3debc6ba68fb8014c702b81170",
      "tree": "b5a0c617cf8339524d3b1f1633e08eae7b94cf86",
      "parents": [
        "3dbad80ac7632f243b824d469301abb97ec634a1"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sat Mar 31 11:55:19 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}\n\nTo clearly state the intent of copying to linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e07fa9cd3bac1e28cfe3131ed86b053afb02fc9",
      "tree": "177ad0c2cbbd60c25e54b35802219634c047aa08",
      "parents": [
        "b0e380b1d8a8e0aca215df97702f99815f05c094"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:22:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Use offsets for skb-\u003e{mac,network,transport}_header on 64bit architectures\n\nWith this we save 8 bytes per network packet, leaving a 4 bytes hole to be used\nin further shrinking work, likely with the offsetization of other pointers,\nsuch as -\u003e{data,tail,end}, at the cost of adds, that were minimized by the\nusual practice of setting skb-\u003e{mac,nh,n}.raw to a local variable that is then\naccessed multiple times in each function, it also is not more expensive than\nbefore with regards to most of the handling of such headers, like setting one\nof these headers to another (transport to network, etc), or subtracting, adding\nto/from it, comparing them, etc.\n\nNow we have this layout for sk_buff on a x86_64 machine:\n\n[acme@mica net-2.6.22]$ pahole vmlinux sk_buff\nstruct sk_buff {\n\tstruct sk_buff *       next;             /*   0   8 */\n\tstruct sk_buff *       prev;             /*   8   8 */\n\tstruct rb_node         rb;               /*  16  24 */\n\tstruct sock *          sk;               /*  40   8 */\n\tktime_t                tstamp;           /*  48   8 */\n\tstruct net_device *    dev;              /*  56   8 */\n\t/* --- cacheline 1 boundary (64 bytes) --- */\n\tstruct net_device *    input_dev;        /*  64   8 */\n\tsk_buff_data_t         transport_header; /*  72   4 */\n\tsk_buff_data_t         network_header;   /*  76   4 */\n\tsk_buff_data_t         mac_header;       /*  80   4 */\n\n\t/* XXX 4 bytes hole, try to pack */\n\n\tstruct dst_entry *     dst;              /*  88   8 */\n\tstruct sec_path *      sp;               /*  96   8 */\n\tchar                   cb[48];           /* 104  48 */\n\t/* cacheline 2 boundary (128 bytes) was 24 bytes ago*/\n\tunsigned int           len;              /* 152   4 */\n\tunsigned int           data_len;         /* 156   4 */\n\tunsigned int           mac_len;          /* 160   4 */\n\tunion {\n\t\t__wsum         csum;             /*       4 */\n\t\t__u32          csum_offset;      /*       4 */\n\t};                                       /* 164   4 */\n\t__u32                  priority;         /* 168   4 */\n\t__u8                   local_df:1;       /* 172   1 */\n\t__u8                   cloned:1;         /* 172   1 */\n\t__u8                   ip_summed:2;      /* 172   1 */\n\t__u8                   nohdr:1;          /* 172   1 */\n\t__u8                   nfctinfo:3;       /* 172   1 */\n\t__u8                   pkt_type:3;       /* 173   1 */\n\t__u8                   fclone:2;         /* 173   1 */\n\t__u8                   ipvs_property:1;  /* 173   1 */\n\n\t/* XXX 2 bits hole, try to pack */\n\n\t__be16                 protocol;         /* 174   2 */\n\tvoid    (*destructor)(struct sk_buff *); /* 176   8 */\n\tstruct nf_conntrack *  nfct;             /* 184   8 */\n\t/* --- cacheline 3 boundary (192 bytes) --- */\n\tstruct sk_buff *       nfct_reasm;       /* 192   8 */\n\tstruct nf_bridge_info *nf_bridge;        /* 200   8 */\n\t__u16                  tc_index;         /* 208   2 */\n\t__u16                  tc_verd;          /* 210   2 */\n\tdma_cookie_t           dma_cookie;       /* 212   4 */\n\t__u32                  secmark;          /* 216   4 */\n\t__u32                  mark;             /* 220   4 */\n\tunsigned int           truesize;         /* 224   4 */\n\tatomic_t               users;            /* 228   4 */\n\tunsigned char *        head;             /* 232   8 */\n\tunsigned char *        data;             /* 240   8 */\n\tunsigned char *        tail;             /* 248   8 */\n\t/* --- cacheline 4 boundary (256 bytes) --- */\n\tunsigned char *        end;              /* 256   8 */\n}; /* size: 264, cachelines: 5 */\n   /* sum members: 260, holes: 1, sum holes: 4 */\n   /* bit holes: 1, sum bit holes: 2 bits */\n   /* last cacheline: 8 bytes */\n\nOn 32 bits nothing changes, and pointers continue to be used with the compiler\nturning all this abstraction layer into dust. But there are some sk_buff\nvalidation tricks that are now possible, humm... :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d10ba34b001944a8d1c8adb5646140ef089c432b",
      "tree": "cba54f5d23021a2b0061f5f2891ac7fa8fca6d5a",
      "parents": [
        "55f79cc0c02f9ce8f85e965e9679796f62b790f5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Mar 14 21:05:37 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:01 2007 -0700"
      },
      "message": "[SK_BUFF]: More skb_put related skb_reset_transport_header\n\nThis time we have to set it to skb-\u003etail that is not anymore equal to\nskb-\u003edata, so we either add a new helper or just add the skb-\u003etail - skb-\u003edata\noffset, for now do the later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9bdd4b5257406b0608385d19c40b5511decf4f6",
      "tree": "fe5319c322a11c0b00e7ef0473762a8d1961da83",
      "parents": [
        "0272ffc46f81a4bbbf302ba093c737e969c5bb55"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 12 20:09:15 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:07 2007 -0700"
      },
      "message": "[IP]: Introduce ip_hdrlen()\n\nFor the common sequence \"skb-\u003enh.iph-\u003eihl * 4\", removing a good number of open\ncoded skb-\u003enh.iph uses, now to go after the rest...\n\nJust out of curiosity, here are the idioms found to get the same result:\n\nskb-\u003enh.iph-\u003eihl \u003c\u003c 2\nskb-\u003enh.iph-\u003eihl\u003c\u003c2\nskb-\u003enh.iph-\u003eihl * 4\nskb-\u003enh.iph-\u003eihl*4\n(skb-\u003enh.iph)-\u003eihl * sizeof(u32)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2d1bca7e6134671bcb19810d004a252aa6a644d",
      "tree": "5d8ee962cd69cd886aaedff8ac253590a985dd1c",
      "parents": [
        "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:46:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:47 2007 -0700"
      },
      "message": "[SK_BUFF]: Use skb_reset_network_header in skb_push cases\n\nskb_push updates and returns skb-\u003edata, so we can just call\nskb_reset_network_header after the call to skb_push.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4412ec494868160d57da6e436a92b0696f40b19d",
      "tree": "91bb2477d22a95801a5c487349e89acb464793ec",
      "parents": [
        "1c9e8ef7f731c2548414644e5bf540c38c85aff0"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 07 14:19:10 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:58 2007 -0700"
      },
      "message": "[NET] IPV4: Use hton{s,l}() where appropriate.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b4d414714f0d2f922d39424b0c5c82ad900a381",
      "tree": "5079ec59a5622c9cacfe0fce484ba2c4626c406f",
      "parents": [
        "ae836810263509ff7a3c2c021754ce6f66b3fab6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 14 00:34:09 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:59 2007 -0800"
      },
      "message": "[PATCH] sysctl: remove insert_at_head from register_sysctl\n\nThe semantic effect of insert_at_head is that it would allow new registered\nsysctl entries to override existing sysctl entries of the same name.  Which is\npain for caching and the proc interface never implemented.\n\nI have done an audit and discovered that none of the current users of\nregister_sysctl care as (excpet for directories) they do not register\nduplicate sysctl entries.\n\nSo this patch simply removes the support for overriding existing entries in\nthe sys_sysctl interface since no one uses it or cares and it makes future\nenhancments harder.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Corey Minyard \u003cminyard@acm.org\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb18eccff48ef3986d1072964590bce6fec705fb",
      "tree": "777fb1d15e0281341e1e02c9803d989538d346f2",
      "parents": [
        "c827ba4cb49a30ce581201fd0ba2be77cde412c7",
        "5ef213f6842277ee1df5659f59fac0ffc9beb411"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:38:13 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:38:13 2007 -0800"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)\n  [IPV4]: Restore multipath routing after rt_next changes.\n  [XFRM] IPV6: Fix outbound RO transformation which is broken by IPsec tunnel patch.\n  [NET]: Reorder fields of struct dst_entry\n  [DECNET]: Convert decnet route to use the new dst_entry \u0027next\u0027 pointer\n  [IPV6]: Convert ipv6 route to use the new dst_entry \u0027next\u0027 pointer\n  [IPV4]: Convert ipv4 route to use the new dst_entry \u0027next\u0027 pointer\n  [NET]: Introduce union in struct dst_entry to hold \u0027next\u0027 pointer\n  [DECNET]: fix misannotation of linkinfo_dn\n  [DECNET]: FRA_{DST,SRC} are le16 for decnet\n  [UDP]: UDP can use sk_hash to speedup lookups\n  [NET]: Fix whitespace errors.\n  [NET] XFRM: Fix whitespace errors.\n  [NET] X25: Fix whitespace errors.\n  [NET] WANROUTER: Fix whitespace errors.\n  [NET] UNIX: Fix whitespace errors.\n  [NET] TIPC: Fix whitespace errors.\n  [NET] SUNRPC: Fix whitespace errors.\n  [NET] SCTP: Fix whitespace errors.\n  [NET] SCHED: Fix whitespace errors.\n  [NET] RXRPC: Fix whitespace errors.\n  ...\n"
    },
    {
      "commit": "c376222960ae91d5ffb9197ee36771aaed1d9f90",
      "tree": "7f431c42529fec77433d33490bd9f2a8c47ba091",
      "parents": [
        "1b135431abf5ea92e61bf4e91d93726c7b96da5f"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:27 2007 -0800"
      },
      "message": "[PATCH] Transform kmem_cache_alloc()+memset(0) -\u003e kmem_cache_zalloc().\n\nReplace appropriate pairs of \"kmem_cache_alloc()\" + \"memset(0)\" with the\ncorresponding \"kmem_cache_zalloc()\" call.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@steeleye.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nAcked-by: Joel Becker \u003cJoel.Becker@oracle.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e905a9edab7f4f14f9213b52234e4a346c690911",
      "tree": "9e52a5f47eec47c5685c347ff7af22290a10305b",
      "parents": [
        "642656518b2e64fd59d9bbd15b6885cac5fe99b1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:39 2007 -0800"
      },
      "message": "[NET] IPV4: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37004af3aaf28f39981754a05cf74361c0834a7a",
      "tree": "d961c04c1f5418d7173ccbb6affa10b5f8b74c84",
      "parents": [
        "89eaeb09ba01632511f69ce8e14c8d2abd2dbe9e"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Dec 10 22:36:18 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:35:03 2006 -0800"
      },
      "message": "[IPVS]: Make ip_vs_sync.c \u003c\u003d 80col wide.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89eaeb09ba01632511f69ce8e14c8d2abd2dbe9e",
      "tree": "f549f2f6d8f8262568302380d77673bcfec1c410",
      "parents": [
        "f654c854d1d4e0aca5389ace541647237eb7f753"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Sun Dec 10 22:35:24 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:35:02 2006 -0800"
      },
      "message": "[IPVS]: Use msleep_interruptable() instead of ssleep() aka msleep()\n\nDean Manners notices that when an IPVS synchonisation daemons are\nstarted the system load slowly climbs up to 1. This seems to be related\nto the call to ssleep(1) (aka msleep(1000) in the main loop. Replacing\nthis with a call to msleep_interruptable() seems to make the problem go\naway. Though I\u0027m not sure that it is correct.\n\nThis is the second edition of this patch, which replaces ssleep()\nin the main loop for both the master and backup threads, as well\nas some thread synchronisation code. The latter is just for thorougness\nas it shouldn\u0027t be causing any problems.\n\nSigned-Off-By: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9db73724453a9350e1c22dbe732d427e2939a5c9",
      "tree": "15e3ead6413ae97398a54292acc199bee0864d42",
      "parents": [
        "4c1ac1b49122b805adfa4efc620592f68dccf5db",
        "e62438630ca37539c8cc1553710bbfaa3cf960a7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 17:01:28 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/ata/libata-scsi.c\n\tinclude/linux/libata.h\n\nFuther merge of Linus\u0027s head and compilation fixups.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "d7fe0f241dceade9c8d4af75498765c5ff7f27e6",
      "tree": "442ab13842a548ef56904d11fd574c98fee14e69",
      "parents": [
        "bd01f843c3368dcee735c19603251669f23f4477"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 03 23:15:30 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:34 2006 -0500"
      },
      "message": "[PATCH] severing skbuff.h -\u003e mm.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8b2ed4bba45b7ca8e378d45f82f3f32f651e0a42",
      "tree": "1a75381b931b5d02f01d91b3b8d5051de9d833a4",
      "parents": [
        "e6b61105f6b06a1d6bb35d2a0978cf91106808b8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Nov 21 01:17:18 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:16 2006 -0800"
      },
      "message": "[IPVS]: Use kmemdup where appropriate\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "f9214b2627fb8582af1986afc4aed5942086a535",
      "tree": "13bd40def90b1bcf77e2c79a4fcabf60a4d5d444",
      "parents": [
        "5c78f275e696a25a9919671aa8aa3d0a3d967978"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 16 02:41:18 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:41 2006 -0800"
      },
      "message": "[NET]: ipvs checksum annotations.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6ab028804bdc580fe0915494dbf31f5ea473ca7",
      "tree": "4bf0fedcfaab7103682bc6209f196104fa9df8fb",
      "parents": [
        "b51655b958dfb1176bfcf99466231fdbef8751ff"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Nov 16 02:36:50 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:39 2006 -0800"
      },
      "message": "[NET]: Make mangling a checksum (0 -\u003e 0xffff on the wire) explicit.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1550f221255f7dd06048d832bf0f3d166840e1c",
      "tree": "2669b6ef8977c86d9d4563c4ff08a8e0136556ea",
      "parents": [
        "81d77662763ae527ba3a9b9275467901aaab7dfd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:37:50 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:37 2006 -0800"
      },
      "message": "[NET]: Annotate ip_vs_checksum_complete() and callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3bc23e7ee9db8023dff5a86bb3b0069ed018789",
      "tree": "f281b190a20084386666e0f3bb957df427b93ca7",
      "parents": [
        "9981a0e36a572e9fcf84bfab915fdc93bed0e3c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:24:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:27 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_fold() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75e7ce66ef044fa877a420f1b4febe416bbc09ad",
      "tree": "a1e008614d85f000dbb0a21d442fced0ab9d676a",
      "parents": [
        "a64b78a077a71c9b9c0c1b0be699083379783c3d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:13:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:58 2006 -0800"
      },
      "message": "[IPVS]: Annotate ..._app_hashkey().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82e91ffef60e6eba9848fe149ce1eecd2b5aef12",
      "tree": "9ccc6a518a1f678ae15cfb3a59c05127286cff96",
      "parents": [
        "0afc46c4683df512eef34a71a85065dc555c2af2"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 09 15:19:14 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:38 2006 -0800"
      },
      "message": "[NET]: Turn nfmark into generic mark\n\nnfmark is being used in various subsystems and has become\nthe defacto mark field for all kinds of packets. Therefore\nit makes sense to rename it to `mark\u0027 and remove the\ndependency on CONFIG_NETFILTER.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "bb831eb2027c12a740ad4e4ad78f2a0e841ae808",
      "tree": "ad54bd115d60f5ab63e7065b193b59f304e6a27b",
      "parents": [
        "da413908d5e9ebdd0889a599e80d21d7237021c6"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Fri Nov 10 14:57:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 10 14:57:37 2006 -0800"
      },
      "message": "[IPVS]: More endianness fixed.\n\n- make sure port in FTP data is in network order (in fact it was looking\nbuggy for big endian boxes before Viro\u0027s changes)\n- htonl -\u003e htons for port\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e7ddac75deaa2887e2b03441f9bed67ea8648d8",
      "tree": "33132b9f679d00d27447066fe9a61f1f18e35716",
      "parents": [
        "1af9892811ad3bf2abb31566bfb2ec0b5070a66a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Tue Oct 10 22:49:07 2006 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 10 15:37:23 2006 -0700"
      },
      "message": "[PATCH] ptrdiff_t is %t, not %z\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "901eaf6c8f997f18ebc8fcbb85411c79161ab3b2",
      "tree": "df89efba8165e790992bfe24c60f883c69e5805f",
      "parents": [
        "b4c4ed175ff0ee816df48571cfa9b73f521964b6"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Mon Oct 02 16:11:51 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 04 00:30:55 2006 -0700"
      },
      "message": "[NETFILTER]: Honour source routing for LVS-NAT\n\nFor policy routing, packets originating from this machine itself may be\nrouted differently to packets passing through. We want this packet to be\nrouted as if it came from this machine itself. So re-compute the routing\ninformation using ip_route_me_harder().\n\nThis patch is derived from work by Ken Brownfield\n\nCc: Ken Brownfield \u003ckrb@irridia.com\u003e\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cab00891c5489cb6d0cde0a55d39bd5f2871fa70",
      "tree": "0dc810a15ad02dc76939b6ea021a4a24794561bb",
      "parents": [
        "44c09201a4178e08ed1c8cc37e7aea0683888f0a"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Tue Oct 03 22:36:44 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:36:44 2006 +0200"
      },
      "message": "Still more typo fixes\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "44c09201a4178e08ed1c8cc37e7aea0683888f0a",
      "tree": "2b8a859ef668b24cc7c41331d29357979e07c364",
      "parents": [
        "095096038d637c477ef3c1b674612bcbc4d60c2d"
      ],
      "author": {
        "name": "Matt LaPlante",
        "email": "kernel1@cyberdogtech.com",
        "time": "Tue Oct 03 22:34:14 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 22:34:14 2006 +0200"
      },
      "message": "more misc typo fixes\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "6e9a4738c9fadb7cbdcabc1e3b415159f3741ed9",
      "tree": "0e470bb8cd431d59698da5a6999ff35a347619a3",
      "parents": [
        "397d6140e93156ecb9cafcd9be0db10ff3c12ab3"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Sat Sep 30 23:28:10 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:24 2006 -0700"
      },
      "message": "[PATCH] completions: lockdep annotate on stack completions\n\nAll on stack DECLARE_COMPLETIONs should be replaced by:\nDECLARE_COMPLETION_ONSTACK\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96d2ca4ec0bb8d0f344e5960224700be3dec3515",
      "tree": "f1e8dce6214ee5e35dc290da7ed39e7168afaf8a",
      "parents": [
        "014d730d56b559eacb11e91969a1f41c3feb36f9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 28 14:31:49 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:03:05 2006 -0700"
      },
      "message": "[IPVS] bug: endianness breakage in ip_vs_ftp\n\n(p[3]\u003c\u003c24) | (p[2]\u003c\u003c16) | (p[1]\u003c\u003c8) | p[0] is not a valid\nway to spell get_unaligned((__be32 *)p\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "014d730d56b559eacb11e91969a1f41c3feb36f9",
      "tree": "d8c3a08108f435879b4d436c7b3c4a726d31c6af",
      "parents": [
        "d4263cde88d3fee2af0aac8836bb785cdb6b06c0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 28 14:29:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:03:04 2006 -0700"
      },
      "message": "[IPVS]: ipvs annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28b06c380fca7e248c90e45f0aad1753097f6824",
      "tree": "7070f82b1f85780927e69abe8d8aa50bed9655cd",
      "parents": [
        "e44fd82caf89a8548e7868592618b243e85c69e6"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 27 22:53:24 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:56 2006 -0700"
      },
      "message": "[IPVS]: Make sure ip_vs_ftp ports are valid: module_param_array approach\n\nI\u0027m not entirely sure what happens in the case of a valid port,\nat best it\u0027ll be silently ignored. This patch ensures that\nthe port values are unsigned short values, and thus always valid.\n\nThis is a second take at fixing this problem, it is simpler\nand arguably more correct than the previous approach\nthat was committed as 3f5af5b353ca36aca4f8a46e3da2172f669dbbbc.\nPrior to this patch a patch that reverses\n3f5af5b353ca36aca4f8a46e3da2172f669dbbbc was sent.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e44fd82caf89a8548e7868592618b243e85c69e6",
      "tree": "081fc3cfa6d9fb219485c2b54b9c4982a50d1cad",
      "parents": [
        "febac9b93724f3ee293e7e5450043ae28e61531a"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 27 22:52:47 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:55 2006 -0700"
      },
      "message": "[IPVS]: Reverse valid ip_vs_ftp ports fix: port check approach\n\nThis patch reverses 3f5af5b353ca36aca4f8a46e3da2172f669dbbbc as\na better fix was suggested by Patrick McHardy.\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61ced5d1c2e773620d7855ea2009d770c10a6e6",
      "tree": "ca9d49774eb4740a60e5338d4da51af1c8c862d6",
      "parents": [
        "011a92610826bdeec4b80ab423958d4c512639f6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:27:54 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:08 2006 -0700"
      },
      "message": "[IPV4]: inet_select_addr() annotations\n\nargument and return value are net-endian.  Annotated function and inferred\nnet-endian variables in callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b552216ff1340a056aa0e12da68203902ae81d2c",
      "tree": "1cf2732adbd019bd261140ac8ba58e0dce4df34b",
      "parents": [
        "3f5af5b353ca36aca4f8a46e3da2172f669dbbbc"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 13 19:59:23 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Sep 17 23:21:06 2006 -0700"
      },
      "message": "[IPVS]: remove the debug option go ip_vs_ftp\n\nThis patch makes the debuging behaviour of this code more consistent\nwith the rest of IPVS.\n\nSigned-Off-By: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f5af5b353ca36aca4f8a46e3da2172f669dbbbc",
      "tree": "25e92e2d951e8d6d709208a71fca6cc738e7cbcd",
      "parents": [
        "70e76b768bac81149c8c189e781c3f130ea2eba5"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 13 19:58:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Sep 17 23:21:05 2006 -0700"
      },
      "message": "[IPVS]: Make sure ip_vs_ftp ports are valid\n\nI\u0027m not entirely sure what happens in the case of a valid port,\nat best it\u0027ll be silently ignored. This patch ignores them a little\nmore verbosely.\n\nSigned-Off-By: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70e76b768bac81149c8c189e781c3f130ea2eba5",
      "tree": "75d0211feabb6f068df26df490d28ed4afb8f9b1",
      "parents": [
        "72c4a13aaa0f6271e6b962a66befd68bac923bc3"
      ],
      "author": {
        "name": "Simon Horman",
        "email": "horms@verge.net.au",
        "time": "Wed Sep 13 19:57:54 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Sep 17 23:21:04 2006 -0700"
      },
      "message": "[IPVS]: auto-help for ip_vs_ftp\n\nFill in a help message for the ports option to ip_vs_ftp\n\nSigned-Off-By: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "14cc3e2b633bb64063698980974df4535368e98f",
      "tree": "d542c9db7376de199d640b8e34d5630460b217b5",
      "parents": [
        "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: misc static one-file mutexes\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "57b47a53ec4a67691ba32cff5768e8d78fa6c67f",
      "tree": "d735ae4734f7b386eefa508a0629715f45808d1d",
      "parents": [
        "6613f82dd293b23f582a649b287fadbf8d23e6cf"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:35:41 2006 -0800"
      },
      "message": "[NET]: sem2mutex part 2\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fc268d24ceb9f4150777c1b5b2b8e6214e56b2b",
      "tree": "d2aaf0b5986b03e6129ed3ccd65b9f706cd59c7f",
      "parents": [
        "16f7e0fe2ecc30f30652e8185e1772cdebe39109"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Jan 11 12:17:47 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 11 18:42:14 2006 -0800"
      },
      "message": "[PATCH] capable/capability.h (net/)\n\nnet: Use \u003clinux/capability.h\u003e where capable() is used.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "76ab608d86cf1ef5c5c46819b5733eb9f9f964f8",
      "tree": "aa8d9947a722459a0ae0e54c9391a8de7c59aeee",
      "parents": [
        "5f8ac64b15172c7ced7d7990eb28342092bc751b"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 06 13:24:29 2006 -0800"
      },
      "message": "[NET]: Endian-annotate struct iphdr\n\nAnd fix trivial warnings that emerged.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e924283bf93989979f27ef4f1228c5925f584a0a",
      "tree": "ccc559f2bc69a524a99ea1952c18ee896df99618",
      "parents": [
        "d7906de1d774ca70d696d3047223bb3e5e759d92"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Thu Jan 05 14:57:36 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jan 05 16:48:55 2006 -0800"
      },
      "message": "[IPVS]: Another file needs linux/interrupt.h\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abbcc73982445c1457901c7fc1d0d110e7a587e3",
      "tree": "1b4920052f0e4a9d4243f07791eca389f5582f9e",
      "parents": [
        "a9b305c4e56f97d6a2ae4f21691bc13797498caf"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Jan 05 12:20:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 12:20:40 2006 -0800"
      },
      "message": "[NETFILTER]: Remove okfn usage in ip_vs_core.c\n\nokfn should only be used from different contexts to avoid deep call chains,\ni.e. by nf_queue.\n\nAcked-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ffd2e4907184813101cefa7196102927cdbe104",
      "tree": "aa7dee01e33b03fc8eeda3bd475210c181fa9b70",
      "parents": [
        "db9edfd7e339ca4113153d887e782dd05be5a9eb"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jan 05 12:14:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 05 12:14:43 2006 -0800"
      },
      "message": "[IPVS]: Fix compilation\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f190055ff5c08a877d3e1ac2e0300fd92c264b06",
      "tree": "322e5309316ce619cb354c517186b35019026cbc",
      "parents": [
        "80e40daa4797a156781d1594642b654eb1c461df"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Jan 04 02:02:20 2006 -0200"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Jan 04 02:02:20 2006 -0200"
      },
      "message": "[IPVS]: Add missing include \u003clinux/net.h\u003e\n\n  CC [M]  net/ipv4/ipvs/ip_vs_conn.o\n  /pub/scm/linux/kernel/git/acme/net-2.6/net/ipv4/ipvs/ip_vs_conn.c: In\n  function \u0027ip_vs_conn_new\u0027:\n  /pub/scm/linux/kernel/git/acme/net-2.6/net/ipv4/ipvs/ip_vs_conn.c:606:\n  warning: implicit declaration of function \u0027net_ratelimit\u0027\n  /pub/scm/linux/kernel/git/acme/net-2.6/net/ipv4/ipvs/ip_vs_conn.c: In\n  function \u0027ip_vs_random_dropentry\u0027:\n  /pub/scm/linux/kernel/git/acme/net-2.6/net/ipv4/ipvs/ip_vs_conn.c:810:\n  warning: implicit declaration of function \u0027net_random\u0027\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "4b5bdf5cc3695dc5caba011b9c616b40e6299638",
      "tree": "898ccc98f7501c08cd8153621137045143775c7e",
      "parents": [
        "fd30333d0fab9e870af89e112454996c188655e9"
      ],
      "author": {
        "name": "Roberto Nibali",
        "email": "ratz@drugphish.ch",
        "time": "Tue Jan 03 14:22:59 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 14:22:59 2006 -0800"
      },
      "message": "[IPVS]: Cleanup IP_VS_DBG statements.\n\nFrom: Roberto Nibali \u003cratz@drugphish.ch\u003e\n\nThe attached patch (against current -GIT) is a cleanup patch which does\nfollowing:\n\no lookup debug messages shifted back to 9\no added more informational value to flags and refcnt since those\nentries can be in multiple referenced structures\no cleanup 80 char violation\n\nIt\u0027s the prepatch to the session pool implementation and helps very much\nto debug and monitor important variables and structures regarding the\nthreshold limitation and persistency without the thousands of lookup\nmessages which noone is interested in.\n\nSigned-off-by: Horms \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1f71e03b17db3b9edb0264a8be7719bd5c35582",
      "tree": "f782baf31e8ea2b14b1b126bd9557c76c56032a5",
      "parents": [
        "65a45441d7e91ef6107fadbc55f775db4ba23874"
      ],
      "author": {
        "name": "Roberto Nibali",
        "email": "ratz@drugphish.ch",
        "time": "Tue Dec 13 23:17:20 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:43 2006 -0800"
      },
      "message": "[IPVS]: remove dead code\n\nThis patch removes dead code. I don\u0027t see the reason to keep this cruft\naround, besides cluttering the nice and functionally working code.\n\nSigned-off-by: Roberto Nibali \u003cratz@drugphish.ch\u003e\nSigned-off-by: Horms \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b5b5cff9a6655dbb6d2e2be365bb95eec3950eb",
      "tree": "80517910c731fc48512ba9c31aa823575db405b3",
      "parents": [
        "fb29644994744a63bc57186cefa79534b5d9b5a9"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Nov 29 16:21:38 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:21:38 2005 -0800"
      },
      "message": "[NET]: Add const markers to various variables.\n\nthe patch below marks various variables const in net/; the goal is to\nmove them to the .rodata section so that they can\u0027t false-share\ncachelines with things that get written to, as well as potentially\nhelping gcc a bit with optimisations.  (these were found using a gcc\npatch to warn about such variables)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a51482bde22f99c63fbbb57d5d46cc666384e379",
      "tree": "5482ed1c0803edb2ffbd51035de921fb0f72d82b",
      "parents": [
        "ac7c98eca88a854755475fcfe1b2bf5f97f90d99"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:41:34 2005 -0800"
      },
      "message": "[NET]: kfree cleanup\n\nFrom: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\n\nThis is the net/ part of the big kfree cleanup patch.\n\nRemove pointless checks for NULL prior to calling kfree() in net/.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@conectiva.com.br\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\n"
    },
    {
      "commit": "dc8103f25fd7cfac2c2b295f33edc10f255b4c80",
      "tree": "db09e8efee33d1e7d4527d81a3c1b0ece03cea33",
      "parents": [
        "9ee6b535af4c2c97b4e3b88f37f244bf1004ebd4"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Tue Nov 08 09:40:05 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 09:40:05 2005 -0800"
      },
      "message": "[IPVS]: fix connection leak if expire_nodest_conn\u003d1\n\n\tThere was a fix in 2.6.13 that changed the behaviour of\nip_vs_conn_expire_now function not to put reference to connection,\nits callers should hold write lock or connection refcnt. But we\nforgot to convert one caller, when the real server for connection\nis unavailable caller should put the connection reference. It\nhappens only when sysctl var expire_nodest_conn is set to 1 and\nsuch connections never expire. Thanks to Roberto Nibali who found\nthe problem and tested a 2.4.32-rc2 patch, which is equal to this\n2.6 version. Patch for 2.4 is already sent to Marcelo.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Roberto Nibali \u003cratz@drugphish.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8eea00a44d9f493869f8d30b72e3ed18475be556",
      "tree": "0f24f83ffc60cc821ecfea362c40f44572ba6d5e",
      "parents": [
        "f4a19a56e38442e434b8809915d756469f1e89a2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 04 22:42:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 04 22:42:15 2005 -0700"
      },
      "message": "[IPVS]: fix sparse gfp nocast warnings\n\nFrom: Randy Dunlap \u003crdunlap@xenotime.net\u003e\n\nFix implicit nocast warnings in ip_vs code:\nnet/ipv4/ipvs/ip_vs_app.c:631:54: warning: implicit cast to nocast type\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87375ab47cd0ba04124c6d3fd80db5c368f5dcb6",
      "tree": "c95f160e2b033b5f8d2fad58348400bab5f989f2",
      "parents": [
        "f5e229db9cdb27f83594712ca4bb98d9377eb6ed"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Wed Sep 14 21:08:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 21:08:51 2005 -0700"
      },
      "message": "[IPVS]: ip_vs_ftp breaks connections using persistence\n\nip_vs_ftp when loaded can create NAT connections with unknown client\nport for passive FTP. For such expectations we lookup with cport\u003d0 on\nincoming packet but it matches the format of the persistence templates\ncausing packets to other persistent virtual servers to be forwarded to\nreal server without creating connection. Later the reply packets are\ntreated as foreign and not SNAT-ed.\n\nThis patch changes the connection lookup for packets from clients:\n\n* introduce IP_VS_CONN_F_TEMPLATE connection flag to mark the\n  connection as template\n\n* create new connection lookup function just for templates -\n  ip_vs_ct_in_get\n\n* make sure ip_vs_conn_in_get hits only connections with\n  IP_VS_CONN_F_NO_CPORT flag set when s_port is 0. By this way\n  we avoid returning template when looking for cport\u003d0 (ftp)\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "f5e229db9cdb27f83594712ca4bb98d9377eb6ed"
}
