)]}'
{
  "log": [
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ece31ffd539e8e2b586b1ca5f50bc4f4591e3893",
      "tree": "05407d915a4c0be78a4aa85f54ae3b148ec91ea3",
      "parents": [
        "b4278c961aca320839964e23cfc7906ff61af0c2"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:56 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_remove to remove_proc_entry\n\nproc_net_remove is only used to remove proc entries\nthat under /proc/net,it\u0027s not a general function for\nremoving proc entries of netns. if we want to remove\nsome proc entries which under /proc/net/stat/, we still\nneed to call remove_proc_entry.\n\nthis patch use remove_proc_entry to replace proc_net_remove.\nwe can remove proc_net_remove after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4beaa66add8aebf83ab16d2fde4e4de8dac36df",
      "tree": "87e69803c16904077d04c212d7b58acbfa62d143",
      "parents": [
        "510a1e7249298f6bbd049e1ec98041ddf5ef6452"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:54 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_fops_create to proc_create\n\nRight now, some modules such as bonding use proc_create\nto create proc entries under /proc/net/, and other modules\nsuch as ipv4 use proc_net_fops_create.\n\nIt looks a little chaos.this patch changes all of\nproc_net_fops_create to proc_create. we can remove\nproc_net_fops_create after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9665d5d62487e8e7b1f546c00e11107155384b9a",
      "tree": "940f4891ea7cff0760ec26ab9a3e03817abcf4f1",
      "parents": [
        "92df9b217ee2392024483ba5b85a88d92d60f3c1"
      ],
      "author": {
        "name": "Phil Sutter",
        "email": "phil.sutter@viprinet.com",
        "time": "Fri Feb 01 07:21:41 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 16:15:23 2013 -0500"
      },
      "message": "packet: fix leakage of tx_ring memory\n\nWhen releasing a packet socket, the routine packet_set_ring() is reused\nto free rings instead of allocating them. But when calling it for the\nfirst time, it fills req-\u003etp_block_nr with the value of rb-\u003epg_vec_len\nwhich in the second invocation makes it bail out since req-\u003etp_block_nr\nis greater zero but req-\u003etp_block_size is zero.\n\nThis patch solves the problem by passing a zeroed auto-variable to\npacket_set_ring() upon each invocation from packet_release().\n\nAs far as I can tell, this issue exists even since 69e3c75 (net: TX_RING\nand packet mmap), i.e. the original inclusion of TX ring support into\naf_packet, but applies only to sockets with both RX and TX ring\nallocated, which is probably why this was unnoticed all the time.\n\nSigned-off-by: Phil Sutter \u003cphil.sutter@viprinet.com\u003e\nCc: Johann Baudy \u003cjohann.baudy@gnu-log.net\u003e\nCc: Daniel Borkmann \u003cdborkman@redhat.com\u003e\nAcked-by: Daniel Borkmann \u003cdborkman@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df008c91f83583e662ac54aee00004afc3f1894d",
      "tree": "800fd831c5beb1c4ec00b41d270462d52973a425",
      "parents": [
        "af31f412c7c7a3c0fda4bf4beaf0c85af1f263c8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 16 03:03:07 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 18 20:32:45 2012 -0500"
      },
      "message": "net: Allow userns root to control llc, netfilter, netlink, packet, and xfrm\n\nAllow an unpriviled user who has created a user namespace, and then\ncreated a network namespace to effectively use the new network\nnamespace, by reducing capable(CAP_NET_ADMIN) and\ncapable(CAP_NET_RAW) calls to be ns_capable(net-\u003euser_ns,\nCAP_NET_ADMIN), or capable(net-\u003euser_ns, CAP_NET_RAW) calls.\n\nAllow creation of af_key sockets.\nAllow creation of llc sockets.\nAllow creation of af_packet sockets.\n\nAllow sending xfrm netlink control messages.\n\nAllow binding to netlink multicast groups.\nAllow sending to netlink multicast groups.\nAllow adding and dropping netlink multicast groups.\nAllow sending to all netlink multicast groups and port ids.\n\nAllow reading the netfilter SO_IP_SET socket option.\nAllow sending netfilter netlink messages.\nAllow setting and getting ip_vs netfilter socket options.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5920cd3a41f1aefc30e9ce86384fc2fe9f5fe0c0",
      "tree": "cecc965a19e1ffe6957d8dcf2e55566562f93e0c",
      "parents": [
        "7da716aee2532399e213a14f656d304098f67a11"
      ],
      "author": {
        "name": "Paul Chavent",
        "email": "Paul.Chavent@onera.fr",
        "time": "Tue Nov 06 23:10:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 07 18:54:30 2012 -0500"
      },
      "message": "packet: tx_ring: allow the user to choose tx data offset\n\nThe tx data offset of packet mmap tx ring used to be :\n(TPACKET2_HDRLEN - sizeof(struct sockaddr_ll))\n\nThe problem is that, with SOCK_RAW socket, the payload (14 bytes after\nthe beginning of the user data) is misaligned.\n\nThis patch allows to let the user gives an offset for it\u0027s tx data if\nhe desires.\n\nSet sock option PACKET_TX_HAS_OFF to 1, then specify in each frame of\nyour tx ring tp_net for SOCK_DGRAM, or tp_mac for SOCK_RAW.\n\nSigned-off-by: Paul Chavent \u003cpaul.chavent@onera.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "342567ccf088a6c4777ef352f559fe46aaeb047e",
      "tree": "f6093fee9ed4fabf34697c63693f04d951b977cf",
      "parents": [
        "e0c075577965d1c01b30038d38bf637b027a1df3"
      ],
      "author": {
        "name": "Daniel Borkmann",
        "email": "dxchgb@gmail.com",
        "time": "Wed Oct 24 15:27:24 2012 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 02:17:20 2012 -0400"
      },
      "message": "packet: minor: remove unused err assignment\n\nThis tiny patch removes two unused err assignments. In those two cases the\nerr variable is either overwritten with another value at a later point in\ntime without having read the previous assigment, or it is assigned and the\nfunction returns without using/reading err after the assignment.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel.borkmann@tik.ee.ethz.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15e473046cb6e5d18a4d0057e61d76315230382b",
      "tree": "893d2df5d46a6ce156933ac57a1398f0ad22b889",
      "parents": [
        "9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Sep 07 20:12:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 10 15:30:41 2012 -0400"
      },
      "message": "netlink: Rename pid to portid to avoid confusion\n\nIt is a frequent mistake to confuse the netlink port identifier with a\nprocess identifier.  Try to reduce this confusion by renaming fields\nthat hold port identifiers portid instead of pid.\n\nI have carefully avoided changing the structures exported to\nuserspace to avoid changing the userspace API.\n\nI have successfully built an allyesconfig kernel with this change.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c32f38619af6302da58835fb292b159bdd96d11f",
      "tree": "a5bb4a9c51999557eaa919f27369c70811cd813c",
      "parents": [
        "761743ebc92df72053e736fce953a5d2e90099d5",
        "0dcd5052c8543ef999bcd252cee50b7ae8111e89"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 31 15:14:10 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 31 15:14:18 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nMerge the \u0027net\u0027 tree to get the recent set of netfilter bug fixes in\norder to assist with some merge hassles Pablo is going to have to deal\nwith for upcoming changes.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6acb384807406c1a6ad3ddc91191f7658e63b7a",
      "tree": "7906d1bb402ac30e4efaa1bc6451b1c7a4b6e768",
      "parents": [
        "255e87657a84e21986e5d9070f3dee4aa8d1d531",
        "898132ae76d1aeb52301f10e8795c34fbb54e853"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 24 18:54:37 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 24 18:54:37 2012 -0400"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nThis is an initial merge in of Eric Biederman\u0027s work to start adding\nuser namespace support to the networking.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0dfb2634e5671770f598cda08002d8cda66ac77",
      "tree": "243f657c9a5f6ab119e4b20d3220207b7ded2082",
      "parents": [
        "a6b9650108003e994770209fb8efedf6e214dcf7"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Thu Aug 23 19:51:21 2012 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 23 09:27:12 2012 -0700"
      },
      "message": "af_packet: match_fanout_group() can be static\n\ncc: Eric Leblond \u003ceric@regit.org\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fa7fa98dbcc2789409ed24e885485e645803d7f",
      "tree": "30a9b851fdee3b01a64f5ee07940224d089d31de",
      "parents": [
        "b32607dd47d456b99f0a16f1c37bc8a0975ffb19"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Tue Aug 21 01:06:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 22:58:27 2012 -0700"
      },
      "message": "packet: Protect packet sk list with mutex (v2)\n\nChange since v1:\n\n* Fixed inuse counters access spotted by Eric\n\nIn patch eea68e2f (packet: Report socket mclist info via diag module) I\u0027ve\nintroduced a \"scheduling in atomic\" problem in packet diag module -- the\nsocket list is traversed under rcu_read_lock() while performed under it sk\nmclist access requires rtnl lock (i.e. -- mutex) to be taken.\n\n[152363.820563] BUG: scheduling while atomic: crtools/12517/0x10000002\n[152363.820573] 4 locks held by crtools/12517:\n[152363.820581]  #0:  (sock_diag_mutex){+.+.+.}, at: [\u003cffffffff81a2dcb5\u003e] sock_diag_rcv+0x1f/0x3e\n[152363.820613]  #1:  (sock_diag_table_mutex){+.+.+.}, at: [\u003cffffffff81a2de70\u003e] sock_diag_rcv_msg+0xdb/0x11a\n[152363.820644]  #2:  (nlk-\u003ecb_mutex){+.+.+.}, at: [\u003cffffffff81a67d01\u003e] netlink_dump+0x23/0x1ab\n[152363.820693]  #3:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff81b6a049\u003e] packet_diag_dump+0x0/0x1af\n\nSimilar thing was then re-introduced by further packet diag patches (fanount\nmutex and pgvec mutex for rings) :(\n\nApart from being terribly sorry for the above, I propose to change the packet\nsk list protection from spinlock to mutex. This lock currently protects two\nmodifications:\n\n* sklist\n* prot inuse counters\n\nThe sklist modifications can be just reprotected with mutex since they already\noccur in a sleeping context. The inuse counters modifications are trickier -- the\n__this_cpu_-s are used inside, thus requiring the caller to handle the potential\nissues with contexts himself. Since packet sockets\u0027 counters are modified in two\nplaces only (packet_create and packet_release) we only need to protect the context\nfrom being preempted. BH disabling is not required in this case.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e67030af367ab524d0856af9e992de241eca3c7",
      "tree": "751ac8ad2e353622e966ad85f554ae5ba9e7d086",
      "parents": [
        "bfdc587c5af4ff155cf702b972e8fcd66d77d5f2"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Mon Aug 20 03:34:03 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 22:58:27 2012 -0700"
      },
      "message": "af_packet: use define instead of constant\n\nInstead of using a hard-coded value for the status variable, it would make\nthe code more readable to use its destined define from linux/if_packet.h.\n\nSigned-off-by: daniel.borkmann@tik.ee.ethz.ch\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1304a7343b30fc4f16045412efdbb4179a3d9255",
      "tree": "83d667ac4f62e30f70305ce4cc7e030e3465f92e",
      "parents": [
        "1d76efe1577b4323609b1bcbfafa8b731eda071a",
        "23dcfa61bac244e1200ff9ad19c6e9144dcb6bb5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 14:21:38 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 22 14:21:38 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "c0de08d04215031d68fa13af36f347a6cfa252ca",
      "tree": "7352576a55b5ceb586e3f73c9f66be890b8bccca",
      "parents": [
        "9915e67eb1134b4710a4888a3e041c757869e0e2"
      ],
      "author": {
        "name": "Eric Leblond",
        "email": "eric@regit.org",
        "time": "Thu Aug 16 22:02:58 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 20 02:37:29 2012 -0700"
      },
      "message": "af_packet: don\u0027t emit packet on orig fanout group\n\nIf a packet is emitted on one socket in one group of fanout sockets,\nit is transmitted again. It is thus read again on one of the sockets\nof the fanout group. This result in a loop for software which\ngenerate packets when receiving one.\nThis retransmission is not the intended behavior: a fanout group\nmust behave like a single socket. The packet should not be\ntransmitted on a socket if it originates from a socket belonging\nto the same fanout group.\n\nThis patch fixes the issue by changing the transmission check to\ntake fanout group info account.\n\nReported-by: Aleksandr Kotov \u003ca1k@mail.ru\u003e\nSigned-off-by: Eric Leblond \u003ceric@regit.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fff3321d75b1a18231876a1aceb36eacbbf6221e",
      "tree": "ff7d423fae980191ed922038ce5e1d0a05e19fab",
      "parents": [
        "16f01365fa01150bf3606fe702a80a03ec87953a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Aug 16 05:36:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 20 02:23:14 2012 -0700"
      },
      "message": "packet: Report fanout status via diag engine\n\nReported value is the same reported by the FANOUT getsockoption, but\nunlike it, the absent fanout setup results in absent nlattr, rather\nthan in nlattr with zero value. This is done so, since zero fanout\nreport may mean both -- no fanout, and fanout with both id and type zero.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16f01365fa01150bf3606fe702a80a03ec87953a",
      "tree": "07695d8703bb3b25a97b5ec3a80b5701daeb111d",
      "parents": [
        "5ef5d6c569f80cf716d75fa88e9b5ee72f0986b2"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Thu Aug 16 05:34:22 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 20 02:23:14 2012 -0700"
      },
      "message": "packet: Report rings cfg via diag engine\n\nOne extension bit may result in two nlattrs -- one per ring type.\nIf some ring type is not configured, then the respective nlatts\nwill be empty.\n\nThe structure reported contains the data, that is given to the\ncorresponding ring setup socket option.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7cb5a49bf64ba64864ae16a6be028f8b0d3cc06",
      "tree": "0874310cc4af6cd0193e15058cb9ff9e7a955065",
      "parents": [
        "adb37c4c67f807f16beb222028fb3ce9a354dc2b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu May 24 01:10:10 2012 -0600"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Aug 14 21:48:06 2012 -0700"
      },
      "message": "userns: Print out socket uids in a user namespace aware fashion.\n\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: Vlad Yasevich \u003cvyasevich@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Serge Hallyn \u003cserge.hallyn@canonical.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "eea68e2f1a0061e09265992b91fdc0014930ae92",
      "tree": "2b8f78565a04701e49b271b670a67fcb362c8022",
      "parents": [
        "8a360be0c5f8fe2c46f0a524886fa56596534193"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Aug 13 05:57:44 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 16:56:33 2012 -0700"
      },
      "message": "packet: Report socket mclist info via diag module\n\nThe info is reported as an array of packet_diag_mclist structures. Each\nincludes not only the directly configured values (index, type, etc), but\nalso the \"count\".\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a360be0c5f8fe2c46f0a524886fa56596534193",
      "tree": "6f97f7711805ef93abe605244440268dcfa4d1f5",
      "parents": [
        "96ec6327144e1ac9e6676e34fae8b49c2102fa5a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Aug 13 05:55:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 16:56:33 2012 -0700"
      },
      "message": "packet: Report more packet sk info via diag module\n\nThis reports in one rtattr message all the other scalar values, that can be\nset on a packet socket with setsockopt.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96ec6327144e1ac9e6676e34fae8b49c2102fa5a",
      "tree": "1c2e914c7bbd573db850f2cf340b2e49226df8a0",
      "parents": [
        "2787b04b6c5e7607510e8248b38b0aeacb5505f6"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Aug 13 05:53:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 16:56:33 2012 -0700"
      },
      "message": "packet: Diag core and basic socket info dumping\n\nThe diag module can be built independently from the af_packet.ko one,\njust like it\u0027s done in unix sockets.\n\nThe core dumping message carries the info available at socket creation\ntime, i.e. family, type and protocol (in the same byte order as shown in\nthe proc file).\n\nThe socket inode number and cookie is reserved for future per-socket info\nretrieving. The per-protocol filtering is also reserved for future by\nrequiring the sdiag_protocol to be zero.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2787b04b6c5e7607510e8248b38b0aeacb5505f6",
      "tree": "f8a8965dd9ae95614b77fdc827190c72951e01f2",
      "parents": [
        "ad5b310228da567e35a2ea5dcb2fd62e3a36654e"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@parallels.com",
        "time": "Mon Aug 13 05:49:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 14 16:56:33 2012 -0700"
      },
      "message": "packet: Introduce net/packet/internal.h header\n\nThe diag module will need to access some private packet_sock data, so\nmove it to a header in advance. This file will be shared between the\naf_packet.c and the diag.c\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f5c3e3a80e6654cf48dfba7cf94f88c6b505467",
      "tree": "6a0c9ee28e2ebb6a8831d9839ad5758bc584c919",
      "parents": [
        "3a7f8c34fefb109903af9a0fac6d0d05f93335c5"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Fri Aug 10 22:48:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 12 13:42:17 2012 -0700"
      },
      "message": "af_packet: remove BUG statement in tpacket_destruct_skb\n\nHere\u0027s a quote of the comment about the BUG macro from asm-generic/bug.h:\n\n Don\u0027t use BUG() or BUG_ON() unless there\u0027s really no way out; one\n example might be detecting data structure corruption in the middle\n of an operation that can\u0027t be backed out of.  If the (sub)system\n can somehow continue operating, perhaps with reduced functionality,\n it\u0027s probably not BUG-worthy.\n\n If you\u0027re tempted to BUG(), think again:  is completely giving up\n really the *only* solution?  There are usually better options, where\n users don\u0027t need to reboot ASAP and can mostly shut down cleanly.\n\nIn our case, the status flag of a ring buffer slot is managed from both sides,\nthe kernel space and the user space. This means that even though the kernel\nside might work as expected, the user space screws up and changes this flag\nright between the send(2) is triggered when the flag is changed to\nTP_STATUS_SENDING and a given skb is destructed after some time. Then, this\nwill hit the BUG macro. As David suggested, the best solution is to simply\nremove this statement since it cannot be used for kernel side internal\nconsistency checks. I\u0027ve tested it and the system still behaves /stable/ in\nthis case, so in accordance with the above comment, we should rather remove it.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel.borkmann@tik.ee.ethz.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99aa3473e672ca610905838997fa018b95cd643f",
      "tree": "c041c821d2825adf2e6be17e9e617355eb255b90",
      "parents": [
        "b9ad2baf91426787bf52dc06f53b0e81553d1c7d"
      ],
      "author": {
        "name": "Ying Xue",
        "email": "ying.xue@windriver.com",
        "time": "Mon Aug 06 16:27:10 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 08 15:43:22 2012 -0700"
      },
      "message": "af_packet: Quiet sparse noise about using plain integer as NULL pointer\n\nQuiets the sparse warning:\nwarning: Using plain integer as NULL pointer\n\nSigned-off-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e440cf2ca0a1b075c64016240d46c3aa9d877bbf",
      "tree": "b1f184779750ce985f8a2372a2d24a4fea50714b",
      "parents": [
        "22911fc581f6a241e2897a7a8603e97344a6ec82"
      ],
      "author": {
        "name": "parav.pandit@emulex.com",
        "email": "parav.pandit@emulex.com",
        "time": "Wed Jun 27 03:56:12 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 27 15:42:24 2012 -0700"
      },
      "message": "net: added support for 40GbE link.\n\n1. removed code replication for tov calculation for 1G, 10G and\nmade is common for speed \u003e 1G (1G, 10G, 40G, 100G).\n2. defines values for #4 different 40G Phys (KR4, LF4, SR4, CR4)\n\nSigned-off-by: Parav Pandit \u003cparav.pandit@emulex.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de74e92aa8a44d0b80a53601dc4f6dd6afcb8453",
      "tree": "fa880b187e38df3499e490b78f435e2c952c11c9",
      "parents": [
        "55afabaa0df0dd139c8796a71beb43d1216fbe43"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Sun Jun 10 08:59:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 11 16:51:51 2012 -0700"
      },
      "message": "af_packet: use sizeof instead of constant in spkt_device\n\nThis small patch removes access to the last element of the spkt_device\narray through a constant. Instead, it is accessed by sizeof() to respect\npossible changes in if_packet.h.\n\nSigned-off-by: Daniel Borkmann \u003cdaniel.borkmann@tik.ee.ethz.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3192690a3c889767d1161b228374f4926d92af0",
      "tree": "a2acbe06cc2efedb6002055f9d4ffd7f2ba6ec75",
      "parents": [
        "29a6b6c060445eb46528785d51a2d8b0e6d898c4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Jun 03 17:41:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 04 11:45:11 2012 -0400"
      },
      "message": "net: Remove casts to same type\n\nAdding casts of objects to the same type is unnecessary\nand confusing for a human reader.\n\nFor example, this cast:\n\n\tint y;\n\tint *p \u003d (int *)\u0026y;\n\nI used the coccinelle script below to find and remove these\nunnecessary casts.  I manually removed the conversions this\nscript produces of casts with __force and __user.\n\n@@\ntype T;\nT *p;\n@@\n\n-\t(T *)p\n+\tp\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c06fff6e175729f0d89201c98d21e55c2bf1a850",
      "tree": "d60332d8bdfd452dadcd94739762308952fca6af",
      "parents": [
        "900f65d361d333c949ef76a828343075f4fdf523"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Apr 19 21:56:11 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:36:42 2012 -0400"
      },
      "message": "af_packet: packet_getsockopt() cleanup\n\nFactorize code, since most fetched values are int type.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abc4e4fa29eb81f874d4ef3c6bafcf5ad6f90b07",
      "tree": "1d476a7f11b1e670b55fa7f6a09a4d7defafb347",
      "parents": [
        "ab185d7b2551e9b8d946a657ddccd86d192bebd1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Apr 19 02:24:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 19 14:23:55 2012 -0400"
      },
      "message": "packet: dont drop packet but consume it\n\nWhen we need to clone skb, we dont drop a packet.\nCall consume_skb() to not confuse dropwatch.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3bdc0eba0b8b47797f4a76e377dd8360f317450f",
      "tree": "da6bd907f599402bc8db0a2484997fd4d3e06f7b",
      "parents": [
        "0184039a4b6727d6efd545919c773ef141090ae7"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Sat Feb 11 15:39:30 2012 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Fri Feb 24 01:37:35 2012 -0800"
      },
      "message": "net: Add framework to allow sending packets with customized CRC.\n\nThis is useful for testing RX handling of frames with bad\nCRCs.\n\nRequires driver support to actually put the packet on the\nwire properly.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nTested-by: Aaron Brown \u003caaron.f.brown@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "7f8e3234c5f7fbdb06be050c8a1907e9c36d7c61",
      "tree": "d6e9edb2087fa4a97b2cc3d585a0189672a14cf4",
      "parents": [
        "8ade06c616b34b4237c0ed77d1ff0ce04ad7d056",
        "89307babf966165171547f105e2253dec261cfa5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 30 13:04:14 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "aef950b4ba3196622a5bd5e21ab1d63f30658285",
      "tree": "f4cb91f4517a041ef95c28ad50039b0b2ae6b137",
      "parents": [
        "c43c5f39584c0f388a7e5372312c2c48221a4415"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 27 22:32:41 2011 -0500"
      },
      "message": "packet: fix possible dev refcnt leak when bind fail\n\nIf bind is fail when bind is called after set PACKET_FANOUT\nsock option, the dev refcnt will leak.\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abb434cb0539fb355c1c921f8fd761efbbac3462",
      "tree": "24a7d99ec161f8fd4dc9ff03c9c4cc93be883ce6",
      "parents": [
        "2494654d4890316e7340fb8b3458daad0474a1b9",
        "6350323ad8def2ac00d77cdee3b79c9b9fba75c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:13:56 2011 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/bluetooth/l2cap_core.c\n\nJust two overlapping changes, one added an initialization of\na local variable, and another change added a new local variable.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fd7bac6b6157eed6cf0cb86a1e88ba29e57c033",
      "tree": "bcc24e9c63587bc1e8e15ad60654de9c6f72883e",
      "parents": [
        "a0a129f8b6cff54ab479324a54aefdab5db4f240"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Dec 21 07:11:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 02:15:14 2011 -0500"
      },
      "message": "net: relax rcvbuf limits\n\nskb-\u003etruesize might be big even for a small packet.\n\nIts even bigger after commit 87fb4b7b533 (net: more accurate skb\ntruesize) and big MTU.\n\nWe should allow queueing at least one packet per receiver, even with a\nlow RCVBUF setting.\n\nReported-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ce4091256d61f8e9c7296f6643c8bd5bb2a00e5",
      "tree": "ff41287641f6320a993d67afa6c41bff4cfdbc39",
      "parents": [
        "56c978f1da1f630ef18aa668a9748c6c23ab819b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:10 2011 -0500"
      },
      "message": "packet: Add needed_tailroom to packet_sendmsg_spkt\n\npacket: Add needed_tailroom to packet_sendmsg_spkt\n\nWhile auditing LL_ALLOCATED_SPACE I noticed that packet_sendmsg_spkt\ndid not include needed_tailroom when allocating an skb.  This isn\u0027t\na fatal error as we should always tolerate inadequate tail room but\nit isn\u0027t optimal.\n\nThis patch fixes that.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae641949df01b85117845bec45328eab6d6fada1",
      "tree": "ed8d5aedd678f86e8554dc0b1c080a43ef4b331d",
      "parents": [
        "a7ae1992248e5cf9dc5bd35695ab846d27efe15f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Nov 18 02:20:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 18 14:37:09 2011 -0500"
      },
      "message": "net: Remove all uses of LL_ALLOCATED_SPACE\n\nnet: Remove all uses of LL_ALLOCATED_SPACE\n\nThe macro LL_ALLOCATED_SPACE was ill-conceived.  It applies the\nalignment to the sum of needed_headroom and needed_tailroom.  As\nthe amount that is then reserved for head room is needed_headroom\nwith alignment, this means that the tail room left may be too small.\n\nThis patch replaces all uses of LL_ALLOCATED_SPACE with the macro\nLL_RESERVED_SPACE and direct reference to needed_tailroom.\n\nThis also fixes the problem with needed_headroom changing between\nallocating the skb and reserving the head room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eea49cc9009767dfbafd673ee577854454b52e0d",
      "tree": "1d48e1c6a243cb2ab2d680d6b1919d994b76f3b3",
      "parents": [
        "c49b82da1f6649b76acbabc7940ddb53a00bdfcc"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Nov 02 11:00:49 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 03 18:11:51 2011 -0400"
      },
      "message": "af_packet: de-inline some helper functions\n\nThis popped some compiler errors due to mismatched prototypes. Just\nremove most manual inlines, the compiler should be able to figure out\nwhat makes sense to inline and not.\n\nnet/packet/af_packet.c:252: warning: \u0027prb_curr_blk_in_use\u0027 declared inline after being called\nnet/packet/af_packet.c:252: warning: previous declaration of \u0027prb_curr_blk_in_use\u0027 was here\nnet/packet/af_packet.c:258: warning: \u0027prb_queue_frozen\u0027 declared inline after being called\nnet/packet/af_packet.c:258: warning: previous declaration of \u0027prb_queue_frozen\u0027 was here\nnet/packet/af_packet.c:248: warning: \u0027packet_previous_frame\u0027 declared inline after being called\nnet/packet/af_packet.c:248: warning: previous declaration of \u0027packet_previous_frame\u0027 was here\nnet/packet/af_packet.c:251: warning: \u0027packet_increment_head\u0027 declared inline after being called\nnet/packet/af_packet.c:251: warning: previous declaration of \u0027packet_increment_head\u0027 was here\n\nSigned-off-by: Olof Johansson \u003colof@lixom.net\u003e\nCc: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc416d9768aa9a2e46eb11354a9c58399dafeb01",
      "tree": "a3ecf948353d11d199dfb64b0c4302c5b4aaccb6",
      "parents": [
        "f7ba35da583cf6aefba887a8dcf86acec4f3a350"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 06 10:28:31 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:22:07 2011 -0400"
      },
      "message": "macvlan: handle fragmented multicast frames\n\nFragmented multicast frames are delivered to a single macvlan port,\nbecause ip defrag logic considers other samples are redundant.\n\nImplement a defrag step before trying to send the multicast frame.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95f5f803b3897f622c4b5f72d554874faf74df12",
      "tree": "7241563ed75f0ee7443df99bbbb304c0a870496a",
      "parents": [
        "5bdc4f5de1345c221f5b51d73fafe3e5de718a54"
      ],
      "author": {
        "name": "danborkmann@iogearbox.net",
        "email": "danborkmann@iogearbox.net",
        "time": "Mon Oct 10 06:52:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 14:09:08 2011 -0400"
      },
      "message": "af_packet: remove unnecessary BUG_ON() in tpacket_destruct_skb\n\nIf skb is NULL, then stack trace is thrown anyway on dereference.\nTherefore, the stack trace triggered by BUG_ON is duplicate.\n\nSigned-off-by: Daniel Borkmann \u003cdanborkmann@googlemail.com\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88c5100c28b02c4b2b2c6f6fafbbd76d90f698b9",
      "tree": "08c4399e0341f7eb0ccb24e15f2cab687275c2a4",
      "parents": [
        "8083f0fc969d9b5353061a7a6f963405057e26b1",
        "3ee72ca99288f1de95ec9c570e43f531c8799f06"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 07 13:38:43 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:davem330/net\n\nConflicts:\n\tnet/batman-adv/soft-interface.c\n"
    },
    {
      "commit": "7091fbd82cd5686444ffe9935ed6a8190101fe9d",
      "tree": "8414bd888e6ef13f9338458ee94cf24b0d34bd2c",
      "parents": [
        "d0e5d83284dac15c015bb48115b6780f5a6413cd"
      ],
      "author": {
        "name": "Willem de Bruijn",
        "email": "willemb@google.com",
        "time": "Fri Sep 30 10:38:28 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 14:18:26 2011 -0400"
      },
      "message": "make PACKET_STATISTICS getsockopt report consistently between ring and non-ring\n\nThis is a minor change.\n\nUp until kernel 2.6.32, getsockopt(fd, SOL_PACKET, PACKET_STATISTICS,\n...) would return total and dropped packets since its last invocation. The\nintroduction of socket queue overflow reporting [1] changed drop\nrate calculation in the normal packet socket path, but not when using a\npacket ring. As a result, the getsockopt now returns different statistics\ndepending on the reception method used. With a ring, it still returns the\ncount since the last call, as counts are incremented in tpacket_rcv and\nreset in getsockopt. Without a ring, it returns 0 if no drops occurred\nsince the last getsockopt and the total drops over the lifespan of\nthe socket otherwise. The culprit is this line in packet_rcv, executed\non a drop:\n\ndrop_n_acct:\n        po-\u003estats.tp_drops \u003d atomic_inc_return(\u0026sk-\u003esk_drops);\n\nAs it shows, the new drop number it taken from the socket drop counter,\nwhich is not reset at getsockopt. I put together a small example\nthat demonstrates the issue [2]. It runs for 10 seconds and overflows\nthe queue/ring on every odd second. The reported drop rates are:\nring: 16, 0, 16, 0, 16, ...\nnon-ring: 0, 15, 0, 30, 0, 46, 0, 60, 0 , 74.\n\nNote how the even ring counts monotonically increase. Because the\ngetsockopt adds tp_drops to tp_packets, total counts are similarly\nreported cumulatively. Long story short, reinstating the original code, as\nthe below patch does, fixes the issue at the cost of additional per-packet\ncycles. Another solution that does not introduce per-packet overhead\nis be to keep the current data path, record the value of sk_drops at\ngetsockopt() at call N in a new field in struct packetsock and subtract\nthat when reporting at call N+1. I\u0027ll be happy to code that, instead,\nit\u0027s just more messy.\n\n[1] http://patchwork.ozlabs.org/patch/35665/\n[2] http://kernel.googlecode.com/files/test-packetsock-getstatistics.c\n\nSigned-off-by: Willem de Bruijn \u003cwillemb@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4bc71cb983fd2844e603bf633df2bb53385182d2",
      "tree": "067b6df32fda6c554b2b9263a94a585c2e5a832d",
      "parents": [
        "c5dac7c9984d8a034eb7ae149cedf23ec9259f98"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Sep 03 03:34:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 15 17:32:26 2011 -0400"
      },
      "message": "net: consolidate and fix ethtool_ops-\u003eget_settings calling\n\nThis patch does several things:\n- introduces __ethtool_get_settings which is called from ethtool code and\n  from drivers as well. Put ASSERT_RTNL there.\n- dev_ethtool_get_settings() is replaced by __ethtool_get_settings()\n- changes calling in drivers so rtnl locking is respected. In\n  iboe_get_rate was previously -\u003eget_settings() called unlocked. This\n  fixes it. Also prb_calc_retire_blk_tmo() in af_packet.c had the same\n  problem. Also fixed by calling __dev_get_by_index() instead of\n  dev_get_by_index() and holding rtnl_lock for both calls.\n- introduces rtnl_lock in bnx2fc_vport_create() and fcoe_vport_create()\n  so bnx2fc_if_create() and fcoe_if_create() are called locked as they\n  are from other places.\n- use __ethtool_get_settings() in bonding code\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\nv2-\u003ev3:\n\t-removed dev_ethtool_get_settings()\n\t-added ASSERT_RTNL into __ethtool_get_settings()\n\t-prb_calc_retire_blk_tmo - use __dev_get_by_index() and lock\n\t around it and __ethtool_get_settings() call\nv1-\u003ev2:\n        add missing export_symbol\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e [except FCoE bits]\nAcked-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc59ba399113fcbcac56ba22edde4b816199d48c",
      "tree": "16c9023b050de412a934008b99eb8c2cf3464be1",
      "parents": [
        "165c68d5a291537eaf2d3821a19335c9ec100ba6"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Thu Aug 25 10:43:30 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 26 12:38:44 2011 -0400"
      },
      "message": "af_packet: Prefixed tpacket_v3 structs to avoid name space collision\n\nstructs introduced in tpacket_v3 implementation are prefixed with \u0027tpacket\u0027\nto avoid namespace collision.\n\nCompile tested.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6fb8f100b807378fda19e83e5ac6828b638603a",
      "tree": "66d30265f08fbf9745e3feb9af6f5a06fe38d71b",
      "parents": [
        "0d4691ce112be025019999df5f2a5e00c03f03c2"
      ],
      "author": {
        "name": "chetan loke",
        "email": "loke.chetan@gmail.com",
        "time": "Fri Aug 19 10:18:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 24 19:40:40 2011 -0700"
      },
      "message": "af-packet: TPACKET_V3 flexible buffer implementation.\n\n1) Blocks can be configured with non-static frame-size.\n2) Read/poll is at a block-level(as opposed to packet-level).\n3) Added poll timeout to avoid indefinite user-space wait on idle links.\n4) Added user-configurable knobs:\n   4.1) block::timeout.\n   4.2) tpkt_hdr::sk_rxhash.\n\nChanges:\nC1) tpacket_rcv()\n    C1.1) packet_current_frame() is replaced by packet_current_rx_frame()\n          The bulk of the processing is then moved in the following chain:\n          packet_current_rx_frame()\n            __packet_lookup_frame_in_block\n              fill_curr_block()\n              or\n                retire_current_block\n                dispatch_next_block\n              or\n              return NULL(queue is plugged/paused)\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cc9f01b246ca8e4fa245991840b8076394f86707",
      "tree": "fb362018297a83c9c288a000893d7dbb88a3aead",
      "parents": [
        "6a7ebdf2fd15417e87b4fd02ff411aeaca34da5f"
      ],
      "author": {
        "name": "Chetan Loke",
        "email": "loke.chetan@gmail.com",
        "time": "Thu Jul 14 08:36:33 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 14 08:36:33 2011 -0700"
      },
      "message": "af-packet: fix - avoid reading stale data\n\nCurrently we flush tp_status and then flush the remainder of the header+payload.\ntp_status should be flushed in the end to avoid stale data being read by user-space.\n\nIncorrectly re-ordered barriers in v1.\n\nSigned-off-by: Chetan Loke \u003cloke.chetan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31817df025e24559a01d33ddd68bd11b21bf9d7b",
      "tree": "13705c13b8abccf01fd1281cda46ca1e3d25f211",
      "parents": [
        "afe62c68cd3562c5f8e3ea293e82906dd5a87936"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 08:18:04 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 08:18:04 2011 -0700"
      },
      "message": "packet: Fix build with INET disabled.\n\naf_packet.c:(.text+0x3d130): undefined reference to `ip_defrag\u0027\nor\nERROR: \"ip_defrag\" [net/packet/af_packet.ko] undefined!\n\nReported-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afe62c68cd3562c5f8e3ea293e82906dd5a87936",
      "tree": "5cc472bb610de783a1dca1e9f54043a0918d60bd",
      "parents": [
        "68ac31918ec359a2bfb9f897bb62c2940652d2b8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 07 06:41:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 07 06:41:29 2011 -0700"
      },
      "message": "af_packet: lock imbalance\n\nfanout_add() might return with fanout_mutex held.\n\nReduce indentation level while we are at it\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aec27311c23a8ce8eaf490762249d3ed74be83b6",
      "tree": "51a789724f43439d5aff9ddc4d87cd4d00397489",
      "parents": [
        "dc7f9f6e8838556f226c2ebd1da7bb305cb25654"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 07:30:59 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 07:30:59 2011 -0700"
      },
      "message": "packet: Fix leak in pre-defrag support.\n\nWhen we clone the SKB, we forget about the original\none.  Avoid this problem by using skb_share_check().\n\nReported-by: Penttilä Mika \u003cmika.penttila@ixonos.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95ec3eb417115fbb2c73b59e2825f6dd5d2f6cf6",
      "tree": "009ed6c7ee4d693de36990fa30fdaa79939905f0",
      "parents": [
        "81b16ba2f1cc93a1ee1dda48be2ea2d91a0cb72e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 01:56:38 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 06 01:56:38 2011 -0700"
      },
      "message": "packet: Add \u0027cpu\u0027 fanout policy.\n\nUnfortunately we have to use a real modulus here as\nthe multiply trick won\u0027t work as effectively with cpu\nnumbers as it does with rxhash values.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7736d33f4262d437c51ed7a28114eacbfca236ff",
      "tree": "fdefc344c66940773982d23203a7fc07aa94e1ef",
      "parents": [
        "595fc71baa1e80420fe89a400ff2d9cc099d22fc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 01:43:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add pre-defragmentation support for ipv4 fanouts.\n\nThe skb-\u003erxhash cannot be properly computed if the\npacket is a fragment.  To alleviate this, allow the\nAF_PACKET client to ask for defragmentation to be\ndone at demux time.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc99f600698dcac69b8f56dda9a8a00d645c5ffc",
      "tree": "81599e4397761610d5020c03e2571eeceaa859b6",
      "parents": [
        "ce06b03e60fc19c680d1bf873e779bf11c2fc518"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 01:45:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add fanout support.\n\nFanouts allow packet capturing to be demuxed to a set of AF_PACKET\nsockets.  Two fanout policies are implemented:\n\n1) Hashing based upon skb-\u003erxhash\n\n2) Pure round-robin\n\nAn AF_PACKET socket must be fully bound before it tries to add itself\nto a fanout.  All AF_PACKET sockets trying to join the same fanout\nmust all have the same bind settings.\n\nFanouts are identified (within a network namespace) by a 16-bit ID.\nThe first socket to try to add itself to a fanout with a particular\nID, creates that fanout.  When the last socket leaves the fanout\n(which happens only when the socket is closed), that fanout is\ndestroyed.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce06b03e60fc19c680d1bf873e779bf11c2fc518",
      "tree": "7028330a054a0d614a85c315de01a297f0daf4f0",
      "parents": [
        "f8bae99ee5030625a4e7f0d87784191882292f0e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 04 01:44:29 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 22:34:52 2011 -0700"
      },
      "message": "packet: Add helpers to register/unregister -\u003eprot_hook\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "10a8d94a95742bb15b4e617ee9884bb4381362be",
      "tree": "768f2d92be0e12bca791bcb901ad4bdedc7d8a76",
      "parents": [
        "40d15cd06e87722b1cc27d56c8274617580f2c56"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Jun 10 00:56:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 11 15:57:47 2011 -0700"
      },
      "message": "virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID\n\nThere\u0027s no need for the guest to validate the checksum if it have been\nvalidated by host nics. So this patch introduces a new flag -\nVIRTIO_NET_HDR_F_DATA_VALID which is used to bypass the checksum\nexaming in guest. The backend (tap/macvtap) may set this flag when\nmet skbs with CHECKSUM_UNNECESSARY to save cpu utilization.\n\nNo feature negotiation is needed as old driver just ignore this flag.\n\nIperf shows 12%-30% performance improvement for UDP traffic. For TCP,\nwhen gro is on no difference as it produces skb with partial\nchecksum. But when gro is disabled, 20% or even higher improvement\ncould be measured by netperf.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13fcb7bd322164c67926ffe272846d4860196dc6",
      "tree": "aa7727f84e4ce2a2b1cf758e03d176c62354f44b",
      "parents": [
        "79b3891587741dfac72cdfead1f2764b56a567b0"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jun 06 22:42:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 06 22:42:06 2011 -0700"
      },
      "message": "af_packet: prevent information leak\n\nIn 2.6.27, commit 393e52e33c6c2 (packet: deliver VLAN TCI to userspace)\nadded a small information leak.\n\nAdd padding field and make sure its zeroed before copy to user.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "827d978037d7d0bf0860481948c6d26ead10042f",
      "tree": "ddd6f73b342116f330694528d993a2fa373b3b36",
      "parents": [
        "160ff18a07f3a505d452dcced8e45ecdd0a85506"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 07:18:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:16:28 2011 -0700"
      },
      "message": "af-packet: Use existing netdev reference for bound sockets.\n\nThis saves a network device lookup on each packet transmitted,\nfor sockets that are bound to a network device.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "160ff18a07f3a505d452dcced8e45ecdd0a85506",
      "tree": "68faa9997e62de66cfc0f06ed744737443345c7f",
      "parents": [
        "e990b37b906b6137d353ef2a918e15e5763d70ec"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 07:18:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:16:28 2011 -0700"
      },
      "message": "af-packet: Hold reference to bound network devices.\n\nOld code was probably safe, but with this change we\ncan actually use the netdev object, not just compare\nthe pointer values.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a3bcc23e890a6d49d6763d9eb073d711de2e0469",
      "tree": "c4156e932f081dc14a514d5ab23cd43e590029cd",
      "parents": [
        "41be5a4a3668810bf3687a76c2b017bd437039e0"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 06:49:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:18:03 2011 -0700"
      },
      "message": "af-packet: Add flag to distinguish VID 0 from no-vlan.\n\nCurrently, user-space cannot determine if a 0 tcp_vlan_tci\nmeans there is no VLAN tag or the VLAN ID was zero.\n\nAdd flag to make this explicit.  User-space can check for\nTP_STATUS_VLAN_VALID || tp_vlan_tci \u003e 0, which will be backwards\ncompatible. Older could would have just checked for tp_vlan_tci,\nso it will work no worse than before.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a14842f5a3c0e88a1e59fac5c3025db39721f74",
      "tree": "4d0832c4c9ced2503e2d899eb56952f87511d4ab",
      "parents": [
        "b678027cb77b079bc8e5b94172995d173bdb494b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 20 09:27:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 23:05:08 2011 -0700"
      },
      "message": "net: filter: Just In Time compiler for x86-64\n\nIn order to speedup packet filtering, here is an implementation of a\nJIT compiler for x86_64\n\nIt is disabled by default, and must be enabled by the admin.\n\necho 1 \u003e/proc/sys/net/core/bpf_jit_enable\n\nIt uses module_alloc() and module_free() to get memory in the 2GB text\nkernel range since we call helpers functions from the generated code.\n\nEAX : BPF A accumulator\nEBX : BPF X accumulator\nRDI : pointer to skb   (first argument given to JIT function)\nRBP : frame pointer (even if CONFIG_FRAME_POINTER\u003dn)\nr9d : skb-\u003elen - skb-\u003edata_len (headlen)\nr8  : skb-\u003edata\n\nTo get a trace of generated code, use :\n\necho 2 \u003e/proc/sys/net/core/bpf_jit_enable\n\nExample of generated code :\n\n# tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24\n\nflen\u003d18 proglen\u003d147 pass\u003d3 image\u003dffffffffa00b5000\nJIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60\nJIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00\nJIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00\nJIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be\nJIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0\nJIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00\nJIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00\nJIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24\nJIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31\nJIT code: ffffffffa00b5090: c0 c9 c3\n\nBPF program is 144 bytes long, so native program is almost same size ;)\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2    jf 8\n(002) ld       [26]\n(003) and      #0xffffff00\n(004) jeq      #0xc0a81400      jt 16   jf 5\n(005) ld       [30]\n(006) and      #0xffffff00\n(007) jeq      #0xc0a81400      jt 16   jf 17\n(008) jeq      #0x806           jt 10   jf 9\n(009) jeq      #0x8035          jt 10   jf 17\n(010) ld       [28]\n(011) and      #0xffffff00\n(012) jeq      #0xc0a81400      jt 16   jf 13\n(013) ld       [38]\n(014) and      #0xffffff00\n(015) jeq      #0xc0a81400      jt 16   jf 17\n(016) ret      #65535\n(017) ret      #0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e143038f4dda10a51985b9a3f9fb07d73a5eadfa",
      "tree": "8c96993a468d762bfc4fe7bb299b424ffe02cdf0",
      "parents": [
        "4b66fef9b591b95f447aea12242a1133deb0bd22"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:13 2011 -0800"
      },
      "message": "af_packet: struct socket declared/assigned but unused\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57f89bfa21403d902ee176ef988136b75d9ab30b",
      "tree": "3ebee83312498997fdd4630acfe0cfccec84835c",
      "parents": [
        "ab889e6607f6e3d52a76c5a43c8c4ad1d354da36"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Feb 11 09:35:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 11 21:26:32 2011 -0800"
      },
      "message": "network: Allow af_packet to transmit +4 bytes for VLAN packets.\n\nThis allows user-space to send a \u00271500\u0027 MTU VLAN packet on a\n1500 MTU ethernet frame.  The extra 4 bytes of a VLAN header is\nnot usually charged against the MTU when other parts of the\nnetwork stack is transmitting vlans...\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "441c793a56502638d45d5da2195056d686147370",
      "tree": "df9860150ce675a2f05e657f2ccad572eced7a66",
      "parents": [
        "6997e618910b902081a5123f228aac620faa899b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Jan 13 22:19:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:20:04 2011 -0800"
      },
      "message": "net: cleanup unused macros in net directory\n\nClean up some unused macros in net/*.\n1. be left for code change. e.g. PGV_FROM_VMALLOC, PGV_FROM_VMALLOC, KMEM_SAFETYZONE.\n2. never be used since introduced to kernel.\n   e.g. P9_RDMA_MAX_SGE, UTIL_CTRL_PKT_SIZE.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80f8f1027b99660897bdeaeae73002185d829906",
      "tree": "b8aafe71974b2b7295f20eeb1fad6191fadd8551",
      "parents": [
        "d6ae3bae3d1bf7a8bf367e29f2cac0788dcd0db5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 18 07:46:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 21:33:05 2011 -0800"
      },
      "message": "net: filter: dont block softirqs in sk_run_filter()\n\nPacket filter (BPF) doesnt need to disable softirqs, being fully\nre-entrant and lock-less.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55508d601dab7df5cbcc7a63f4be8620eface204",
      "tree": "346f30fae9c726d2e73aba2e37ce1e4a31dcea8c",
      "parents": [
        "04fb451eff978ca059399eab83d5594b073caf6f"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Use skb_checksum_start_offset()\n\nReplace skb-\u003ecsum_start - skb_headroom(skb) with skb_checksum_start_offset().\n\nNote for usb/smsc95xx: skb-\u003edata - skb-\u003ehead \u003d\u003d skb_headroom(skb).\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c053fd96d0d3d18c721f880b8fdd0b925894d9c4",
      "tree": "082814cf599326b07146135823a4c9cae40059d9",
      "parents": [
        "ed4ba4b5b96742d29225308ccccbdb1810b63064"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "message": "af_packet: use swap() instead of the open coded macro XC()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920b8d913bd3d963d5c88bca160a272b71e0c95a",
      "tree": "84382c9bc25de8649d2d55120ec9da5194c88b4a",
      "parents": [
        "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 05:05:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: fix freeing pg_vec twice on error path\n\nIt is introduced in:\n        commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n        Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n        Date:   Tue Nov 16 10:26:47 2010 -0800\n\n        packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051",
      "tree": "f922f2991f04ffd29d76e4fbaf07ec299efbdd1c",
      "parents": [
        "15c2d75f49189e1769c5e8f5f099d03d055c4910"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 04:26:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: eliminate pgv_to_page on some arches\n\nSome arches don\u0027t need flush_dcache_page(), and don\u0027t implement it, so\nwe can eliminate pgv_to_page() calls on those arches.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62ab0812137ec4f9884dd7de346238841ac03283",
      "tree": "da0807aee4597522b0ecabc51d2d9fc300895d98",
      "parents": [
        "38f49e8801565674c424896c3dcb4228410b43a8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Dec 06 20:50:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:30:34 2010 -0800"
      },
      "message": "filter: constify sk_run_filter()\n\nsk_run_filter() doesnt write on skb, change its prototype to reflect\nthis.\n\nFix two af_packet comments.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c56b4d90123b77e29a91b9b96bb791f929139d8e",
      "tree": "1bf543b3c47c20f26eb4378ceb9fc3a1edd0f3f4",
      "parents": [
        "0af55bb58f8fa7865004ac48d16affe125ac1b7f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:07 2010 -0800"
      },
      "message": "af_packet: remove pgv.flags\n\nAs we can check if an address is vmalloc address with is_vmalloc_addr(),\nwe remove pgv.flags. Then we may get more pg_vecs.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0af55bb58f8fa7865004ac48d16affe125ac1b7f",
      "tree": "b91fb024121975b3897d2132da744abe288be378",
      "parents": [
        "f7fce74e387e0563e5a165704664aa5ee8b2f48b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:06 2010 -0800"
      },
      "message": "af_packet: use vmalloc_to_page() instead for the addresss returned by vmalloc()\n\nThe following commit causes the pgv-\u003ebuffer may point to the memory\nreturned by vmalloc(). And we can\u0027t use virt_to_page() for the vmalloc\naddress.\n\nThis patch introduces a new inline function pgv_to_page(), which calls\nvmalloc_to_page() for the vmalloc address, and virt_to_page() for the\n__get_free_pages address.\n\nWe used to increase page pointer to get the next page at the next page\naddress, after Neil\u0027s patch, it is wrong, as the physical address may\nbe not continuous. This patch also fixes this issue.\n\n    commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n    Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n    Date:   Tue Nov 16 10:26:47 2010 -0800\n\n    packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbce5a59e4e0e6e1dbc85492caaf310ff6611309",
      "tree": "ba64b369e60484e681e57ee63715b3d22cc7db16",
      "parents": [
        "9a2d09cf61c9d9f1b31998bec5363a583e4564a4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Nov 20 07:31:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 21 10:01:42 2010 -0800"
      },
      "message": "packet: use vzalloc()\n\nalloc_one_pg_vec_page() is supposed to return zeroed memory, so use\nvzalloc() instead of vmalloc()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93aaae2e01e57483256b7da05c9a7ebd65ad4686",
      "tree": "b3e4117bbf39814ef58ce1d012d977d2d5393c38",
      "parents": [
        "0a80410dc53cf68e56456bef1ca66949b87412f9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "message": "filter: optimize sk_run_filter\n\nRemove pc variable to avoid arithmetic to compute fentry at each filter\ninstruction. Jumps directly manipulate fentry pointer.\n\nAs the last instruction of filter[] is guaranteed to be a RETURN, and\nall jumps are before the last instruction, we dont need to check filter\nbounds (number of instructions in filter array) at each iteration, so we\nremove it from sk_run_filter() params.\n\nOn x86_32 remove f_k var introduced in commit 57fe93b374a6b871\n(filter: make sure filters dont read uninitialized memory)\n\nNote : We could use a CONFIG_ARCH_HAS_{FEW|MANY}_REGISTERS in order to\navoid too many ifdefs in this code.\n\nThis helps compiler to use cpu registers to hold fentry and A\naccumulator.\n\nOn x86_32, this saves 401 bytes, and more important, sk_run_filter()\nruns much faster because less register pressure (One less conditional\nbranch per BPF instruction)\n\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   2948       0       0    2948     b84 net/core/filter.o\n   3349       0       0    3349     d15 net/core/filter_pre.o\n\non x86_64 :\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   5173       0       0    5173    1435 net/core/filter.o\n   5224       0       0    5224    1468 net/core/filter_pre.o\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3125c755445664f00ad036e4fc2cd32fd52877",
      "tree": "b26db97e3239324ac16b13e299e43b7bf2b9560c",
      "parents": [
        "020f01ebd04f3429c32586d90598c9f59e54ca7d"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "message": "packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\nMIME-Version: 1.0\nContent-Type: text/plain; charset\u003dUTF-8\nContent-Transfer-Encoding: 8bit\n\nVersion 4 of this patch.\n\nChange notes:\n1) Removed extra memset.  Didn\u0027t think kcalloc added a GFP_ZERO the way kzalloc did :)\n\nSummary:\nIt was shown to me recently that systems under high load were driven very deep\ninto swap when tcpdump was run.  The reason this happened was because the\nAF_PACKET protocol has a SET_RINGBUFFER socket option that allows the user space\napplication to specify how many entries an AF_PACKET socket will have and how\nlarge each entry will be.  It seems the default setting for tcpdump is to set\nthe ring buffer to 32 entries of 64 Kb each, which implies 32 order 5\nallocation.  Thats difficult under good circumstances, and horrid under memory\npressure.\n\nI thought it would be good to make that a bit more usable.  I was going to do a\nsimple conversion of the ring buffer from contigous pages to iovecs, but\nunfortunately, the metadata which AF_PACKET places in these buffers can easily\nspan a page boundary, and given that these buffers get mapped into user space,\nand the data layout doesn\u0027t easily allow for a change to padding between frames\nto avoid that, a simple iovec change is just going to break user space ABI\nconsistency.\n\nSo I\u0027ve done this, I\u0027ve added a three tiered mechanism to the af_packet set_ring\nsocket option.  It attempts to allocate memory in the following order:\n\n1) Using __get_free_pages with GFP_NORETRY set, so as to fail quickly without\ndigging into swap\n\n2) Using vmalloc\n\n3) Using __get_free_pages with GFP_NORETRY clear, causing us to try as hard as\nneeded to get the memory\n\nThe effect is that we don\u0027t disturb the system as much when we\u0027re under load,\nwhile still being able to conduct tcpdumps effectively.\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nReported-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f18b7176e2e41fada24584ce3c80e9abfaca52b",
      "tree": "4f5cc10413729e16e8965c81afba3ca953ff3642",
      "parents": [
        "7c13a0d9a1ac6875f6380763b947f4a5a016605f"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "mk@lab.zgora.pl",
        "time": "Mon Nov 08 11:58:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 11:06:46 2010 -0800"
      },
      "message": "net: Fix header size check for GSO case in recvmsg (af_packet)\n\nParameter \u0027len\u0027 is size_t type so it will never get negative.\n\nSigned-off-by: Mariusz Kozlowski \u003cmk@lab.zgora.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67286640f638f5ad41a946b9a3dc75327950248f",
      "tree": "34844d5e00a54f78b384f75f6cded995423d7fc6",
      "parents": [
        "57fe93b374a6b8711995c2d466c502af9f3a08bb"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "message": "net: packet: fix information leak to userland\n\npacket_getname_spkt() doesn\u0027t initialize all members of sa_data field of\nsockaddr struct if strlen(dev-\u003ename) \u003c 13.  This structure is then copied\nto userland.  It leads to leaking of contents of kernel stack memory.\nWe have to fully fill sa_data with strncpy() instead of strlcpy().\n\nThe same with packet_getname(): it doesn\u0027t initialize sll_pkttype field of\nsockaddr_ll.  Set it to zero.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2244d07bfa2097cb00600da91c715a8aa547917e",
      "tree": "44d67d9ffba3697fffeb05c13e88aa76ebc3fd4a",
      "parents": [
        "4d5870ec103e6569851b9710f0093f072b08439a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 17 08:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 00:08:30 2010 -0700"
      },
      "message": "net: simplify flags for tx timestamping\n\nThis patch removes the abstraction introduced by the union skb_shared_tx in\nthe shared skb data.\n\nThe access of the different union elements at several places led to some\nconfusion about accessing the shared tx_flags e.g. in skb_orphan_try().\n\n    http://marc.info/?l\u003dlinux-netdev\u0026m\u003d128084897415886\u0026w\u003d2\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "614f60fa9d73a9e8fdff3df83381907fea7c5649",
      "tree": "a1b7704393b7042242470db09d59944bca67ec51",
      "parents": [
        "7dad171c39dc83bd267c4f98d8b02d38e0d65596"
      ],
      "author": {
        "name": "Scott McMillan",
        "email": "scott.a.mcmillan@intel.com",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "message": "packet_mmap: expose hw packet timestamps to network packet capture utilities\n\nThis patch adds a setting, PACKET_TIMESTAMP, to specify the packet\ntimestamp source that is exported to capture utilities like tcpdump by\npacket_mmap.\n\nPACKET_TIMESTAMP accepts the same integer bit field as\nSO_TIMESTAMPING.  However, only the SOF_TIMESTAMPING_SYS_HARDWARE and\nSOF_TIMESTAMPING_RAW_HARDWARE values are currently recognized by\nPACKET_TIMESTAMP.  SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over\nSOF_TIMESTAMPING_RAW_HARDWARE if both bits are set.\n\nIf PACKET_TIMESTAMP is not set, a software timestamp generated inside\nthe networking stack is used (the behavior before this setting was\nadded).\n\nSigned-off-by: Scott McMillan \u003cscott.a.mcmillan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "1c4f0197323254e463b642abf2c8361e2a924859",
      "tree": "5dc70f6fc0baabe81f50fec965dd0d66dd772a21",
      "parents": [
        "31f634a63de7068c6a5dcb0d7b09b24b61a5cf88"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Apr 14 23:11:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 15:41:04 2010 -0700"
      },
      "message": "packet : remove init_net restriction\n\nThe af_packet protocol is used by Perl to do ioctls as reported by\nStephane Riviere:\n\n\"Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC\naddresses of the network interface.\"\n\nBut in a new network namespace these ioctl fail because it is disabled for\na namespace different from the init_net_ns.\n\nThese two lines should not be there as af_inet and af_packet are\nnamespace aware since a long time now. I suppose we forget to remove these\nlines because we sent the af_packet first, before af_inet was supported.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nReported-by: Stephane Riviere \u003cstephane.riviere@regis-dgac.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed85b565b825566da34e55eee9ad150ed93fdda0",
      "tree": "77b9bad66d0cd6a1b7c657995100d555b8ecb9eb",
      "parents": [
        "7d53b80980a598836c56517290b29aa7b0766ef8"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Apr 07 22:41:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:30:48 2010 -0700"
      },
      "message": "packet: support for TX time stamps on RAW sockets\n\nEnable the SO_TIMESTAMPING socket infrastructure for raw packet sockets.\nWe introduce PACKET_TX_TIMESTAMP for the control message cmsg_type.\n\nSimilar support for UDP and CAN sockets was added in commit\n51f31cabe3ce5345b51e4a4f82138b38c4d5dc91\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a748ee2426817a95b1f03012d8f339c45c722ae1",
      "tree": "37cb9f8836f05bd49b86eb52ddeff3e98185cc58",
      "parents": [
        "9fc4178b149ae8b0a2fbf83f2f4df3cf8789177b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:11 2010 -0700"
      },
      "message": "net: move address list functions to a separate file\n\n+little renaming of unicast functions to be smooth with multicast ones\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1162563f82b434e3099c9e6c1bbdba846d792f0d",
      "tree": "3903e4265740f2b2049615d7178aa434252bf5f3",
      "parents": [
        "9fe969345b10931319b3f1e7034fbdeb786de234"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 02 20:40:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 03 01:04:38 2010 -0800"
      },
      "message": "af_packet: move strict addr_len check right before dev_[mc/unicast]_[add/del]\n\nMy previous patch 914c8ad2d18b62ad1420f518c0cab0b0b90ab308 incorrectly changed\nthe length check in packet_mc_add to be more strict. The problem is that\nuserspace is not filling this field (and it stays zeroed) in case of setting\nPACKET_MR_PROMISC or PACKET_MR_ALLMULTI. So move the strict check to the point\nin path where the addr_len must be set correctly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47871889c601d8199c51a4086f77eebd77c29b0b",
      "tree": "40cdcac3bff0ee40cc33dcca61d0577cdf965f77",
      "parents": [
        "c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3",
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/firmware/iscsi_ibft.c\n"
    },
    {
      "commit": "914c8ad2d18b62ad1420f518c0cab0b0b90ab308",
      "tree": "1e2d35a5dd2c1dcba1cc02f9c022ce923dc12d9f",
      "parents": [
        "2a3f279034b46204b50408aa2c25ee0882120147"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Feb 24 23:57:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 26 04:18:34 2010 -0800"
      },
      "message": "af_packet: do not accept mc address smaller then dev-\u003eaddr_len in packet_mc_add()\n\nThere is no point of accepting an address of smaller length than dev-\u003eaddr_len\nhere. Therefore change this for stonger check.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a898def29e4119bc01ebe7ca97423181f4c0ea2d",
      "tree": "e6f89d4f4a91fd24507ad600ebb9ad620ec9d9a8",
      "parents": [
        "3120438ad68601f341e61e7cb1323b0e1a6ca367"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:49 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:03 2010 +0100"
      },
      "message": "net: Add checking to rcu_dereference() primitives\n\nUpdate rcu_dereference() primitives to use new lockdep-based\nchecking. The rcu_dereference() in __in6_dev_get() may be\nprotected either by rcu_read_lock() or RTNL, per Eric Dumazet.\nThe rcu_dereference() in __sk_free() is protected by the fact\nthat it is never reached if an update could change it.  Check\nfor this by using rcu_dereference_check() to verify that the\nstruct sock\u0027s -\u003esk_wmem_alloc counter is zero.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-5-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "808f5114a9206fee855117d416440e1071ab375c",
      "tree": "cec3f04220909b77c0880029b63862553ad5161c",
      "parents": [
        "1cc523271ef0b6305c565a143e3d48f6fff826dd"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 22 07:57:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 22 15:45:56 2010 -0800"
      },
      "message": "packet: convert socket list to RCU (v3)\n\nConvert AF_PACKET to use RCU, eliminating one more reader/writer lock.\n\nThere is no need for a real sk_del_node_init_rcu(), because sk_del_node_init\nis doing the equivalent thing to hlst_del_init_rcu already; but added\nsome comments to try and make that obvious.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7ceabd9b528417973619c5b655bc5b21857ac36",
      "tree": "c253a00794dc2078f03eb2690c0a99e020596395",
      "parents": [
        "b999748acce739675a5e9420f21e54b8cbad9d81"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Feb 08 23:19:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 10 11:12:08 2010 -0800"
      },
      "message": "net: packet: use seq_hlist_foo() helpers\n\nSimplify seq_file code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "889b8f964f2f226b7cd5a0a515109e3d8d9d1613",
      "tree": "c576152db1b3ea0b68206393735aec566e9aadf3",
      "parents": [
        "7aeef972cce30b0ab04047e07918b04d867e7a29"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "message": "packet: Kill CONFIG_PACKET_MMAP.\n\nEarly on this was an experimental facility that few\npeople other than Alexey Kuznetsov played with.\n\nNow it\u0027s a pretty fundamental thing and as people add\nmore features to AF_PACKET sockets this config options\ncreates ifdef spaghetti.\n\nSo kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3",
      "tree": "63d19326b491b507f246ea4c3ef410d62602e794",
      "parents": [
        "746079dabcf74be2a16dc983ac597156e3d2e051"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "message": "packet: Add GSO/csum offload support.\n\nThis patch adds GSO/checksum offload to af_packet sockets using\nvirtio_net_hdr. Based on Rusty\u0027s patch to add this support to tun.\nIt allows GSO/checksum offload to be enabled when using raw socket\nbackend with virtio_net.\nAdds PACKET_VNET_HDR socket option to prepend virtio_net_hdr in the\nreceive path and process/skip virtio_net_hdr in the send path. This\noption is only allowed with SOCK_RAW sockets attached to ethernet\ntype devices.\n\nv2 updates\n----------\nMichael\u0027s Comments\n- Perform length check in packet_snd() when GSO is off even when\n  vnet_hdr is present.\n- Check for SKB_GSO_FCOE type and return -EINVAL\n- don\u0027t allow tx/rx ring when vnet_hdr is enabled.\nHerbert\u0027s Comments\n- Removed ethernet specific code.\n- protocol value is assumed to be passed in by the caller.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb70df13ee52dbc0f2c0ffd8ed34a8cd27440baf",
      "tree": "9026781435cdaf46b8414f4596903dd7d5f2e5ae",
      "parents": [
        "fa15e99b6bb44aa86b241a43ca8c509e91f80153"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Jan 10 22:04:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 15:39:42 2010 -0800"
      },
      "message": "af_packet: Don\u0027t use skb after dev_queue_xmit()\n\ntpacket_snd() can change and kfree an skb after dev_queue_xmit(),\nwhich is illegal.\n\nWith debugging by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\nReported-by: Michael Breuer \u003cmbreuer@majjas.com\u003e\nWith help from: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Michael Breuer\u003cmbreuer@majjas.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a35ca80c1db7279c3c0655063f6d3490e399b17",
      "tree": "3ff2f23730c2bc6ea8af20232d02dad65ae63f0a",
      "parents": [
        "81e839efc22361e3fa7ee36f99fd57c57d0d1871"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 15 05:47:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 21:12:21 2009 -0800"
      },
      "message": "packet: dont call sleeping functions while holding rcu_read_lock()\n\ncommit 654d1f8a019dfa06d (packet: less dev_put() calls)\nintroduced a problem, calling potentially sleeping functions from a\nrcu_read_lock() protected section.\n\nFix this by releasing lock before the sock_wmalloc()/memcpy_fromiovec() calls.\n\nAfter skb allocation and copy from user space, we redo device\nlookup and appropriate tests.\n\nReported-and-tested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "09ad9bc752519cc167d0a573e1acf69b5c707c67"
}
