)]}'
{
  "log": [
    {
      "commit": "e87cc4728f0e2fb663e592a1141742b1d6c63256",
      "tree": "b8219696d37f0c8d0521d5853560b97fc96dc667",
      "parents": [
        "3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun May 13 21:56:26 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 15 13:45:03 2012 -0400"
      },
      "message": "net: Convert net_ratelimit uses to net_\u003clevel\u003e_ratelimited\n\nStandardize the net core ratelimited logging functions.\n\nCoalesce formats, align arguments.\nChange a printk then vprintk sequence to use printf extension %pV.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "afd465030acb4098abcb6b965a5aebc7ea2209e0",
      "tree": "59c93e8eda99cd59339dfbb77f1d2c4f79c634ee",
      "parents": [
        "058bd4d2a4ff0aaa4a5381c67e776729d840c785"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Mar 12 07:03:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 17:05:21 2012 -0700"
      },
      "message": "net: ipv4: Standardize prefixes for message logging\n\nAdd #define pr_fmt(fmt) as appropriate.\n\nAdd \"IPv4: \", \"TCP: \", and \"IPsec: \" to appropriate files.\nStandardize on \"UDPLite: \" for appropriate uses.\nSome prefixes were previously \"UDPLITE: \" and \"UDP-Lite: \".\n\nAdd KBUILD_MODNAME \": \" to icmp and gre.\nRemove embedded prefixes as appropriate.\n\nAdd missing \"\\n\" to pr_info in gre.c.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "058bd4d2a4ff0aaa4a5381c67e776729d840c785",
      "tree": "4d1ea864a8740676c7e7c5a03cdaa67fc5f29418",
      "parents": [
        "43db362d3adda9e0a915ddb9a8d1a41186e19179"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Mar 11 18:36:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 11 23:42:51 2012 -0700"
      },
      "message": "net: Convert printks to pr_\u003clevel\u003e\n\nUse a more current kernel messaging style.\n\nConvert a printk block to print_hex_dump.\nCoalesce formats, align arguments.\nUse %s, __func__ instead of embedding function names.\n\nSome messages that were prefixed with \u003cfoo\u003e_close are\nnow prefixed with \u003cfoo\u003e_fini.  Some ah4 and esp messages\nare now not prefixed with \"ip \".\n\nThe intent of this patch is to later add something like\n  #define pr_fmt(fmt) \"IPv4: \" fmt.\nto standardize the output messages.\n\nText size is trivially reduced. (x86-32 allyesconfig)\n\n$ size net/ipv4/built-in.o*\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 887888\t  31558\t 249696\t1169142\t 11d6f6\tnet/ipv4/built-in.o.new\n 887934\t  31558\t 249800\t1169292\t 11d78c\tnet/ipv4/built-in.o.old\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87fb4b7b533073eeeaed0b6bf7c2328995f6c075",
      "tree": "be4b37f08d7fe2d018ae68bae4577b1b2bafd0fc",
      "parents": [
        "97ba0eb64ca690165f945a83e609102fcefa99cb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 13 07:28:54 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 13 16:05:07 2011 -0400"
      },
      "message": "net: more accurate skb truesize\n\nskb truesize currently accounts for sk_buff struct and part of skb head.\nkmalloc() roundings are also ignored.\n\nConsidering that skb_shared_info is larger than sk_buff, its time to\ntake it into account for better memory accounting.\n\nThis patch introduces SKB_TRUESIZE(X) macro to centralize various\nassumptions into a single place.\n\nAt skb alloc phase, we put skb_shared_info struct at the exact end of\nskb head, to allow a better use of memory (lowering number of\nreallocations), since kmalloc() gives us power-of-two memory blocks.\n\nUnless SLUB/SLUB debug is active, both skb-\u003ehead and skb_shared_info are\naligned to cache lines, as before.\n\nNote: This patch might trigger performance regressions because of\nmisconfigured protocol stacks, hitting per socket or global memory\nlimits that were previously not reached. But its a necessary step for a\nmore accurate memory accounting.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Andi Kleen \u003cak@linux.intel.com\u003e\nCC: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "415b3334a21aa67806c52d1acf4e72e14f7f402f",
      "tree": "d1101d6d6a6b82ae21bfb312ae3a1e3a8e2d7c29",
      "parents": [
        "ace62dd1a805ab9de9ef8d67585d0588cb379653"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 06:22:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 22 06:22:10 2011 -0700"
      },
      "message": "icmp: Fix regression in nexthop resolution during replies.\n\nicmp_route_lookup() uses the wrong flow parameters if the reverse\nsession route lookup isn\u0027t used.\n\nSo do not commit to the re-decoded flow until we actually make a\nfinal decision to use a real route saved in \u0027rt2\u0027.\n\nReported-by: Florian Westphal \u003cfw@strlen.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a48eff128865aa20520fa6e0e0c5fbd2ac50d712",
      "tree": "c60e376c3fca23bb215c977e42661187076dccbf",
      "parents": [
        "ed2361e66eec60645f8e4715fe39a42235ef43ae"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:42:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 18:42:43 2011 -0400"
      },
      "message": "ipv4: Pass explicit destination address to rt_bind_peer().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c319b4d76b9e583a5d88d6bf190e079c4e43213d",
      "tree": "22fcc6f1c671908d640145c1f82e5290cd40f715",
      "parents": [
        "f20190302e3e697a166cc28ebef43058749dedda"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segoon@openwall.com",
        "time": "Fri May 13 10:01:00 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 13 16:08:13 2011 -0400"
      },
      "message": "net: ipv4: add IPPROTO_ICMP socket kind\n\nThis patch adds IPPROTO_ICMP socket kind.  It makes it possible to send\nICMP_ECHO messages and receive the corresponding ICMP_ECHOREPLY messages\nwithout any special privileges.  In other words, the patch makes it\npossible to implement setuid-less and CAP_NET_RAW-less /bin/ping.  In\norder not to increase the kernel\u0027s attack surface, the new functionality\nis disabled by default, but is enabled at bootup by supporting Linux\ndistributions, optionally with restriction to a group or a group range\n(see below).\n\nSimilar functionality is implemented in Mac OS X:\nhttp://www.manpagez.com/man/4/icmp/\n\nA new ping socket is created with\n\n    socket(PF_INET, SOCK_DGRAM, PROT_ICMP)\n\nMessage identifiers (octets 4-5 of ICMP header) are interpreted as local\nports. Addresses are stored in struct sockaddr_in. No port numbers are\nreserved for privileged processes, port 0 is reserved for API (\"let the\nkernel pick a free number\"). There is no notion of remote ports, remote\nport numbers provided by the user (e.g. in connect()) are ignored.\n\nData sent and received include ICMP headers. This is deliberate to:\n1) Avoid the need to transport headers values like sequence numbers by\nother means.\n2) Make it easier to port existing programs using raw sockets.\n\nICMP headers given to send() are checked and sanitized. The type must be\nICMP_ECHO and the code must be zero (future extensions might relax this,\nsee below). The id is set to the number (local port) of the socket, the\nchecksum is always recomputed.\n\nICMP reply packets received from the network are demultiplexed according\nto their id\u0027s, and are returned by recv() without any modifications.\nIP header information and ICMP errors of those packets may be obtained\nvia ancillary data (IP_RECVTTL, IP_RETOPTS, and IP_RECVERR). ICMP source\nquenches and redirects are reported as fake errors via the error queue\n(IP_RECVERR); the next hop address for redirects is saved to ee_info (in\nnetwork order).\n\nsocket(2) is restricted to the group range specified in\n\"/proc/sys/net/ipv4/ping_group_range\".  It is \"1 0\" by default, meaning\nthat nobody (not even root) may create ping sockets.  Setting it to \"100\n100\" would grant permissions to the single group (to either make\n/sbin/ping g+s and owned by this group or to grant permissions to the\n\"netadmins\" group), \"0 4294967295\" would enable it for the world, \"100\n4294967295\" would enable it for the users, but not daemons.\n\nThe existing code might be (in the unlikely case anyone needs it)\nextended rather easily to handle other similar pairs of ICMP messages\n(Timestamp/Reply, Information Request/Reply, Address Mask Request/Reply\netc.).\n\nUserspace ping util \u0026 patch for it:\nhttp://openwall.info/wiki/people/segoon/ping\n\nFor Openwall GNU/*/Linux it was the last step on the road to the\nsetuid-less distro.  A revision of this patch (for RHEL5/OpenVZ kernels)\nis in use in Owl-current, such as in the 2011/03/12 LiveCD ISOs:\nhttp://mirrors.kernel.org/openwall/Owl/current/iso/\n\nInitially this functionality was written by Pavel Kankovsky for\nLinux 2.4.32, but unfortunately it was never made public.\n\nAll ping options (-b, -p, -Q, -R, -s, -t, -T, -M, -I), are tested with\nthe patch.\n\nPATCH v3:\n    - switched to flowi4.\n    - minor changes to be consistent with raw sockets code.\n\nPATCH v2:\n    - changed ping_debug() to pr_debug().\n    - removed CONFIG_IP_PING.\n    - removed ping_seq_fops.owner field (unused for procfs).\n    - switched to proc_net_fops_create().\n    - switched to %pK in seq_printf().\n\nPATCH v1:\n    - fixed checksumming bug.\n    - CAP_NET_RAW may not create icmp sockets anymore.\n\nRFC v2:\n    - minor cleanups.\n    - introduced sysctl\u0027able group range to restrict socket(2).\n\nSigned-off-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6abb5f175bdb9ecfd390000a631bf0abf2fedb",
      "tree": "696cd97e0cdc67c9a0dcbf0ad1e2fd0626e221ee",
      "parents": [
        "0a5ebb8000c5362be368df9d197943deb06b6916"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 09 13:28:22 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 10 13:32:46 2011 -0700"
      },
      "message": "ipv4: icmp: Eliminate remaining uses of rt-\u003ert_src\n\nOn input packets, rt-\u003ert_src always equals ip_hdr(skb)-\u003esaddr\n\nAnything that mangles or otherwise changes the IP header must\nrelookup the route found at skb_rtable().  Therefore this\ninvariant must always hold true.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5fca6086511294653a9e821f8e22f041415ba7b",
      "tree": "1ab025012bf44402e7f816428461d8def54016c1",
      "parents": [
        "77968b78242ee25e2a4d759f0fca8dd52df6d479"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 17:24:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:07 2011 -0700"
      },
      "message": "ipv4: Pass flow key down into ip_append_*().\n\nThis way rt-\u003ert_dst accesses are unnecessary.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77968b78242ee25e2a4d759f0fca8dd52df6d479",
      "tree": "6de21f3a2efe49cb30ea8109fdfc79d30d6b27a3",
      "parents": [
        "e474995f290ff7bc236b549aa9a89ae445ee5b1b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 17:12:19 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 21:24:06 2011 -0700"
      },
      "message": "ipv4: Pass flow keys down into datagram packet building engine.\n\nThis way ip_output.c no longer needs rt-\u003ert_{src,dst}.\n\nWe already have these keys sitting, ready and waiting, on the stack or\nin a socket structure.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d8bd051c391c1c0458a30b2a7abcd939329259",
      "tree": "1dc4daecdeb0b42c2c6b59d7d6b41e091c11db5f",
      "parents": [
        "0a14842f5a3c0e88a1e59fac5c3025db39721f74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 21 09:45:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:16:35 2011 -0700"
      },
      "message": "inet: add RCU protection to inet-\u003eopt\n\nWe lack proper synchronization to manipulate inet-\u003eopt ip_options\n\nProblem is ip_make_skb() calls ip_setup_cork() and\nip_setup_cork() possibly makes a copy of ipc-\u003eopt (struct ip_options),\nwithout any protection against another thread manipulating inet-\u003eopt.\n\nAnother thread can change inet-\u003eopt pointer and free old one under us.\n\nUse RCU to protect inet-\u003eopt (changed to inet-\u003einet_opt).\n\nInstead of handling atomic refcounts, just copy ip_options when\nnecessary, to avoid cache line dirtying.\n\nWe cant insert an rcu_head in struct ip_options since its included in\nskb-\u003ecb[], so this patch is large because I had to introduce a new\nip_options_rcu structure.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b71d1d426d263b0b6cb5760322efebbfc89d4463",
      "tree": "226ca7390bd6187ec9139d2ccedd26fd94d8e57a",
      "parents": [
        "5f8629c526b4f7e529a6d27bbd802c0dc7fcc357"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Apr 22 04:53:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 22 11:04:14 2011 -0700"
      },
      "message": "inet: constify ip headers and in6_addr\n\nAdd const qualifiers to structs iphdr, ipv6hdr and in6_addr pointers\nwhere possible, to make code intention more obvious.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "9cce96df5b76691712dba22e83ff5efe900361e1",
      "tree": "eecf99e64c6866af944e1e1644d87737392b2da2",
      "parents": [
        "f42454d632753d71ea1a2df09be7bbda32b6372d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 03:00:33 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:54 2011 -0800"
      },
      "message": "net: Put fl4_* macros to struct flowi4 and use them again.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ec938019c6b16cb9ec96598ebe8f20de435fe",
      "tree": "9b850eb7fd48a6e5ffc15f47afd2e3edc93f5290",
      "parents": [
        "68a5e3dd0a0056d8b349f9eea3756adda53ec17a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 01:12:47 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:48 2011 -0800"
      },
      "message": "ipv4: Use flowi4 in public route lookup interfaces.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6281dcc94a96bd73017b2baa8fa83925405109ef",
      "tree": "8deee4d66d256d10ea25f66520eb96b1fade1545",
      "parents": [
        "08704bcbf022786532b5f188935ab6619906049f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:43:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:46 2011 -0800"
      },
      "message": "net: Make flowi ports AF dependent.\n\nCreate two sets of port member accessors, one set prefixed by fl4_*\nand the other prefixed by fl6_*\n\nThis will let us to create AF optimal flow instances.\n\nIt will work because every context in which we access the ports,\nwe have to be fully aware of which AF the flowi is anyways.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d28f42c1bd4bb2363d88df74d0128b4da135b4a",
      "tree": "cb2e652fe79a2bc307e871bc2d3fa51cc8051e45",
      "parents": [
        "ca116922afa8cc5ad46b00c0a637b1cde5ca478a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:29:39 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:44 2011 -0800"
      },
      "message": "net: Put flowi_* prefix on AF independent members of struct flowi\n\nI intend to turn struct flowi into a union of AF specific flowi\nstructs.  There will be a common structure that each variant includes\nfirst, much like struct sock_common.\n\nThis is the first step to move in that direction.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5e2b61f78411be25f0b84f97d5b5d312f184dfd1",
      "tree": "6a5faa5fb7a2242bebacba4cdb5722b988d3e909",
      "parents": [
        "1018b5c01636c7c6bda31a719bda34fc631db29a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:47:09 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 04 21:55:31 2011 -0800"
      },
      "message": "ipv4: Remove flowi from struct rtable.\n\nThe only necessary parts are the src/dst addresses, the\ninterface indexes, the TOS, and the mark.\n\nThe rest is unnecessary bloat, which amounts to nearly\n50 bytes on 64-bit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "452edd598f60522c11f7f88fdbab27eb36509d1a",
      "tree": "df1510e9848e591a412c8bfa724253470c48c4c2",
      "parents": [
        "3872b284087081ee5cb0e4630954c2f7a2153cf5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 13:27:41 2011 -0800"
      },
      "message": "xfrm: Return dst directly from xfrm_lookup()\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d460cf0ed16d35aec48f823685e7a0e0283d84",
      "tree": "56c311e236e3856220660afe7eaadf76106e58c6",
      "parents": [
        "2774c131b1d19920b4587db1cfbd6f0750ad1f15"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 15:49:55 2011 -0800"
      },
      "message": "ipv4: Make icmp route lookup code a bit clearer.\n\nThe route lookup code in icmp_send() is slightly tricky as a result of\nhaving to handle all of the requirements of RFC 4301 host relookups.\n\nPull the route resolution into a seperate function, so that the error\nhandling and route reference counting is hopefully easier to see and\ncontained wholly within this new routine.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "92d8682926342d2b6aa5b2ecc02221e00e1573a0",
      "tree": "7f70b9cc2975716ab60ddd632b9fecf0a51b828d",
      "parents": [
        "0131ba451e20239c5dc701027c1a2edef95e1a6e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:55:25 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 04 15:59:53 2011 -0800"
      },
      "message": "inetpeer: Move ICMP rate limiting state into inet_peer entries.\n\nLike metrics, the ICMP rate limiting bits are cached state about\na destination.  So move it into the inet_peer entries.\n\nIf an inet_peer cannot be bound (the reason is memory allocation\nfailure or similar), the policy is to allow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24912420e923d56461b400d83f250a31bed8a964",
      "tree": "3bb599e665ed7510df2e3f4c8cb008f7a33f50a9",
      "parents": [
        "0670b8ae66daf1d326c7bd10e73daff5f18fcf92",
        "0302b8622ce696af1cda22fcf207d3793350e896"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 13:13:47 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tnet/core/net-sysfs.c\n\tnet/ipv6/addrconf.c\n"
    },
    {
      "commit": "5811662b15db018c740c57d037523683fd3e6123",
      "tree": "f820610a6024799a26699f22dc9a4ef5dee07978",
      "parents": [
        "dd68ad2235b4625e0dc928b2b4c614d265f976d3"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Nov 12 18:43:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 17 12:27:45 2010 -0800"
      },
      "message": "net: use the macros defined for the members of flowi\n\nUse the macros defined for the members of flowi to clean the code up.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d98ffd8c2d1da6cec5d84eba42c4aa836a93f85",
      "tree": "398437e234367d8184bbaed1b3af8dc8ed7d5d3a",
      "parents": [
        "4c62ab9c538bc09c38093fa079e6902ea4d42b98"
      ],
      "author": {
        "name": "Ulrich Weber",
        "email": "uweber@astaro.com",
        "time": "Fri Nov 05 01:39:12 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 11:43:39 2010 -0800"
      },
      "message": "xfrm: update flowi saddr in icmp_send if unset\n\notherwise xfrm_lookup will fail to find correct policy\n\nSigned-off-by: Ulrich Weber \u003cuweber@astaro.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c753796769e4fb0cd813b6e5801b3c01f4681d4f",
      "tree": "f137ec0b76593a2aa1a6a263bcc1e4cf82bdf7b5",
      "parents": [
        "ed1deb7021b4dfee1d544b91edff4ef92f5c3b54"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 11 17:07:48 2010 -0800"
      },
      "message": "ipv4: Make rt-\u003efl.iif tests lest obscure.\n\nWhen we test rt-\u003efl.iif against zero, we\u0027re seeing if it\u0027s\nan output or an input route.\n\nMake that explicit with some helper functions.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2244d07bfa2097cb00600da91c715a8aa547917e",
      "tree": "44d67d9ffba3697fffeb05c13e88aa76ebc3fd4a",
      "parents": [
        "4d5870ec103e6569851b9710f0093f072b08439a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 17 08:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 00:08:30 2010 -0700"
      },
      "message": "net: simplify flags for tx timestamping\n\nThis patch removes the abstraction introduced by the union skb_shared_tx in\nthe shared skb data.\n\nThe access of the different union elements at several places led to some\nconfusion about accessing the shared tx_flags e.g. in skb_orphan_try().\n\n    http://marc.info/?l\u003dlinux-netdev\u0026m\u003d128084897415886\u0026w\u003d2\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bc2f18ba4f22a90ab593c0a580fc9a19c4777b6",
      "tree": "bb39f427bd468d0e34a73ebc788db726406fa261",
      "parents": [
        "ba80a2522899ea71a5b201bae60bdfd99126af95"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Jul 09 21:22:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 12 12:57:54 2010 -0700"
      },
      "message": "net/ipv4: EXPORT_SYMBOL cleanups\n\nCodingStyle cleanups\n\nEXPORT_SYMBOL should immediately follow the symbol declaration.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8d1f30b95a635dbd610dcc5eb641aca8f4768cf",
      "tree": "71424d82a96facd5fcf05cc769ef2ba52b584aeb",
      "parents": [
        "592fcb9dfafaa02dd0edc207bf5d3a0ee7a1f8df"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 10 23:31:35 2010 -0700"
      },
      "message": "net-next: remove useless union keyword\n\nremove useless union keyword in rtable, rt6_info and dn_route.\n\nSince there is only one member in a union, the union keyword isn\u0027t useful.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfa087f689402438e3cb0f077e649d01c871b0e7",
      "tree": "0284b1ef6a086fae77da311cc2f9efd6588a77dc",
      "parents": [
        "88e7594a9775e54dcd421cb246406dce62e48bee"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 07 22:34:35 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 09 18:06:13 2010 -0700"
      },
      "message": "icmp: RCU conversion in icmp_address_reply()\n\n- rcu_read_lock() already held by caller\n- use __in_dev_get_rcu() instead of in_dev_get() / in_dev_put()\n- remove goto out;\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee226ad2397b635e2fd565a59ca3ae08a164cd",
      "tree": "0bcd26150ad74ec1a237109de87a3d214a07fc22",
      "parents": [
        "ebda37c27d0c768947e9b058332d7ea798210cf8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue May 11 23:19:48 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 17:18:50 2010 -0700"
      },
      "message": "net: add a noref bit on skb dst\n\nUse low order bit of skb-\u003e_skb_dst to tell dst is not refcounted.\n\nChange _skb_dst to _skb_refdst to make sure all uses are catched.\n\nskb_dst() returns the dst, regardless of noref bit set or not, but\nwith a lockdep check to make sure a noref dst is not given if current\nuser is not rcu protected.\n\nNew skb_dst_set_noref() helper to set an notrefcounted dst on a skb.\n(with lockdep check)\n\nskb_dst_drop() drops a reference only if skb dst was refcounted.\n\nskb_dst_force() helper is used to force a refcount on dst, when skb\nis queued and not anymore RCU protected.\n\nUse skb_dst_force() in __sk_add_backlog(), __dev_xmit_skb() if\n!IFF_XMIT_DST_RELEASE or skb enqueued on qdisc queue, in\nsock_queue_rcv_skb(), in __nf_queue().\n\nUse skb_dst_force() in dev_requeue_skb().\n\nNote: dst_use_noref() still dirties dst, we might transform it\nlater to do one dirtying per jiffies.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "1f8438a853667d48055ad38384c63e94b32c6578",
      "tree": "d515b2246023abce5f151f35d70d270fa05b90c7",
      "parents": [
        "f66ef2d0649b220874532dfb83b6b5b368f83591"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 15:09:04 2010 -0700"
      },
      "message": "icmp: Account for ICMP out errors\n\nWhen ip_append() fails because of socket limit or memory shortage,\nincrement ICMP_MIB_OUTERRORS counter, so that \"netstat -s\" can report\nthese errors.\n\nLANG\u003dC netstat -s | grep \"ICMP messages failed\"\n    0 ICMP messages failed\n\nFor IPV6, implement ICMP6_MIB_OUTERRORS counter as well.\n\n# grep Icmp6OutErrors /proc/net/dev_snmp6/*\n/proc/net/dev_snmp6/eth0:Icmp6OutErrors                   \t0\n/proc/net/dev_snmp6/lo:Icmp6OutErrors                   \t0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "e754834e65220b2b674c55c3b6dfb2fb1a2804d0",
      "tree": "caab532a365c936689cc02b47b0f9d53c1ceeaa4",
      "parents": [
        "5833929cc2ad2b3064b4fac8c44e293972d240d8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jan 22 10:18:25 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 01:21:28 2010 -0800"
      },
      "message": "icmp: move icmp_err_convert[] to .rodata\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "685c7944055b9de51ff509719070afae92b3dbe1",
      "tree": "5aeb11059fbfd1d8dd70953d1d5f93501f246121",
      "parents": [
        "c148fc2e30c988f7e3ac91738b2c03f1cef44849"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Nov 01 19:31:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 01 23:55:10 2009 -0800"
      },
      "message": "icmp: icmp_send() can avoid a dev_put()\n\nWe can avoid touching device refcount in icmp_send(),\nusing dev_get_by_index_rcu()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3a5b6cc7cab89dcc3301add750f88019d910a2b",
      "tree": "b22e79b455ee2c9b3b131ef1dcf9d997a24fe2ce",
      "parents": [
        "a9828ec6bc0b7e19a65f7e13daa8bd35a926a753"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 24 12:16:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:21:54 2009 -0700"
      },
      "message": "icmp: No need to call sk_write_space()\n\nWe can make icmp messages tx completion callback a litle bit faster.\n\nSetting SOCK_USE_WRITE_QUEUE sk flag tells sock_wfree() to\nnot call sk_write_space() on a socket we know no thread is posssibly\nwaiting for write space. (on per cpu kernel internal icmp sockets only)\n\nThis avoids the sock_def_write_space() call and\nread_lock(\u0026sk-\u003esk_callback_lock)/read_unlock(\u0026sk-\u003esk_callback_lock) calls\nas well.\n\nWe avoid three atomic ops.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32613090a96dba2ca2cc524c8d4749d3126fdde5",
      "tree": "5e0e5f9097aca737e8a7356eb1b72e53539cda0b",
      "parents": [
        "e4c57d0f964cdbe278ed6b3bf632138fe575267e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:21:47 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:01 2009 -0700"
      },
      "message": "net: constify struct net_protocol\n\nRemove long removed \"inet_protocol_base\" declaration.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a",
      "tree": "3e368d9a78f87eb9dd7ff9e57f4aab3f4a96e3b1",
      "parents": [
        "dfbf97f3ac980b69dfbc41c83a208211a38443e8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:14:27 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:02 2009 -0700"
      },
      "message": "net: skb-\u003ertable accessor\n\nDefine skb_rtable(const struct sk_buff *skb) accessor to get rtable from skb\n\nDelete skb-\u003ertable field\n\nSetting rtable is not allowed, just set dst instead as rtable is an alias.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "959d2726499175c6b724d87fed1dafca7582efe2",
      "tree": "652620f82916d8f60bf5a58bae03624af1bb3f26",
      "parents": [
        "a6e8f27f3c02b0c0d0c45d14b2f4a8810c9a7dc7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Sun Feb 22 00:09:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 22 19:54:48 2009 -0800"
      },
      "message": "netns: Fix icmp shutdown.\n\nRecently I had a kernel panic in icmp_send during a network namespace\ncleanup.  There were packets in the arp queue that failed to be sent\nand we attempted to generate an ICMP host unreachable message, but\nfailed because icmp_sk_exit had already been called.\n\nThe network devices are removed from a network namespace and their\narp queues are flushed before we do attempt to shutdown subsystems\nso this error should have been impossible.\n\nIt turns out icmp_init is using register_pernet_device instead\nof register_pernet_subsys.  Which resulted in icmp being shut down\nwhile we still had the possibility of packets in flight, making\na nasty NULL pointer deference in interrupt context possible.\n\nChanging this to register_pernet_subsys fixes the problem in\nmy testing.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nAcked-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51f31cabe3ce5345b51e4a4f82138b38c4d5dc91",
      "tree": "f59504adbbe37e6e28ac78e6a49f045508daa78e",
      "parents": [
        "20d4947353be60e909e6b1a79d241457edd6833f"
      ],
      "author": {
        "name": "Patrick Ohly",
        "email": "patrick.ohly@intel.com",
        "time": "Thu Feb 12 05:03:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 15 22:43:38 2009 -0800"
      },
      "message": "ip: support for TX timestamps on UDP and RAW sockets\n\nInstructions for time stamping outgoing packets are take from the\nsocket layer and later copied into the new skb.\n\nSigned-off-by: Patrick Ohly \u003cpatrick.ohly@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "52479b623d3d41df84c499325b6a8c7915413032",
      "tree": "196f303f296b53dc89a05954d9c03226a9b4158b",
      "parents": [
        "cdcbca7c1f1946758cfacb69bc1c7eeaccb11e2d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:35:18 2008 -0800"
      },
      "message": "netns xfrm: lookup in netns\n\nPass netns to xfrm_lookup()/__xfrm_lookup(). For that pass netns\nto flow_cache_lookup() and resolver callback.\n\nTake it from socket or netdevice. Stub DECnet to init_net.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e77d89b2fa8e3f8325b8ce7893ec3645f41aff5",
      "tree": "ae40aa75449f705bd166630f9bcb5f41373d8248",
      "parents": [
        "4db0acf3c0afbbbb2ae35a65f8896ca6655a47ec"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 15:52:46 2008 -0800"
      },
      "message": "net: avoid a pair of dst_hold()/dst_release() in ip_append_data()\n\nWe can reduce pressure on dst entry refcount that slowdown UDP transmit\npath on SMP machines. This pressure is visible on RTP servers when\ndelivering content to mediagateways, especially big ones, handling\nthousand of streams. Several cpus send UDP frames to the same\ndestination, hence use the same dst entry.\n\nThis patch makes ip_append_data() eventually steal the refcount its\ncallers had to take on the dst entry.\n\nThis doesnt avoid all refcounting, but still gives speedups on SMP,\non UDP/RAW transmit path\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "673d57e72398edfedc93fb50ff58048077c9d587",
      "tree": "4c6a83072ac64ef63ad73574c3e1c0a683524163",
      "parents": [
        "cffee385d7f367e80b288abf4261256477f7760e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:53:57 2008 -0700"
      },
      "message": "net: replace NIPQUAD() in net/ipv4/ net/ipv6/\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "def8b4faff5ca349beafbbfeb2c51f3602a6ef3a",
      "tree": "a90fbb0b6ae2a49c507465801f31df77bc5ebf9d",
      "parents": [
        "b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 13:24:06 2008 -0700"
      },
      "message": "net: reduce structures when XFRM\u003dn\n\nifdef out\n* struct sk_buff::sp\t\t(pointer)\n* struct dst_entry::xfrm\t(pointer)\n* struct sock::sk_policy\t(2 pointers)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdc0bde90a689b9145f2b6f271c03f4c99d09667",
      "tree": "f29db0a155cee7349f20862d0e1601a5696979df",
      "parents": [
        "f6e0b239a2657ea8cb67f0d83d0bfdbfd19a481b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 23 04:43:33 2008 -0700"
      },
      "message": "icmp: icmp_sk() should not use smp_processor_id() in preemptible code\n\nPass namespace into icmp_xmit_lock, obtain socket inside and return\nit as a result for caller.\n\nThanks Alexey Dobryan for this report:\n\nSteps to reproduce:\n\n\tCONFIG_PREEMPT\u003dy\n\tCONFIG_DEBUG_PREEMPT\u003dy\n\ttracepath \u003csomething\u003e\n\nBUG: using smp_processor_id() in preemptible [00000000] code: tracepath/3205\ncaller is icmp_sk+0x15/0x30\nPid: 3205, comm: tracepath Not tainted 2.6.27-rc4 #1\n\nCall Trace:\n [\u003cffffffff8031af14\u003e] debug_smp_processor_id+0xe4/0xf0\n [\u003cffffffff80409405\u003e] icmp_sk+0x15/0x30\n [\u003cffffffff8040a17b\u003e] icmp_send+0x4b/0x3f0\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8023a475\u003e] ? local_bh_enable_ip+0x95/0x110\n [\u003cffffffff804285b9\u003e] ? _spin_unlock_bh+0x39/0x40\n [\u003cffffffff8025a26c\u003e] ? mark_held_locks+0x4c/0x90\n [\u003cffffffff8025a4ad\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff8025a415\u003e] ? trace_hardirqs_on_caller+0xd5/0x160\n [\u003cffffffff803e91b4\u003e] ip_fragment+0x8d4/0x900\n [\u003cffffffff803e7030\u003e] ? ip_finish_output2+0x0/0x290\n [\u003cffffffff803e91e0\u003e] ? ip_finish_output+0x0/0x60\n [\u003cffffffff803e6650\u003e] ? dst_output+0x0/0x10\n [\u003cffffffff803e922c\u003e] ip_finish_output+0x4c/0x60\n [\u003cffffffff803e92e3\u003e] ip_output+0xa3/0xf0\n [\u003cffffffff803e68d0\u003e] ip_local_out+0x20/0x30\n [\u003cffffffff803e753f\u003e] ip_push_pending_frames+0x27f/0x400\n [\u003cffffffff80406313\u003e] udp_push_pending_frames+0x233/0x3d0\n [\u003cffffffff804067d1\u003e] udp_sendmsg+0x321/0x6f0\n [\u003cffffffff8040d155\u003e] inet_sendmsg+0x45/0x80\n [\u003cffffffff803b967f\u003e] sock_sendmsg+0xdf/0x110\n [\u003cffffffff8024a100\u003e] ? autoremove_wake_function+0x0/0x40\n [\u003cffffffff80257ce5\u003e] ? validate_chain+0x415/0x1010\n [\u003cffffffff8027dc10\u003e] ? __do_fault+0x140/0x450\n [\u003cffffffff802597d0\u003e] ? __lock_acquire+0x260/0x590\n [\u003cffffffff803b9e55\u003e] ? sockfd_lookup_light+0x45/0x80\n [\u003cffffffff803ba50a\u003e] sys_sendto+0xea/0x120\n [\u003cffffffff80428e42\u003e] ? _spin_unlock_irqrestore+0x42/0x80\n [\u003cffffffff803134bc\u003e] ? __up_read+0x4c/0xb0\n [\u003cffffffff8024e0c6\u003e] ? up_read+0x26/0x30\n [\u003cffffffff8020b8bb\u003e] system_call_fastpath+0x16/0x1b\n\nicmp6_sk() is similar.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "923c6586b0dc0a00df07a1608185437145a0c68b",
      "tree": "bbe3324b4ae8920a3a50e81e596c75db11cc9433",
      "parents": [
        "b60538a0d737609213e4b758881913498d3ff0b4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:22 2008 -0700"
      },
      "message": "mib: put icmpmsg statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b60538a0d737609213e4b758881913498d3ff0b4",
      "tree": "380b75c744b9eb13b56fe386b58ddc2106686372",
      "parents": [
        "386019d3514b3ed9de8d0b05b67e638a7048375b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:04:02 2008 -0700"
      },
      "message": "mib: put icmp statistics on struct net\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f66ac03d497c162c70cd0ccc802ce1777073cdf3",
      "tree": "9e177b888f187b995736231cc4c971566181a561",
      "parents": [
        "903fc1964e746b8d8e2971ea20c89b7aeab8bd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:04:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:31 2008 -0700"
      },
      "message": "mib: add struct net to ICMPMSGIN_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "903fc1964e746b8d8e2971ea20c89b7aeab8bd9a",
      "tree": "5d6d6565331d6155a587d3164e92d660f712bcd4",
      "parents": [
        "dcfc23cac103b54dbc00a6f52f47656ad5c75844"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:30 2008 -0700"
      },
      "message": "mib: add struct net to ICMPMSGOUT_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dcfc23cac103b54dbc00a6f52f47656ad5c75844",
      "tree": "f9a61572791da6c37a50a2d17b73b5f89a6b5fc4",
      "parents": [
        "75c939bb4d6da790f758a2a3dcc7432f6d8778ee"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:03:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:29 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS_BH\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c939bb4d6da790f758a2a3dcc7432f6d8778ee",
      "tree": "8b377a42bb556d36c7aaa09745221f91b5942054",
      "parents": [
        "43589aa93c9ce49f0e87a280014a4dd254b37fcf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:02:35 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:28 2008 -0700"
      },
      "message": "mib: add struct net to ICMP_INC_STATS\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd54d716b1f6a3551ec17a4bb34027727b2db09a",
      "tree": "c8afca51e9292740d3d2261e8a3f95e65a1135ee",
      "parents": [
        "0388b0042624714e6f8db8cc7994101a0a02d392"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:01:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:26 2008 -0700"
      },
      "message": "inet: toss struct net initialization around\n\nSome places, that deal with ICMP statistics already have where\nto get a struct net from, but use it directly, without declaring\na separate variable on the stack.\n\nSince I will need this net soon, I declare a struct net on the\nstack and use it in the existing places in a separate patch not\nto spoil the future ones.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0388b0042624714e6f8db8cc7994101a0a02d392",
      "tree": "597834169ca3cab001e2ad3094590c1c076e3736",
      "parents": [
        "61362766d769c934a9d12d5516323c544c161908"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Jul 14 23:00:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 23:05:13 2008 -0700"
      },
      "message": "icmp: add struct net argument to icmp_out_count\n\nThis routine deals with ICMP statistics, but doesn\u0027t have a\nstruct net at hands, so add one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0010e46577a27c1d915034637f6c2fa57a9a091c",
      "tree": "dc13ec8dbbf980b53c8d1049dbf8944806cca0d2",
      "parents": [
        "980c478ddbb720948967b028ddbb4179a025bc2c"
      ],
      "author": {
        "name": "Timo Teras",
        "email": "timo.teras@iki.fi",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 29 03:32:25 2008 -0700"
      },
      "message": "ipv4: Update MTU to all related cache entries in ip_rt_frag_needed()\n\nAdd struct net_device parameter to ip_rt_frag_needed() and update MTU to\ncache entries where ifindex is specified. This is similar to what is\nalready done in ip_rt_redirect().\n\nSigned-off-by: Timo Teras \u003ctimo.teras@iki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f25c3d613b12b4b6219d03e9930cac5f59541468",
      "tree": "0438cd32c718aaefdb6e083eeb81f7f75e56256a",
      "parents": [
        "263173af5b4635c07dd862255e5b767cd429c640"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 21 02:34:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 02:34:08 2008 -0700"
      },
      "message": "[IPV4]: Convert do_gettimeofday() to getnstimeofday().\n\nWhat do_gettimeofday() does is to call getnstimeofday() and\nto convert the result from timespec{} to timeval{}.\nAfter that, these callers convert the result again to msec.\nUse getnstimeofday() and convert the units at once.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "263173af5b4635c07dd862255e5b767cd429c640",
      "tree": "8c5ad0b5d315d02c99c0b7b096f6443e530612ae",
      "parents": [
        "280a34c87fe07cb15df19bd798b23740223350fb"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Mon Apr 21 02:31:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 21 02:31:23 2008 -0700"
      },
      "message": "[IPV4]: Make icmp_sk_init() static.\n\nThis patch makes the needlessly global icmp_sk_init() static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7d632b6b4ad1c92746ed409e41f9dc571ec04e2",
      "tree": "90e6aa51a9df50aa4a437749e89356ab15a0ff5f",
      "parents": [
        "334f8b2afd9652e20f67ddee4fec483ed860425b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 04:09:00 2008 -0700"
      },
      "message": "[IPV4]: Use NIPQUAD_FMT to format ipv4 addresses.\n\nAnd use %u to format port.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df39e8ba56a788733d369068c7319e04b1da3cd5",
      "tree": "1e9be853bdb455e341cdbf957656f342cfa2eb9e",
      "parents": [
        "f5572855ec492334d8c3ec0e0e86c31865d5cf07",
        "159d83363b629c91d020734207c1bc788b96af5a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 14 02:30:23 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ehea/ehea_main.c\n\tdrivers/net/wireless/iwlwifi/Kconfig\n\tdrivers/net/wireless/rt2x00/rt61pci.c\n\tnet/ipv4/inet_timewait_sock.c\n\tnet/ipv6/raw.c\n\tnet/mac80211/ieee80211_sta.c\n"
    },
    {
      "commit": "c1e9894d486dc249331f4f04859c26147a778154",
      "tree": "5e376745609144b381f9c2088b4395f709a8855d",
      "parents": [
        "5677242f432102dea9e6eceec1dc089e2f709ca4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Apr 03 14:29:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 14:29:00 2008 -0700"
      },
      "message": "[ICMP]: Simplify ICMP control socket creation.\n\nReplace sock_create_kern with inet_ctl_sock_create.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af2681828af5f2b42e12e8b16ba0cf113cf486c8",
      "tree": "ed25908930ea98782ec7a13fd985c9825317a8b2",
      "parents": [
        "9597362d354f8655ece324b01d0c640a0e99c077"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 03 12:52:19 2008 -0700"
      },
      "message": "[ICMP]: Ensure that ICMP relookup maintains status quo\n\nThe ICMP relookup path is only meant to modify behaviour when\nappropriate IPsec policies are in place and marked as requiring\nrelookups.  It is certainly not meant to modify behaviour when\nIPsec policies don\u0027t exist at all.\n\nHowever, due to an oversight on the error paths existing behaviour\nmay in fact change should one of the relookup steps fail.\n\nThis patch corrects this by redirecting all errors on relookup\nfailures to the previous code path.  That is, if the initial\nxfrm_lookup let the packet pass, we will stand by that decision\nshould the relookup fail due to an error.\n\nThis should be safe from a security point-of-view because compliant\nsystems must install a default deny policy so the packet would\u0027nt\nhave passed in that case.\n\nMany thanks to Julian Anastasov for pointing out this error.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e8e43843ba3ced0c657cbc0fdb10644ec60f772",
      "tree": "e64954326ced9c365c52c256f01b5f9fb1bcae66",
      "parents": [
        "ed85f2c3b2b72bd20f617ac749f5c22be8d0f66e",
        "50fd4407b8bfbde7c1a0bfe4f24de7df37164342"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 18:48:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/usb/rndis_host.c\n\tdrivers/net/wireless/b43/dma.c\n\tnet/ipv6/ndisc.c\n"
    },
    {
      "commit": "7c0ecc4c4f8fd90988aab8a95297b9c0038b6160",
      "tree": "3c937731c0bf2c3ddfd94e2141d83af596f98d9e",
      "parents": [
        "5c2e2e239ebe44e3fdc5f2ae270d96c4ceee4e9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 02:27:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 02:27:09 2008 -0700"
      },
      "message": "[ICMP]: Dst entry leak in icmp_send host re-lookup code (v2).\n\nCommit 8b7817f3a959ed99d7443afc12f78a7e1fcc2063 ([IPSEC]: Add ICMP host\nrelookup support) introduced some dst leaks on error paths: the rt\npointer can be forgotten to be put. Fix it bu going to a proper label.\n\nFound after net namespace\u0027s lo refused to unregister :) Many thanks to \nDen for valuable help during debugging.\n\nHerbert pointed out, that xfrm_lookup() will put the rtable in case\nof error itself, so the first goto fix is redundant.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "789e41e6f496022ac1639aaae38ea1943606a9d0",
      "tree": "798425d92de538eab063e1fbfb49f7b29a7fb51c",
      "parents": [
        "b34a95ee6e05579faff2672d7d30356576407653"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 02:19:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 02:19:25 2008 -0700"
      },
      "message": "[NETNS][ICMP]: Build fix for NET_NS\u003dn case (dev-\u003end_net is omitted).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b34a95ee6e05579faff2672d7d30356576407653",
      "tree": "1587a59fcced1f774193b184301572ee0bc2dda7",
      "parents": [
        "68528f09980a60c8df046d16336333cac4fc0c32"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 02:00:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 02:00:21 2008 -0700"
      },
      "message": "[NETNS][ICMP]: Use per-net sysctls in ipv4/icmp.c.\n\nThis mostly re-uses the net, used in icmp netnsization patches from Denis.\n\nAfter this ICMP sysctls are completely virtualized.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a24022e1887978decaa28fb11d1ddff63e31497f",
      "tree": "93164b35de5cafda8af0838ab7c00b63c6b26fd2",
      "parents": [
        "1577519d6b3777d2d3ba05871dd7ee40112c58ce"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Mar 26 01:55:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 26 01:55:37 2008 -0700"
      },
      "message": "[NETNS][ICMP]: Move ICMP sysctls on struct net.\n\nInitialization is moved to icmp_sk_init, all the places, that\nrefer to them use init_net for now.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "ee6b967301b4aa5d4a4b61e2f682f086266db9fb",
      "tree": "197c2430f87733dc80d00d1971f1be2a0e562358",
      "parents": [
        "a05c44f6d5fb6cd29da04f96bf5ffaa05f545ac5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:30:47 2008 -0800"
      },
      "message": "[IPV4]: Add \u0027rtable\u0027 field in struct sk_buff to alias \u0027dst\u0027 and avoid casts\n\n(Anonymous) unions can help us to avoid ugly casts.\n\nA common cast it the (struct rtable *)skb-\u003edst one.\n\nDefining an union like  :\nunion {\n     struct dst_entry *dst;\n     struct rtable *rtable;\n};\npermits to use skb-\u003ertable in place.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d1c8d13c4f7690d382bca5de2f9dc88f22a4aab",
      "tree": "5b028db28a605687c30447b73800f6ef0aded570",
      "parents": [
        "4a80f2788952055a627f2093a0174537d70aec1b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 14:15:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 14:15:19 2008 -0800"
      },
      "message": "[ICMP]: Section conflict between icmp_sk_init/icmp_sk_exit.\n\nFunctions from __exit section should not be called from ones in __init\nsection. Fix this conflict.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a6ad7a141cbee2cf074e6cf8dc527b231b69ece",
      "tree": "f4edbb78969f6109874ea38d92464aa79cc74d3d",
      "parents": [
        "5c8cafd65e1448b1d55cad3fb1e42ad42607e5be"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:19:58 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:19:58 2008 -0800"
      },
      "message": "[NETNS]: Make icmp_sk per namespace.\n\nAll preparations are done. Now just add a hook to perform an\ninitialization on namespace startup and replace icmp_sk macro with\nproper inline call.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c8cafd65e1448b1d55cad3fb1e42ad42607e5be",
      "tree": "42b7de16c3724a4f9e6d401313ef2c60da05aa71",
      "parents": [
        "edf0208702007ec1f6a36756fdd005f771a4cf17"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:19:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:19:22 2008 -0800"
      },
      "message": "[NETNS]: icmp(v6)_sk should not pin a namespace.\n\nSo, change icmp(v6)_sk creation/disposal to the scheme used in the\nnetlink for rtnl, i.e. create a socket in the context of the init_net\nand assign the namespace without getting a referrence later.\n\nAlso use sk_release_kernel instead of sock_release to properly destroy\nsuch sockets.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79c911595390c8fdc8d8a487ac1951d854b1cd09",
      "tree": "9688e154b321f6c976b2d43abbfd4bb929b18e1a",
      "parents": [
        "405666db84b984b68fc75794069f424c02e5796c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:17:11 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:17:11 2008 -0800"
      },
      "message": "[ICMP]: Allocate data for __icmp(v6)_sk dynamically.\n\nOwn __icmp(v6)_sk should be present in each namespace. So, it should be\nallocated dynamically. Though, alloc_percpu does not fit the case as it\nimplies additional dereferrence for no bonus.\n\nAllocate data for pointers just like __percpu_alloc_mask does and place\npointers to struct sock into this array.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "405666db84b984b68fc75794069f424c02e5796c",
      "tree": "d764573e97686f02c2a47fc7da96aefe97cbc458",
      "parents": [
        "b7e729c4b4778aac4dbbec9dc070acde93071f4d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:16:46 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:16:46 2008 -0800"
      },
      "message": "[ICMP]: Pass proper ICMP socket into icmp(v6)_xmit_(un)lock.\n\nWe have to get socket lock inside icmp(v6)_xmit_lock/unlock. The socket\nis get from global variable now. When this code became namespaces, one\nshould pass a namespace and get socket from it.\n\nThough, above is useless. Socket is available in the caller, just pass\nit inside. This saves a bit of code now and saves more later.\n\nadd/remove: 0/0 grow/shrink: 1/3 up/down: 1/-169 (-168)\nfunction                                     old     new   delta\nicmp_rcv                                     718     719      +1\nicmpv6_rcv                                  2343    2303     -40\nicmp_send                                   1566    1518     -48\nicmp_reply                                   549     468     -81\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7e729c4b4778aac4dbbec9dc070acde93071f4d",
      "tree": "31c84099f0821e0929407ba2a2e704fd933e1ec1",
      "parents": [
        "1e3cf6834e7db1eac94314338c9e30c2103ac409"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:16:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:16:08 2008 -0800"
      },
      "message": "[ICMP]: Store sock rather than socket for ICMP flow control.\n\nBasically, there is no difference, what to store: socket or sock. Though,\nsock looks better as there will be 1 less dereferrence on the fast path.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e3cf6834e7db1eac94314338c9e30c2103ac409",
      "tree": "e363b152efd6fe4c7d4ddeb44d78b3365a19d833",
      "parents": [
        "a5710d6582868a96cf0fe02eac11d34cfbc783c9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:15:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:15:42 2008 -0800"
      },
      "message": "[ICMP]: Optimize icmp_socket usage.\n\nUse this macro only once in a function to save a bit of space.\n\nadd/remove: 0/0 grow/shrink: 0/3 up/down: 0/-98 (-98)\nfunction                                     old     new   delta\nicmp_reply                                   562     561      -1\nicmp_push_reply                              305     258     -47\nicmp_init                                    273     223     -50\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5710d6582868a96cf0fe02eac11d34cfbc783c9",
      "tree": "8fcc3f4bc58436c1809602a98c9ce759c74f9410",
      "parents": [
        "9b0f976f27f00a81cf47643d90854659626795b4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:14:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:14:50 2008 -0800"
      },
      "message": "[ICMP]: Add return code to icmp_init.\n\nicmp_init could fail and this is normal for namespace other than initial.\nSo, the panic should be triggered only on init_net initialization path.\n\nAdditionally create rollback path for icmp_init as a separate function.\nIt will also be used later during namespace destruction.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9b0f976f27f00a81cf47643d90854659626795b4",
      "tree": "3226ff8a03faf6c8137eeb1313248dfd2a395f21",
      "parents": [
        "4c563f7669c10a12354b72b518c2287ffc6ebfb3"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:13:15 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:13:15 2008 -0800"
      },
      "message": "[INET]: Remove struct net_proto_family* from _init calls.\n\nstruct net_proto_family* is not used in icmp[v6]_init, ndisc_init,\nigmp_init and tcp_v4_init. Remove it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cf229437fd826c32a44546899412b1eb3e1db6f",
      "tree": "3afef8d1a3839b1ede06c738a0847f06bb3da3dd",
      "parents": [
        "5d8c0aa9433b09387d9021358baef7939f9b32c4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 03:15:50 2008 -0800"
      },
      "message": "[ICMP]: Restore pskb_pull calls in receive function\n\nSomewhere along the development of my ICMP relookup patch the header\nlength check went AWOL on the non-IPsec path.  This patch restores the\ncheck.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dde1bc0e6f86183bc095d0774cd109f4edf66ea2",
      "tree": "b75823ba47c3047e5bf10acf7f3b207b43cb3cce",
      "parents": [
        "b5921910a1de4ba82add59154976c3dc7352c8c2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:50:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:13 2008 -0800"
      },
      "message": "[NETNS]: Add namespace for ICMP replying code.\n\nAll needed API is done, the namespace is available when required from\nthe device on the DST entry from the incoming packet. So, just replace\ninit_net with proper namespace.\n\nOther protocols will follow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5921910a1de4ba82add59154976c3dc7352c8c2",
      "tree": "c1de2c3734219548c2883777597247caa5450dc5",
      "parents": [
        "eee80592c3c1f7381c04913d9d3eb6e3c3c87628"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 23:50:25 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:13 2008 -0800"
      },
      "message": "[NETNS]: Routing cache virtualization.\n\nBasically, this piece looks relatively easy. Namespace is already\navailable on the dst entry via device and the device is safe to\ndereferrence. Compare it with one of a searcher and skip entry if\nappropriate.\n\nThe only exception is ip_rt_frag_needed. So, add namespace parameter to it.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f206351a50ea86250fabea96b9af8d8f8fc02603",
      "tree": "014148d8b45db1995d98374ec3b30e635f243197",
      "parents": [
        "f1b050bf7a88910f9f00c9c8989c1bf5a67dd140"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:07:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:07 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_route_output_key.\n\nNeeded to propagate it down to the ip_route_output_flow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "611c183ebcb5af384df3a4ddb391034a1b6ac255",
      "tree": "368ec261285af31fcf5a4f61651f01017e6d2692",
      "parents": [
        "b40afd0e5c568aba79a4ae2a963cd2af1f09490d"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:06:48 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:05 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to __ip_route_output_key.\n\nThis is only required to propagate it down to the\nip_route_output_slow.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69a73829dbb10e7c8554e66a80cb4fde57347fff",
      "tree": "032f67850cd73fc71b573f2a155a5037bde53f71",
      "parents": [
        "81566e8322c3f6c6f9a2277fe0e440fee8d917bd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 22 06:18:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:41 2008 -0800"
      },
      "message": "[DST]: shrinks sizeof(struct rtable) by 64 bytes on x86_64\n\nOn x86_64, sizeof(struct rtable) is 0x148, which is rounded up to\n0x180 bytes by SLAB allocator.\n\nWe can reduce this to exactly 0x140 bytes, without alignment overhead,\nand store 12 struct rtable per PAGE instead of 10.\n\nrate_tokens is currently defined as an \"unsigned long\", while its\ncontent should not exceed 6*HZ. It can safely be converted to an\nunsigned int.\n\nMoving tclassid right after rate_tokens to fill the 4 bytes hole\npermits to save 8 bytes on \u0027struct dst_entry\u0027, which finally permits\nto save 8 bytes on \u0027struct rtable\u0027\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b175b26c1048d331508940ad3516ead1998084f",
      "tree": "810b0a18cee4d87c573274fdfd4a59fc624cfed2",
      "parents": [
        "8ad4942cd5bdad4143f7aa1d1bd4f7b2526c19c5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jan 10 03:25:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:27 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inet_(dev_)add_type.\n\nThe patch extends the inet_addr_type and inet_dev_addr_type with the\nnetwork namespace pointer. That allows to access the different tables\nrelatively to the network namespace.\n\nThe modification of the signature function is reported in all the\ncallers of the inet_addr_type using the pointer to the well known\ninit_net.\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74feb6e84e189707ca1324a92f7206617efbd735",
      "tree": "8d18a7fff38ca5d94d1362b283392b6d0340d0eb",
      "parents": [
        "65f7651788e18fadb2fbb7276af935d7871e1803"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Jan 24 00:15:42 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:37 2008 -0800"
      },
      "message": "[ICMP]: Avoid sparse warnings in net/ipv4/icmp.c\n\n   CHECK   net/ipv4/icmp.c\nnet/ipv4/icmp.c:249:13: warning: context imbalance in \u0027icmp_xmit_unlock\u0027 -\nunexpected unlock\nnet/ipv4/icmp.c:376:13: warning: context imbalance in \u0027icmp_reply\u0027 - different\nlock contexts for basic block\nnet/ipv4/icmp.c:430:6: warning: context imbalance in \u0027icmp_send\u0027 - different\nlock contexts for basic block\n\nSolution is to declare both icmp_xmit_lock() and icmp_xmit_unlock() as inline\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aebcf82c1fe9231be5cb4f9c1362d5db39e7d7b2",
      "tree": "f164bead26b172ee82d6eaa81a0148d980985bce",
      "parents": [
        "bb72845e699d3c84e5f861b51db686107a51dea5"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:54:16 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:43 2008 -0800"
      },
      "message": "[IPSEC]: Do not let packets pass when ICMP flag is off\n\nThis fixes a logical error in ICMP policy checks which lets\npackets through if the state ICMP flag is off.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7233b9f33e72ca477034ff5cf901c89efba3a5bc",
      "tree": "91f3ca124a86cd0be9ac068a98e895923e4c03f8",
      "parents": [
        "2ba582b782071c038b312ea330d3090a39f3c66a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 18:47:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:41 2008 -0800"
      },
      "message": "[IPSEC]: Fix reversed ICMP6 policy check\n\nThe policy check I added for ICMP on IPv6 is reversed.  This\npatch fixes that.\n\nIt also adds an skb-\u003esp check so that unprotected packets that\nfail the policy check do not crash the machine.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b7817f3a959ed99d7443afc12f78a7e1fcc2063",
      "tree": "7e315dfbf5c77e67f6e7ad56f14eaddca621212b",
      "parents": [
        "d5422efe680fc55010c6ddca2370ca9548a96355"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Dec 12 10:44:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:23 2008 -0800"
      },
      "message": "[IPSEC]: Add ICMP host relookup support\n\nRFC 4301 requires us to relookup ICMP traffic that does not match any\npolicies using the reverse of its payload.  This patch implements this\nfor ICMP traffic that originates from or terminates on localhost.\n\nThis is activated on outbound with the new policy flag XFRM_POLICY_ICMP,\nand on inbound by the new state flag XFRM_STATE_ICMP.\n\nOn inbound the policy check is now performed by the ICMP protocol so\nthat it can repeat the policy check where necessary.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7bc54c90307b4bc3d7fb2ffd6ad8fbda0671a45e",
      "tree": "74e2030d9603c41ce5dc3699862804a69300b7dc",
      "parents": [
        "e372c41401993b45c721c4d92730e7e0a79f7c1b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Nov 19 22:35:07 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[IPv4] RAW: Compact the API for the kernel\n\nThe raw sockets functions are explicitly used from\ninside the kernel in two places:\n\n1. in ip_local_deliver_finish to intercept skb-s\n2. in icmp_error\n\nFor this purposes many functions and even data structures,\nthat are naturally internal for raw protocol, are exported.\n\nCompact the API to two functions and hide all the other\n(including hash table and rwlock) inside the net/ipv4/raw.c\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b4d383a1a562de6955cacd72e20809064ee137f",
      "tree": "461579467e46a46611c8e3745bc9cb5fa7d41a99",
      "parents": [
        "fa95c28322a312a798a688c655458ab2079b72eb"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jan 21 03:39:45 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 21 03:39:45 2008 -0800"
      },
      "message": "[ICMP]: ICMP_MIB_OUTMSGS increment duplicated\n\nCommit \"96793b482540f3a26e2188eaf75cb56b7829d3e3\" (Add ICMPMsgStats\nMIB (RFC 4293)) made a mistake.\n\nIn that patch, David L added a icmp_out_count() in\nip_push_pending_frames(), remove icmp_out_count() from\nicmp_reply(). But he forgot to remove icmp_out_count() from\nicmp_send() too.  Since icmp_send and icmp_reply will call\nicmp_push_reply, which will call ip_push_pending_frames, a duplicated\nincrement happened in icmp_send.\n\nThis patch remove the icmp_out_count from icmp_send too.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "39296ed6699df34fdfbf1b14281c07321a079a3d",
      "tree": "8834fae2700eb9e947cc588dc92582d6b6af8090",
      "parents": [
        "bbbb1a812de596958163779ae5b0806bc53a83f4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 04:06:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 04:06:08 2007 -0700"
      },
      "message": "[INET]: Unexport icmpmsg_statistics\n\nThis patch removes the unused EXPORT_SYMBOL(icmpmsg_statistics).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96793b482540f3a26e2188eaf75cb56b7829d3e3",
      "tree": "3dfc2871b69cc358ed55dc2adc3bfeef47382cb3",
      "parents": [
        "14878f75abd5bf1d38becb405801cd491ee215dc"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Mon Sep 17 09:57:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:28 2007 -0700"
      },
      "message": "[IPV4]: Add ICMPMsgStats MIB (RFC 4293)\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.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": "6e1d91039becc9d5bcd046d8c709dbaf471220e3",
      "tree": "bd12a1493d5651aed36f7606c72e146bbf7c0c60",
      "parents": [
        "584bdf8cbdf6f277c2a00e083257ee75687cf6f4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jun 01 11:45:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Jun 03 18:08:51 2007 -0700"
      },
      "message": "[ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl\n\nCurrently when icmp_errors_use_inbound_ifaddr is set and an ICMP error is\nsent after the packet passed through ip_output(), an address from the\noutgoing interface is chosen as ICMP source address since skb-\u003edev doesn\u0027t\npoint to the incoming interface anymore.\n\nFix this by doing an interface lookup on rt-\u003edst.iif and using that device.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8cf27287ac7fb5cbfcc4139917a997c39d841ca",
      "tree": "7882f48069e35c2a3c335997ecec08968bc474ef",
      "parents": [
        "3ad2a6fb6bcc2f464cdde093a76b76b90b90c66c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sat May 19 14:44:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 14:44:15 2007 -0700"
      },
      "message": "[IPV4]: icmp: fix crash with sysctl_icmp_errors_use_inbound_ifaddr\n\nWhen icmp_send is called on the local output path before the\npacket hits ip_output, skb-\u003edev is not set, causing a crash\nwhen sysctl_icmp_errors_use_inbound_ifaddr is set. This can\nhappen with the netfilter REJECT target or IPsec tunnels.\n\nLet routing decide the ICMP source address in that case, since the\npacket is locally generated there is no inbound interface and\nthe sysctl should not apply.\n\nThe option actually seems to be unfixable broken, on the path\nafter ip_output() skb-\u003edev points to the outgoing device and\nwe don\u0027t know the incoming device anymore, so its going to do\nthe absolute wrong thing and pick the address of the outgoing\ninterface. Add a comment about this.\n\nReported by Curtis Doty \u003cCurtis@GreenKey.net\u003e.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.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"
    }
  ],
  "next": "88c7664f13bd1a36acb8566b93892a4c58759ac6"
}
