)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8913336a7e8d56e984109a3137d6c0e3362596a4",
      "tree": "16e2ad819112b59a759daff79651955e9bfab1dd",
      "parents": [
        "3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "message": "packet: add PACKET_RESERVE sockopt\n\nAdd new sockopt to reserve some headroom in the mmaped ring frames in\nfront of the packet payload. This can be used f.i. when the VLAN header\nneeds to be (re)constructed to avoid moving the entire payload.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "393e52e33c6c26ec7db290dab803bac1bed962d4",
      "tree": "54e93a35c98b994556724ad96a90871bfc38b3b4",
      "parents": [
        "bbd6ef87c544d88c30e4b762b1b61ef267a7d279"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "message": "packet: deliver VLAN TCI to userspace\n\nStore the VLAN tag in the auxillary data/tpacket2_hdr so userspace can\nproperly deal with hardware VLAN tagging/stripping.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbd6ef87c544d88c30e4b762b1b61ef267a7d279",
      "tree": "dd9fdfbde65332d3212290d1b8783666475bd861",
      "parents": [
        "bc1d0411b804ad190cdadabac48a10067f17b9e6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "message": "packet: support extensible, 64 bit clean mmaped ring structure\n\nThe tpacket_hdr is not 64 bit clean due to use of an unsigned long\nand can\u0027t be extended because the following struct sockaddr_ll needs\nto be at a fixed offset.\n\nAdd support for a version 2 tpacket protocol that removes these\nlimitations.\n\nUserspace can query the header size through a new getsockopt option\nand change the protocol version through a setsockopt option. The\nchanges needed to switch to the new protocol version are:\n\n1. replace struct tpacket_hdr by struct tpacket2_hdr\n2. query header len and save\n3. set protocol version to 2\n - set up ring as usual\n4. for getting the sockaddr_ll, use (void *)hdr + TPACKET_ALIGN(hdrlen)\n   instead of (void *)hdr + TPACKET_ALIGN(sizeof(struct tpacket_hdr))\n\nSteps 2 and 4 can be omitted if the struct sockaddr_ll isn\u0027t needed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aeb0b88b3c7a0e3bef55e7ff0efffd5d971aa57",
      "tree": "5b944f469ab809b4e88f6b25b99e8488f58983ce",
      "parents": [
        "fc943b12e48f9341bce48c2fadf094cc721aab93"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:49:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:49:46 2008 -0700"
      },
      "message": "af_packet: Check return of dev_set_promiscuity/allmulti\n\ndev_set_promiscuity/allmulti might overflow.  Commit: \"netdevice: Fix\npromiscuity and allmulti overflow\" in net-next makes\ndev_set_promiscuity/allmulti return error number if overflow happened.\n\nIn af_packet, we check all positive increment for promiscuity and\nallmulti to get error return.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "2a706ec1881709b8a90d8ccdd1fde40b3cc79364",
      "tree": "0df46f33381ab647fb853da9ae46c0a089ef5e8b",
      "parents": [
        "2051f11fb86b0056fec440fe7e9fa8370d60a5c6"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Sun Mar 23 22:42:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 23 22:42:34 2008 -0700"
      },
      "message": "[AF_PACKET]: Remove unused variable.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40ccbf525e55fc6d1f3a88c1e98b13db4dd618db",
      "tree": "36ba0825f9c0d1797578834361b55dc844ecf744",
      "parents": [
        "67b23219ce2f78352b0c566a472ff16c1b0fea9a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 07 22:39:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:48 2008 -0800"
      },
      "message": "[PACKET]: Fix sparse warnings in af_packet.c\n\n  CHECK   net/packet/af_packet.c\nnet/packet/af_packet.c:1876:14: warning: context imbalance in \u0027packet_seq_start\u0027 - wrong count at exit\nnet/packet/af_packet.c:1888:13: warning: context imbalance in \u0027packet_seq_stop\u0027 - unexpected unlock\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bf40954cf232a043a49623cf251f787c1871e64",
      "tree": "86b6a26e04f102091e6df0d59c6ad85cd5e5ff5e",
      "parents": [
        "2d4d29802ff76de5af6123ef26c24ab512181223"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 16 14:04:02 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:19 2008 -0800"
      },
      "message": "[PACKET]: Fix /proc/net/packet crash due to bogus private pointer\n\nThe seq_open_net patch changed the meaning of seq-\u003eprivate.\nUnfortunately it missed two spots in AF_PACKET, which still\nused the old way of dereferencing seq-\u003eprivate, thus causing\nweird and wonderful crashes when reading /proc/net/packet.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c",
      "tree": "c78dfe5a76f1c19cf1167b94d623feed3f4cc9d5",
      "parents": [
        "a0a53c8ba95451feef6c1975016f0a1eb3044ad4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Dec 11 04:19:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:15 2008 -0800"
      },
      "message": "[NETNS]: separate af_packet netns data\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d12d01d6b4d197115c4d7736172b5b1ec8b1eb71",
      "tree": "480fc48e6ae404b59d2f62a7e3afc6ea88a5413c",
      "parents": [
        "4b3da706bbe4613d2fe4df8df4d965954ea98964"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:28:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:26 2008 -0800"
      },
      "message": "[NET]: Make AF_PACKET handle multiple network namespaces\n\nThis is done by making packet_sklist_lock and packet_sklist per\nnetwork namespace and adding an additional filter condition on\nreceived packets to ensure they came from the proper network\nnamespace.\n\nChanges from v1:\n- prohibit to call inet_dgram_ops.ioctl in other than init_net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be85d4ad8ab69520e5ca4717c491a311c9eeae59",
      "tree": "3f140cc3bd090d9b3019ef0c7eaec7bd1b95e98a",
      "parents": [
        "57ce45dd16cd427ac2bdef202daf513bd25d650b"
      ],
      "author": {
        "name": "Urs Thuermann",
        "email": "urs@isnogud.escape.de",
        "time": "Mon Nov 12 21:05:20 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:05:20 2007 -0800"
      },
      "message": "[AF_PACKET]: Fix minor code duplication\n\nSimplify some code by eliminating duplicate if-else clauses in\npacket_do_bind().\n\nSigned-off-by: Urs Thuermann \u003curs@isnogud.escape.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8032b46489e50ef8f3992159abd0349b5b8e476c",
      "tree": "35482e6b70db42a3627c6be262fd35783fa08152",
      "parents": [
        "60d78c4473493674531a1df0772ca9e4d6133a62"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Sat Nov 10 22:03:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 22:03:25 2007 -0800"
      },
      "message": "[AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded\n\nThe socket option for packet sockets to return the original ifindex instead\nof the bonded ifindex will not match multicast traffic.  Since this socket\noption is the most useful for layer 2 traffic and multicast traffic, make\nthe option multicast-aware.\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ab56a260734aabf7f03cc97785dda81571ea24",
      "tree": "d4d1ca98c62e0ae05156246c9cb2a7acf66e48e4",
      "parents": [
        "e9671fcb3bef1fe2e71aa0456bd5b7eec9e8de4d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:38:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:38:48 2007 -0800"
      },
      "message": "[PACKET]: Use existing sock refcnt debugging infrastructure\n\nThe packet_socks_nr variable is used purely for debugging\nthe number of sockets.\n\nAs Arnaldo pointed out, there\u0027s already an infrastructure\nfor this purposes, so switch to using it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be702d5e38e2e7e554604b223794f87c12fa6811",
      "tree": "22709f19feabb0bf1b88c50bef6625875c8598ac",
      "parents": [
        "70180659a479b55387eca8cc1fa7024ba8410b14"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 18 21:58:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 21:58:19 2007 -0700"
      },
      "message": "[PACKET]: Kill unused pg_vec_endpage() function\n\nThe conversion to vm_insert_page() left this unused function behind,\nremove it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50f17787e9b0222ce65cc831407c3ba4790db3ff",
      "tree": "71a1a509cf307105a920d81d9b97b8a2e5ada95b",
      "parents": [
        "c7261872256f9172eb26438b96725b6f2115e955"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Thu Sep 06 13:55:02 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:59 2007 -0700"
      },
      "message": "[AF_PACKET]: Don\u0027t enable global timestamps.\n\nAndi mentioned he did something like this already, but never submitted\nit.\n\nThe dhcp client application uses AF_PACKET with a packet filter to\nreceive data. The application doesn\u0027t even use timestamps, but because\nthe AF_PACKET API has timestamps, they get turned on globally which\ncauses an expensive time of day lookup for every packet received on\nany system that uses the standard DHCP client.\n\nThe fix is to not enable the timestamp (but use if if available).\nThis causes the time lookup to only occur on those packets that are\ndestined for the AF_PACKET socket.  The timestamping occurs after\npacket filtering so all packets dropped by filtering to not cause a\nclock call.\n\nThe one downside of this a a few microseconds additional delay added\nfrom the normal timestamping location (netif_rx) until the receive\ncallback in AF_PACKET. But since the offset is fairly consistent it\nshould not upset applications that do want really use timestamps, like\nwireshark.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db0c58f998eeb552fb47b82915005259a83613ae",
      "tree": "387b10f436482fe180535a34db1cdd325085b7e3",
      "parents": [
        "639fc4c381456df0564b23540e0f60b0af83093b"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:44:35 2007 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:44:35 2007 +0900"
      },
      "message": "[NET] PACKET: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be02097cf6342eb0426833f54c95e0fb4c9bca45",
      "tree": "6f92d80d866809f6e1c7a3fbd9e4c8ee1c8afcbf",
      "parents": [
        "8c7fc03e27167425a1396320da43533462556b0c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue May 29 13:16:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 31 01:23:32 2007 -0700"
      },
      "message": "[AF_PACKET]: Kill CONFIG_PACKET_SOCKET.\n\nAlways set, but af_packet.c, not by the Kconfig subsystem, so\njust get rid of it.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2efcfa04865eaaa88b870f4babf12f4c1fc4f83",
      "tree": "c2c26858f0bacb2c41039bf1f70ec28db5b6b262",
      "parents": [
        "ddc31ce311b65fc3c30ec9ca5baf688a882260bc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue May 29 13:12:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu May 31 01:23:30 2007 -0700"
      },
      "message": "[AF_PACKET]: Kill bogus CONFIG_PACKET_MULTICAST\n\nIt is unconditionally set by af_packet.c, not by the Kconfig\nsubsystem, so just kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80feaacb8a6400a9540a961b6743c69a5896b937",
      "tree": "a4f07e635de521f5e283e0f4081923a98c0256d5",
      "parents": [
        "1370b5a59b941ac3873b5e8614d496e9f481d670"
      ],
      "author": {
        "name": "Peter P. Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Fri Apr 20 16:05:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:14 2007 -0700"
      },
      "message": "[AF_PACKET]: Add option to return orig_dev to userspace.\n\nAdd a packet socket option to allow the orig_dev index to be returned\nto userspace when passing traffic through a decapsulated device, such\nas the bonding driver.\n\nThis is very useful for layer 2 traffic being able to report which\nphysical device actually received the traffic, instead of having the\nencapsulating device hide that information.\n\nThe new option is called PACKET_ORIGDEV.\n\nSigned-off-by: Peter P. Waskiewicz Jr. \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0e380b1d8a8e0aca215df97702f99815f05c094",
      "tree": "95f402ca155f5211150178811669ebf0a88e8e00",
      "parents": [
        "cfe1fc7759fdacb0c650b575daed1692bf3eaece"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 21:21:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:20 2007 -0700"
      },
      "message": "[SK_BUFF]: unions of just one member don\u0027t get anything done, kill them\n\nRenaming skb-\u003eh to skb-\u003etransport_header, skb-\u003enh to skb-\u003enetwork_header and\nskb-\u003emac to skb-\u003emac_header, to match the names of the associated helpers\n(skb[_[re]set]_{transport,network,mac}_header).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbe735e4247dba32568a305553b010081c8dea99",
      "tree": "95d96619c85785a47ccee48965b68d99cf946854",
      "parents": [
        "e7dd65dafda5737a983c04d652a69ab8da78ee3f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 22:16:10 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:58 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_offset()\n\nFor the quite common \u0027skb-\u003enh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "98e399f82ab3a6d863d1d4a7ea48925cc91c830e",
      "tree": "5f84043aeec1ec27c2e8e6cc25b5d2e6c3d07343",
      "parents": [
        "31713c333ddbb66d694829082620b69b71c4b09a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Mar 19 15:33:04 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:41 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_mac_header()\n\nFor the places where we need a pointer to the mac header, it is still legal to\ntouch skb-\u003emac.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nThis one also converts some more cases to skb_reset_mac_header() that my\nregex missed as it had no spaces before nor after \u0027\u003d\u0027, ugh.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae40eb1ef30ab4120bd3c8b7e3da99ee53d27a23",
      "tree": "b5ae288b3c27d13bde9648c41d7db3cfe1884bc2",
      "parents": [
        "cb69cc52364690d7789940c480b3a9490784b680"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Mar 18 17:33:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:04 2007 -0700"
      },
      "message": "[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution\n\nNow network timestamps use ktime_t infrastructure, we can add a new\nioctl() SIOCGSTAMPNS command to get timestamps in \u0027struct timespec\u0027.\nUser programs can thus access to nanosecond resolution.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7aa0bf70c4afb9e38be25f5c0922498d0f8684c",
      "tree": "4bc9d61031f4eb40d73887d6bde09e7d6bf2b259",
      "parents": [
        "3927f2e8f9afa3424bb51ca81f7abac01ffd0005"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Thu Apr 19 16:16:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:23:34 2007 -0700"
      },
      "message": "[NET]: convert network timestamps to ktime_t\n\nWe currently use a special structure (struct skb_timeval) and plain\n\u0027struct timeval\u0027 to store packet timestamps in sk_buffs and struct\nsock.\n\nThis has some drawbacks :\n- Fixed resolution of micro second.\n- Waste of space on 64bit platforms where sizeof(struct timeval)\u003d16\n\nI suggest using ktime_t that is a nice abstraction of high resolution\ntime services, currently capable of nanosecond resolution.\n\nAs sizeof(ktime_t) is 8 bytes, using ktime_t in \u0027struct sock\u0027 permits\na 8 byte shrink of this structure on 64bit architectures. Some other\nstructures also benefit from this size reduction (struct ipq in\nipv4/ip_fragment.c, struct frag_queue in ipv6/reassembly.c, ...)\n\nOnce this ktime infrastructure adopted, we can more easily provide\nnanosecond resolution on top of it. (ioctl SIOCGSTAMPNS and/or\nSO_TIMESTAMPNS/SCM_TIMESTAMPNS)\n\nNote : this patch includes a bug correction in\ncompat_sock_get_timestamp() where a \"err \u003d 0;\" was missing (so this\nsyscall returned -ENOENT instead of 0)\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCC: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nCC: John find \u003clinux.kernel@free.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad930650c0e694233971c56e8de8e78b896e2613",
      "tree": "c14d67f354f8d8d93cd1e160f196e08474d43061",
      "parents": [
        "ca17c23345308a8692a65a0cca363d9108a665ca"
      ],
      "author": {
        "name": "Jason Lunz",
        "email": "lunz@falooley.org",
        "time": "Tue Feb 20 23:19:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Feb 26 11:42:45 2007 -0800"
      },
      "message": "[AF_PACKET]: Remove unnecessary casts.\n\npacket_lookup_frame() always returns tpacket_hdr*, so there\u0027s no reason\nto return char* and require casting by callers.\n\nAlso, remove a cast of void*.\n\nSigned-off-by: Jason Lunz \u003clunz@falooley.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd354f1ae75e6466a7e31b727faede57a1f89ca5",
      "tree": "09a2da1672465fefbc7fe06ff4e6084f1dd14c6b",
      "parents": [
        "3fc605a2aa38899c12180ca311f1eeb61a6d867e"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Wed Feb 14 00:33:14 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 14 08:09:54 2007 -0800"
      },
      "message": "[PATCH] remove many unneeded #includes of sched.h\n\nAfter Al Viro (finally) succeeded in removing the sched.h #include in module.h\nrecently, it makes sense again to remove other superfluous sched.h includes.\nThere are quite a lot of files which include it but don\u0027t actually need\nanything defined in there.  Presumably these includes were once needed for\nmacros that used to live in sched.h, but moved to other header files in the\ncourse of cleaning it up.\n\nTo ease the pain, this time I did not fiddle with any header files and only\nremoved #includes from .c-files, which tend to cause less trouble.\n\nCompile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,\narm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,\nallmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all\nconfigs in arch/arm/configs on arm.  I also checked that no new warnings were\nintroduced by the patch (actually, some warnings are removed that were emitted\nby unnecessarily included header files).\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "da7071d7e32d15149cc513f096a3638097b66387",
      "tree": "f56fb200090ad55b2e2a72c379b1eeea29795670",
      "parents": [
        "9a32144e9d7b4e21341174b1a83b82a82353be86"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:36 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 8\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1ce4f28bd761eeb979d29be350f2d22383d4c2f0",
      "tree": "4c9faec918b5ec30abfedfc7874210ccc5cd282a",
      "parents": [
        "5f8f59d6641a3726985593f3e52430daa90c7933"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:10 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:20:02 2007 -0800"
      },
      "message": "[NET] PACKET: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffbc61117d32dc4e768f999325ecfb2528d6b303",
      "tree": "f59a235c4eb22ac5ad9ede80f814f5d6ab1e6641",
      "parents": [
        "8dc4194474159660d7f37c495e3fc3f10d0db8cc"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Feb 04 23:33:10 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:47 2007 -0800"
      },
      "message": "[PACKET]: Fix skb-\u003ecb clobbering between aux and sockaddr\n\nBoth aux data and sockaddr tries to use the same buffer which\nobviously doesn\u0027t work.  We just happen to have 4 bytes free in\nthe skb-\u003ecb if you take away the maximum length of sockaddr_ll.\nThat\u0027s just enough to store the one piece of info from aux data\nthat we can\u0027t generate at recvmsg(2) time.\n\nThis is what the following patch does.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8dc4194474159660d7f37c495e3fc3f10d0db8cc",
      "tree": "33df4345a29ce4d77ebb716796687753d8f89218",
      "parents": [
        "8eb9086f21c73b38b5ca27558db4c91d62d0e70b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Feb 04 23:31:32 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 08 12:38:46 2007 -0800"
      },
      "message": "[PACKET]: Add optional checksum computation for recvmsg\n\nThis patch is needed to make ISC\u0027s DHCP server (and probably other\nDHCP servers/clients using AF_PACKET) to be able to serve another\nclient on the same Xen host.\n\nThe problem is that packets between different domains on the same\nXen host only have partial checksums.  Unfortunately this piece of\ninformation is not passed along in AF_PACKET unless you\u0027re using\nthe mmap interface.  Since dhcpd doesn\u0027t support packet-mmap, UDP\npackets from the same host come out with apparently bogus checksums.\n\nThis patch adds a mechanism for AF_PACKET recvmsg(2) to return the\nstatus along with the packet.  It does so by adding a new cmsg that\ncontains this information along with some other relevant data such\nas the original packet length.\n\nI didn\u0027t include the time stamp information since there is already\na cmsg for that.\n\nThis patch also changes the mmap code to set the CSUMNOTREADY flag\non all packets instead of just outoing packets on cooked sockets.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5e76b0a280f71b20bdd20d1c1b4d6812ceb8c3a",
      "tree": "66241edf73d49e78cc85c0123178fb56b551a282",
      "parents": [
        "95743deb34de29defbb98ad477700aaf344f93f3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jan 25 19:30:36 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jan 25 19:30:36 2007 -0800"
      },
      "message": "[AF_PACKET]: Check device down state before hard header callbacks.\n\nIf the device is down, invoking the device hard header callbacks\nis not legal, so check it early.\n\nBased upon a shaper OOPS report from Frederik Deweerdt.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "dbcb5855d108b7fa20ab42567a5412ce9dcd776a"
}
