)]}'
{
  "log": [
    {
      "commit": "3bdc0eba0b8b47797f4a76e377dd8360f317450f",
      "tree": "da6bd907f599402bc8db0a2484997fd4d3e06f7b",
      "parents": [
        "0184039a4b6727d6efd545919c773ef141090ae7"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Sat Feb 11 15:39:30 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Feb 24 01:37:35 2012 -0800"
      },
      "message": "net: Add framework to allow sending packets with customized CRC.\n\nThis is useful for testing RX handling of frames with bad\nCRCs.\n\nRequires driver support to actually put the packet on the\nwire properly.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nTested-by: Aaron Brown \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "7f8e3234c5f7fbdb06be050c8a1907e9c36d7c61",
      "tree": "d6e9edb2087fa4a97b2cc3d585a0189672a14cf4",
      "parents": [
        "8ade06c616b34b4237c0ed77d1ff0ce04ad7d056",
        "89307babf966165171547f105e2253dec261cfa5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "aef950b4ba3196622a5bd5e21ab1d63f30658285",
      "tree": "f4cb91f4517a041ef95c28ad50039b0b2ae6b137",
      "parents": [
        "c43c5f39584c0f388a7e5372312c2c48221a4415"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "message": "packet: fix possible dev refcnt leak when bind fail\n\nIf bind is fail when bind is called after set PACKET_FANOUT\nsock option, the dev refcnt will leak.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fd7bac6b6157eed6cf0cb86a1e88ba29e57c033",
      "tree": "bcc24e9c63587bc1e8e15ad60654de9c6f72883e",
      "parents": [
        "a0a129f8b6cff54ab479324a54aefdab5db4f240"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 21 07:11:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 02:15:14 2011 -0500"
      },
      "message": "net: relax rcvbuf limits\n\nskb-\u003etruesize might be big even for a small packet.\n\nIts even bigger after commit 87fb4b7b533 (net: more accurate skb\ntruesize) and big MTU.\n\nWe should allow queueing at least one packet per receiver, even with a\nlow RCVBUF setting.\n\nReported-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ce4091256d61f8e9c7296f6643c8bd5bb2a00e5",
      "tree": "ff41287641f6320a993d67afa6c41bff4cfdbc39",
      "parents": [
        "56c978f1da1f630ef18aa668a9748c6c23ab819b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:10 2011 -0500"
      },
      "message": "packet: Add needed_tailroom to packet_sendmsg_spkt\n\npacket: Add needed_tailroom to packet_sendmsg_spkt\n\nWhile auditing LL_ALLOCATED_SPACE I noticed that packet_sendmsg_spkt\ndid not include needed_tailroom when allocating an skb.  This isn\u0027t\na fatal error as we should always tolerate inadequate tail room but\nit isn\u0027t optimal.\n\nThis patch fixes that.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae641949df01b85117845bec45328eab6d6fada1",
      "tree": "ed8d5aedd678f86e8554dc0b1c080a43ef4b331d",
      "parents": [
        "a7ae1992248e5cf9dc5bd35695ab846d27efe15f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:09 2011 -0500"
      },
      "message": "net: Remove all uses of LL_ALLOCATED_SPACE\n\nnet: Remove all uses of LL_ALLOCATED_SPACE\n\nThe macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the\nalignment to the sum of needed_headroom and needed_tailroom.  As\nthe amount that is then reserved for head room is needed_headroom\nwith alignment, this means that the tail room left may be too small.\n\nThis patch replaces all uses of LL_ALLOCATED_SPACE with the macro\nLL_RESERVED_SPACE and direct reference to needed_tailroom.\n\nThis also fixes the problem with needed_headroom changing between\nallocating the skb and reserving the head room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eea49cc9009767dfbafd673ee577854454b52e0d",
      "tree": "1d48e1c6a243cb2ab2d680d6b1919d994b76f3b3",
      "parents": [
        "c49b82da1f6649b76acbabc7940ddb53a00bdfcc"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Nov 02 11:00:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 03 18:11:51 2011 -0400"
      },
      "message": "af_packet: de-inline some helper functions\n\nThis popped some compiler errors due to mismatched prototypes. Just\nremove most manual inlines, the compiler should be able to figure out\nwhat makes sense to inline and not.\n\nnet/packet/af_packet.c:252: warning: \u0027prb_curr_blk_in_use\u0027 declared inline after being called\nnet/packet/af_packet.c:252: warning: previous declaration of \u0027prb_curr_blk_in_use\u0027 was here\nnet/packet/af_packet.c:258: warning: \u0027prb_queue_frozen\u0027 declared inline after being called\nnet/packet/af_packet.c:258: warning: previous declaration of \u0027prb_queue_frozen\u0027 was here\nnet/packet/af_packet.c:248: warning: \u0027packet_previous_frame\u0027 declared inline after being called\nnet/packet/af_packet.c:248: warning: previous declaration of \u0027packet_previous_frame\u0027 was here\nnet/packet/af_packet.c:251: warning: \u0027packet_increment_head\u0027 declared inline after being called\nnet/packet/af_packet.c:251: warning: previous declaration of \u0027packet_increment_head\u0027 was here\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc416d9768aa9a2e46eb11354a9c58399dafeb01",
      "tree": "a3ecf948353d11d199dfb64b0c4302c5b4aaccb6",
      "parents": [
        "f7ba35da583cf6aefba887a8dcf86acec4f3a350"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 06 10:28:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:22:07 2011 -0400"
      },
      "message": "macvlan: handle fragmented multicast frames\n\nFragmented multicast frames are delivered to a single macvlan port,\nbecause ip defrag logic considers other samples are redundant.\n\nImplement a defrag step before trying to send the multicast frame.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95f5f803b3897f622c4b5f72d554874faf74df12",
      "tree": "7241563ed75f0ee7443df99bbbb304c0a870496a",
      "parents": [
        "5bdc4f5de1345c221f5b51d73fafe3e5de718a54"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Mon Oct 10 06:52:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 14:09:08 2011 -0400"
      },
      "message": "af_packet: remove unnecessary BUG_ON() in tpacket_destruct_skb\n\nIf skb is NULL, then stack trace is thrown anyway on dereference.\nTherefore, the stack trace triggered by BUG_ON is duplicate.\n\nSigned-off-by: Daniel Borkmann \u003cdanborkmann@googlemail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "7091fbd82cd5686444ffe9935ed6a8190101fe9d",
      "tree": "8414bd888e6ef13f9338458ee94cf24b0d34bd2c",
      "parents": [
        "d0e5d83284dac15c015bb48115b6780f5a6413cd"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Fri Sep 30 10:38:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:18:26 2011 -0400"
      },
      "message": "make PACKET_STATISTICS getsockopt report consistently between ring and non-ring\n\nThis is a minor change.\n\nUp until kernel 2.6.32, getsockopt(fd, SOL_PACKET, PACKET_STATISTICS,\n...) would return total and dropped packets since its last invocation. The\nintroduction of socket queue overflow reporting [1] changed drop\nrate calculation in the normal packet socket path, but not when using a\npacket ring. As a result, the getsockopt now returns different statistics\ndepending on the reception method used. With a ring, it still returns the\ncount since the last call, as counts are incremented in tpacket_rcv and\nreset in getsockopt. Without a ring, it returns 0 if no drops occurred\nsince the last getsockopt and the total drops over the lifespan of\nthe socket otherwise. The culprit is this line in packet_rcv, executed\non a drop:\n\ndrop_n_acct:\n        po-\u003estats.tp_drops \u003d atomic_inc_return(\u0026sk-\u003esk_drops);\n\nAs it shows, the new drop number it taken from the socket drop counter,\nwhich is not reset at getsockopt. I put together a small example\nthat demonstrates the issue [2]. It runs for 10 seconds and overflows\nthe queue/ring on every odd second. The reported drop rates are:\nring: 16, 0, 16, 0, 16, ...\nnon-ring: 0, 15, 0, 30, 0, 46, 0, 60, 0 , 74.\n\nNote how the even ring counts monotonically increase. Because the\ngetsockopt adds tp_drops to tp_packets, total counts are similarly\nreported cumulatively. Long story short, reinstating the original code, as\nthe below patch does, fixes the issue at the cost of additional per-packet\ncycles. Another solution that does not introduce per-packet overhead\nis be to keep the current data path, record the value of sk_drops at\ngetsockopt() at call N in a new field in struct packetsock and subtract\nthat when reporting at call N+1. I\u0027ll be happy to code that, instead,\nit\u0027s just more messy.\n\n[1] http://patchwork.ozlabs.org/patch/35665/\n[2] http://kernel.googlecode.com/files/test-packetsock-getstatistics.c\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bc71cb983fd2844e603bf633df2bb53385182d2",
      "tree": "067b6df32fda6c554b2b9263a94a585c2e5a832d",
      "parents": [
        "c5dac7c9984d8a034eb7ae149cedf23ec9259f98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Sep 03 03:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 17:32:26 2011 -0400"
      },
      "message": "net: consolidate and fix ethtool_ops-\u003eget_settings calling\n\nThis patch does several things:\n- introduces __ethtool_get_settings which is called from ethtool code and\n  from drivers as well. Put ASSERT_RTNL there.\n- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()\n- changes calling in drivers so rtnl locking is respected. In\n  iboe_get_rate was previously -\u003eget_settings() called unlocked. This\n  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same\n  problem. Also fixed by calling __dev_get_by_index() instead of\n  dev_get_by_index() and holding rtnl_lock for both calls.\n- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()\n  so bnx2fc_if_create() and fcoe_if_create() are called locked as they\n  are from other places.\n- use __ethtool_get_settings() in bonding code\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\nv2-\u003ev3:\n\t-removed dev_ethtool_get_settings()\n\t-added ASSERT_RTNL into __ethtool_get_settings()\n\t-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock\n\t around it and __ethtool_get_settings() call\nv1-\u003ev2:\n        add missing export_symbol\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e [except FCoE bits]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc59ba399113fcbcac56ba22edde4b816199d48c",
      "tree": "16c9023b050de412a934008b99eb8c2cf3464be1",
      "parents": [
        "165c68d5a291537eaf2d3821a19335c9ec100ba6"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Thu Aug 25 10:43:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:44 2011 -0400"
      },
      "message": "af_packet: Prefixed tpacket_v3 structs to avoid name space collision\n\nstructs introduced in tpacket_v3 implementation are prefixed with \u0027tpacket\u0027\nto avoid namespace collision.\n\nCompile tested.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6fb8f100b807378fda19e83e5ac6828b638603a",
      "tree": "66d30265f08fbf9745e3feb9af6f5a06fe38d71b",
      "parents": [
        "0d4691ce112be025019999df5f2a5e00c03f03c2"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Fri Aug 19 10:18:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:40:40 2011 -0700"
      },
      "message": "af-packet: TPACKET_V3 flexible buffer implementation.\n\n1) Blocks can be configured with non-static frame-size.\n2) Read/poll is at a block-level(as opposed to packet-level).\n3) Added poll timeout to avoid indefinite user-space wait on idle links.\n4) Added user-configurable knobs:\n   4.1) block::timeout.\n   4.2) tpkt_hdr::sk_rxhash.\n\nChanges:\nC1) tpacket_rcv()\n    C1.1) packet_current_frame() is replaced by packet_current_rx_frame()\n          The bulk of the processing is then moved in the following chain:\n          packet_current_rx_frame()\n            __packet_lookup_frame_in_block\n              fill_curr_block()\n              or\n                retire_current_block\n                dispatch_next_block\n              or\n              return NULL(queue is plugged/paused)\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc9f01b246ca8e4fa245991840b8076394f86707",
      "tree": "fb362018297a83c9c288a000893d7dbb88a3aead",
      "parents": [
        "6a7ebdf2fd15417e87b4fd02ff411aeaca34da5f"
      ],
      "author": {
        "name": "Chetan Loke",
        "email": "loke.chetan@gmail.com",
        "time": "Thu Jul 14 08:36:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 08:36:33 2011 -0700"
      },
      "message": "af-packet: fix - avoid reading stale data\n\nCurrently we flush tp_status and then flush the remainder of the header+payload.\ntp_status should be flushed in the end to avoid stale data being read by user-space.\n\nIncorrectly re-ordered barriers in v1.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31817df025e24559a01d33ddd68bd11b21bf9d7b",
      "tree": "13705c13b8abccf01fd1281cda46ca1e3d25f211",
      "parents": [
        "afe62c68cd3562c5f8e3ea293e82906dd5a87936"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 08:18:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 08:18:04 2011 -0700"
      },
      "message": "packet: Fix build with INET disabled.\n\naf_packet.c:(.text+0x3d130): undefined reference to `ip_defrag\u0027\nor\nERROR: \"ip_defrag\" [net/packet/af_packet.ko] undefined!\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afe62c68cd3562c5f8e3ea293e82906dd5a87936",
      "tree": "5cc472bb610de783a1dca1e9f54043a0918d60bd",
      "parents": [
        "68ac31918ec359a2bfb9f897bb62c2940652d2b8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 07 06:41:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 06:41:29 2011 -0700"
      },
      "message": "af_packet: lock imbalance\n\nfanout_add() might return with fanout_mutex held.\n\nReduce indentation level while we are at it\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aec27311c23a8ce8eaf490762249d3ed74be83b6",
      "tree": "51a789724f43439d5aff9ddc4d87cd4d00397489",
      "parents": [
        "dc7f9f6e8838556f226c2ebd1da7bb305cb25654"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 07:30:59 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 07:30:59 2011 -0700"
      },
      "message": "packet: Fix leak in pre-defrag support.\n\nWhen we clone the SKB, we forget about the original\none.  Avoid this problem by using skb_share_check().\n\nReported-by: Penttilä Mika \u003cmika.penttila@ixonos.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95ec3eb417115fbb2c73b59e2825f6dd5d2f6cf6",
      "tree": "009ed6c7ee4d693de36990fa30fdaa79939905f0",
      "parents": [
        "81b16ba2f1cc93a1ee1dda48be2ea2d91a0cb72e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 01:56:38 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 01:56:38 2011 -0700"
      },
      "message": "packet: Add \u0027cpu\u0027 fanout policy.\n\nUnfortunately we have to use a real modulus here as\nthe multiply trick won\u0027t work as effectively with cpu\nnumbers as it does with rxhash values.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7736d33f4262d437c51ed7a28114eacbfca236ff",
      "tree": "fdefc344c66940773982d23203a7fc07aa94e1ef",
      "parents": [
        "595fc71baa1e80420fe89a400ff2d9cc099d22fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 01:43:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add pre-defragmentation support for ipv4 fanouts.\n\nThe skb-\u003erxhash cannot be properly computed if the\npacket is a fragment.  To alleviate this, allow the\nAF_PACKET client to ask for defragmentation to be\ndone at demux time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc99f600698dcac69b8f56dda9a8a00d645c5ffc",
      "tree": "81599e4397761610d5020c03e2571eeceaa859b6",
      "parents": [
        "ce06b03e60fc19c680d1bf873e779bf11c2fc518"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 01:45:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add fanout support.\n\nFanouts allow packet capturing to be demuxed to a set of AF_PACKET\nsockets.  Two fanout policies are implemented:\n\n1) Hashing based upon skb-\u003erxhash\n\n2) Pure round-robin\n\nAn AF_PACKET socket must be fully bound before it tries to add itself\nto a fanout.  All AF_PACKET sockets trying to join the same fanout\nmust all have the same bind settings.\n\nFanouts are identified (within a network namespace) by a 16-bit ID.\nThe first socket to try to add itself to a fanout with a particular\nID, creates that fanout.  When the last socket leaves the fanout\n(which happens only when the socket is closed), that fanout is\ndestroyed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce06b03e60fc19c680d1bf873e779bf11c2fc518",
      "tree": "7028330a054a0d614a85c315de01a297f0daf4f0",
      "parents": [
        "f8bae99ee5030625a4e7f0d87784191882292f0e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 01:44:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add helpers to register/unregister -\u003eprot_hook\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "10a8d94a95742bb15b4e617ee9884bb4381362be",
      "tree": "768f2d92be0e12bca791bcb901ad4bdedc7d8a76",
      "parents": [
        "40d15cd06e87722b1cc27d56c8274617580f2c56"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Jun 10 00:56:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 11 15:57:47 2011 -0700"
      },
      "message": "virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID\n\nThere\u0027s no need for the guest to validate the checksum if it have been\nvalidated by host nics. So this patch introduces a new flag -\nVIRTIO_NET_HDR_F_DATA_VALID which is used to bypass the checksum\nexaming in guest. The backend (tap/macvtap) may set this flag when\nmet skbs with CHECKSUM_UNNECESSARY to save cpu utilization.\n\nNo feature negotiation is needed as old driver just ignore this flag.\n\nIperf shows 12%-30% performance improvement for UDP traffic. For TCP,\nwhen gro is on no difference as it produces skb with partial\nchecksum. But when gro is disabled, 20% or even higher improvement\ncould be measured by netperf.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fcb7bd322164c67926ffe272846d4860196dc6",
      "tree": "aa7727f84e4ce2a2b1cf758e03d176c62354f44b",
      "parents": [
        "79b3891587741dfac72cdfead1f2764b56a567b0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 06 22:42:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:42:06 2011 -0700"
      },
      "message": "af_packet: prevent information leak\n\nIn 2.6.27, commit 393e52e33c6c2 (packet: deliver VLAN TCI to userspace)\nadded a small information leak.\n\nAdd padding field and make sure its zeroed before copy to user.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "827d978037d7d0bf0860481948c6d26ead10042f",
      "tree": "ddd6f73b342116f330694528d993a2fa373b3b36",
      "parents": [
        "160ff18a07f3a505d452dcced8e45ecdd0a85506"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 07:18:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:16:28 2011 -0700"
      },
      "message": "af-packet: Use existing netdev reference for bound sockets.\n\nThis saves a network device lookup on each packet transmitted,\nfor sockets that are bound to a network device.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "160ff18a07f3a505d452dcced8e45ecdd0a85506",
      "tree": "68faa9997e62de66cfc0f06ed744737443345c7f",
      "parents": [
        "e990b37b906b6137d353ef2a918e15e5763d70ec"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 07:18:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:16:28 2011 -0700"
      },
      "message": "af-packet: Hold reference to bound network devices.\n\nOld code was probably safe, but with this change we\ncan actually use the netdev object, not just compare\nthe pointer values.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3bcc23e890a6d49d6763d9eb073d711de2e0469",
      "tree": "c4156e932f081dc14a514d5ab23cd43e590029cd",
      "parents": [
        "41be5a4a3668810bf3687a76c2b017bd437039e0"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 06:49:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:18:03 2011 -0700"
      },
      "message": "af-packet: Add flag to distinguish VID 0 from no-vlan.\n\nCurrently, user-space cannot determine if a 0 tcp_vlan_tci\nmeans there is no VLAN tag or the VLAN ID was zero.\n\nAdd flag to make this explicit.  User-space can check for\nTP_STATUS_VLAN_VALID || tp_vlan_tci \u003e 0, which will be backwards\ncompatible. Older could would have just checked for tp_vlan_tci,\nso it will work no worse than before.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a14842f5a3c0e88a1e59fac5c3025db39721f74",
      "tree": "4d0832c4c9ced2503e2d899eb56952f87511d4ab",
      "parents": [
        "b678027cb77b079bc8e5b94172995d173bdb494b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 20 09:27:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 23:05:08 2011 -0700"
      },
      "message": "net: filter: Just In Time compiler for x86-64\n\nIn order to speedup packet filtering, here is an implementation of a\nJIT compiler for x86_64\n\nIt is disabled by default, and must be enabled by the admin.\n\necho 1 \u003e/proc/sys/net/core/bpf_jit_enable\n\nIt uses module_alloc() and module_free() to get memory in the 2GB text\nkernel range since we call helpers functions from the generated code.\n\nEAX : BPF A accumulator\nEBX : BPF X accumulator\nRDI : pointer to skb   (first argument given to JIT function)\nRBP : frame pointer (even if CONFIG_FRAME_POINTER\u003dn)\nr9d : skb-\u003elen - skb-\u003edata_len (headlen)\nr8  : skb-\u003edata\n\nTo get a trace of generated code, use :\n\necho 2 \u003e/proc/sys/net/core/bpf_jit_enable\n\nExample of generated code :\n\n# tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24\n\nflen\u003d18 proglen\u003d147 pass\u003d3 image\u003dffffffffa00b5000\nJIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60\nJIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00\nJIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00\nJIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be\nJIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0\nJIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00\nJIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00\nJIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24\nJIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31\nJIT code: ffffffffa00b5090: c0 c9 c3\n\nBPF program is 144 bytes long, so native program is almost same size ;)\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2    jf 8\n(002) ld       [26]\n(003) and      #0xffffff00\n(004) jeq      #0xc0a81400      jt 16   jf 5\n(005) ld       [30]\n(006) and      #0xffffff00\n(007) jeq      #0xc0a81400      jt 16   jf 17\n(008) jeq      #0x806           jt 10   jf 9\n(009) jeq      #0x8035          jt 10   jf 17\n(010) ld       [28]\n(011) and      #0xffffff00\n(012) jeq      #0xc0a81400      jt 16   jf 13\n(013) ld       [38]\n(014) and      #0xffffff00\n(015) jeq      #0xc0a81400      jt 16   jf 17\n(016) ret      #65535\n(017) ret      #0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e143038f4dda10a51985b9a3f9fb07d73a5eadfa",
      "tree": "8c96993a468d762bfc4fe7bb299b424ffe02cdf0",
      "parents": [
        "4b66fef9b591b95f447aea12242a1133deb0bd22"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:13 2011 -0800"
      },
      "message": "af_packet: struct socket declared/assigned but unused\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57f89bfa21403d902ee176ef988136b75d9ab30b",
      "tree": "3ebee83312498997fdd4630acfe0cfccec84835c",
      "parents": [
        "ab889e6607f6e3d52a76c5a43c8c4ad1d354da36"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Feb 11 09:35:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 11 21:26:32 2011 -0800"
      },
      "message": "network: Allow af_packet to transmit +4 bytes for VLAN packets.\n\nThis allows user-space to send a \u00271500\u0027 MTU VLAN packet on a\n1500 MTU ethernet frame.  The extra 4 bytes of a VLAN header is\nnot usually charged against the MTU when other parts of the\nnetwork stack is transmitting vlans...\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "441c793a56502638d45d5da2195056d686147370",
      "tree": "df9860150ce675a2f05e657f2ccad572eced7a66",
      "parents": [
        "6997e618910b902081a5123f228aac620faa899b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Jan 13 22:19:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:20:04 2011 -0800"
      },
      "message": "net: cleanup unused macros in net directory\n\nClean up some unused macros in net/*.\n1. be left for code change. e.g. PGV_FROM_VMALLOC, PGV_FROM_VMALLOC, KMEM_SAFETYZONE.\n2. never be used since introduced to kernel.\n   e.g. P9_RDMA_MAX_SGE, UTIL_CTRL_PKT_SIZE.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80f8f1027b99660897bdeaeae73002185d829906",
      "tree": "b8aafe71974b2b7295f20eeb1fad6191fadd8551",
      "parents": [
        "d6ae3bae3d1bf7a8bf367e29f2cac0788dcd0db5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 18 07:46:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 21:33:05 2011 -0800"
      },
      "message": "net: filter: dont block softirqs in sk_run_filter()\n\nPacket filter (BPF) doesnt need to disable softirqs, being fully\nre-entrant and lock-less.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55508d601dab7df5cbcc7a63f4be8620eface204",
      "tree": "346f30fae9c726d2e73aba2e37ce1e4a31dcea8c",
      "parents": [
        "04fb451eff978ca059399eab83d5594b073caf6f"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Use skb_checksum_start_offset()\n\nReplace skb-\u003ecsum_start - skb_headroom(skb) with skb_checksum_start_offset().\n\nNote for usb/smsc95xx: skb-\u003edata - skb-\u003ehead \u003d\u003d skb_headroom(skb).\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c053fd96d0d3d18c721f880b8fdd0b925894d9c4",
      "tree": "082814cf599326b07146135823a4c9cae40059d9",
      "parents": [
        "ed4ba4b5b96742d29225308ccccbdb1810b63064"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "message": "af_packet: use swap() instead of the open coded macro XC()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920b8d913bd3d963d5c88bca160a272b71e0c95a",
      "tree": "84382c9bc25de8649d2d55120ec9da5194c88b4a",
      "parents": [
        "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 05:05:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: fix freeing pg_vec twice on error path\n\nIt is introduced in:\n        commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n        Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n        Date:   Tue Nov 16 10:26:47 2010 -0800\n\n        packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051",
      "tree": "f922f2991f04ffd29d76e4fbaf07ec299efbdd1c",
      "parents": [
        "15c2d75f49189e1769c5e8f5f099d03d055c4910"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 04:26:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: eliminate pgv_to_page on some arches\n\nSome arches don\u0027t need flush_dcache_page(), and don\u0027t implement it, so\nwe can eliminate pgv_to_page() calls on those arches.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62ab0812137ec4f9884dd7de346238841ac03283",
      "tree": "da0807aee4597522b0ecabc51d2d9fc300895d98",
      "parents": [
        "38f49e8801565674c424896c3dcb4228410b43a8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Dec 06 20:50:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:30:34 2010 -0800"
      },
      "message": "filter: constify sk_run_filter()\n\nsk_run_filter() doesnt write on skb, change its prototype to reflect\nthis.\n\nFix two af_packet comments.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c56b4d90123b77e29a91b9b96bb791f929139d8e",
      "tree": "1bf543b3c47c20f26eb4378ceb9fc3a1edd0f3f4",
      "parents": [
        "0af55bb58f8fa7865004ac48d16affe125ac1b7f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:07 2010 -0800"
      },
      "message": "af_packet: remove pgv.flags\n\nAs we can check if an address is vmalloc address with is_vmalloc_addr(),\nwe remove pgv.flags. Then we may get more pg_vecs.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0af55bb58f8fa7865004ac48d16affe125ac1b7f",
      "tree": "b91fb024121975b3897d2132da744abe288be378",
      "parents": [
        "f7fce74e387e0563e5a165704664aa5ee8b2f48b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:06 2010 -0800"
      },
      "message": "af_packet: use vmalloc_to_page() instead for the addresss returned by vmalloc()\n\nThe following commit causes the pgv-\u003ebuffer may point to the memory\nreturned by vmalloc(). And we can\u0027t use virt_to_page() for the vmalloc\naddress.\n\nThis patch introduces a new inline function pgv_to_page(), which calls\nvmalloc_to_page() for the vmalloc address, and virt_to_page() for the\n__get_free_pages address.\n\nWe used to increase page pointer to get the next page at the next page\naddress, after Neil\u0027s patch, it is wrong, as the physical address may\nbe not continuous. This patch also fixes this issue.\n\n    commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n    Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n    Date:   Tue Nov 16 10:26:47 2010 -0800\n\n    packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbce5a59e4e0e6e1dbc85492caaf310ff6611309",
      "tree": "ba64b369e60484e681e57ee63715b3d22cc7db16",
      "parents": [
        "9a2d09cf61c9d9f1b31998bec5363a583e4564a4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Nov 20 07:31:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 21 10:01:42 2010 -0800"
      },
      "message": "packet: use vzalloc()\n\nalloc_one_pg_vec_page() is supposed to return zeroed memory, so use\nvzalloc() instead of vmalloc()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93aaae2e01e57483256b7da05c9a7ebd65ad4686",
      "tree": "b3e4117bbf39814ef58ce1d012d977d2d5393c38",
      "parents": [
        "0a80410dc53cf68e56456bef1ca66949b87412f9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "message": "filter: optimize sk_run_filter\n\nRemove pc variable to avoid arithmetic to compute fentry at each filter\ninstruction. Jumps directly manipulate fentry pointer.\n\nAs the last instruction of filter[] is guaranteed to be a RETURN, and\nall jumps are before the last instruction, we dont need to check filter\nbounds (number of instructions in filter array) at each iteration, so we\nremove it from sk_run_filter() params.\n\nOn x86_32 remove f_k var introduced in commit 57fe93b374a6b871\n(filter: make sure filters dont read uninitialized memory)\n\nNote : We could use a CONFIG_ARCH_HAS_{FEW|MANY}_REGISTERS in order to\navoid too many ifdefs in this code.\n\nThis helps compiler to use cpu registers to hold fentry and A\naccumulator.\n\nOn x86_32, this saves 401 bytes, and more important, sk_run_filter()\nruns much faster because less register pressure (One less conditional\nbranch per BPF instruction)\n\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   2948       0       0    2948     b84 net/core/filter.o\n   3349       0       0    3349     d15 net/core/filter_pre.o\n\non x86_64 :\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   5173       0       0    5173    1435 net/core/filter.o\n   5224       0       0    5224    1468 net/core/filter_pre.o\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3125c755445664f00ad036e4fc2cd32fd52877",
      "tree": "b26db97e3239324ac16b13e299e43b7bf2b9560c",
      "parents": [
        "020f01ebd04f3429c32586d90598c9f59e54ca7d"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "message": "packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\nMIME-Version: 1.0\nContent-Type: text/plain; charset\u003dUTF-8\nContent-Transfer-Encoding: 8bit\n\nVersion 4 of this patch.\n\nChange notes:\n1) Removed extra memset.  Didn\u0027t think kcalloc added a GFP_ZERO the way kzalloc did :)\n\nSummary:\nIt was shown to me recently that systems under high load were driven very deep\ninto swap when tcpdump was run.  The reason this happened was because the\nAF_PACKET protocol has a SET_RINGBUFFER socket option that allows the user space\napplication to specify how many entries an AF_PACKET socket will have and how\nlarge each entry will be.  It seems the default setting for tcpdump is to set\nthe ring buffer to 32 entries of 64 Kb each, which implies 32 order 5\nallocation.  Thats difficult under good circumstances, and horrid under memory\npressure.\n\nI thought it would be good to make that a bit more usable.  I was going to do a\nsimple conversion of the ring buffer from contigous pages to iovecs, but\nunfortunately, the metadata which AF_PACKET places in these buffers can easily\nspan a page boundary, and given that these buffers get mapped into user space,\nand the data layout doesn\u0027t easily allow for a change to padding between frames\nto avoid that, a simple iovec change is just going to break user space ABI\nconsistency.\n\nSo I\u0027ve done this, I\u0027ve added a three tiered mechanism to the af_packet set_ring\nsocket option.  It attempts to allocate memory in the following order:\n\n1) Using __get_free_pages with GFP_NORETRY set, so as to fail quickly without\ndigging into swap\n\n2) Using vmalloc\n\n3) Using __get_free_pages with GFP_NORETRY clear, causing us to try as hard as\nneeded to get the memory\n\nThe effect is that we don\u0027t disturb the system as much when we\u0027re under load,\nwhile still being able to conduct tcpdumps effectively.\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nReported-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f18b7176e2e41fada24584ce3c80e9abfaca52b",
      "tree": "4f5cc10413729e16e8965c81afba3ca953ff3642",
      "parents": [
        "7c13a0d9a1ac6875f6380763b947f4a5a016605f"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "mk@lab.zgora.pl",
        "time": "Mon Nov 08 11:58:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 11:06:46 2010 -0800"
      },
      "message": "net: Fix header size check for GSO case in recvmsg (af_packet)\n\nParameter \u0027len\u0027 is size_t type so it will never get negative.\n\nSigned-off-by: Mariusz Kozlowski \u003cmk@lab.zgora.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67286640f638f5ad41a946b9a3dc75327950248f",
      "tree": "34844d5e00a54f78b384f75f6cded995423d7fc6",
      "parents": [
        "57fe93b374a6b8711995c2d466c502af9f3a08bb"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "message": "net: packet: fix information leak to userland\n\npacket_getname_spkt() doesn\u0027t initialize all members of sa_data field of\nsockaddr struct if strlen(dev-\u003ename) \u003c 13.  This structure is then copied\nto userland.  It leads to leaking of contents of kernel stack memory.\nWe have to fully fill sa_data with strncpy() instead of strlcpy().\n\nThe same with packet_getname(): it doesn\u0027t initialize sll_pkttype field of\nsockaddr_ll.  Set it to zero.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\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": "614f60fa9d73a9e8fdff3df83381907fea7c5649",
      "tree": "a1b7704393b7042242470db09d59944bca67ec51",
      "parents": [
        "7dad171c39dc83bd267c4f98d8b02d38e0d65596"
      ],
      "author": {
        "name": "Scott McMillan",
        "email": "scott.a.mcmillan@intel.com",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "message": "packet_mmap: expose hw packet timestamps to network packet capture utilities\n\nThis patch adds a setting, PACKET_TIMESTAMP, to specify the packet\ntimestamp source that is exported to capture utilities like tcpdump by\npacket_mmap.\n\nPACKET_TIMESTAMP accepts the same integer bit field as\nSO_TIMESTAMPING.  However, only the SOF_TIMESTAMPING_SYS_HARDWARE and\nSOF_TIMESTAMPING_RAW_HARDWARE values are currently recognized by\nPACKET_TIMESTAMP.  SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over\nSOF_TIMESTAMPING_RAW_HARDWARE if both bits are set.\n\nIf PACKET_TIMESTAMP is not set, a software timestamp generated inside\nthe networking stack is used (the behavior before this setting was\nadded).\n\nSigned-off-by: Scott McMillan \u003cscott.a.mcmillan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 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/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "1c4f0197323254e463b642abf2c8361e2a924859",
      "tree": "5dc70f6fc0baabe81f50fec965dd0d66dd772a21",
      "parents": [
        "31f634a63de7068c6a5dcb0d7b09b24b61a5cf88"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Apr 14 23:11:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 15:41:04 2010 -0700"
      },
      "message": "packet : remove init_net restriction\n\nThe af_packet protocol is used by Perl to do ioctls as reported by\nStephane Riviere:\n\n\"Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC\naddresses of the network interface.\"\n\nBut in a new network namespace these ioctl fail because it is disabled for\na namespace different from the init_net_ns.\n\nThese two lines should not be there as af_inet and af_packet are\nnamespace aware since a long time now. I suppose we forget to remove these\nlines because we sent the af_packet first, before af_inet was supported.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nReported-by: Stephane Riviere \u003cstephane.riviere@regis-dgac.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed85b565b825566da34e55eee9ad150ed93fdda0",
      "tree": "77b9bad66d0cd6a1b7c657995100d555b8ecb9eb",
      "parents": [
        "7d53b80980a598836c56517290b29aa7b0766ef8"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Apr 07 22:41:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:30:48 2010 -0700"
      },
      "message": "packet: support for TX time stamps on RAW sockets\n\nEnable the SO_TIMESTAMPING socket infrastructure for raw packet sockets.\nWe introduce PACKET_TX_TIMESTAMP for the control message cmsg_type.\n\nSimilar support for UDP and CAN sockets was added in commit\n51f31cabe3ce5345b51e4a4f82138b38c4d5dc91\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\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": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a748ee2426817a95b1f03012d8f339c45c722ae1",
      "tree": "37cb9f8836f05bd49b86eb52ddeff3e98185cc58",
      "parents": [
        "9fc4178b149ae8b0a2fbf83f2f4df3cf8789177b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:11 2010 -0700"
      },
      "message": "net: move address list functions to a separate file\n\n+little renaming of unicast functions to be smooth with multicast ones\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.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": "1162563f82b434e3099c9e6c1bbdba846d792f0d",
      "tree": "3903e4265740f2b2049615d7178aa434252bf5f3",
      "parents": [
        "9fe969345b10931319b3f1e7034fbdeb786de234"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 02 20:40:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 03 01:04:38 2010 -0800"
      },
      "message": "af_packet: move strict addr_len check right before dev_[mc/unicast]_[add/del]\n\nMy previous patch 914c8ad2d18b62ad1420f518c0cab0b0b90ab308 incorrectly changed\nthe length check in packet_mc_add to be more strict. The problem is that\nuserspace is not filling this field (and it stays zeroed) in case of setting\nPACKET_MR_PROMISC or PACKET_MR_ALLMULTI. So move the strict check to the point\nin path where the addr_len must be set correctly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47871889c601d8199c51a4086f77eebd77c29b0b",
      "tree": "40cdcac3bff0ee40cc33dcca61d0577cdf965f77",
      "parents": [
        "c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3",
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/firmware/iscsi_ibft.c\n"
    },
    {
      "commit": "914c8ad2d18b62ad1420f518c0cab0b0b90ab308",
      "tree": "1e2d35a5dd2c1dcba1cc02f9c022ce923dc12d9f",
      "parents": [
        "2a3f279034b46204b50408aa2c25ee0882120147"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Feb 24 23:57:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 26 04:18:34 2010 -0800"
      },
      "message": "af_packet: do not accept mc address smaller then dev-\u003eaddr_len in packet_mc_add()\n\nThere is no point of accepting an address of smaller length than dev-\u003eaddr_len\nhere. Therefore change this for stonger check.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a898def29e4119bc01ebe7ca97423181f4c0ea2d",
      "tree": "e6f89d4f4a91fd24507ad600ebb9ad620ec9d9a8",
      "parents": [
        "3120438ad68601f341e61e7cb1323b0e1a6ca367"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:49 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:03 2010 +0100"
      },
      "message": "net: Add checking to rcu_dereference() primitives\n\nUpdate rcu_dereference() primitives to use new lockdep-based\nchecking. The rcu_dereference() in __in6_dev_get() may be\nprotected either by rcu_read_lock() or RTNL, per Eric Dumazet.\nThe rcu_dereference() in __sk_free() is protected by the fact\nthat it is never reached if an update could change it.  Check\nfor this by using rcu_dereference_check() to verify that the\nstruct sock\u0027s -\u003esk_wmem_alloc counter is zero.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-5-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "808f5114a9206fee855117d416440e1071ab375c",
      "tree": "cec3f04220909b77c0880029b63862553ad5161c",
      "parents": [
        "1cc523271ef0b6305c565a143e3d48f6fff826dd"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 22 07:57:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 22 15:45:56 2010 -0800"
      },
      "message": "packet: convert socket list to RCU (v3)\n\nConvert AF_PACKET to use RCU, eliminating one more reader/writer lock.\n\nThere is no need for a real sk_del_node_init_rcu(), because sk_del_node_init\nis doing the equivalent thing to hlst_del_init_rcu already; but added\nsome comments to try and make that obvious.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7ceabd9b528417973619c5b655bc5b21857ac36",
      "tree": "c253a00794dc2078f03eb2690c0a99e020596395",
      "parents": [
        "b999748acce739675a5e9420f21e54b8cbad9d81"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Feb 08 23:19:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 10 11:12:08 2010 -0800"
      },
      "message": "net: packet: use seq_hlist_foo() helpers\n\nSimplify seq_file code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "889b8f964f2f226b7cd5a0a515109e3d8d9d1613",
      "tree": "c576152db1b3ea0b68206393735aec566e9aadf3",
      "parents": [
        "7aeef972cce30b0ab04047e07918b04d867e7a29"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "message": "packet: Kill CONFIG_PACKET_MMAP.\n\nEarly on this was an experimental facility that few\npeople other than Alexey Kuznetsov played with.\n\nNow it\u0027s a pretty fundamental thing and as people add\nmore features to AF_PACKET sockets this config options\ncreates ifdef spaghetti.\n\nSo kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3",
      "tree": "63d19326b491b507f246ea4c3ef410d62602e794",
      "parents": [
        "746079dabcf74be2a16dc983ac597156e3d2e051"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "message": "packet: Add GSO/csum offload support.\n\nThis patch adds GSO/checksum offload to af_packet sockets using\nvirtio_net_hdr. Based on Rusty\u0027s patch to add this support to tun.\nIt allows GSO/checksum offload to be enabled when using raw socket\nbackend with virtio_net.\nAdds PACKET_VNET_HDR socket option to prepend virtio_net_hdr in the\nreceive path and process/skip virtio_net_hdr in the send path. This\noption is only allowed with SOCK_RAW sockets attached to ethernet\ntype devices.\n\nv2 updates\n----------\nMichael\u0027s Comments\n- Perform length check in packet_snd() when GSO is off even when\n  vnet_hdr is present.\n- Check for SKB_GSO_FCOE type and return -EINVAL\n- don\u0027t allow tx/rx ring when vnet_hdr is enabled.\nHerbert\u0027s Comments\n- Removed ethernet specific code.\n- protocol value is assumed to be passed in by the caller.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb70df13ee52dbc0f2c0ffd8ed34a8cd27440baf",
      "tree": "9026781435cdaf46b8414f4596903dd7d5f2e5ae",
      "parents": [
        "fa15e99b6bb44aa86b241a43ca8c509e91f80153"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Jan 10 22:04:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 15:39:42 2010 -0800"
      },
      "message": "af_packet: Don\u0027t use skb after dev_queue_xmit()\n\ntpacket_snd() can change and kfree an skb after dev_queue_xmit(),\nwhich is illegal.\n\nWith debugging by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\nReported-by: Michael Breuer \u003cmbreuer@majjas.com\u003e\nWith help from: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Michael Breuer\u003cmbreuer@majjas.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a35ca80c1db7279c3c0655063f6d3490e399b17",
      "tree": "3ff2f23730c2bc6ea8af20232d02dad65ae63f0a",
      "parents": [
        "81e839efc22361e3fa7ee36f99fd57c57d0d1871"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 15 05:47:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 21:12:21 2009 -0800"
      },
      "message": "packet: dont call sleeping functions while holding rcu_read_lock()\n\ncommit 654d1f8a019dfa06d (packet: less dev_put() calls)\nintroduced a problem, calling potentially sleeping functions from a\nrcu_read_lock() protected section.\n\nFix this by releasing lock before the sock_wmalloc()/memcpy_fromiovec() calls.\n\nAfter skb allocation and copy from user space, we redo device\nlookup and appropriate tests.\n\nReported-and-tested-by: Frederic Weisbecker \u003cfweisbec@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": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13cfa97bef0f1172879f98307ac716acf3e9cea9",
      "tree": "012d5da286e39fbe94c7b100be9153a49191bd7e",
      "parents": [
        "37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sun Nov 08 05:51:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:41 2009 -0800"
      },
      "message": "net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guard\n\nUse guard DECLARE_SOCKADDR in a few more places which allow\nus to catch if the structure copied back is too big.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "654d1f8a019dfa06df8355248e1ce222f303b88d",
      "tree": "a3cc01a84509099099d88cc17bf5c0850355525a",
      "parents": [
        "1178f66eaea968d093cafd37c226ebeaa70d56cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 02 10:43:32 2009 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 02 03:41:29 2009 -0800"
      },
      "message": "packet: less dev_put() calls\n\n- packet_sendmsg_spkt() can use dev_get_by_name_rcu() to avoid touching device refcount.\n\n- packet_getname_spkt() \u0026 packet_getname() can use dev_get_by_index_rcu() to\n  avoid touching device refcount too.\n\ntpacket_snd() \u0026 packet_snd() can not use RCU yet because they can sleep when\nallocating skb.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01",
      "tree": "2e336be8a4bd2e59bcd4b69b00feb77c6672a9cb",
      "parents": [
        "38bfd8f5bec496e8e0db8849e01c99a33479418a",
        "b5dd884e682cae6b8c037f9d11f3b623b4cf2011"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "b5dd884e682cae6b8c037f9d11f3b623b4cf2011",
      "tree": "224328f65e56b5d4b33078f09b397ec9e4b6ff46",
      "parents": [
        "06b71b657b03c33b8d919da29f33d326f1471b39"
      ],
      "author": {
        "name": "Gabor Gombas",
        "email": "gombasg@sztaki.hu",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "message": "net: Fix \u0027Re: PACKET_TX_RING: packet size is too long\u0027\n\nCurrently PACKET_TX_RING forces certain amount of every frame to remain\nunused. This probably originates from an early version of the\nPACKET_TX_RING patch that in fact used the extra space when the (since\nremoved) CONFIG_PACKET_MMAP_ZERO_COPY option was enabled. The current\ncode does not make any use of this extra space.\n\nThis patch removes the extra space reservation and lets userspace make\nuse of the full frame size.\n\nSigned-off-by: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05423b241311c9380b7280179295bac7794281b6",
      "tree": "8a84aca48cbc30b142bdf143dbf11fdbab9cad67",
      "parents": [
        "9dbb58d867e90d2528752339751216c955523e62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 26 18:40:35 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:02:33 2009 -0700"
      },
      "message": "vlan: allow null VLAN ID to be used\n\nWe currently use a 16 bit field (vlan_tci) to store VLAN ID/PRIO on a skb.\n\nNull value is used as a special value, meaning vlan tagging not enabled.\nThis forbids use of null vlan ID.\n\nAs pointed by David, some drivers use the 3 high order bits (PRIO)\n\nAs VLAN ID is 12 bits, we can use the remaining bit (CFI) as a flag, and\nallow null VLAN ID.\n\nIn case future code really wants to use VLAN_CFI_MASK, we\u0027ll have to use\na bit outside of vlan_tci.\n\n#define VLAN_PRIO_MASK         0xe000 /* Priority Code Point */\n#define VLAN_PRIO_SHIFT        13\n#define VLAN_CFI_MASK          0x1000 /* Canonical Format Indicator */\n#define VLAN_TAG_PRESENT       VLAN_CFI_MASK\n#define VLAN_VID_MASK          0x0fff /* VLAN Identifier */\n\nReported-by: Gertjan Hofman \u003cgertjan_hofman@yahoo.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad959e76f0fa94d299a8c25cb45de4d1b845e9ce",
      "tree": "fb073c78ce30a020d5b0bb75ac459af79011e991",
      "parents": [
        "94b059520d6c0cea852dc9a3e9033c6f123df7c1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 16 06:38:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:02:06 2009 -0700"
      },
      "message": "af_packet: mc_drop/flush_mclist changes\n\nWe hold RTNL, we can use __dev_get_by_index() instead of dev_get_by_index()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94b059520d6c0cea852dc9a3e9033c6f123df7c1",
      "tree": "591e57d7d41edf0469695a35c36cfeb4d2b265b3",
      "parents": [
        "7b6856a0296a8f187bb88ba31fa83a08abba7966"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 16 04:02:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:02:06 2009 -0700"
      },
      "message": "af_packet: Avoid cache line dirtying\n\nWhile doing multiple captures, I found af_packet was dirtying cache line\ncontaining its prot_hook.\n\nThis slow down machines where several cpus are necessary to handle capture\ntraffic, as each prot_hook is traversed for each packet coming in or out\nthe host.\n\nThis patches moves \"struct packet_type prot_hook\" to the end of\npacket_sock, and uses a ____cacheline_aligned_in_smp to make sure\nthis remains shared by all cpus.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5e63bded6e819ca77ee1a1d97c783a31f6caf30",
      "tree": "bc8d38eb84b48476748e80e19cbfed102fc41953",
      "parents": [
        "91b2a3f9bb0fa8d64b365a10b0624b0341e1a338"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 03:00:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 03:00:31 2009 -0700"
      },
      "message": "Revert \"af_packet: add interframe drop cmsg (v6)\"\n\nThis reverts commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab.\n\nNeil is reimplementing this generically, outside of AF_PACKET.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d37a186cedc51502dbee71c16ae0fbd9114d62c",
      "tree": "57fb5fcd52db657066f389f8b0299c2af143bcd0",
      "parents": [
        "fa857afcf77da669eb6b7031ec07ad14b912c307"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 19:14:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:07:38 2009 -0700"
      },
      "message": "Use sk_mark for routing lookup in more places\n\nHere is a followup on this area, thanks.\n\n[RFC] af_packet: fill skb-\u003emark at xmit\n\nskb-\u003emark may be used by classifiers, so fill it in case user\nset a SO_MARK option on socket.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "977750076d98c7ff6cbda51858bb5a5894a9d9ab",
      "tree": "71b2fca8c6739e7d177996354b99504702a1b946",
      "parents": [
        "69ef9694099802f7feeb23182dfb869e7c5f76f0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Oct 02 06:56:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:21:55 2009 -0700"
      },
      "message": "af_packet: add interframe drop cmsg (v6)\n\nAdd Ancilliary data to better represent loss information\n\nI\u0027ve had a few requests recently to provide more detail regarding frame loss\nduring an AF_PACKET packet capture session.  Specifically the requestors want to\nsee where in a packet sequence frames were lost, i.e. they want to see that 40\nframes were lost between frames 302 and 303 in a packet capture file.  In order\nto do this we need:\n\n1) The kernel to export this data to user space\n2) The applications to make use of it\n\nThis patch addresses item (1).  It does this by doing the following:\n\nA) Anytime we drop a frame for which we would increment po-\u003estats.tp_drops, we\nalso no increment a stats called po-\u003estats.tp_gap.\n\nB) Every time we successfully enqueue a frame to sk_receive_queue, we record the\nvalue of po-\u003estats.tp_gap in skb-\u003emark.  skb-\u003ecb would nominally be the place to\nrecord this, but since all the space there is used up, we\u0027re overloading\nskb-\u003emark.  Its safe to do since any enqueued packet is guaranteed to be\nunshared at this point, and skb-\u003emark isn\u0027t used for anything else in the rx\npath to the application.  After we record tp_gap in the skb, we zero\npo-\u003estats.tp_gap.  This allows us to keep a counter of the number of frames lost\nbetween any two enqueued packets\n\nC) When the application goes to dequeue a frame from the packet socket, we look\nat skb-\u003emark for that frame.  If it is non-zero, we add a cmsg chunk to the\nmsghdr of level SOL_PACKET and type PACKET_GAPDATA.  Its a 32 bit integer that\nrepresents the number of frames lost between this packet and the last previous\nframe received.\n\nNote there is a chance that if there is frame loss after a receive, and then the\nsocket is closed, some gap data might be lost.  This is covered by the use of\nthe PACKET_AUXDATA socket option, which gives total loss data.  With a bit of\nmath, the final gap can be determined that way.\n\nI\u0027ve tested this patch myself, and it works well.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\n include/linux/if_packet.h |    2 ++\n net/packet/af_packet.c    |   33 +++++++++++++++++++++++++++++++++\n 2 files changed, 35 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "817b33d38f81c8736d39283c35c886ae4668f1af",
      "tree": "64f60a88baf8b48c350d680f8b69fa6c759c3a82",
      "parents": [
        "84d88d5d4efc37dfb8a93a4a58d8a227ee86ffa4",
        "8c185ab6185bf5e67766edb000ce428269364c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ax25: Fix possible oops in ax25_make_new\n  net: restore tx timestamping for accelerated vlans\n  Phonet: fix mutex imbalance\n  sit: fix off-by-one in ipip6_tunnel_get_prl\n  net: Fix sock_wfree() race\n  net: Make setsockopt() optlen be unsigned.\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0",
      "tree": "3273e0f2f7081dd08092ca0e9100e6a8ee6fe94d",
      "parents": [
        "c9a73cdb772a487b2c59c2711ad8b10d58cbaca8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 21 21:57:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 18:01:10 2009 -0700"
      },
      "message": "af_packet: style cleanups\n\nSome style cleanups to match current code practices.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@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": "ccffad25b5136958d4769ed6de5e87992dd9c65c",
      "tree": "cd5f36fe67f4deeae23d76436f7a032a201cba44",
      "parents": [
        "ae63e808f508c38fe65e23a1480c85d5bd00ecbd"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri May 22 23:22:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 29 22:12:32 2009 -0700"
      },
      "message": "net: convert unicast addr list\n\nThis patch converts unicast address list to standard list_head using\npreviously introduced struct netdev_hw_addr. It also relaxes the\nlocking. Original spinlock (still used for multicast addresses) is not\nneeded and is no longer used for a protection of this list. All\nreading and writing takes place under rtnl (with no changes).\n\nI also removed a possibility to specify the length of the address\nwhile adding or deleting unicast address. It\u0027s always dev-\u003eaddr_len.\n\nThe convertion touched especially e1000 and ixgbe codes when the\nchange is not so trivial.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c               |   13 +--\n drivers/net/e1000/e1000_main.c   |   24 +++--\n drivers/net/ixgbe/ixgbe_common.c |   14 ++--\n drivers/net/ixgbe/ixgbe_common.h |    4 +-\n drivers/net/ixgbe/ixgbe_main.c   |    6 +-\n drivers/net/ixgbe/ixgbe_type.h   |    4 +-\n drivers/net/macvlan.c            |   11 +-\n drivers/net/mv643xx_eth.c        |   11 +-\n drivers/net/niu.c                |    7 +-\n drivers/net/virtio_net.c         |    7 +-\n drivers/s390/net/qeth_l2_main.c  |    6 +-\n drivers/scsi/fcoe/fcoe.c         |   16 ++--\n include/linux/netdevice.h        |   18 ++--\n net/8021q/vlan.c                 |    4 +-\n net/8021q/vlan_dev.c             |   10 +-\n net/core/dev.c                   |  195 +++++++++++++++++++++++++++-----------\n net/dsa/slave.c                  |   10 +-\n net/packet/af_packet.c           |    4 +-\n 18 files changed, 227 insertions(+), 137 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d95ed9275edcb8995bda31005bb3f55e087626d7",
      "tree": "bbaefa252b6e8f7386073ed27fb9c9f3a64cb55f",
      "parents": [
        "ca0f31125c5cf0d48f47c2e1a3785a08876a7e87"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 19 18:27:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 21 15:13:39 2009 -0700"
      },
      "message": "af_packet: Teach to listen for multiple unicast addresses.\n\nThe the PACKET_ADD_MEMBERSHIP and the PACKET_DROP_MEMBERSHIP setsockopt\ncalls for af_packet already has all of the infrastructure needed to subscribe\nto multiple mac addresses.  All that is missing is a flag to say that\nthe address we want to listen on is a unicast address.\n\nSo introduce PACKET_MR_UNICAST and wire it up to dev_unicast_add and\ndev_unicast_delete.\n\nAdditionally I noticed that errors from dev_mc_add were not propagated\nfrom packet_dev_mc so fix that.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1",
      "tree": "24920f17ea435627978af9d5fe0e99763bf6a533",
      "parents": [
        "f67f34084914144de55c785163d047d5d8dddd2d"
      ],
      "author": {
        "name": "Johann Baudy",
        "email": "johann.baudy@gnu-log.net",
        "time": "Mon May 18 22:11:22 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 22:11:22 2009 -0700"
      },
      "message": "net: TX_RING and packet mmap\n\nNew packet socket feature that makes packet socket more efficient for\ntransmission.\n\n- It reduces number of system call through a PACKET_TX_RING mechanism,\n  based on PACKET_RX_RING (Circular buffer allocated in kernel space\n  which is mmapped from user space).\n\n- It minimizes CPU copy using fragmented SKB (almost zero copy).\n\nSigned-off-by: Johann Baudy \u003cjohann.baudy@gnu-log.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "719bfeaae8104fca4ca5d47c02592b08682f14fa",
      "tree": "a2747c1ea261cd20267b62d2c3b7250ed59c04a5",
      "parents": [
        "cbea270714faae389c48c2901ee7988ecd62f664"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Apr 15 03:39:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 15 03:39:52 2009 -0700"
      },
      "message": "packet: avoid warnings when high-order page allocation fails\n\nLatest tcpdump/libpcap triggers annoying messages because of high order page\nallocation failures (when lowmem exhausted or fragmented)\n\nThese allocation errors are correctly handled so could be silent.\n\n[22660.208901] tcpdump: page allocation failure. order:5, mode:0xc0d0\n[22660.208921] Pid: 13866, comm: tcpdump Not tainted 2.6.30-rc2 #170\n[22660.208936] Call Trace:\n[22660.208950]  [\u003cc04e2b46\u003e] ? printk+0x18/0x1a\n[22660.208965]  [\u003cc02760f7\u003e] __alloc_pages_internal+0x357/0x460\n[22660.208980]  [\u003cc0276251\u003e] __get_free_pages+0x21/0x40\n[22660.208995]  [\u003cc04cc835\u003e] packet_set_ring+0x105/0x3d0\n[22660.209009]  [\u003cc04ccd1d\u003e] packet_setsockopt+0x21d/0x4d0\n[22660.209025]  [\u003cc0270400\u003e] ? filemap_fault+0x0/0x450\n[22660.209040]  [\u003cc0449e34\u003e] sys_setsockopt+0x54/0xa0\n[22660.209053]  [\u003cc044b97f\u003e] sys_socketcall+0xef/0x270\n[22660.209067]  [\u003cc0202e34\u003e] sysenter_do_call+0x12/0x26\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431",
      "tree": "258874b824bf241698d943daa9298bb18955e451",
      "parents": [
        "4893d39e865b2897bf9fcd329697d37032d853a1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:49:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:28 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/skbuff.h |    4 +++-\n net/core/datagram.c    |    2 +-\n net/core/skbuff.c      |   22 ++++++++++++++++++++++\n net/ipv4/arp.c         |    2 +-\n net/ipv4/udp.c         |    2 +-\n net/packet/af_packet.c |    2 +-\n 6 files changed, 29 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acb5d75b9bcff73d32d3471a9b3e9a4189223e48",
      "tree": "257fdec1475f66710f53a2f95786ae9dfabdc60e",
      "parents": [
        "ce030edfb4ba6734248b8d9f98d0a6f1dcd142e7"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:36:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:35 2009 -0800"
      },
      "message": "packet: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9e6934502e46c363100245f137ddf0f4b1cb574",
      "tree": "c7de02a8257cccc92dc1eef77dee19c8753a0b6e",
      "parents": [
        "5d0932a5dd00d83df5d1e15eeffb6edf015a8579"
      ],
      "author": {
        "name": "Sebastiano Di Paola",
        "email": "sebastiano.dipaola@gmail.com",
        "time": "Fri Jan 30 23:37:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 01:53:29 2009 -0800"
      },
      "message": "net: packet socket packet_lookup_frame fix\n\npacket_lookup_frames() fails to get user frame if current frame header\nstatus contains extra flags.\nThis is due to the wrong assumption on the operators precedence during\nframe status tests.\nFixed by forcing the right operators precedence order with explicit brackets.\n\nSigned-off-by: Paolo Abeni \u003cpaolo.abeni@gmail.com\u003e\nSigned-off-by: Sebastiano Di Paola \u003csebastiano.dipaola@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "905db44087855e3c1709f538ecdc22fd149cadd8",
      "tree": "645708af472fd26bb73b5cd6abe10640322a3b93",
      "parents": [
        "1974cc205e63cec4a17a6b3fca31fa4240ded77e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 30 14:12:06 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 30 14:13:49 2009 -0800"
      },
      "message": "packet: Avoid lock_sock in mmap handler\n\nAs the mmap handler gets called under mmap_sem, and we may grab\nmmap_sem elsewhere under the socket lock to access user data, we\nshould avoid grabbing the socket lock in the mmap handler.\n\nSince the only thing we care about in the mmap handler is for\npg_vec* to be invariant, i.e., to exclude packet_set_ring, we\ncan achieve this by simply using a new mutex.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Martin MOKREJŠ \u003cmmokrejs@ribosome.natur.cuni.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920de804bca61f88643bc9171bcd06f1a56c6258",
      "tree": "fb4c90b4b167a4b7518ea888e99bfd18a7d301fb",
      "parents": [
        "1f87e235e6fb92c2968b52b9191de04f1aff8e77"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites,\nor moving sock_prot_inuse_add() call inside an existing BH disabled\nsection.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3680453c8be54fff0d23fdf33e8961a48e1f2cd6",
      "tree": "a51fe155df61483cb64255ed3cf58bb52b1daaff",
      "parents": [
        "198d6ba4d7f48c94f990f4604f0b3d73925e0ded"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "message": "net: af_packet should update its inuse counter\n\nThis patch is a preparation to namespace conversion of /proc/net/protocols\n\nIn order to have relevant information for PACKET protocols, we should use\nsock_prot_inuse_add() to update a (percpu and pernamespace) counter of\ninuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "721499e8931c5732202481ae24f2dfbf9910f129"
}
