)]}'
{
  "log": [
    {
      "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": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\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": "39c90ece7565f5c47110c2fa77409d7a9478bd5b",
      "tree": "220bf734ed470024901226675550501d45192f0e",
      "parents": [
        "dac24ab396fc92985060d5cb3c467d2d0ffc0c20"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sat Sep 15 10:55:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:25 2007 -0700"
      },
      "message": "[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nOn loaded/big hosts, rt_check_expire() if of litle use, because it\ngenerally breaks out of its main loop because of a jiffies change.\n\nIt can take a long time (read : timer invocations) to actually\nscan the whole hash table, freeing unused entries.\n\nConverting it to use a workqueue instead of softirq is a nice\nmove because we can allow rt_check_expire() to do the scan\nit is supposed to do, without hogging the CPU.\n\nThis has an impact on the average number of entries in cache,\nreducing ram usage. Cache is more responsive to parameter\nchanges (/proc/sys/net/ipv4/route/gc_timeout and\n/proc/sys/net/ipv4/route/gc_interval)\n\nNote: Maybe the default value of gc_interval (60 seconds)\nis too high, since this means we actually need 5 (300/60)\ninvocations to scan the whole table.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\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": "1bcabbdb0bdfe8b15b05150a7857646430aaa7f8",
      "tree": "6a6534c8ac22ab69498c85dc02d07ef1206e2e11",
      "parents": [
        "4487b2f657a4d204c35a7afaa45fc8569c9069ca"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Aug 01 21:54:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 02 19:42:27 2007 -0700"
      },
      "message": "[IPV4] route.c: mostly kmalloc + memset conversion to k[cz]alloc\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\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": "4839c52b01ca91be1c62761e08fb3deb3881e857",
      "tree": "21bc1e568bc76b7556816d995fdf6b3304511eab",
      "parents": [
        "6b25d30bf112370a12d05c3c0fd43732985dab01"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Mon Jul 09 15:32:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:19:04 2007 -0700"
      },
      "message": "[IPV4]: Make ip_tos2prio const.\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e06e7c615877026544ad7f8b309d1a3706410383",
      "tree": "eb087b49279e6db492039a5d684ca9acb13265a3",
      "parents": [
        "4eb6bf6bfb580afaf1e1a1d30cba17a078530cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 10 17:22:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:05:57 2007 -0700"
      },
      "message": "[IPV4]: The scheduled removal of multipath cached routing support.\n\nWith help from Chris Wedgwood.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f811b8bcdf6695bf74de580b1daf53445e8949",
      "tree": "c7c9dd321c63eb24c5d41488b47b7178c6c9b572",
      "parents": [
        "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:13 2007 -0700"
      },
      "message": "[IPV4]: Convert IPv4 devconf to an array\n\nThis patch converts the ipv4_devconf config members (everything except\nsysctl) to an array.  This allows easier manipulation which will be\nneeded later on to provide better management of default config values.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14e50e57aedb2a89cf79b77782879769794cab7b",
      "tree": "46cbdab9c8007cea0821294c9d397214b38ea4c8",
      "parents": [
        "04efb8787e4d8a7b21a61aeb723de33154311256"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 24 18:17:54 2007 -0700"
      },
      "message": "[XFRM]: Allow packet drops during larval state resolution.\n\nThe current IPSEC rule resolution behavior we have does not work for a\nlot of people, even though technically it\u0027s an improvement from the\n-EAGAIN buisness we had before.\n\nRight now we\u0027ll block until the key manager resolves the route.  That\nworks for simple cases, but many folks would rather packets get\nsilently dropped until the key manager resolves the IPSEC rules.\n\nWe can\u0027t tell these folks to \"set the socket non-blocking\" because\nthey don\u0027t have control over the non-block setting of things like the\nsockets used to resolve DNS deep inside of the resolver libraries in\nlibc.\n\nWith that in mind I coded up the patch below with some help from\nHerbert Xu which provides packet-drop behavior during larval state\nresolution, controllable via sysctl and off by default.\n\nThis lays the framework to either:\n\n1) Make this default at some point or...\n\n2) Move this logic into xfrm{4,6}_policy.c and implement the\n   ARP-like resolution queue we\u0027ve all been dreaming of.\n   The idea would be to queue packets to the policy, then\n   once the larval state is resolved by the key manager we\n   re-resolve the route and push the packets out.  The\n   packets would timeout if the rule didn\u0027t get resolved\n   in a certain amount of time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6c5d736af6bc71cebc017e4001ec5efff1ee116",
      "tree": "96241c8e1f117898d3ca86f86a57bc1a17ee9143",
      "parents": [
        "d739437207064cdcea8f9c81442284106cbcb67f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 18 02:07:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri May 18 02:07:50 2007 -0700"
      },
      "message": "[IPV4]: Remove IPVS icmp hack from route.c for now.\n\nRevert: 2d771cd86d4c3af26f34a7bcdc1b87696824cad9\n\nThis is dangerous if enabled and a better solution to the\nproblem is being worked on.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d771cd86d4c3af26f34a7bcdc1b87696824cad9",
      "tree": "dcc026c42253c82d95167e22e658e163f1963db6",
      "parents": [
        "fa0b2d1d2196dd46527a8d028797e2bca5930a92"
      ],
      "author": {
        "name": "Janusz Krzysztofik",
        "email": "jkrzyszt@tis.icnet.pl",
        "time": "Mon Mar 26 18:03:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:15 2007 -0700"
      },
      "message": "[IPV4] LVS: Allow to send ICMP unreachable responses when real-servers are removed\n\nthis is a small patch by Janusz Krzysztofik to ip_route_output_slow()\nthat allows VIP-less LVS linux director to generate packets\noriginating \u003eFrom VIP if sysctl_ip_nonlocal_bind is set.\n\nIn a nutshell, the intention is for an LVS linux director to be able\nto send ICMP unreachable responses to end-users when real-servers are\nremoved.\n\nhttp://archive.linuxvirtualserver.org/html/lvs-users/2007-01/msg00106.html\n\nSigned-off-by: Simon Horman \u003chorms@verge.net.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63f3444fb9a54c024d55f1205f8b94e7d2786595",
      "tree": "41cde0c702a2b4400a34f02380eb3baf1cc72a2b",
      "parents": [
        "9d9e6a5819230b5a5cc036f213135cb123ab1e50"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 11:55:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:08 2007 -0700"
      },
      "message": "[IPv4]: Use rtnl registration interface\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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": "f690808e17925fc45217eb22e8670902ecee5c1b",
      "tree": "ba677dd86988f4c77a728cc7408c21967e59400c",
      "parents": [
        "6b2bedc3a659ba228a93afc8e3f008e152abf18a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Mar 12 14:34:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:03 2007 -0700"
      },
      "message": "[NET]: make seq_operations const\n\nThe seq_file operations stuff can be marked constant to\nget it out of dirty cache.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98e399f82ab3a6d863d1d4a7ea48925cc91c830e",
      "tree": "5f84043aeec1ec27c2e8e6cc25b5d2e6c3d07343",
      "parents": [
        "31713c333ddbb66d694829082620b69b71c4b09a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:33:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:41 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_mac_header()\n\nFor the places where we need a pointer to the mac header, it is still legal to\ntouch skb-\u003emac.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nThis one also converts some more cases to skb_reset_mac_header() that my\nregex missed as it had no spaces before nor after \u0027\u003d\u0027, ugh.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "459a98ed881802dee55897441bc7f77af614368e",
      "tree": "b81f76632d8f2e21eb91ec3d885091a98398d93e",
      "parents": [
        "4c13eb6657fe9ef7b4dc8f1a405c902e9e5234e0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:30:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:32 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_mac_header(skb)\n\nFor the common, open coded \u0027skb-\u003emac.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003emac.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d729f72dca9406025bcfa9c1f660d71d9ef0ff5",
      "tree": "69a3ca50c6e266853676a545a113f13f254ae535",
      "parents": [
        "39df232f1a9ba48d41c68ee7d4046756e709cf91"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Mar 04 16:12:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:32 2007 -0700"
      },
      "message": "[NET]: Convert xtime.tv_sec to get_seconds()\n\nWhere appropriate, convert references to xtime.tv_sec to the\nget_seconds() helper function.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "093c2ca4167cf66f69020329d14138da0da8599b",
      "tree": "7bae584ac848923867037324197068c869b62a46",
      "parents": [
        "75ce7ceaa1221858c0163e75d19eb8a423a212ff"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Fri Feb 09 16:19:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:38 2007 -0800"
      },
      "message": "[IPV4]: Convert ipv4 route to use the new dst_entry \u0027next\u0027 pointer\n\nThis patch removes the rt_next pointer from \u0027struct rtable.u\u0027 union,\nand renames u.rt_next to u.dst_rt_next.\n\nIt also moves \u0027struct flowi\u0027 right after \u0027struct dst_entry\u0027 to prepare\nthe gain on lookups.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "26932566a42d46aee7e5d526cb34fba9380cad10",
      "tree": "3991d9209ddf2454ba4c71daccdc33951811dcf1",
      "parents": [
        "2cf6c36cb46d69057db2ebae0d8ec352e065f48b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jan 31 23:16:40 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:41 2007 -0800"
      },
      "message": "[NETLINK]: Don\u0027t BUG on undersized allocations\n\nCurrently netlink users BUG when the allocated skb for an event\nnotification is undersized. While this is certainly a kernel bug,\nits not critical and crashing the kernel is too drastic, especially\nwhen considering that these errors have appeared multiple times in\nthe past and it BUGs even if no listeners are present.\n\nThis patch replaces BUG by WARN_ON and changes the notification\nfunctions to inform potential listeners of undersized allocations\nusing a unique error code (EMSGSIZE).\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14fb8a764786e37ac26a2175638115f21980e5a3",
      "tree": "eeb7d81d53a557ab827a735e8c6d6c5901633a0c",
      "parents": [
        "a9fc00cca8327dba3ec2a6c727f4b5b1c449f2a2"
      ],
      "author": {
        "name": "Li Yewang",
        "email": "lyw@nanjing-fnst.com",
        "time": "Mon Dec 18 00:26:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 18 00:26:35 2006 -0800"
      },
      "message": "[IPV4]: Fix BUG of ip_rt_send_redirect()\n\nFix the redirect packet of the router if the jiffies wraparound.\n\nSigned-off-by: Li Yewang \u003clyw@nanjing-fnst.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f29bcd739972f71f2fd5d5d265daf3e1208fa5e",
      "tree": "96e20e4d0a077d813d8625d6919aba9bd0b5ed13",
      "parents": [
        "98d7340c360993fdd703609ff7462051e03cc2fb"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Dec 10 02:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sun Dec 10 09:55:41 2006 -0800"
      },
      "message": "[PATCH] sysctl: remove unused \"context\" param\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1b6651f1bf2453d593478aa88af267f057fd73e2",
      "tree": "a5454f81737d7fb162c10b314c3458f1919e509a",
      "parents": [
        "170b828a31bbeaee3a80a05acefe3596e38f09e0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Dec 04 19:59:00 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:43 2006 -0800"
      },
      "message": "[XFRM]: Use output device disable_xfrm for forwarded packets\n\nCurrently the behaviour of disable_xfrm is inconsistent between\nlocally generated and forwarded packets. For locally generated\npackets disable_xfrm disables the policy lookup if it is set on\nthe output device, for forwarded traffic however it looks at the\ninput device. This makes it impossible to disable xfrm on all\ndevices but a dummy device and use normal routing to direct\ntraffic to that device.\n\nAlways use the output device when checking disable_xfrm.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3703b3de1f049b38733ba520e5038f23063068e",
      "tree": "3566516bc8b87c8c8d78b0c3287761c8e2f49a2b",
      "parents": [
        "4e9b82693542003b028c8494e9e3c49615b91ce7"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Nov 27 09:27:07 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:44 2006 -0800"
      },
      "message": "[RTNETLINK]: Add rtnl_put_cacheinfo() to unify some code\n\nIPv4, IPv6, and DECNet all use struct rta_cacheinfo in a similiar\nway, therefore rtnl_put_cacheinfo() is added to reuse code.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "714e85be3557222bc25f69c252326207c900a7db",
      "tree": "cb59a6d0a94245dc8575507386af1be31dd7fad9",
      "parents": [
        "252e33467a3b016f20dd8df12269cef3b167f21e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 20:51:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:50 2006 -0800"
      },
      "message": "[IPV6]: Assorted trivial endianness 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": "47dcf0cb1005e86d0eea780f2984b2e7490f63cd",
      "tree": "1a56767a77e219fab54ab1daf34342745f6d62a8",
      "parents": [
        "82e91ffef60e6eba9848fe149ce1eecd2b5aef12"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 09 15:20:38 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:39 2006 -0800"
      },
      "message": "[NET]: Rethink mark field in struct flowi\n\nNow that all protocols have been made aware of the mark\nfield it can be moved out of the union thus simplyfing\nits usage.\n\nThe config options in the IPv4/IPv6/DECnet subsystems\nto enable respectively disable mark based routing only\nobfuscate the code with ifdefs, the cost for the\nadditional comparison in the flow key is insignificant,\nand most distributions have all these options enabled\nby default anyway. Therefore it makes sense to remove\nthe config options and enable mark based routing by\ndefault.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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": "8238b218ec883adb44d710960a031c76105274cd",
      "tree": "09880b229d0090298f30bf0168a4702bbc0e918a",
      "parents": [
        "42b6785eeb40fe3e9dab9981b6e3231a77c7c2f6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Oct 12 00:49:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Oct 12 00:49:15 2006 -0700"
      },
      "message": "[NET]: Do not memcmp() over pad bytes of struct flowi.\n\nThey are not necessarily initialized to zero by the compiler,\nfor example when using run-time initializers of automatic\non-stack variables.\n\nNoticed by Eric Dumazet and Patrick McHardy.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17fb2c64394a2d5106540d69fc83c183ee7c206e",
      "tree": "cfc528dd1dde8a711c63b9b05b2e6d2370d5b2ba",
      "parents": [
        "e448515c79c3785eae225c25e8cd5b90b470d0a6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:15:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:16 2006 -0700"
      },
      "message": "[IPV4]: RTA_{DST,SRC,GATEWAY,PREFSRC} annotated\n\nthese are passed net-endian; use be32 netlink accessors\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e448515c79c3785eae225c25e8cd5b90b470d0a6",
      "tree": "193578af763e2664df698352f59cb69ba68def62",
      "parents": [
        "00012e5bb9527022cbc843c5d372b282dbe6c4af"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:15:01 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:15 2006 -0700"
      },
      "message": "[IPV4] net/ipv4/route.c: trivial endianness 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": "d9c9df8c9368f4102324e8c3923edae83974602b",
      "tree": "11b1df675c261c5fe9ea84e954de276905d6ec40",
      "parents": [
        "a61ced5d1c2e773620d7855ea2009d770c10a6e6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:28:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:09 2006 -0700"
      },
      "message": "[IPV4]: fib_validate_source() annotations\n\nannotated arguments and inferred net-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": "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": "8c7bc84085135d5cc87e9fc6802d3c7bbbb40ef5",
      "tree": "9411e9f05014223c84c9e18de09e8a734507846c",
      "parents": [
        "f7655229c06d041323b40bd6eb9f95ca0ce95506"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:26:19 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:04 2006 -0700"
      },
      "message": "[IPV4]: annotate rt_hash_code() users\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7655229c06d041323b40bd6eb9f95ca0ce95506",
      "tree": "55dd35d7a70a8e2041b79f76f9122d89b1c1d2c4",
      "parents": [
        "9e12bb22e32389b41222c9d9fb55724fed83a038"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:25:43 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:03 2006 -0700"
      },
      "message": "[IPV4]: ip_rt_redirect() annotations\n\nThe first 4 arguments of ip_rt_redirect() are net-endian.  Annotated.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e12bb22e32389b41222c9d9fb55724fed83a038",
      "tree": "8961158286de30363fe3a4c2be25d1d4c89168b2",
      "parents": [
        "046d033148e6936ee2466d38214cf0743a210f39"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:25:20 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:02 2006 -0700"
      },
      "message": "[IPV4]: ip_route_input() annotations\n\nip_route_input() takes net-endian source and destination address.\n* Annotated as such.\n* arguments of its invocations annotated where needed.\n* local helpers getting the same values passed to by it (ip_route_input_mc(),\nip_route_input_slow(), ip_handle_martian_source(), ip_mkroute_input(),\nip_mkroute_input_def(), __mkroute_input()) annotated\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5d679f33900c71d1a76ba07c5b04055abd34480",
      "tree": "fb581f7156870056dbb91feaab9d3dd22fdcf61e",
      "parents": [
        "ff5dfe736dd9f6c74b206aa77c0465dfd503bdb9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Aug 26 19:25:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:19 2006 -0700"
      },
      "message": "[NET]: Use SLAB_PANIC\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d889ce3b29e55b91257964b4c9aac70b91fedd91",
      "tree": "6d9250959b3cf33ceae6fcd90f34a12315bddb1c",
      "parents": [
        "be403ea1856f1428b5912b42184acbba808c41d6"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Aug 17 18:15:44 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:06 2006 -0700"
      },
      "message": "[IPv4]: Convert route get to new netlink api\n\nFixes various unvalidated netlink attributes causing memory\ncorruptions when left empty by userspace applications.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be403ea1856f1428b5912b42184acbba808c41d6",
      "tree": "53b7ae4a3d07dd6bcf84f01963aaa32dba2b3a45",
      "parents": [
        "4e902c57417c4c285b98ba2722468d1c3ed83d1b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Aug 17 18:15:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:05 2006 -0700"
      },
      "message": "[IPv4]: Convert FIB dumping to use new netlink api\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2942e90050569525628a9f34e0daaa9b661b49cc",
      "tree": "fc6acc11514e64ff9efc31bdc1bb458232206642",
      "parents": [
        "f8d8fda54a1bfcf8cf829e44c494b2b4582819aa"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Aug 15 00:30:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:48 2006 -0700"
      },
      "message": "[RTNETLINK]: Use rtnl_unicast() for rtnetlink unicasts\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e762a4a89b302cb3b26a1f9bb33eff459eaeca9",
      "tree": "4be606cc6bfe097beac3aeeea32b4adc107409b7",
      "parents": [
        "2dfe55b47e3d66ded5a84caf71e0da5710edf48b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Aug 10 23:09:48 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:25 2006 -0700"
      },
      "message": "[NET]: Introduce RTA_TABLE/FRA_TABLE attributes\n\nIntroduce RTA_TABLE route attribute and FRA_TABLE routing rule attribute\nto hold 32 bit routing table IDs. Usespace compatibility is provided by\ncontinuing to accept and send the rtm_table field, but because of its\nlimited size it can only carry the low 8 bits of the table ID. This\nimplies that if larger IDs are used, _all_ userspace programs using them\nneed to use RTA_TABLE.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d1502de27c46b365b5c86e17d173083d3d6c9ac",
      "tree": "e2fa9cebe61e08aaf65d0457c48347cc67716609",
      "parents": [
        "8b5cc5ef40c83c6ea4c90b203bb2c8b17edfa11b"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Mon Aug 07 20:44:22 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 07 20:44:22 2006 -0700"
      },
      "message": "[IPV4]: Limit rt cache size properly.\n\nFrom: Kirill Korotaev \u003cdev@sw.ru\u003e\n\nDuring OpenVZ stress testing we found that UDP traffic with random src\ncan generate too much excessive rt hash growing leading finally to OOM\nand kernel panics.\n\nIt was found that for 4GB i686 system (having 1048576 total pages and\n  225280 normal zone pages) kernel allocates the following route hash:\nsyslog: IP route cache hash table entries: 262144 (order: 8, 1048576\nbytes) \u003d\u003e ip_rt_max_size \u003d 4194304 entries, i.e.  max rt size is\n4194304 * 256b \u003d 1Gb of RAM \u003e normal_zone\n\nAttached the patch which removes HASH_HIGHMEM flag from\nalloc_large_system_hash() call.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8d71740c56a9058acc4378504a356d543ff1308b",
      "tree": "f8be30892b75e7194b121d76adb9847d069f1759",
      "parents": [
        "792d1932e319ff8ba01361e7d151b1794c55c31f"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Jul 30 20:43:36 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 02 13:38:21 2006 -0700"
      },
      "message": "[NET]: Core net changes to generate netevents\n\nGenerate netevents for:\n- neighbour changes\n- routing redirects\n- pmtu changes\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nSigned-off-by: Steve Wise \u003cswise@opengridcomputing.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6205120044bb75ca06019491d1aa0e727fdd35be",
      "tree": "6e770ddc5a4ac3ff44977fde863046921394863a",
      "parents": [
        "a0f1ccfd8d37457a6d8a9e01acebeefcdfcc306e"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:05 2006 -0700"
      },
      "message": "[PATCH] lockdep: fix RT_HASH_LOCK_SZ\n\nOn lockdep we have a quite big spinlock_t, so keep the size down.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.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": "8a25d5debff2daee280e83e09d8c25d67c26a972",
      "tree": "3bccfef9acb66fc62863bfd6c16493c5e8c8e394",
      "parents": [
        "4ea2176dfa714882e88180b474e4cbcd888b70af"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:24:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:04 2006 -0700"
      },
      "message": "[PATCH] lockdep: prove spinlock rwlock locking correctness\n\nUse the lock validator framework to prove spinlock and rwlock locking\ncorrectness.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\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": "bfe5d834195b3089b8846577311340376cc0f450",
      "tree": "52470de0fe87ff8372700e3472735cd5c14cee9d",
      "parents": [
        "6ceab8a936c302c0cea2bfe55617c76e2f5746fa"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Jun 25 05:47:14 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:01 2006 -0700"
      },
      "message": "[PATCH] Define __raw_get_cpu_var and use it\n\nThere are several instances of per_cpu(foo, raw_smp_processor_id()), which\nis semantically equivalent to __get_cpu_var(foo) but without the warning\nthat smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For\nthose architectures with optimized per-cpu implementations, namely ia64,\npowerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower\ncode than __get_cpu_var(), so it would be preferable to use __get_cpu_var\non those platforms.\n\nThis defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,\nraw_smp_processor_id()) on architectures that use the generic per-cpu\nimplementation, and turns into __get_cpu_var(x) on the architectures that\nhave an optimized per-cpu implementation.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d2c962b8530b84f4e035df8ade7e35f353a57cbe",
      "tree": "5cd3e1a27642f59caea6dd8dbfd3c5461a972e0c",
      "parents": [
        "c19f7a9e1ac45b57375d51f033b02deca50f4d3f"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Mon Apr 17 17:27:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 17 17:27:11 2006 -0700"
      },
      "message": "[IPV4]: ip_route_input panic fix\n\nThis fixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d6388\nThe bug is caused by ip_route_input dereferencing skb-\u003enh.protocol of\nthe dummy skb passed dow from inet_rtm_getroute (Thanks Thomas for seeing\nit). It only happens if the route requested is for a multicast IP\naddress.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f912042256c12b0927438122594f5379b364f5d",
      "tree": "c11949814057b356d5896e7f025ec15132dbff78",
      "parents": [
        "dd7ba3b8b15f9c65366986d723ae83254d8d78b7"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Mon Apr 10 22:52:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:31 2006 -0700"
      },
      "message": "[PATCH] for_each_possible_cpu: network codes\n\nfor_each_cpu() actually iterates across all possible CPUs.  We\u0027ve had mistakes\nin the past where people were using for_each_cpu() where they should have been\niterating across only online or present CPUs.  This is inefficient and\npossibly buggy.\n\nWe\u0027re renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the\nfuture.\n\nThis patch replaces for_each_cpu with for_each_possible_cpu under /net\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nAcked-by: \"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": "cef2685e0053945ea0f3c02297386b040f486ea7",
      "tree": "869c11f64c5e2259342c228c80e93cbbbf8e4fc1",
      "parents": [
        "b8059eadf9f4dc24bd72da71daa832a9a9899fb4"
      ],
      "author": {
        "name": "Ilia Sotnikov",
        "email": "hostcc@gmail.com",
        "time": "Sat Mar 25 01:38:55 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 25 01:38:55 2006 -0800"
      },
      "message": "[IPV4]: Aggregate route entries with different TOS values\n\nWhen we get an ICMP need-to-frag message, the original TOS value in the\nICMP payload cannot be used as a key to look up the routes to update.\nThis is because the TOS field may have been modified by routers on the\nway.  Similarly, ip_rt_redirect should also ignore the TOS as the router\nthat gave us the message may have modified the TOS value.\n\nThe patch achieves this objective by aggregating entries with different\nTOS values (but are otherwise identical) into the same bucket.  This\nmakes it easy to update them at the same time when an ICMP message is\nreceived.\n\nIn future we should use a twin-hashing scheme where teh aggregation\noccurs at the entry level.  That is, the TOS goes back into the hash\nfor normal lookups while ICMP lookups will end up with a node that\ngives us a list that contains all other route entries that differ\nonly by TOS.\n\nSigned-off-by: Ilia Sotnikov \u003chostcc@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "85259878499d6c428cba191bb4e415a250dcd75a",
      "tree": "6b9c1592f66886917b6ec09dd55f9c52eb850561",
      "parents": [
        "42cf93cd464e0df3c85d298c647411bae6d99e6e"
      ],
      "author": {
        "name": "Suresh Bhogavilli",
        "email": "sbhogavilli@verisign.com",
        "time": "Tue Feb 21 13:42:22 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 23 16:10:52 2006 -0800"
      },
      "message": "[IPV4]: Fix garbage collection of multipath route entries\n\nWhen garbage collecting route cache entries of multipath routes\nin rt_garbage_collect(), entries were deleted from the hash bucket\n\u0027i\u0027 while holding a spin lock on bucket \u0027k\u0027 resulting in a system\nhang.  Delete entries, if any, from bucket \u0027k\u0027 instead.\n\nSigned-off-by: Suresh Bhogavilli \u003csbhogavilli@verisign.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dbd2915ce87e811165da0717f8e159276ebb803e",
      "tree": "81214471e4f7510d4231020cacf2a52cf43d7715",
      "parents": [
        "7eb9b2f56c9812d03ac63031869bcc42151067b1"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue Jan 17 21:58:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 17 22:46:49 2006 -0800"
      },
      "message": "[IPV4]: RT_CACHE_STAT_INC() warning fix\n\nBUG: using smp_processor_id() in preemptible [00000001] code: rpc.statd/2408\n\nAnd it _is_ a bug, but I guess we don\u0027t care enough to add preempt_disable().\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f970d83576cf4938fd75551c465050f6a16c33c",
      "tree": "7bb43aabfbd8afdab49549e4d56c0a15015d5995",
      "parents": [
        "8243126c5e29030bf1a3fb75187a513966dcba62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 17 02:54:36 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 17 02:54:36 2006 -0800"
      },
      "message": "[IPV4]: rt_cache_stat can be statically defined\n\nUsing __get_cpu_var(obj) is slightly faster than per_cpu_ptr(obj, \nraw_smp_processor_id()).\n\n1) Smaller code and memory use\nFor static and small objects, DEFINE_PER_CPU(type, object) is preferred over a \nalloc_percpu() : Better and smaller code to access them, and no extra memory \n(storing the pointer, and the percpu array of pointers)\n\nx86_64 code before patch\n\nmov    1237577(%rip),%rax        # ffffffff803e5990 \u003crt_cache_stat\u003e\nnot    %rax  # part of per_cpu machinery\nmov    %gs:0x3c,%edx # get cpu number\nmovslq %edx,%rdx # extend 32 bits cpu number to 64 bits\nmov    (%rax,%rdx,8),%rax # get the pointer for this cpu\nincl   0x38(%rax)\n\nx86_64 code after patch\n\nmov    $per_cpu__rt_cache_stat,%rdx\nmov    %gs:0x48,%rax # get percpu data offset\nincl   0x38(%rax,%rdx,1)\n\n2) False sharing avoidance for SMP :\nFor a small NR_CPUS, the array of per cpu pointers allocated in alloc_percpu() \ncan be \u003c\u003d 32 bytes. This let slab code gives a part of a cache line. If the \nother part of this 64 bytes (or 128 bytes) cache line is used by a mostly \nwritten object, we can have false sharing and expensive per_cpu_ptr() operations.\n\nSize of rt_cache_stat is 64 bytes, so this patch is not a danger of a too big \nincrease of bss (in UP mode) or static per_cpu data for SMP \n(PERCPU_ENOUGH_ROOM is currently 32768 bytes)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\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": "18955cfcb2a5d75a08e0cb297f13ccfb6904de48",
      "tree": "0cd153fab98e3fc09b4741f811e55e81d5719111",
      "parents": [
        "2f12c74f0cfdc93e1d47ac70766e837ef29472fd"
      ],
      "author": {
        "name": "Mike Stroyan",
        "email": "mike.stroyan@hp.com",
        "time": "Tue Nov 29 16:12:55 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 29 16:12:55 2005 -0800"
      },
      "message": "[IPV4] tcp/route: Another look at hash table sizes\n\n  The tcp_ehash hash table gets too big on systems with really big memory.\nIt is worse on systems with pages larger than 4KB.  It wastes memory that\ncould be better used.  It also makes the netstat command slow because reading\n/proc/net/tcp and /proc/net/tcp6 needs to go through the full hash table.\n\n  The default value should not be larger for larger page sizes.  It seems\nthat the effect of page size is an unintended error dating back a long\ntime.  I also wonder if the default value really should be a larger\nfraction of memory for systems with more memory.  While systems with\nreally big ram can afford more space for hash tables, it is not clear to\nme that they benefit from increasing the allocation ratio for this table.\n\n  The amount of memory allocated is determined by net/ipv4/tcp.c:tcp_init and\nmm/page_alloc.c:alloc_large_system_hash.\n\ntcp_init calls alloc_large_system_hash passing parameters-\n    bucketsize\u003dsizeof(struct tcp_ehash_bucket)\n    numentries\u003dthash_entries\n    scale\u003d(num_physpages \u003e\u003d 128 * 1024) ? (25-PAGE_SHIFT) : (27-PAGE_SHIFT)\n    limit\u003d0\n\nOn i386, PAGE_SHIFT is 12 for a page size of 4K\nOn ia64, PAGE_SHIFT defaults to 14 for a page size of 16K\n\nThe num_physpages test above makes the allocation take a larger fraction\nof the total memory on systems with larger memory.  The threshold size\nfor a i386 system is 512MB.  For an ia64 system with 16KB pages the\nthreshold is 2GB.\n\nFor smaller memory systems-\nOn i386, scale \u003d (27 - 12) \u003d 15\nOn ia64, scale \u003d (27 - 14) \u003d 13\nFor larger memory systems-\nOn i386, scale \u003d (25 - 12) \u003d 13\nOn ia64, scale \u003d (25 - 14) \u003d 11\n\n  For the rest of this discussion, I\u0027ll just track the larger memory case.\n\n  The default behavior has numentries\u003dthash_entries\u003d0, so the allocated\nsize is determined by either scale or by the default limit of 1/16 of\ntotal memory.\n\nIn alloc_large_system_hash-\n|\tnumentries \u003d (flags \u0026 HASH_HIGHMEM) ? nr_all_pages : nr_kernel_pages;\n|\tnumentries +\u003d (1UL \u003c\u003c (20 - PAGE_SHIFT)) - 1;\n|\tnumentries \u003e\u003e\u003d 20 - PAGE_SHIFT;\n|\tnumentries \u003c\u003c\u003d 20 - PAGE_SHIFT;\n\n  At this point, numentries is pages for all of memory, rounded up to the\nnearest megabyte boundary.\n\n|\t/* limit to 1 bucket per 2^scale bytes of low memory */\n|\tif (scale \u003e PAGE_SHIFT)\n|\t\tnumentries \u003e\u003e\u003d (scale - PAGE_SHIFT);\n|\telse\n|\t\tnumentries \u003c\u003c\u003d (PAGE_SHIFT - scale);\n\nOn i386, numentries \u003e\u003e\u003d (13 - 12), so numentries is 1/8196 of\nbytes of total memory.\nOn ia64, numentries \u003c\u003c\u003d (14 - 11), so numentries is 1/2048 of\nbytes of total memory.\n\n|        log2qty \u003d long_log2(numentries);\n|\n|        do {\n|                size \u003d bucketsize \u003c\u003c log2qty;\n\nbucketsize is 16, so size is 16 times numentries, rounded\ndown to a power of two.\n\nOn i386, size is 1/512 of bytes of total memory.\nOn ia64, size is 1/128 of bytes of total memory.\n\nFor smaller systems the results are\nOn i386, size is 1/2048 of bytes of total memory.\nOn ia64, size is 1/512 of bytes of total memory.\n\n  The large page effect can be removed by just replacing\nthe use of PAGE_SHIFT with a constant of 12 in the calls to\nalloc_large_system_hash.  That makes them more like the other uses of\nthat function from fs/inode.c and fs/dcache.c\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce723d8e048ef98ea64d12379e3921c933f5b3e0",
      "tree": "368e85ac0014d203bba15bb8777ffbd94dc2d2e6",
      "parents": [
        "c921e4c4dbb043f9435414c4e661e7f0a783053d"
      ],
      "author": {
        "name": "Julian Anastasov",
        "email": "ja@ssi.bg",
        "time": "Thu Sep 08 13:34:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 13:34:47 2005 -0700"
      },
      "message": "[IPV4]: Fix refcount damaging in net/ipv4/route.c\n\n\tOne such place that can damage the dst refcnts is route.c with\nCONFIG_IP_ROUTE_MULTIPATH_CACHED enabled, i don\u0027t see the user\u0027s\n.config. In this new code i see that rt_intern_hash is called before\ndst-\u003erefcnt is set to 1, dst is the 2nd arg to rt_intern_hash.\n\nArg 2 of rt_intern_hash must come with refcnt 1 as it is added to\ntable or dropped depending on error/add/update. One such example is\nip_mkroute_input where __mkroute_input return rth with refcnt 0 which\nis provided to rt_intern_hash. ip_mkroute_output looks like a 2nd such\nplace. Appending untested patch for comments and review.  The idea is\nto put previous reference as we are going to return next result/error.\n\nSigned-off-by: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8c97a9451068dd9f7b838a240bb6db894133a5e",
      "tree": "76d087cbfe404755a385eef131f7063b48525695",
      "parents": [
        "295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:12:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:35 2005 -0700"
      },
      "message": "[NET]: Export symbols needed by the current DCCP code\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0742fd53a3774781255bd1e471e7aa2e4a82d5f7",
      "tree": "020e6d1ccb1d7ce07cdb26b7317fa2ca58e689b3",
      "parents": [
        "f2ccd8fa06c8e302116e71df372f5c1f83432e03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Aug 09 19:35:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:33:20 2005 -0700"
      },
      "message": "[IPV4]: possible cleanups\n\nThis patch contains the following possible cleanups:\n- make needlessly global code static\n- #if 0 the following unused global function:\n  - xfrm4_state.c: xfrm4_state_fini\n- remove the following unneeded EXPORT_SYMBOL\u0027s:\n  - ip_output.c: ip_finish_output\n  - ip_output.c: sysctl_ip_default_ttl\n  - fib_frontend.c: ip_dev_find\n  - inetpeer.c: inet_peer_idlock\n  - ip_options.c: ip_options_compile\n  - ip_options.c: ip_options_undo\n  - net/core/request_sock.c: sysctl_max_syn_backlog\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b7f22aab4e960c75e82ad696ef852f9b0015e7d",
      "tree": "4c689dd688fbe7cbb4c3c61e2b246d5f48805aa6",
      "parents": [
        "af9debd461d10fe582c9c0e80eafa69f698331ed"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Mon Jul 11 21:01:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 21:01:42 2005 -0700"
      },
      "message": "[IPV4]: Prevent oops when printing martian source\n\nIn some cases, we may be generating packets with a source address that\nqualifies as martian. This can happen when we\u0027re in the middle of setting\nup the network, and netfilter decides to reject a packet with an RST.\nThe IPv4 routing code would try to print a warning and oops, because\nlocally generated packets do not have a valid skb-\u003emac.raw pointer\nat this point.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb1d23b02657f494dff295f6cdd1f29df30fa61e",
      "tree": "59c170cb94d2f65a0717ea67e169b3e2e22be11e",
      "parents": [
        "424c4b70cc4ff3930ee36a2ef7b204e4d704fd26"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jul 05 15:00:32 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 15:00:32 2005 -0700"
      },
      "message": "[IPV4]: Bug fix in rt_check_expire()\n\n- rt_check_expire() fixes (an overflow occured if size of the hash\n  was \u003e\u003d 65536)\n\nreminder of the bugfix:\n\nThe rt_check_expire() has a serious problem on machines with large\nroute caches, and a standard HZ value of 1000.\n\nWith default values, ie ip_rt_gc_interval \u003d 60*HZ \u003d 60000 ;\n\nthe loop count :\n\n     for (t \u003d ip_rt_gc_interval \u003c\u003c rt_hash_log; t \u003e\u003d 0;\n\n\noverflows (t is a 31 bit value) as soon rt_hash_log is \u003e\u003d 16  (65536\nslots in route cache hash table).\n\nIn this case, rt_check_expire() does nothing at all\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "424c4b70cc4ff3930ee36a2ef7b204e4d704fd26",
      "tree": "66f39769069e9d52d8a51ed625250374f074d050",
      "parents": [
        "22c047ccbc68fa8f3fa57f0e8f906479a062c426"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jul 05 14:58:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:58:19 2005 -0700"
      },
      "message": "[IPV4]: Use the fancy alloc_large_system_hash() function for route hash table\n\n- rt hash table allocated using alloc_large_system_hash() function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22c047ccbc68fa8f3fa57f0e8f906479a062c426",
      "tree": "351735ba39f845a67847d72f84087df724c95046",
      "parents": [
        "f0e36f8cee8101604378085171c980d9cc71d779"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jul 05 14:55:24 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:55:24 2005 -0700"
      },
      "message": "[NET]: Hashed spinlocks in net/ipv4/route.c\n\n- Locking abstraction\n- Spinlocks moved out of rt hash table : Less memory (50%) used by rt \n  hash table. it\u0027s a win even on UP.\n- Sizing of spinlocks table depends on NR_CPUS\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c2910a401f1ce2ac9136171e7522e731e1a2a8c",
      "tree": "f7d9bc402481b402539f598cfa20646ec7561efe",
      "parents": [
        "ae9cda5d65f3d8a495241cbdcc2d56f721c83cc3"
      ],
      "author": {
        "name": "Dietmar Eggemann",
        "email": "dietmar.eggemann@gmx.de",
        "time": "Tue Jun 28 13:06:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 13:06:23 2005 -0700"
      },
      "message": "[IPV4]: Snmpv2 Mib IP counter ipInAddrErrors support\n\nI followed Thomas\u0027 proposal to see every martian destination as a case\nwhere the ipInAddrErrors counter has to be incremented. There are\ntwo advantages by doing so: (1) The relation between the ipInReceive\ncounter and all the other ipInXXX counters is more accurate in the\ncase the RTN_UNICAST code check fails and (2) it makes the code in\nip_route_input_slow easier.\n\nSigned-off-by: Dietmar Eggemann \u003cdietmar.eggemann@gmx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7abaa27c1c54208bd76fa8bae55839c034aebfb2",
      "tree": "48df0b622ae217be9dfc3779518f3dd6aab2fecb",
      "parents": [
        "fbeec2e1552949002065435c9829dc244ad85407"
      ],
      "author": {
        "name": "Chuck Short",
        "email": "zulcss@gmail.com",
        "time": "Wed Jun 22 22:10:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 22 22:10:23 2005 -0700"
      },
      "message": "[IPV4]: Fix route.c gcc4 warnings\n\nSigned-off by: Chuck Short \u003czulcss@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6544c0b4cf2bd96195f3cdb7cebfb35090fc557",
      "tree": "717f69a0c204b12eeedb8035fb66c8e9bb2d5a09",
      "parents": [
        "1797754ea7ee5e0d859b0a32506ff999f8d5fb71"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:54:12 2005 -0700"
      },
      "message": "[NETLINK]: Correctly set NLM_F_MULTI without checking the pid\n\nThis patch rectifies some rtnetlink message builders that derive the\nflags from the pid. It is now explicit like the other cases\nwhich get it right. Also fixes half a dozen dumpers which did not\nset NLM_F_MULTI at all.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "02c30a84e6298b6b20a56f0896ac80b47839e134",
      "tree": "031e9d68ad83c371af7ebeb6840f3ede52698663",
      "parents": [
        "125947f2ab8c45417feaa4a8800e89529ca4612f"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "juhl-lkml@dif.dk",
        "time": "Thu May 05 16:16:16 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:49 2005 -0700"
      },
      "message": "[PATCH] update Ross Biro bouncing email address\n\nRoss moved.  Remove the bad email address so people will find the correct\none in ./CREDITS.\n\nSigned-off-by: Jesper Juhl \u003cjuhl-lkml@dif.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5bec0039f4ac8d707d7afe7739cc2e7004447e38",
      "tree": "6d7098bc350768f59a41090ca248ae430cd95b25",
      "parents": [
        "7b3c63ac7cb5e2e6680727045aa35c2e5f1bace7"
      ],
      "author": {
        "name": "Olaf Rempel",
        "email": "razzor@kopf-tisch.de",
        "time": "Thu Apr 28 12:16:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 12:16:08 2005 -0700"
      },
      "message": "[NET]: /proc/net/stat/* header cleanup\n\nSigned-off-by: Olaf Rempel \u003crazzor@kopf-tisch.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e3e0360b711568fb8ba5973accf51d51e746abc",
      "tree": "1a8828481234fae6a6858e868f3c0f6058cb4673",
      "parents": [
        "4eb701dfc618491c9b97377df6e61de36dfc39ce"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Apr 28 12:11:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 12:11:03 2005 -0700"
      },
      "message": "[IPV4]: Incorrect permissions on route flush sysctl\n\nThis has been brought up before.. http://lkml.org/lkml/2000/1/21/116\nbut didnt seem to get resolved.  This morning I got someone\nfile a bugzilla about it breaking sysctl(8).\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c2b3328f74800bb370d08bb3a4255d5fe833e94",
      "tree": "9d3092a44b592a091c4818a20bd678d1191f7a88",
      "parents": [
        "98f245e797a01611d6734c7d192240f1361439d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 19 22:39:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:39:42 2005 -0700"
      },
      "message": "[NET]: skbuff: remove old NET_CALLER macro\n\nHere is a revised alternative that uses BUG_ON/WARN_ON\n(as suggested by Herbert Xu) to eliminate NET_CALLER.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
