)]}'
{
  "log": [
    {
      "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": "f771bef98004d9d141b085d987a77d06669d4f4f",
      "tree": "df9b7a353a8c28e71a8237d3ad65ba7f41ffab30",
      "parents": [
        "4d52cfbef6266092d535237ba5a4b981458ab171"
      ],
      "author": {
        "name": "Nivedita Singhvi",
        "email": "niv@us.ibm.com",
        "time": "Thu May 28 07:00:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 02 00:45:24 2009 -0700"
      },
      "message": "ipv4: New multicast-all socket option\n\nAfter some discussion offline with Christoph Lameter and David Stevens\nregarding multicast behaviour in Linux, I\u0027m submitting a slightly\nmodified patch from the one Christoph submitted earlier.\n\nThis patch provides a new socket option IP_MULTICAST_ALL.\n\nIn this case, default behaviour is _unchanged_ from the current\nLinux standard. The socket option is set by default to provide\noriginal behaviour. Sockets wishing to receive data only from\nmulticast groups they join explicitly will need to clear this\nsocket option.\n\nSigned-off-by: Nivedita Singhvi \u003cniv@us.ibm.com\u003e\nSigned-off-by: Christoph Lameter\u003ccl@linux.com\u003e\nAcked-by: David Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7091e728c570157496e52296d2dbe816a6916836",
      "tree": "9b393f1939f2632495ae083392b2172da2ed5000",
      "parents": [
        "b4ee07df3d8121060200dbe1c6686a4e0682bee2"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Dec 25 16:42:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 16:42:51 2008 -0800"
      },
      "message": "netns: igmp: make /proc/net/{igmp,mcfilter} per netns\n\nThis patch makes the followinf proc entries per-netns:\n/proc/net/igmp\n/proc/net/mcfilter\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7e9ff735bd5e3437a8e5ecbbc2db3865974a523",
      "tree": "29107bc9cb4667fb341078ea4dbfa38b732b3728",
      "parents": [
        "6ed2533e55889943c478d11b1f63aaed2fd767cc"
      ],
      "author": {
        "name": "Jianjun Kong",
        "email": "jianjun@zeuux.org",
        "time": "Mon Nov 03 00:26:09 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 00:26:09 2008 -0800"
      },
      "message": "net: clean up net/ipv4/igmp.c\n\nSigned-off-by: Jianjun Kong \u003cjianjun@zeuux.org\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": "b8bae41ed6a53cce56c50811a91cd963e3187d1c",
      "tree": "a54cbcedbfd4d4f88fe207068c9b910c884b6b20",
      "parents": [
        "be713a443ee019489890e93654557916fbf72612"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Oct 07 15:34:37 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 07 15:34:37 2008 -0700"
      },
      "message": "ipv4: add mc_count to in_device.\n\nThis patch add mc_count to struct in_device and updates\nincrement/decrement/initilaize of this field in IPv4 and in IPv6.\n\n- Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to\nuse the new mc_count.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "877acedc0d3ea07f7b36573ed2f1f479c2c1eefd",
      "tree": "572dfad981cfd3f32e4661cb89cfc88def25bdf8",
      "parents": [
        "1bb5bd2c713cdf19794996fafd7b48da4c4b0113"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 13 16:15:57 2008 -0700"
      },
      "message": "netns: Fix crash by making igmp per namespace\n\nThis patch makes the multicast socket to be per namespace.\n\nWhen a network namespace is created, other than the init_net and a\nmulticast packet is received, the kernel goes to a hang or a kernel panic.\n\nHow to reproduce ?\n\n * create a child network namespace\n * create a pair virtual device veth\n    * ip link add type veth\n * move one side to the pair network device to the child namespace\n    * ip link set netns \u003cchildpid\u003e dev veth1\n * ping -I veth0 224.0.0.1\n\nThe bug appears because the function ip_mc_init_dev does not initialize\nthe different multicast fields as it exits because it is not the init_net.\n\nBUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695]\nModules linked in:\nirq event stamp: 50350\nhardirqs last  enabled at (50349): [\u003cc03ee949\u003e] _spin_unlock_irqrestore+0x34/0x39\nhardirqs last disabled at (50350): [\u003cc03ec639\u003e] schedule+0x9f/0x5ff\nsoftirqs last  enabled at (45712): [\u003cc0374d4b\u003e] ip_setsockopt+0x8e7/0x909\nsoftirqs last disabled at (45710): [\u003cc03ee682\u003e] _spin_lock_bh+0x8/0x27\n\nPid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3)\nEIP: 0060:[\u003cc03ee47c\u003e] EFLAGS: 00000297 CPU: 0\nEIP is at __read_lock_failed+0x8/0x10\nEAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e\nESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0\n DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\nCR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0\nDR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\nDR6: ffff0ff0 DR7: 00000400\n [\u003cc02311f8\u003e] ? _raw_read_lock+0x23/0x25\n [\u003cc0390666\u003e] ? ip_check_mc+0x1c/0x83\n [\u003cc036d478\u003e] ? ip_route_input+0x229/0xe92\n [\u003cc022e2e4\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc0104c9c\u003e] ? do_IRQ+0x69/0x7d\n [\u003cc0102e64\u003e] ? restore_nocheck_notrace+0x0/0xe\n [\u003cc036fdba\u003e] ? ip_rcv+0x227/0x505\n [\u003cc0358764\u003e] ? netif_receive_skb+0xfe/0x2b3\n [\u003cc03588d2\u003e] ? netif_receive_skb+0x26c/0x2b3\n [\u003cc035af31\u003e] ? process_backlog+0x73/0xbd\n [\u003cc035a8cd\u003e] ? net_rx_action+0xc1/0x1ae\n [\u003cc01218a8\u003e] ? __do_softirq+0x7b/0xef\n [\u003cc0121953\u003e] ? do_softirq+0x37/0x4d\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc0122037\u003e] ? local_bh_enable+0x96/0xab\n [\u003cc035b50d\u003e] ? dev_queue_xmit+0x3d4/0x40b\n [\u003cc012181e\u003e] ? _local_bh_enable+0x79/0x88\n [\u003cc035fcb8\u003e] ? neigh_resolve_output+0x20f/0x239\n [\u003cc0373118\u003e] ? ip_finish_output+0x1df/0x209\n [\u003cc0373364\u003e] ? ip_dev_loopback_xmit+0x62/0x66\n [\u003cc0371db5\u003e] ? ip_local_out+0x15/0x17\n [\u003cc0372013\u003e] ? ip_push_pending_frames+0x25c/0x2bb\n [\u003cc03891b8\u003e] ? udp_push_pending_frames+0x2bb/0x30e\n [\u003cc038a189\u003e] ? udp_sendmsg+0x413/0x51d\n [\u003cc038a1a9\u003e] ? udp_sendmsg+0x433/0x51d\n [\u003cc038f927\u003e] ? inet_sendmsg+0x35/0x3f\n [\u003cc034f092\u003e] ? sock_sendmsg+0xb8/0xd1\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc022e6de\u003e] ? copy_from_user+0x32/0x5e\n [\u003cc034f238\u003e] ? sys_sendmsg+0x18d/0x1f0\n [\u003cc0175e90\u003e] ? pipe_write+0x3cb/0x3d7\n [\u003cc0170347\u003e] ? do_sync_write+0xbe/0x105\n [\u003cc012d554\u003e] ? autoremove_wake_function+0x0/0x2b\n [\u003cc03503b2\u003e] ? sys_socketcall+0x176/0x1b0\n [\u003cc01085ea\u003e] ? syscall_trace_enter+0x6c/0x7b\n [\u003cc0102e1a\u003e] ? syscall_call+0x7/0xb\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.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": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_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": "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": "2430aa85de8343662e8496dac9f9e4dade680023",
      "tree": "e64ced549ad5b18cc9dc3ab36035c6ded65d1a19",
      "parents": [
        "0c65babd6ce758dd06330b3d9d677b7624f9e3fa"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Feb 28 20:48:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 28 20:48:49 2008 -0800"
      },
      "message": "[NETNS]: Disable multicaststing configuration inside non-initial namespace.\n\nDo not calls hooks from device notifiers and disallow configuration from\nioctl/netlink layer.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd557bc1c15cbd20fbea47a150e1c7e56834e627",
      "tree": "1bc82bff8c7f1a69f7f87a4c728e3890e5343025",
      "parents": [
        "bd2f747658b303d9b08d2c5bc815022d825a5e3c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sat Feb 09 23:22:26 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 09 23:22:26 2008 -0800"
      },
      "message": "[IGMP]: Optimize kfree_skb in igmp_rcv.\n\nMerge error paths inside igmp_rcv.\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": "1ab352768fc73838b062776ca5d1add3876a019f",
      "tree": "b30bd7744e30e90b6db01b71a5c8b86140538255",
      "parents": [
        "010278ec4cdf404aefc0bbd5e7406674fec95286"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Jan 22 22:04:30 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:04 2008 -0800"
      },
      "message": "[NETNS]: Add namespace parameter to ip_dev_find.\n\nin_dev_find() need a namespace to pass it to fib_get_table(), so add\nan argument.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fee0ca23711ce1a6b13d3ab78915809a72a59ec",
      "tree": "e2df8e3997d996749b5169df59a56f3df67158c5",
      "parents": [
        "da0e28cb68a7e22b47c6ae1a5b12cb538c13c69f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 21 17:32:38 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:20 2008 -0800"
      },
      "message": "[NETNS]: Add netns parameter to inetdev_by_index.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd329bfa96dd9dabfc3b5154317bf5fbe9440455",
      "tree": "ad68995cd1d5484a1141f39726ff9afc5967de97",
      "parents": [
        "1402c8519acba215f5a6101b9e5ada07ab371273"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Jan 21 17:28:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:10:18 2008 -0800"
      },
      "message": "[IPV4]: igmp sparse warnings\n\nPartial sparse warning fix.  The other conditional locking\nis too much for sparse to handle.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97c1e0c6ebdb606c97b6cb5e837c6110ac5a961",
      "tree": "2af3da0114614a127099f9ab2ef706f676faa376",
      "parents": [
        "21cf2253ebcf070bc307e0b56d696a2519c75cb4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Dec 16 13:45:43 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:15 2008 -0800"
      },
      "message": "[IPV4] net/ipv4: Use ipv4_is_\u003ctype\u003e\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "586f12115264b767ea6a48ce081ca25a39c1e3dd",
      "tree": "48bb41f07d4dc2a1e0d9f9d71286594d3b9800fa",
      "parents": [
        "9355bbd685bf705a7f7bd6470b92ca0562c7a661"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sun Dec 16 13:32:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:12 2008 -0800"
      },
      "message": "[IPV4]: Switch users of ipv4_devconf(_all) to use the pernet one\n\nThese are scattered over the code, but almost all the\n\"critical\" places already have the proper struct net\nat hand except for snmp proc showing function and routing\nrtnl handler.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c439cb2e4b13cf1cb2abcd006b906315a3381323",
      "tree": "7bb9d27214e010d37d6a715d0533a7148a8f429a",
      "parents": [
        "227620e295090629fcb2c46ad3828222ab65438d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 11 19:14:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:47 2008 -0800"
      },
      "message": "[IPV4]: Add ip_local_out\n\nMost callers of the LOCAL_OUT chain will set the IP packet length and\nheader checksum before doing so.  They also share the same output\nfunction dst_output.\n\nThis patch creates a new function called ip_local_out which does all\nof that and converts the appropriate users over to it.\n\nApart from removing duplicate code, it will also help in merging the\nIPsec output path once the same thing is done for IPv6.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b24b8a247ff65c01b252025926fe564209fae4fc",
      "tree": "8a9e0ea1e24b4733d8b9433d41877659505e9da4",
      "parents": [
        "a92aa318b4b369091fd80433c80e62838db8bc1c"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 23 21:20:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:35 2008 -0800"
      },
      "message": "[NET]: Convert init_timer into setup_timer\n\nMany-many code in the kernel initialized the timer-\u003efunction\nand  timer-\u003edata together with calling init_timer(timer). There\nis already a helper for this. Use it for networking code.\n\nThe patch is HUGE, but makes the code 130 lines shorter\n(98 insertions(+), 228 deletions(-)).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@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": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42f811b8bcdf6695bf74de580b1daf53445e8949",
      "tree": "c7c9dd321c63eb24c5d41488b47b7178c6c9b572",
      "parents": [
        "8d76527e728d00d1cf9d5dd663caffb2dcf05ae6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 04 23:34:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:39:13 2007 -0700"
      },
      "message": "[IPV4]: Convert IPv4 devconf to an array\n\nThis patch converts the ipv4_devconf config members (everything except\nsysctl) to an array.  This allows easier manipulation which will be\nneeded later on to provide better management of default config values.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7562f876cd93800f2f8c89445f2a563590b24e09",
      "tree": "78a34c011af275efa0d55ba59c3bd49b771dd533",
      "parents": [
        "03fba0479600114f32d29eee74ca3eaa364606bf"
      ],
      "author": {
        "name": "Pavel Emelianov",
        "email": "xemul@openvz.org",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 15:13:45 2007 -0700"
      },
      "message": "[NET]: Rework dev_base via list_head (v3)\n\nCleanup of dev_base list use, with the aim to simplify making device\nlist per-namespace. In almost every occasion, use of dev_base variable\nand dev-\u003enext pointer could be easily replaced by for_each_netdev\nloop. A few most complicated places were converted to using\nfirst_netdev()/next_netdev().\n\nSigned-off-by: Pavel Emelianov \u003cxemul@openvz.org\u003e\nAcked-by: Kirill Korotaev \u003cdev@openvz.org\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"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bff9b61ce330df04c6830d823c30c04203543f01",
      "tree": "19525bb3d690a421ebd48efa578736ea1e4ca3e2",
      "parents": [
        "514bca322cb9220308d22691ac1e74038bfabac3"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:19:57 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:18 2007 -0700"
      },
      "message": "[SK_BUFF]: Use the helpers to get the layer header pointer\n\nSome more cases...\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d10ba34b001944a8d1c8adb5646140ef089c432b",
      "tree": "cba54f5d23021a2b0061f5f2891ac7fa8fca6d5a",
      "parents": [
        "55f79cc0c02f9ce8f85e965e9679796f62b790f5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Mar 14 21:05:37 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:01 2007 -0700"
      },
      "message": "[SK_BUFF]: More skb_put related skb_reset_transport_header\n\nThis time we have to set it to skb-\u003etail that is not anymore equal to\nskb-\u003edata, so we either add a new helper or just add the skb-\u003etail - skb-\u003edata\noffset, for now do the later.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9edf9e2be0f7661558984c32bd53867a7037fd3",
      "tree": "603271a9d0756e229ad9ff13c628a33306c96bdf",
      "parents": [
        "cc70ab261c9f997589546100ddec5da6bfd89c4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 14:19:23 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:21 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce igmp_hdr() \u0026 friends, remove skb-\u003eh.igmph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0",
      "tree": "4a38ab4dbd9d61fdf5a5ea6ed61463e0b9e33ba7",
      "parents": [
        "e023dd643798c4f06c16466af90b4d250e4b8bd7"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Apr 20 22:47:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:10 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ip_hdr(), remove skb-\u003enh.iph\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f690808e17925fc45217eb22e8670902ecee5c1b",
      "tree": "ba677dd86988f4c77a728cc7408c21967e59400c",
      "parents": [
        "6b2bedc3a659ba228a93afc8e3f008e152abf18a"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Mon Mar 12 14:34:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:03 2007 -0700"
      },
      "message": "[NET]: make seq_operations const\n\nThe seq_file operations stuff can be marked constant to\nget it out of dirty cache.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e28ecc282574a7d72ace365fc9bc86e27ba880f",
      "tree": "6321d16c591694d6405b723f7bea80855b8040ce",
      "parents": [
        "e2d1bca7e6134671bcb19810d004a252aa6a644d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 18:40:59 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:48 2007 -0700"
      },
      "message": "[SK_BUFF]: Use skb_reset_network_header where the skb_pull return was being used\n\nBut only in the cases where its a newly allocated skb, i.e. one where skb-\u003etail\nis equal to skb-\u003edata, or just after skb_reserve, where this requirement is\nmaintained.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "08882669e06099eb3e6ac407f552743aeaaec73f",
      "tree": "1f52e97265a74bd3d8a96e92d9d415c48bfe6570",
      "parents": [
        "2536b94a2d2e37dd6c14171d6251f63bbda47293"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Mon Mar 12 17:02:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 17:02:37 2007 -0700"
      },
      "message": "[IPV4]: Fix warning in ip_mc_rejoin_group.\n\nKill warning about unused variable `in_dev\u0027 when CONFIG_IP_MULTICAST\nis not set.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a816c7c712ff9f6770168b91facb9bfa9f0acd48",
      "tree": "aa47edb0c1e23be76d0fff783b9665221f2a84ef",
      "parents": [
        "e245cb71d490e5e516c0ca0688fad7de6c22943d"
      ],
      "author": {
        "name": "Jay Vosburgh",
        "email": "fubar@us.ibm.com",
        "time": "Wed Feb 28 17:03:37 2007 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Mar 06 06:08:11 2007 -0500"
      },
      "message": "bonding: Improve IGMP join processing\n\n\tIn active-backup mode, the current bonding code duplicates IGMP\ntraffic to all slaves, so that switches are up to date in case of a\nfailover from an active to a backup interface.  If bonding then fails\nback to the original active interface, it is likely that the \"active\nslave\" switch\u0027s IGMP forwarding for the port will be out of date until\nsome event occurs to refresh the switch (e.g., a membership query).\n\n\tThis patch alters the behavior of bonding to no longer flood\nIGMP to all ports, and to issue IGMP JOINs to the newly active port at\nthe time of a failover.  This insures that switches are kept up to date\nfor all cases.\n\n\t\"GOELLESCH Niels\" \u003cniels.goellesch@eurocontrol.int\u003e originally\nreported this problem, and included a patch.  His original patch was\nmodified by Jay Vosburgh to additionally remove the existing IGMP flood\nbehavior, use RCU, streamline code paths, fix trailing white space, and\nadjust for style.\n\nSigned-off-by: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9a32144e9d7b4e21341174b1a83b82a82353be86",
      "tree": "6f08560b341418fc9934f56f6162a95f5b5d8aec",
      "parents": [
        "00977a59b951207d38380c75f03a36829950265c"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:35 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 7\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e905a9edab7f4f14f9213b52234e4a346c690911",
      "tree": "9e52a5f47eec47c5685c347ff7af22290a10305b",
      "parents": [
        "642656518b2e64fd59d9bbd15b6885cac5fe99b1"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:47 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:39 2007 -0800"
      },
      "message": "[NET] IPV4: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc63f70b8b410eb653449151821f6b8b9af6ca42",
      "tree": "b78fb82523f1ed05c6e0a3547021ba213aa2d3b6",
      "parents": [
        "f2f2102d1a1dbc83b5b37b6596cd8374120cbe16"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@openvz.org",
        "time": "Tue Feb 06 14:35:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:39:04 2007 -0800"
      },
      "message": "[IPV4/IPV6] multicast: Check add_grhead() return value\n\nadd_grhead() allocates memory with GFP_ATOMIC and in at least two places skb\nfrom it passed to skb_put() without checking.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3bc23e7ee9db8023dff5a86bb3b0069ed018789",
      "tree": "f281b190a20084386666e0f3bb957df427b93ca7",
      "parents": [
        "9981a0e36a572e9fcf84bfab915fdc93bed0e3c9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:24:49 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:27 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_fold() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63007727e0bb09e8d906f73d36a09b9fac0d5893",
      "tree": "015d2627d9a28e2b81989d3b82d130c32f138d5f",
      "parents": [
        "c0cda068aac3481d40795b115e4fd36f7d386e3a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:31:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:02 2006 -0700"
      },
      "message": "[IPV4]: trivial igmp annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0cda068aac3481d40795b115e4fd36f7d386e3a",
      "tree": "61dd1789701cc9c30f8a27577fd62af7e9f7d7c6",
      "parents": [
        "ea4d9e7220d32348cc9742ba6d27de5165262664"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:31:10 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:01 2006 -0700"
      },
      "message": "[IPV4]: ip_mc_sf_allow() annotated\n\nip_mc_sf_allow() expects addresses to be passed net-endian.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea4d9e7220d32348cc9742ba6d27de5165262664",
      "tree": "4281211a94b6f7e68f96ebb5912086bbdfa8eac2",
      "parents": [
        "942bf921e922560c05fde6afb00ddedf6224c608"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:30:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:02:00 2006 -0700"
      },
      "message": "[IPV4]: struct ip_sf_list and struct ip_sf_socklist annotated\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f935bbd7c6c66796c2403aefdab74bb48045bf6",
      "tree": "500b6cb37a536cdf4b63b6d33c53bdc6c752b228",
      "parents": [
        "00a5020cd51febbb3166ff7a09a2901c47ba251a"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Sep 27 18:30:07 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:58 2006 -0700"
      },
      "message": "[IPV4]: ip_mc_{inc,dec}_group() annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a60c4923da795c74db9ff61a60e2f1df5754e4ce",
      "tree": "70811e8c52e0edab4e27540b91c26f96daec6894",
      "parents": [
        "d9c9df8c9368f4102324e8c3923edae83974602b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 21:28:34 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:10 2006 -0700"
      },
      "message": "[IPV4]: ip_check_mc() annotations\n\nannotated arguments\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab32ea5d8a760e7dd4339634e95d7be24ee5b842",
      "tree": "8460a66c529fe03f926848326d9b6aa874e19514",
      "parents": [
        "56fc85ac961e2c20dcb5ef07e2628b3f93de2e49"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 22 14:15:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:03 2006 -0700"
      },
      "message": "[NET/IPV4/IPV6]: Change some sysctl variables to __read_mostly\n\nChange net/core, ipv4 and ipv6 sysctl variables to __read_mostly.\n\nCouldn\u0027t actually measure any performance increase while testing (.3%\nI consider noise), but seems like the right thing to do.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acd6e00b8e4db542cb6bc9ddfbb4e18bbe29ce4d",
      "tree": "f644e1ee2a5d85b1d680897105ad8f38a562cfc1",
      "parents": [
        "c7fa9d189e93877a1fa08ab00f230e0689125e45"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Thu Aug 17 16:27:39 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:57 2006 -0700"
      },
      "message": "[MCAST]: Fix filter leak on device removal.\n\nThis fixes source filter leakage when a device is removed and a\nprocess leaves the group thereafter.\n\nThis also includes corresponding fixes for IPv6 multicast source\nfilters on device removal.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bb699cbca0096aa3f5f750264ec0af080732375a",
      "tree": "4340b45f9750f7855abe937ff9c5c1427166e48a",
      "parents": [
        "640c41c77a96dbbfb74d40ae86ab75b759afb911"
      ],
      "author": {
        "name": "Michal Ruzicka",
        "email": "michal.ruzicka@comstar.cz",
        "time": "Tue Aug 15 00:20:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Aug 17 16:29:49 2006 -0700"
      },
      "message": "[IPV4]: Possible leak of multicast source filter sctructure\n\nThere is a leak of a socket\u0027s multicast source filter list structure\non closing a socket with a multicast source filter set on an interface\nthat does not exist any more.\n\nSigned-off-by: Michal Ruzicka \u003cmichal.ruzicka@comstar.cz\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0da974f4f303a6842516b764507e3c0a03f41e5a",
      "tree": "8872aec792f02040269c6769dd1009b20f71d186",
      "parents": [
        "a0ee7c70b22f78593957f99faa06acb4747b8bc0"
      ],
      "author": {
        "name": "Panagiotis Issaris",
        "email": "takis@issaris.org",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 21 14:51:30 2006 -0700"
      },
      "message": "[NET]: Conversions from kmalloc+memset to k(z|c)alloc.\n\nSigned-off-by: Panagiotis Issaris \u003ctakis@issaris.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "338fcf9886df9ad2873772197a73a57818973316",
      "tree": "3d58fed24e4c171110788ad479093a9b4ba27133",
      "parents": [
        "70df2311ee3fc607e7511873d7dade5bd17d593d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jun 05 21:04:39 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:29:37 2006 -0700"
      },
      "message": "[IPV4] igmp: Fixup struct ip_mc_list::multiaddr type\n\nAll users except two expect 32-bit big-endian value. One is of\n\n\t-\u003emultiaddr \u003d -\u003emultiaddr\n\nvariety. And last one is \"%08lX\".\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "153330618691694af64f39fb56c9de051862380e",
      "tree": "45ccb622bf0d13f6a0a663ba8af39f9dc2c9122e",
      "parents": [
        "2d0817d11eaec57435feb61493331a763f732a2b"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Mon Mar 20 22:32:28 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:32:28 2006 -0800"
      },
      "message": "[NET]: dev_put/dev_hold cleanup\n\nGet rid of the old __dev_put macro that is just a hold over from pre 2.6\nkernel.  And turn dev_hold into an inline instead of a macro.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6756ae4b4e97aba48c042b4aa6b77a18f507d2cb",
      "tree": "05bf37711d782fb0089d474716026c44a454f89b",
      "parents": [
        "253aa11578c1b89757282430891bb66ae5300092"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Mon Mar 20 22:23:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:23:58 2006 -0800"
      },
      "message": "[NET]: Convert RTNL to mutex.\n\nThis patch turns the RTNL from a semaphore to a new 2.6.16 mutex and\ngets rid of some of the leftover legacy.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76edc6051e02186fe664ab880447e2d1f96fd884",
      "tree": "988170b801f03e7701eb0ceaa856891934539101",
      "parents": [
        "e110ab94ebc714de57f75f0c7c576dde8cf80944"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Feb 01 05:54:35 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Feb 07 20:57:37 2006 -0500"
      },
      "message": "[PATCH] ipv4 NULL noise removal\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dd1c1853e2742f4938b271dbe0cee735e2ffa3d9",
      "tree": "dca773c1f509e06330559e55113a0e7cae5ddb68",
      "parents": [
        "d195ea4b1456192abe780fd773778cbe9f6d77ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 31 13:11:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 31 13:11:41 2006 -0800"
      },
      "message": "Fix ipv4/igmp.c compile with gcc-4 and IP_MULTICAST\n\nModern versions of gcc do not like case statements at the end of a block\nstatement: you need at least an empty statement.  Using just a \"break;\"\nis preferred for visual style.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c5d90e000437a463440c1fe039011a02583a9ee5",
      "tree": "d9b335bf132b089ea4036f7d19bcdd9cc490aaf9",
      "parents": [
        "e2c2fc2c8f3750e1f7ffbb3ac2b885a49416110c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Mon Jan 30 20:27:17 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 20:27:17 2006 -0800"
      },
      "message": "[IPV4] igmp: remove pointless printk\n\nThis is easily triggerable by sending bogus packets,\nallowing a malicious user to flood remote logs.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad12583f46bcb6ce93ccd99fa063c0d701146b2e",
      "tree": "58d68cf1a60cd3cf2b8ee0e9fbdcb38454e2082e",
      "parents": [
        "7ac5459ec0f074022818af35c589b9e2b406d7c3"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Wed Jan 18 14:20:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 18 14:20:56 2006 -0800"
      },
      "message": "[IPV4]: Fix multiple bugs in IGMPv3\n\n1) fix \"mld_marksources()\" to\n        a) send nothing when all queried sources are excluded\n        b) send full exclude report when source queried sources are\n                not excluded\n        c) don\u0027t schedule a timer when there\u0027s nothing to report\n\n2) fix \"add_grec()\" to send empty-source records when it should\n        The original check doesn\u0027t account for a non-empty source\n        list with all sources inactive; the new code keeps that\n        short-circuit case, and also generates the group header\n        with an empty list if needed.\n\n3) fix mca_crcount decrement to be after add_grec(), which needs\n        its original value\n\n4) add/remove delete records and prevent current advertisements\n        when an exclude-mode filter moves from \"active\" to \"inactive\"\n        or vice versa based on new filter additions.\n\n        Items 1-3 are just IPv4 versions of the IPv6 bugs found\nby Yan Zheng and fixed earlier. Item #4 is a related bug that\naffects exclude-mode change records only (but not queries) and\nalso occurs in IPv6 (IPv6 version coming soon).\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3a70058bfe711b2d05ba2134178bae623183ce",
      "tree": "6f9e55729938f0a935aa885d29d5a38537fa3a97",
      "parents": [
        "ae0f7d5f83236a43c572a744e4bbb30e8702d821"
      ],
      "author": {
        "name": "Kris Katterjohn",
        "email": "kjak@users.sourceforge.net",
        "time": "Wed Jan 11 15:56:43 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jan 11 16:32:14 2006 -0800"
      },
      "message": "[NET]: Remove more unneeded typecasts on *malloc()\n\nThis removes more unneeded casts on the return value for kmalloc(),\nsock_kmalloc(), and vmalloc().\n\nSigned-off-by: Kris Katterjohn \u003ckjak@users.sourceforge.net\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24c6927505ca77ee4ac25fb31dcd56f6506979ed",
      "tree": "17d873b63f0ce24b81e184f2515f2b643143e48e",
      "parents": [
        "bf031fff1fac77775b2cd2c72ad8b017f4c0af13"
      ],
      "author": {
        "name": "David Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Dec 02 20:32:59 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 02 20:32:59 2005 -0800"
      },
      "message": "[IGMP]: workaround for IGMP v1/v2 bug\n\nFrom: David Stevens \u003cdlstevens@us.ibm.com\u003e\n\nAs explained at:\n\n\thttp://www.cs.ucsb.edu/~krishna/igmp_dos/\n\nWith IGMP version 1 and 2 it is possible to inject a unicast\nreport to a client which will make it ignore multicast\nreports sent later by the router.\n\nThe fix is to only accept the report if is was sent to a\nmulticast or unicast address.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb286bb2990a107009dbf25f6ffebeb7df77f9be",
      "tree": "0eede2c37f1b3831e59601933eebf6b82be75ffc",
      "parents": [
        "1064e944d03eb7a72c0fa11236d5e69cfd877a71"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "message": "[NET]: Detect hardware rx checksum faults correctly\n\nHere is the patch that introduces the generic skb_checksum_complete\nwhich also checks for hardware RX checksum faults.  If that happens,\nit\u0027ll call netdev_rx_csum_fault which currently prints out a stack\ntrace with the device name.  In future it can turn off RX checksum.\n\nI\u0027ve converted every spot under net/ that does RX checksum checks to\nuse skb_checksum_complete or __skb_checksum_complete with the\nexceptions of:\n\n* Those places where checksums are done bit by bit.  These will call\nnetdev_rx_csum_fault directly.\n\n* The following have not been completely checked/converted:\n\nipmr\nip_vs\nnetfilter\ndccp\n\nThis patch is based on patches and suggestions from Stephen Hemminger\nand David S. Miller.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8713dbf05754aa777f31bf491cb60a111f7ad828",
      "tree": "543da2e27a18d1deddfcccf503db882d2f6d2566",
      "parents": [
        "ec1890c5df451799dec969a3581ff72e1934b5ee"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Fri Oct 28 08:02:08 2005 +0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Nov 02 21:03:57 2005 -0200"
      },
      "message": "[MCAST]: ip[6]_mc_add_src should be called when number of sources is zero\n\nAnd filter mode is exclude.\n\nFurther explanation by David Stevens:\n\nMulticast source filters aren\u0027t widely used yet, and that\u0027s really the only\nfeature that\u0027s affected if an application actually exercises this bug, as far\nas I can tell. An ordinary filter-less multicast join should still work, and\nonly forwarded multicast traffic making use of filters and doing empty-source\nfilters with the MSFILTER ioctl would be at risk of not getting multicast\ntraffic forwarded to them because the reports generated would not be based on\nthe correct counts.\n\nSigned-off-by: Yan Zheng \u003cyanzheng@21cn.com\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e5ed639913eea3e4783a550291775ab78dd84966",
      "tree": "e6e915aa686d2a7125181fc83a847e1955a8ba46",
      "parents": [
        "a5e7c210fefd2454c757a3542e41063407ca7108"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:35:55 2005 -0700"
      },
      "message": "[IPV4]: Replace __in_dev_get with __in_dev_get_rcu/rtnl\n\nThe following patch renames __in_dev_get() to __in_dev_get_rtnl() and\nintroduces __in_dev_get_rcu() to cover the second case.\n\n1) RCU with refcnt should use in_dev_get().\n2) RCU without refcnt should use __in_dev_get_rcu().\n3) All others must hold RTNL and use __in_dev_get_rtnl().\n\nThere is one exception in net/ipv4/route.c which is in fact a pre-existing\nrace condition.  I\u0027ve marked it as such so that we remember to fix it.\n\nThis patch is based on suggestions and prior work by Suzanne Wood and\nPaul McKenney.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de9daad90ecb54f3c37c3f8967d581e20d927539",
      "tree": "64cdb939bd5bbdb36cd05ccaed15ca5b6d2c9df7",
      "parents": [
        "20ae975dfd54de581287b2ca8a1ad97099ab0396"
      ],
      "author": {
        "name": "Denis Lukianov",
        "email": "denis@voxelsoft.com",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 14 20:53:42 2005 -0700"
      },
      "message": "[MCAST]: Fix MCAST_EXCLUDE line dupes\n\nThis patch fixes line dupes at /ipv4/igmp.c and /ipv6/mcast.c in the  \n2.6 kernel, where MCAST_EXCLUDE is mistakenly used instead of  \nMCAST_INCLUDE.\n\nSigned-off-by: Denis Lukianov \u003cdenis@voxelsoft.com\u003e\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64ce207306debd7157f47282be94770407bec01c",
      "tree": "b4004f01b2b0e935b95bcce9a78e60a9e9e17f65",
      "parents": [
        "64cf1e5d8b5f88d56509260e08fa0d8314277350"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 20:50:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:08 2005 -0700"
      },
      "message": "[NET]: Make NETDEBUG pure printk wrappers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84b42baef775b0e3415ccece17cf694f50326d01",
      "tree": "6a810c38fcd8f02db57482019264089e99db2d31",
      "parents": [
        "9951f036fe8a4e6b21962559c64ff13b290ff01a"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:48:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:48:38 2005 -0700"
      },
      "message": "[IPV4]: fix IPv4 leave-group group matching\n\n        This patch fixes the multicast group matching for \nIP_DROP_MEMBERSHIP, similar to the IP_ADD_MEMBERSHIP fix in a prior\npatch. Groups are identifiedby \u003cgroup address,interface\u003e and including\nthe interface address in the match will fail if a leave-group is done\nby address when the join was done by index, or if different addresses\non the same interface are used in the join and leave.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9951f036fe8a4e6b21962559c64ff13b290ff01a",
      "tree": "3d4d557102bf8d8a96d5276de7183b57c9808711",
      "parents": [
        "917f2f105ea4bbba8604e3ed55233eebda7afe6a"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:47:28 2005 -0700"
      },
      "message": "[IPV4]: (INCLUDE,empty)/leave-group equivalence for full-state MSF APIs \u0026 errno fix\n\n1) Adds (INCLUDE, empty)/leave-group equivalence to the full-state \n   multicast source filter APIs (IPv4 and IPv6)\n\n2) Fixes an incorrect errno in the IPv6 leave-group (ENOENT should be\n   EADDRNOTAVAIL)\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "917f2f105ea4bbba8604e3ed55233eebda7afe6a",
      "tree": "bbab5de7093cec897f617649dd123946b579c4b7",
      "parents": [
        "8cdaaa15da58806ac3c75d96c40aef9e31445a25"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:45:16 2005 -0700"
      },
      "message": "[IPV4]: multicast API \"join\" issues\n\n1) In the full-state API when imsf_numsrc \u003d\u003d 0\n   errno should be \"0\", but returns EADDRNOTAVAIL\n\n2) An illegal filter mode change\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n3) Trying to do an any-source option without IP_ADD_MEMBERSHIP\n   errno should be EINVAL, but returns EADDRNOTAVAIL\n\n4) Adds comments for the less obvious error return values\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8cdaaa15da58806ac3c75d96c40aef9e31445a25",
      "tree": "bdeee63b026525963143d3ffe07d93110c25297c",
      "parents": [
        "ca9b907d140a5f249250d19f956129dbbbf84f73"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:39:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:39:23 2005 -0700"
      },
      "message": "[IPV4]: multicast API \"join\" issues\n\n1) Changes IP_ADD_SOURCE_MEMBERSHIP and MCAST_JOIN_SOURCE_GROUP to ignore\n   EADDRINUSE errors on a \"courtesy join\" -- prior membership or not\n   is ok for these.\n\n2) Adds \"leave group\" equivalence of (INCLUDE, empty) filters in the \n   delta-based API. Without this, mixing delta-based API calls that\n   end in an (INCLUDE, empty) filter would not allow a subsequent\n   regular IP_ADD_MEMBERSHIP. It also frees socket buffer memory that\n   isn\u0027t needed for both the multicast group record and source filter.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca9b907d140a5f249250d19f956129dbbbf84f73",
      "tree": "48f26110e23634f17d9c73e7a5a7b4239ffcd589",
      "parents": [
        "4c866aa798bc6de0a1d45495229e9f13c35b55c2"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Fri Jul 08 17:38:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 17:38:07 2005 -0700"
      },
      "message": "[IPV4]: multicast API \"join\" issues\n\n        This patch corrects a few problems with the IP_ADD_MEMBERSHIP\nsocket option:\n\n1) The existing code makes an attempt at reference counting joins when\n   using the ip_mreqn/imr_ifindex interface. Joining the same group\n   on the same socket is an error, whatever the API. This leads to\n   unexpected results when mixing ip_mreqn by index with ip_mreqn by\n   address, ip_mreq, or other API\u0027s. For example, ip_mreq followed by\n   ip_mreqn of the same group will \"work\" while the same two reversed\n   will not.\n           Fixed to always return EADDRINUSE on a duplicate join and\n   removed the (now unused) reference count in ip_mc_socklist.\n\n2) The group-search list in ip_mc_join_group() is comparing a full \n   ip_mreqn structure and all of it must match for it to find the\n   group. This doesn\u0027t correctly match a group that was joined with\n   ip_mreq or ip_mreqn with an address (with or without an index). It\n   also doesn\u0027t match groups that are joined by different addresses on\n   the same interface. All of these are the same multicast group,\n   which is identified by group address and interface index.\n           Fixed the check to correctly match groups so we don\u0027t get\n   duplicate group entries on the ip_mc_socklist.\n\n3) The old code allocates a multicast address before searching for\n   duplicates requiring it to free in various error cases. This\n   patch moves the allocate until after the search and\n   igmp_max_memberships check, so never a need to allocate, then free\n   an entry.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
