)]}'
{
  "log": [
    {
      "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": "a3bcc23e890a6d49d6763d9eb073d711de2e0469",
      "tree": "c4156e932f081dc14a514d5ab23cd43e590029cd",
      "parents": [
        "41be5a4a3668810bf3687a76c2b017bd437039e0"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Wed Jun 01 06:49:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 01 21:18:03 2011 -0700"
      },
      "message": "af-packet: Add flag to distinguish VID 0 from no-vlan.\n\nCurrently, user-space cannot determine if a 0 tcp_vlan_tci\nmeans there is no VLAN tag or the VLAN ID was zero.\n\nAdd flag to make this explicit.  User-space can check for\nTP_STATUS_VLAN_VALID || tp_vlan_tci \u003e 0, which will be backwards\ncompatible. Older could would have just checked for tp_vlan_tci,\nso it will work no worse than before.\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a14842f5a3c0e88a1e59fac5c3025db39721f74",
      "tree": "4d0832c4c9ced2503e2d899eb56952f87511d4ab",
      "parents": [
        "b678027cb77b079bc8e5b94172995d173bdb494b"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 20 09:27:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 23:05:08 2011 -0700"
      },
      "message": "net: filter: Just In Time compiler for x86-64\n\nIn order to speedup packet filtering, here is an implementation of a\nJIT compiler for x86_64\n\nIt is disabled by default, and must be enabled by the admin.\n\necho 1 \u003e/proc/sys/net/core/bpf_jit_enable\n\nIt uses module_alloc() and module_free() to get memory in the 2GB text\nkernel range since we call helpers functions from the generated code.\n\nEAX : BPF A accumulator\nEBX : BPF X accumulator\nRDI : pointer to skb   (first argument given to JIT function)\nRBP : frame pointer (even if CONFIG_FRAME_POINTER\u003dn)\nr9d : skb-\u003elen - skb-\u003edata_len (headlen)\nr8  : skb-\u003edata\n\nTo get a trace of generated code, use :\n\necho 2 \u003e/proc/sys/net/core/bpf_jit_enable\n\nExample of generated code :\n\n# tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24\n\nflen\u003d18 proglen\u003d147 pass\u003d3 image\u003dffffffffa00b5000\nJIT code: ffffffffa00b5000: 55 48 89 e5 48 83 ec 60 48 89 5d f8 44 8b 4f 60\nJIT code: ffffffffa00b5010: 44 2b 4f 64 4c 8b 87 b8 00 00 00 be 0c 00 00 00\nJIT code: ffffffffa00b5020: e8 24 7b f7 e0 3d 00 08 00 00 75 28 be 1a 00 00\nJIT code: ffffffffa00b5030: 00 e8 fe 7a f7 e0 24 00 3d 00 14 a8 c0 74 49 be\nJIT code: ffffffffa00b5040: 1e 00 00 00 e8 eb 7a f7 e0 24 00 3d 00 14 a8 c0\nJIT code: ffffffffa00b5050: 74 36 eb 3b 3d 06 08 00 00 74 07 3d 35 80 00 00\nJIT code: ffffffffa00b5060: 75 2d be 1c 00 00 00 e8 c8 7a f7 e0 24 00 3d 00\nJIT code: ffffffffa00b5070: 14 a8 c0 74 13 be 26 00 00 00 e8 b5 7a f7 e0 24\nJIT code: ffffffffa00b5080: 00 3d 00 14 a8 c0 75 07 b8 ff ff 00 00 eb 02 31\nJIT code: ffffffffa00b5090: c0 c9 c3\n\nBPF program is 144 bytes long, so native program is almost same size ;)\n\n(000) ldh      [12]\n(001) jeq      #0x800           jt 2    jf 8\n(002) ld       [26]\n(003) and      #0xffffff00\n(004) jeq      #0xc0a81400      jt 16   jf 5\n(005) ld       [30]\n(006) and      #0xffffff00\n(007) jeq      #0xc0a81400      jt 16   jf 17\n(008) jeq      #0x806           jt 10   jf 9\n(009) jeq      #0x8035          jt 10   jf 17\n(010) ld       [28]\n(011) and      #0xffffff00\n(012) jeq      #0xc0a81400      jt 16   jf 13\n(013) ld       [38]\n(014) and      #0xffffff00\n(015) jeq      #0xc0a81400      jt 16   jf 17\n(016) ret      #65535\n(017) ret      #0\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@infradead.org\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e143038f4dda10a51985b9a3f9fb07d73a5eadfa",
      "tree": "8c96993a468d762bfc4fe7bb299b424ffe02cdf0",
      "parents": [
        "4b66fef9b591b95f447aea12242a1133deb0bd22"
      ],
      "author": {
        "name": "Hagen Paul Pfeifer",
        "email": "hagen@jauu.net",
        "time": "Fri Mar 04 11:45:04 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 07 15:51:13 2011 -0800"
      },
      "message": "af_packet: struct socket declared/assigned but unused\n\nSigned-off-by: Hagen Paul Pfeifer \u003chagen@jauu.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57f89bfa21403d902ee176ef988136b75d9ab30b",
      "tree": "3ebee83312498997fdd4630acfe0cfccec84835c",
      "parents": [
        "ab889e6607f6e3d52a76c5a43c8c4ad1d354da36"
      ],
      "author": {
        "name": "Ben Greear",
        "email": "greearb@candelatech.com",
        "time": "Fri Feb 11 09:35:18 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 11 21:26:32 2011 -0800"
      },
      "message": "network: Allow af_packet to transmit +4 bytes for VLAN packets.\n\nThis allows user-space to send a \u00271500\u0027 MTU VLAN packet on a\n1500 MTU ethernet frame.  The extra 4 bytes of a VLAN header is\nnot usually charged against the MTU when other parts of the\nnetwork stack is transmitting vlans...\n\nSigned-off-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "441c793a56502638d45d5da2195056d686147370",
      "tree": "df9860150ce675a2f05e657f2ccad572eced7a66",
      "parents": [
        "6997e618910b902081a5123f228aac620faa899b"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Thu Jan 13 22:19:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 23:20:04 2011 -0800"
      },
      "message": "net: cleanup unused macros in net directory\n\nClean up some unused macros in net/*.\n1. be left for code change. e.g. PGV_FROM_VMALLOC, PGV_FROM_VMALLOC, KMEM_SAFETYZONE.\n2. never be used since introduced to kernel.\n   e.g. P9_RDMA_MAX_SGE, UTIL_CTRL_PKT_SIZE.\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nAcked-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80f8f1027b99660897bdeaeae73002185d829906",
      "tree": "b8aafe71974b2b7295f20eeb1fad6191fadd8551",
      "parents": [
        "d6ae3bae3d1bf7a8bf367e29f2cac0788dcd0db5"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jan 18 07:46:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 21:33:05 2011 -0800"
      },
      "message": "net: filter: dont block softirqs in sk_run_filter()\n\nPacket filter (BPF) doesnt need to disable softirqs, being fully\nre-entrant and lock-less.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55508d601dab7df5cbcc7a63f4be8620eface204",
      "tree": "346f30fae9c726d2e73aba2e37ce1e4a31dcea8c",
      "parents": [
        "04fb451eff978ca059399eab83d5594b073caf6f"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Use skb_checksum_start_offset()\n\nReplace skb-\u003ecsum_start - skb_headroom(skb) with skb_checksum_start_offset().\n\nNote for usb/smsc95xx: skb-\u003edata - skb-\u003ehead \u003d\u003d skb_headroom(skb).\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c053fd96d0d3d18c721f880b8fdd0b925894d9c4",
      "tree": "082814cf599326b07146135823a4c9cae40059d9",
      "parents": [
        "ed4ba4b5b96742d29225308ccccbdb1810b63064"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 16:02:20 2010 -0800"
      },
      "message": "af_packet: use swap() instead of the open coded macro XC()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920b8d913bd3d963d5c88bca160a272b71e0c95a",
      "tree": "84382c9bc25de8649d2d55120ec9da5194c88b4a",
      "parents": [
        "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 05:05:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: fix freeing pg_vec twice on error path\n\nIt is introduced in:\n        commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n        Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n        Date:   Tue Nov 16 10:26:47 2010 -0800\n\n        packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6dafa95d1a48f73ab4a5b0f7dc0dcb72817e051",
      "tree": "f922f2991f04ffd29d76e4fbaf07ec299efbdd1c",
      "parents": [
        "15c2d75f49189e1769c5e8f5f099d03d055c4910"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Tue Dec 07 04:26:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:43:41 2010 -0800"
      },
      "message": "af_packet: eliminate pgv_to_page on some arches\n\nSome arches don\u0027t need flush_dcache_page(), and don\u0027t implement it, so\nwe can eliminate pgv_to_page() calls on those arches.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62ab0812137ec4f9884dd7de346238841ac03283",
      "tree": "da0807aee4597522b0ecabc51d2d9fc300895d98",
      "parents": [
        "38f49e8801565674c424896c3dcb4228410b43a8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Dec 06 20:50:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 10:30:34 2010 -0800"
      },
      "message": "filter: constify sk_run_filter()\n\nsk_run_filter() doesnt write on skb, change its prototype to reflect\nthis.\n\nFix two af_packet comments.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c56b4d90123b77e29a91b9b96bb791f929139d8e",
      "tree": "1bf543b3c47c20f26eb4378ceb9fc3a1edd0f3f4",
      "parents": [
        "0af55bb58f8fa7865004ac48d16affe125ac1b7f"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:07 2010 -0800"
      },
      "message": "af_packet: remove pgv.flags\n\nAs we can check if an address is vmalloc address with is_vmalloc_addr(),\nwe remove pgv.flags. Then we may get more pg_vecs.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0af55bb58f8fa7865004ac48d16affe125ac1b7f",
      "tree": "b91fb024121975b3897d2132da744abe288be378",
      "parents": [
        "f7fce74e387e0563e5a165704664aa5ee8b2f48b"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Dec 01 02:52:20 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 06 12:59:06 2010 -0800"
      },
      "message": "af_packet: use vmalloc_to_page() instead for the addresss returned by vmalloc()\n\nThe following commit causes the pgv-\u003ebuffer may point to the memory\nreturned by vmalloc(). And we can\u0027t use virt_to_page() for the vmalloc\naddress.\n\nThis patch introduces a new inline function pgv_to_page(), which calls\nvmalloc_to_page() for the vmalloc address, and virt_to_page() for the\n__get_free_pages address.\n\nWe used to increase page pointer to get the next page at the next page\naddress, after Neil\u0027s patch, it is wrong, as the physical address may\nbe not continuous. This patch also fixes this issue.\n\n    commit 0e3125c755445664f00ad036e4fc2cd32fd52877\n    Author: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n    Date:   Tue Nov 16 10:26:47 2010 -0800\n\n    packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbce5a59e4e0e6e1dbc85492caaf310ff6611309",
      "tree": "ba64b369e60484e681e57ee63715b3d22cc7db16",
      "parents": [
        "9a2d09cf61c9d9f1b31998bec5363a583e4564a4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Nov 20 07:31:54 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 21 10:01:42 2010 -0800"
      },
      "message": "packet: use vzalloc()\n\nalloc_one_pg_vec_page() is supposed to return zeroed memory, so use\nvzalloc() instead of vmalloc()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93aaae2e01e57483256b7da05c9a7ebd65ad4686",
      "tree": "b3e4117bbf39814ef58ce1d012d977d2d5393c38",
      "parents": [
        "0a80410dc53cf68e56456bef1ca66949b87412f9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 19 09:49:59 2010 -0800"
      },
      "message": "filter: optimize sk_run_filter\n\nRemove pc variable to avoid arithmetic to compute fentry at each filter\ninstruction. Jumps directly manipulate fentry pointer.\n\nAs the last instruction of filter[] is guaranteed to be a RETURN, and\nall jumps are before the last instruction, we dont need to check filter\nbounds (number of instructions in filter array) at each iteration, so we\nremove it from sk_run_filter() params.\n\nOn x86_32 remove f_k var introduced in commit 57fe93b374a6b871\n(filter: make sure filters dont read uninitialized memory)\n\nNote : We could use a CONFIG_ARCH_HAS_{FEW|MANY}_REGISTERS in order to\navoid too many ifdefs in this code.\n\nThis helps compiler to use cpu registers to hold fentry and A\naccumulator.\n\nOn x86_32, this saves 401 bytes, and more important, sk_run_filter()\nruns much faster because less register pressure (One less conditional\nbranch per BPF instruction)\n\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   2948       0       0    2948     b84 net/core/filter.o\n   3349       0       0    3349     d15 net/core/filter_pre.o\n\non x86_64 :\n# size net/core/filter.o net/core/filter_pre.o\n   text    data     bss     dec     hex filename\n   5173       0       0    5173    1435 net/core/filter.o\n   5224       0       0    5224    1468 net/core/filter_pre.o\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e3125c755445664f00ad036e4fc2cd32fd52877",
      "tree": "b26db97e3239324ac16b13e299e43b7bf2b9560c",
      "parents": [
        "020f01ebd04f3429c32586d90598c9f59e54ca7d"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 10:26:47 2010 -0800"
      },
      "message": "packet: Enhance AF_PACKET implementation to not require high order contiguous memory allocation (v4)\nMIME-Version: 1.0\nContent-Type: text/plain; charset\u003dUTF-8\nContent-Transfer-Encoding: 8bit\n\nVersion 4 of this patch.\n\nChange notes:\n1) Removed extra memset.  Didn\u0027t think kcalloc added a GFP_ZERO the way kzalloc did :)\n\nSummary:\nIt was shown to me recently that systems under high load were driven very deep\ninto swap when tcpdump was run.  The reason this happened was because the\nAF_PACKET protocol has a SET_RINGBUFFER socket option that allows the user space\napplication to specify how many entries an AF_PACKET socket will have and how\nlarge each entry will be.  It seems the default setting for tcpdump is to set\nthe ring buffer to 32 entries of 64 Kb each, which implies 32 order 5\nallocation.  Thats difficult under good circumstances, and horrid under memory\npressure.\n\nI thought it would be good to make that a bit more usable.  I was going to do a\nsimple conversion of the ring buffer from contigous pages to iovecs, but\nunfortunately, the metadata which AF_PACKET places in these buffers can easily\nspan a page boundary, and given that these buffers get mapped into user space,\nand the data layout doesn\u0027t easily allow for a change to padding between frames\nto avoid that, a simple iovec change is just going to break user space ABI\nconsistency.\n\nSo I\u0027ve done this, I\u0027ve added a three tiered mechanism to the af_packet set_ring\nsocket option.  It attempts to allocate memory in the following order:\n\n1) Using __get_free_pages with GFP_NORETRY set, so as to fail quickly without\ndigging into swap\n\n2) Using vmalloc\n\n3) Using __get_free_pages with GFP_NORETRY clear, causing us to try as hard as\nneeded to get the memory\n\nThe effect is that we don\u0027t disturb the system as much when we\u0027re under load,\nwhile still being able to conduct tcpdumps effectively.\n\nTested successfully by me.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nReported-by: Maciej Żenczykowski \u003czenczykowski@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f18b7176e2e41fada24584ce3c80e9abfaca52b",
      "tree": "4f5cc10413729e16e8965c81afba3ca953ff3642",
      "parents": [
        "7c13a0d9a1ac6875f6380763b947f4a5a016605f"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "mk@lab.zgora.pl",
        "time": "Mon Nov 08 11:58:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 12 11:06:46 2010 -0800"
      },
      "message": "net: Fix header size check for GSO case in recvmsg (af_packet)\n\nParameter \u0027len\u0027 is size_t type so it will never get negative.\n\nSigned-off-by: Mariusz Kozlowski \u003cmk@lab.zgora.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67286640f638f5ad41a946b9a3dc75327950248f",
      "tree": "34844d5e00a54f78b384f75f6cded995423d7fc6",
      "parents": [
        "57fe93b374a6b8711995c2d466c502af9f3a08bb"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 10 12:09:10 2010 -0800"
      },
      "message": "net: packet: fix information leak to userland\n\npacket_getname_spkt() doesn\u0027t initialize all members of sa_data field of\nsockaddr struct if strlen(dev-\u003ename) \u003c 13.  This structure is then copied\nto userland.  It leads to leaking of contents of kernel stack memory.\nWe have to fully fill sa_data with strncpy() instead of strlcpy().\n\nThe same with packet_getname(): it doesn\u0027t initialize sll_pkttype field of\nsockaddr_ll.  Set it to zero.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2244d07bfa2097cb00600da91c715a8aa547917e",
      "tree": "44d67d9ffba3697fffeb05c13e88aa76ebc3fd4a",
      "parents": [
        "4d5870ec103e6569851b9710f0093f072b08439a"
      ],
      "author": {
        "name": "Oliver Hartkopp",
        "email": "socketcan@hartkopp.net",
        "time": "Tue Aug 17 08:59:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 19 00:08:30 2010 -0700"
      },
      "message": "net: simplify flags for tx timestamping\n\nThis patch removes the abstraction introduced by the union skb_shared_tx in\nthe shared skb data.\n\nThe access of the different union elements at several places led to some\nconfusion about accessing the shared tx_flags e.g. in skb_orphan_try().\n\n    http://marc.info/?l\u003dlinux-netdev\u0026m\u003d128084897415886\u0026w\u003d2\n\nSigned-off-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "614f60fa9d73a9e8fdff3df83381907fea7c5649",
      "tree": "a1b7704393b7042242470db09d59944bca67ec51",
      "parents": [
        "7dad171c39dc83bd267c4f98d8b02d38e0d65596"
      ],
      "author": {
        "name": "Scott McMillan",
        "email": "scott.a.mcmillan@intel.com",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 02 05:53:56 2010 -0700"
      },
      "message": "packet_mmap: expose hw packet timestamps to network packet capture utilities\n\nThis patch adds a setting, PACKET_TIMESTAMP, to specify the packet\ntimestamp source that is exported to capture utilities like tcpdump by\npacket_mmap.\n\nPACKET_TIMESTAMP accepts the same integer bit field as\nSO_TIMESTAMPING.  However, only the SOF_TIMESTAMPING_SYS_HARDWARE and\nSOF_TIMESTAMPING_RAW_HARDWARE values are currently recognized by\nPACKET_TIMESTAMP.  SOF_TIMESTAMPING_SYS_HARDWARE takes precedence over\nSOF_TIMESTAMPING_RAW_HARDWARE if both bits are set.\n\nIf PACKET_TIMESTAMP is not set, a software timestamp generated inside\nthe networking stack is used (the behavior before this setting was\nadded).\n\nSigned-off-by: Scott McMillan \u003cscott.a.mcmillan@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87eb367003887cdc81a5d183efea227b5b488961",
      "tree": "40f617e25a9364d573e3cd2189c9e7fa56c8a0fe",
      "parents": [
        "ccb7c7732e2ceb4e81a7806faf1670be9681ccd2",
        "05d17608a69b3ae653ea5c9857283bef3439c733"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 21 01:14:25 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-6000.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "1c4f0197323254e463b642abf2c8361e2a924859",
      "tree": "5dc70f6fc0baabe81f50fec965dd0d66dd772a21",
      "parents": [
        "31f634a63de7068c6a5dcb0d7b09b24b61a5cf88"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "daniel.lezcano@free.fr",
        "time": "Wed Apr 14 23:11:14 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 16 15:41:04 2010 -0700"
      },
      "message": "packet : remove init_net restriction\n\nThe af_packet protocol is used by Perl to do ioctls as reported by\nStephane Riviere:\n\n\"Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC\naddresses of the network interface.\"\n\nBut in a new network namespace these ioctl fail because it is disabled for\na namespace different from the init_net_ns.\n\nThese two lines should not be there as af_inet and af_packet are\nnamespace aware since a long time now. I suppose we forget to remove these\nlines because we sent the af_packet first, before af_inet was supported.\n\nSigned-off-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nReported-by: Stephane Riviere \u003cstephane.riviere@regis-dgac.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed85b565b825566da34e55eee9ad150ed93fdda0",
      "tree": "77b9bad66d0cd6a1b7c657995100d555b8ecb9eb",
      "parents": [
        "7d53b80980a598836c56517290b29aa7b0766ef8"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Wed Apr 07 22:41:28 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 13 01:30:48 2010 -0700"
      },
      "message": "packet: support for TX time stamps on RAW sockets\n\nEnable the SO_TIMESTAMPING socket infrastructure for raw packet sockets.\nWe introduce PACKET_TX_TIMESTAMP for the control message cmsg_type.\n\nSimilar support for UDP and CAN sockets was added in commit\n51f31cabe3ce5345b51e4a4f82138b38c4d5dc91\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "22bedad3ce112d5ca1eaf043d4990fa2ed698c87",
      "tree": "b6fba5688d48b1396f01d13ee53610dea7749c15",
      "parents": [
        "a748ee2426817a95b1f03012d8f339c45c722ae1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:15 2010 -0700"
      },
      "message": "net: convert multicast list to list_head\n\nConverts the list and the core manipulating with it to be the same as uc_list.\n\n+uses two functions for adding/removing mc address (normal and \"global\"\n variant) instead of a function parameter.\n+removes dev_mcast.c completely.\n+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for\n manipulation with lists on a sandbox (used in bonding and 80211 drivers)\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a748ee2426817a95b1f03012d8f339c45c722ae1",
      "tree": "37cb9f8836f05bd49b86eb52ddeff3e98185cc58",
      "parents": [
        "9fc4178b149ae8b0a2fbf83f2f4df3cf8789177b"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Apr 01 21:22:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:22:11 2010 -0700"
      },
      "message": "net: move address list functions to a separate file\n\n+little renaming of unicast functions to be smooth with multicast ones\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1162563f82b434e3099c9e6c1bbdba846d792f0d",
      "tree": "3903e4265740f2b2049615d7178aa434252bf5f3",
      "parents": [
        "9fe969345b10931319b3f1e7034fbdeb786de234"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Mar 02 20:40:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 03 01:04:38 2010 -0800"
      },
      "message": "af_packet: move strict addr_len check right before dev_[mc/unicast]_[add/del]\n\nMy previous patch 914c8ad2d18b62ad1420f518c0cab0b0b90ab308 incorrectly changed\nthe length check in packet_mc_add to be more strict. The problem is that\nuserspace is not filling this field (and it stays zeroed) in case of setting\nPACKET_MR_PROMISC or PACKET_MR_ALLMULTI. So move the strict check to the point\nin path where the addr_len must be set correctly.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nReported-by: Pavel Roskin \u003cproski@gnu.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "47871889c601d8199c51a4086f77eebd77c29b0b",
      "tree": "40cdcac3bff0ee40cc33dcca61d0577cdf965f77",
      "parents": [
        "c16cc0b464b8876cfd57ce1c1dbcb6f9a6a0bce3",
        "30ff056c42c665b9ea535d8515890857ae382540"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 19:23:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/firmware/iscsi_ibft.c\n"
    },
    {
      "commit": "914c8ad2d18b62ad1420f518c0cab0b0b90ab308",
      "tree": "1e2d35a5dd2c1dcba1cc02f9c022ce923dc12d9f",
      "parents": [
        "2a3f279034b46204b50408aa2c25ee0882120147"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Wed Feb 24 23:57:04 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 26 04:18:34 2010 -0800"
      },
      "message": "af_packet: do not accept mc address smaller then dev-\u003eaddr_len in packet_mc_add()\n\nThere is no point of accepting an address of smaller length than dev-\u003eaddr_len\nhere. Therefore change this for stonger check.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a898def29e4119bc01ebe7ca97423181f4c0ea2d",
      "tree": "e6f89d4f4a91fd24507ad600ebb9ad620ec9d9a8",
      "parents": [
        "3120438ad68601f341e61e7cb1323b0e1a6ca367"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Feb 22 17:04:49 2010 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 25 09:41:03 2010 +0100"
      },
      "message": "net: Add checking to rcu_dereference() primitives\n\nUpdate rcu_dereference() primitives to use new lockdep-based\nchecking. The rcu_dereference() in __in6_dev_get() may be\nprotected either by rcu_read_lock() or RTNL, per Eric Dumazet.\nThe rcu_dereference() in __sk_free() is protected by the fact\nthat it is never reached if an update could change it.  Check\nfor this by using rcu_dereference_check() to verify that the\nstruct sock\u0027s -\u003esk_wmem_alloc counter is zero.\n\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: laijs@cn.fujitsu.com\nCc: dipankar@in.ibm.com\nCc: mathieu.desnoyers@polymtl.ca\nCc: josh@joshtriplett.org\nCc: dvhltc@us.ibm.com\nCc: niv@us.ibm.com\nCc: peterz@infradead.org\nCc: rostedt@goodmis.org\nCc: Valdis.Kletnieks@vt.edu\nCc: dhowells@redhat.com\nLKML-Reference: \u003c1266887105-1528-5-git-send-email-paulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "808f5114a9206fee855117d416440e1071ab375c",
      "tree": "cec3f04220909b77c0880029b63862553ad5161c",
      "parents": [
        "1cc523271ef0b6305c565a143e3d48f6fff826dd"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Feb 22 07:57:18 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 22 15:45:56 2010 -0800"
      },
      "message": "packet: convert socket list to RCU (v3)\n\nConvert AF_PACKET to use RCU, eliminating one more reader/writer lock.\n\nThere is no need for a real sk_del_node_init_rcu(), because sk_del_node_init\nis doing the equivalent thing to hlst_del_init_rcu already; but added\nsome comments to try and make that obvious.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7ceabd9b528417973619c5b655bc5b21857ac36",
      "tree": "c253a00794dc2078f03eb2690c0a99e020596395",
      "parents": [
        "b999748acce739675a5e9420f21e54b8cbad9d81"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Feb 08 23:19:29 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 10 11:12:08 2010 -0800"
      },
      "message": "net: packet: use seq_hlist_foo() helpers\n\nSimplify seq_file code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "889b8f964f2f226b7cd5a0a515109e3d8d9d1613",
      "tree": "c576152db1b3ea0b68206393735aec566e9aadf3",
      "parents": [
        "7aeef972cce30b0ab04047e07918b04d867e7a29"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 05 16:29:48 2010 -0800"
      },
      "message": "packet: Kill CONFIG_PACKET_MMAP.\n\nEarly on this was an experimental facility that few\npeople other than Alexey Kuznetsov played with.\n\nNow it\u0027s a pretty fundamental thing and as people add\nmore features to AF_PACKET sockets this config options\ncreates ifdef spaghetti.\n\nSo kill it off.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3",
      "tree": "63d19326b491b507f246ea4c3ef410d62602e794",
      "parents": [
        "746079dabcf74be2a16dc983ac597156e3d2e051"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 04 20:24:10 2010 -0800"
      },
      "message": "packet: Add GSO/csum offload support.\n\nThis patch adds GSO/checksum offload to af_packet sockets using\nvirtio_net_hdr. Based on Rusty\u0027s patch to add this support to tun.\nIt allows GSO/checksum offload to be enabled when using raw socket\nbackend with virtio_net.\nAdds PACKET_VNET_HDR socket option to prepend virtio_net_hdr in the\nreceive path and process/skip virtio_net_hdr in the send path. This\noption is only allowed with SOCK_RAW sockets attached to ethernet\ntype devices.\n\nv2 updates\n----------\nMichael\u0027s Comments\n- Perform length check in packet_snd() when GSO is off even when\n  vnet_hdr is present.\n- Check for SKB_GSO_FCOE type and return -EINVAL\n- don\u0027t allow tx/rx ring when vnet_hdr is enabled.\nHerbert\u0027s Comments\n- Removed ethernet specific code.\n- protocol value is assumed to be passed in by the caller.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "2c8c1e7297e19bdef3c178c3ea41d898a7716e3e",
      "tree": "4d336562e8d5379732a0646e17b0bb1750111ef6",
      "parents": [
        "72659ecce68588b74f6c46862c2b4cec137d7a5a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Jan 17 03:35:32 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 17 19:16:02 2010 -0800"
      },
      "message": "net: spread __net_init, __net_exit\n\n__net_init/__net_exit are apparently not going away, so use them\nto full extent.\n\nIn some cases __net_init was removed, because it was called from\n__net_exit code.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb70df13ee52dbc0f2c0ffd8ed34a8cd27440baf",
      "tree": "9026781435cdaf46b8414f4596903dd7d5f2e5ae",
      "parents": [
        "fa15e99b6bb44aa86b241a43ca8c509e91f80153"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Sun Jan 10 22:04:19 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 15:39:42 2010 -0800"
      },
      "message": "af_packet: Don\u0027t use skb after dev_queue_xmit()\n\ntpacket_snd() can change and kfree an skb after dev_queue_xmit(),\nwhich is illegal.\n\nWith debugging by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\n\nReported-by: Michael Breuer \u003cmbreuer@majjas.com\u003e\nWith help from: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Michael Breuer\u003cmbreuer@majjas.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a35ca80c1db7279c3c0655063f6d3490e399b17",
      "tree": "3ff2f23730c2bc6ea8af20232d02dad65ae63f0a",
      "parents": [
        "81e839efc22361e3fa7ee36f99fd57c57d0d1871"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Dec 15 05:47:03 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 15 21:12:21 2009 -0800"
      },
      "message": "packet: dont call sleeping functions while holding rcu_read_lock()\n\ncommit 654d1f8a019dfa06d (packet: less dev_put() calls)\nintroduced a problem, calling potentially sleeping functions from a\nrcu_read_lock() protected section.\n\nFix this by releasing lock before the sock_wmalloc()/memcpy_fromiovec() calls.\n\nAfter skb allocation and copy from user space, we redo device\nlookup and appropriate tests.\n\nReported-and-tested-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f64f9e719261a87818dd192a3a2352e5b20fbd0f",
      "tree": "b2d5cbaef3df615295f6061d8c4d6a912690556c",
      "parents": [
        "152b6a62aea2d43359dd37004e9c218bf7bdeb3b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 16:55:45 2009 -0800"
      },
      "message": "net: Move \u0026\u0026 and || to end of previous line\n\nNot including net/atm/\n\nCompiled tested x86 allyesconfig only\nAdded a \u003e 80 column line or two, which I ignored.\nExisting checkpatch plaints willfully, cheerfully ignored.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13cfa97bef0f1172879f98307ac716acf3e9cea9",
      "tree": "012d5da286e39fbe94c7b100be9153a49191bd7e",
      "parents": [
        "37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sun Nov 08 05:51:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:41 2009 -0800"
      },
      "message": "net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guard\n\nUse guard DECLARE_SOCKADDR in a few more places which allow\nus to catch if the structure copied back is too big.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "654d1f8a019dfa06df8355248e1ce222f303b88d",
      "tree": "a3cc01a84509099099d88cc17bf5c0850355525a",
      "parents": [
        "1178f66eaea968d093cafd37c226ebeaa70d56cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Nov 02 10:43:32 2009 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 02 03:41:29 2009 -0800"
      },
      "message": "packet: less dev_put() calls\n\n- packet_sendmsg_spkt() can use dev_get_by_name_rcu() to avoid touching device refcount.\n\n- packet_getname_spkt() \u0026 packet_getname() can use dev_get_by_index_rcu() to\n  avoid touching device refcount too.\n\ntpacket_snd() \u0026 packet_snd() can not use RCU yet because they can sleep when\nallocating skb.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0519d83d83ed485b5a1f9222ff69d7d6c9bb8a01",
      "tree": "2e336be8a4bd2e59bcd4b69b00feb77c6672a9cb",
      "parents": [
        "38bfd8f5bec496e8e0db8849e01c99a33479418a",
        "b5dd884e682cae6b8c037f9d11f3b623b4cf2011"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 21:28:59 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "b5dd884e682cae6b8c037f9d11f3b623b4cf2011",
      "tree": "224328f65e56b5d4b33078f09b397ec9e4b6ff46",
      "parents": [
        "06b71b657b03c33b8d919da29f33d326f1471b39"
      ],
      "author": {
        "name": "Gabor Gombas",
        "email": "gombasg@sztaki.hu",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 29 03:19:11 2009 -0700"
      },
      "message": "net: Fix \u0027Re: PACKET_TX_RING: packet size is too long\u0027\n\nCurrently PACKET_TX_RING forces certain amount of every frame to remain\nunused. This probably originates from an early version of the\nPACKET_TX_RING patch that in fact used the extra space when the (since\nremoved) CONFIG_PACKET_MMAP_ZERO_COPY option was enabled. The current\ncode does not make any use of this extra space.\n\nThis patch removes the extra space reservation and lets userspace make\nuse of the full frame size.\n\nSigned-off-by: Gabor Gombas \u003cgombasg@sztaki.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "05423b241311c9380b7280179295bac7794281b6",
      "tree": "8a84aca48cbc30b142bdf143dbf11fdbab9cad67",
      "parents": [
        "9dbb58d867e90d2528752339751216c955523e62"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Oct 26 18:40:35 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 27 01:02:33 2009 -0700"
      },
      "message": "vlan: allow null VLAN ID to be used\n\nWe currently use a 16 bit field (vlan_tci) to store VLAN ID/PRIO on a skb.\n\nNull value is used as a special value, meaning vlan tagging not enabled.\nThis forbids use of null vlan ID.\n\nAs pointed by David, some drivers use the 3 high order bits (PRIO)\n\nAs VLAN ID is 12 bits, we can use the remaining bit (CFI) as a flag, and\nallow null VLAN ID.\n\nIn case future code really wants to use VLAN_CFI_MASK, we\u0027ll have to use\na bit outside of vlan_tci.\n\n#define VLAN_PRIO_MASK         0xe000 /* Priority Code Point */\n#define VLAN_PRIO_SHIFT        13\n#define VLAN_CFI_MASK          0x1000 /* Canonical Format Indicator */\n#define VLAN_TAG_PRESENT       VLAN_CFI_MASK\n#define VLAN_VID_MASK          0x0fff /* VLAN Identifier */\n\nReported-by: Gertjan Hofman \u003cgertjan_hofman@yahoo.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad959e76f0fa94d299a8c25cb45de4d1b845e9ce",
      "tree": "fb073c78ce30a020d5b0bb75ac459af79011e991",
      "parents": [
        "94b059520d6c0cea852dc9a3e9033c6f123df7c1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 16 06:38:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:02:06 2009 -0700"
      },
      "message": "af_packet: mc_drop/flush_mclist changes\n\nWe hold RTNL, we can use __dev_get_by_index() instead of dev_get_by_index()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "94b059520d6c0cea852dc9a3e9033c6f123df7c1",
      "tree": "591e57d7d41edf0469695a35c36cfeb4d2b265b3",
      "parents": [
        "7b6856a0296a8f187bb88ba31fa83a08abba7966"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 16 04:02:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 20 01:02:06 2009 -0700"
      },
      "message": "af_packet: Avoid cache line dirtying\n\nWhile doing multiple captures, I found af_packet was dirtying cache line\ncontaining its prot_hook.\n\nThis slow down machines where several cpus are necessary to handle capture\ntraffic, as each prot_hook is traversed for each packet coming in or out\nthe host.\n\nThis patches moves \"struct packet_type prot_hook\" to the end of\npacket_sock, and uses a ____cacheline_aligned_in_smp to make sure\nthis remains shared by all cpus.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b885787ea4112eaa80945999ea0901bf742707f",
      "tree": "06fc15f8e8083d5652ccb4d06653d9812dce9c0b",
      "parents": [
        "d5e63bded6e819ca77ee1a1d97c783a31f6caf30"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 13:26:31 2009 -0700"
      },
      "message": "net: Generalize socket rx gap / receive queue overflow cmsg\n\nCreate a new socket level option to report number of queue overflows\n\nRecently I augmented the AF_PACKET protocol to report the number of frames lost\non the socket receive queue between any two enqueued frames.  This value was\nexported via a SOL_PACKET level cmsg.  AFter I completed that work it was\nrequested that this feature be generalized so that any datagram oriented socket\ncould make use of this option.  As such I\u0027ve created this patch, It creates a\nnew SOL_SOCKET level option called SO_RXQ_OVFL, which when enabled exports a\nSOL_SOCKET level cmsg that reports the nubmer of times the sk_receive_queue\noverflowed between any two given frames.  It also augments the AF_PACKET\nprotocol to take advantage of this new feature (as it previously did not touch\nsk-\u003esk_drops, which this patch uses to record the overflow count).  Tested\nsuccessfully by me.\n\nNotes:\n\n1) Unlike my previous patch, this patch simply records the sk_drops value, which\nis not a number of drops between packets, but rather a total number of drops.\nDeltas must be computed in user space.\n\n2) While this patch currently works with datagram oriented protocols, it will\nalso be accepted by non-datagram oriented protocols. I\u0027m not sure if thats\nagreeable to everyone, but my argument in favor of doing so is that, for those\nprotocols which aren\u0027t applicable to this option, sk_drops will always be zero,\nand reporting no drops on a receive queue that isn\u0027t used for those\nnon-participating protocols seems reasonable to me.  This also saves us having\nto code in a per-protocol opt in mechanism.\n\n3) This applies cleanly to net-next assuming that commit\n977750076d98c7ff6cbda51858bb5a5894a9d9ab (my af packet cmsg patch) is reverted\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5e63bded6e819ca77ee1a1d97c783a31f6caf30",
      "tree": "bc8d38eb84b48476748e80e19cbfed102fc41953",
      "parents": [
        "91b2a3f9bb0fa8d64b365a10b0624b0341e1a338"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 03:00:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 12 03:00:31 2009 -0700"
      },
      "message": "Revert \"af_packet: add interframe drop cmsg (v6)\"\n\nThis reverts commit 977750076d98c7ff6cbda51858bb5a5894a9d9ab.\n\nNeil is reimplementing this generically, outside of AF_PACKET.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d37a186cedc51502dbee71c16ae0fbd9114d62c",
      "tree": "57fb5fcd52db657066f389f8b0299c2af143bcd0",
      "parents": [
        "fa857afcf77da669eb6b7031ec07ad14b912c307"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Oct 01 19:14:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:07:38 2009 -0700"
      },
      "message": "Use sk_mark for routing lookup in more places\n\nHere is a followup on this area, thanks.\n\n[RFC] af_packet: fill skb-\u003emark at xmit\n\nskb-\u003emark may be used by classifiers, so fill it in case user\nset a SO_MARK option on socket.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "977750076d98c7ff6cbda51858bb5a5894a9d9ab",
      "tree": "71b2fca8c6739e7d177996354b99504702a1b946",
      "parents": [
        "69ef9694099802f7feeb23182dfb869e7c5f76f0"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Oct 02 06:56:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 05 00:21:55 2009 -0700"
      },
      "message": "af_packet: add interframe drop cmsg (v6)\n\nAdd Ancilliary data to better represent loss information\n\nI\u0027ve had a few requests recently to provide more detail regarding frame loss\nduring an AF_PACKET packet capture session.  Specifically the requestors want to\nsee where in a packet sequence frames were lost, i.e. they want to see that 40\nframes were lost between frames 302 and 303 in a packet capture file.  In order\nto do this we need:\n\n1) The kernel to export this data to user space\n2) The applications to make use of it\n\nThis patch addresses item (1).  It does this by doing the following:\n\nA) Anytime we drop a frame for which we would increment po-\u003estats.tp_drops, we\nalso no increment a stats called po-\u003estats.tp_gap.\n\nB) Every time we successfully enqueue a frame to sk_receive_queue, we record the\nvalue of po-\u003estats.tp_gap in skb-\u003emark.  skb-\u003ecb would nominally be the place to\nrecord this, but since all the space there is used up, we\u0027re overloading\nskb-\u003emark.  Its safe to do since any enqueued packet is guaranteed to be\nunshared at this point, and skb-\u003emark isn\u0027t used for anything else in the rx\npath to the application.  After we record tp_gap in the skb, we zero\npo-\u003estats.tp_gap.  This allows us to keep a counter of the number of frames lost\nbetween any two enqueued packets\n\nC) When the application goes to dequeue a frame from the packet socket, we look\nat skb-\u003emark for that frame.  If it is non-zero, we add a cmsg chunk to the\nmsghdr of level SOL_PACKET and type PACKET_GAPDATA.  Its a 32 bit integer that\nrepresents the number of frames lost between this packet and the last previous\nframe received.\n\nNote there is a chance that if there is frame loss after a receive, and then the\nsocket is closed, some gap data might be lost.  This is covered by the use of\nthe PACKET_AUXDATA socket option, which gives total loss data.  With a bit of\nmath, the final gap can be determined that way.\n\nI\u0027ve tested this patch myself, and it works well.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n\n include/linux/if_packet.h |    2 ++\n net/packet/af_packet.c    |   33 +++++++++++++++++++++++++++++++++\n 2 files changed, 35 insertions(+)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "817b33d38f81c8736d39283c35c886ae4668f1af",
      "tree": "64f60a88baf8b48c350d680f8b69fa6c759c3a82",
      "parents": [
        "84d88d5d4efc37dfb8a93a4a58d8a227ee86ffa4",
        "8c185ab6185bf5e67766edb000ce428269364c86"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 17:36:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  ax25: Fix possible oops in ax25_make_new\n  net: restore tx timestamping for accelerated vlans\n  Phonet: fix mutex imbalance\n  sit: fix off-by-one in ipip6_tunnel_get_prl\n  net: Fix sock_wfree() race\n  net: Make setsockopt() optlen be unsigned.\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0",
      "tree": "3273e0f2f7081dd08092ca0e9100e6a8ee6fe94d",
      "parents": [
        "c9a73cdb772a487b2c59c2711ad8b10d58cbaca8"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jul 21 21:57:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 23 18:01:10 2009 -0700"
      },
      "message": "af_packet: style cleanups\n\nSome style cleanups to match current code practices.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "adf30907d63893e4208dfe3f5c88ae12bc2f25d5",
      "tree": "0f07542bb95de2ad537540868aba6cf87a86e17d",
      "parents": [
        "511c3f92ad5b6d9f8f6464be1b4f85f0422be91a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 02 05:19:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 02:51:04 2009 -0700"
      },
      "message": "net: skb-\u003edst accessors\n\nDefine three accessors to get/set dst attached to a skb\n\nstruct dst_entry *skb_dst(const struct sk_buff *skb)\n\nvoid skb_dst_set(struct sk_buff *skb, struct dst_entry *dst)\n\nvoid skb_dst_drop(struct sk_buff *skb)\nThis one should replace occurrences of :\ndst_release(skb-\u003edst)\nskb-\u003edst \u003d NULL;\n\nDelete skb-\u003edst field\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ccffad25b5136958d4769ed6de5e87992dd9c65c",
      "tree": "cd5f36fe67f4deeae23d76436f7a032a201cba44",
      "parents": [
        "ae63e808f508c38fe65e23a1480c85d5bd00ecbd"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Fri May 22 23:22:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 29 22:12:32 2009 -0700"
      },
      "message": "net: convert unicast addr list\n\nThis patch converts unicast address list to standard list_head using\npreviously introduced struct netdev_hw_addr. It also relaxes the\nlocking. Original spinlock (still used for multicast addresses) is not\nneeded and is no longer used for a protection of this list. All\nreading and writing takes place under rtnl (with no changes).\n\nI also removed a possibility to specify the length of the address\nwhile adding or deleting unicast address. It\u0027s always dev-\u003eaddr_len.\n\nThe convertion touched especially e1000 and ixgbe codes when the\nchange is not so trivial.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\n\n drivers/net/bnx2.c               |   13 +--\n drivers/net/e1000/e1000_main.c   |   24 +++--\n drivers/net/ixgbe/ixgbe_common.c |   14 ++--\n drivers/net/ixgbe/ixgbe_common.h |    4 +-\n drivers/net/ixgbe/ixgbe_main.c   |    6 +-\n drivers/net/ixgbe/ixgbe_type.h   |    4 +-\n drivers/net/macvlan.c            |   11 +-\n drivers/net/mv643xx_eth.c        |   11 +-\n drivers/net/niu.c                |    7 +-\n drivers/net/virtio_net.c         |    7 +-\n drivers/s390/net/qeth_l2_main.c  |    6 +-\n drivers/scsi/fcoe/fcoe.c         |   16 ++--\n include/linux/netdevice.h        |   18 ++--\n net/8021q/vlan.c                 |    4 +-\n net/8021q/vlan_dev.c             |   10 +-\n net/core/dev.c                   |  195 +++++++++++++++++++++++++++-----------\n net/dsa/slave.c                  |   10 +-\n net/packet/af_packet.c           |    4 +-\n 18 files changed, 227 insertions(+), 137 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d95ed9275edcb8995bda31005bb3f55e087626d7",
      "tree": "bbaefa252b6e8f7386073ed27fb9c9f3a64cb55f",
      "parents": [
        "ca0f31125c5cf0d48f47c2e1a3785a08876a7e87"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 19 18:27:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 21 15:13:39 2009 -0700"
      },
      "message": "af_packet: Teach to listen for multiple unicast addresses.\n\nThe the PACKET_ADD_MEMBERSHIP and the PACKET_DROP_MEMBERSHIP setsockopt\ncalls for af_packet already has all of the infrastructure needed to subscribe\nto multiple mac addresses.  All that is missing is a flag to say that\nthe address we want to listen on is a unicast address.\n\nSo introduce PACKET_MR_UNICAST and wire it up to dev_unicast_add and\ndev_unicast_delete.\n\nAdditionally I noticed that errors from dev_mc_add were not propagated\nfrom packet_dev_mc so fix that.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1",
      "tree": "24920f17ea435627978af9d5fe0e99763bf6a533",
      "parents": [
        "f67f34084914144de55c785163d047d5d8dddd2d"
      ],
      "author": {
        "name": "Johann Baudy",
        "email": "johann.baudy@gnu-log.net",
        "time": "Mon May 18 22:11:22 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 18 22:11:22 2009 -0700"
      },
      "message": "net: TX_RING and packet mmap\n\nNew packet socket feature that makes packet socket more efficient for\ntransmission.\n\n- It reduces number of system call through a PACKET_TX_RING mechanism,\n  based on PACKET_RX_RING (Circular buffer allocated in kernel space\n  which is mmapped from user space).\n\n- It minimizes CPU copy using fragmented SKB (almost zero copy).\n\nSigned-off-by: Johann Baudy \u003cjohann.baudy@gnu-log.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "719bfeaae8104fca4ca5d47c02592b08682f14fa",
      "tree": "a2747c1ea261cd20267b62d2c3b7250ed59c04a5",
      "parents": [
        "cbea270714faae389c48c2901ee7988ecd62f664"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Apr 15 03:39:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 15 03:39:52 2009 -0700"
      },
      "message": "packet: avoid warnings when high-order page allocation fails\n\nLatest tcpdump/libpcap triggers annoying messages because of high order page\nallocation failures (when lowmem exhausted or fragmented)\n\nThese allocation errors are correctly handled so could be silent.\n\n[22660.208901] tcpdump: page allocation failure. order:5, mode:0xc0d0\n[22660.208921] Pid: 13866, comm: tcpdump Not tainted 2.6.30-rc2 #170\n[22660.208936] Call Trace:\n[22660.208950]  [\u003cc04e2b46\u003e] ? printk+0x18/0x1a\n[22660.208965]  [\u003cc02760f7\u003e] __alloc_pages_internal+0x357/0x460\n[22660.208980]  [\u003cc0276251\u003e] __get_free_pages+0x21/0x40\n[22660.208995]  [\u003cc04cc835\u003e] packet_set_ring+0x105/0x3d0\n[22660.209009]  [\u003cc04ccd1d\u003e] packet_setsockopt+0x21d/0x4d0\n[22660.209025]  [\u003cc0270400\u003e] ? filemap_fault+0x0/0x450\n[22660.209040]  [\u003cc0449e34\u003e] sys_setsockopt+0x54/0xa0\n[22660.209053]  [\u003cc044b97f\u003e] sys_socketcall+0xef/0x270\n[22660.209067]  [\u003cc0202e34\u003e] sysenter_do_call+0x12/0x26\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ead2ceb0ec9f85cff19c43b5cdb2f8a054484431",
      "tree": "258874b824bf241698d943daa9298bb18955e451",
      "parents": [
        "4893d39e865b2897bf9fcd329697d37032d853a1"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Mar 11 09:49:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 12:09:28 2009 -0700"
      },
      "message": "Network Drop Monitor: Adding kfree_skb_clean for non-drops and modifying end-of-line points for skbs\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\n\n include/linux/skbuff.h |    4 +++-\n net/core/datagram.c    |    2 +-\n net/core/skbuff.c      |   22 ++++++++++++++++++++++\n net/ipv4/arp.c         |    2 +-\n net/ipv4/udp.c         |    2 +-\n net/packet/af_packet.c |    2 +-\n 6 files changed, 29 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "acb5d75b9bcff73d32d3471a9b3e9a4189223e48",
      "tree": "257fdec1475f66710f53a2f95786ae9dfabdc60e",
      "parents": [
        "ce030edfb4ba6734248b8d9f98d0a6f1dcd142e7"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:36:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:35 2009 -0800"
      },
      "message": "packet: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9e6934502e46c363100245f137ddf0f4b1cb574",
      "tree": "c7de02a8257cccc92dc1eef77dee19c8753a0b6e",
      "parents": [
        "5d0932a5dd00d83df5d1e15eeffb6edf015a8579"
      ],
      "author": {
        "name": "Sebastiano Di Paola",
        "email": "sebastiano.dipaola@gmail.com",
        "time": "Fri Jan 30 23:37:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 01:53:29 2009 -0800"
      },
      "message": "net: packet socket packet_lookup_frame fix\n\npacket_lookup_frames() fails to get user frame if current frame header\nstatus contains extra flags.\nThis is due to the wrong assumption on the operators precedence during\nframe status tests.\nFixed by forcing the right operators precedence order with explicit brackets.\n\nSigned-off-by: Paolo Abeni \u003cpaolo.abeni@gmail.com\u003e\nSigned-off-by: Sebastiano Di Paola \u003csebastiano.dipaola@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "905db44087855e3c1709f538ecdc22fd149cadd8",
      "tree": "645708af472fd26bb73b5cd6abe10640322a3b93",
      "parents": [
        "1974cc205e63cec4a17a6b3fca31fa4240ded77e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jan 30 14:12:06 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 30 14:13:49 2009 -0800"
      },
      "message": "packet: Avoid lock_sock in mmap handler\n\nAs the mmap handler gets called under mmap_sem, and we may grab\nmmap_sem elsewhere under the socket lock to access user data, we\nshould avoid grabbing the socket lock in the mmap handler.\n\nSince the only thing we care about in the mmap handler is for\npg_vec* to be invariant, i.e., to exclude packet_set_ring, we\ncan achieve this by simply using a new mutex.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nTested-by: Martin MOKREJŠ \u003cmmokrejs@ribosome.natur.cuni.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920de804bca61f88643bc9171bcd06f1a56c6258",
      "tree": "fb4c90b4b167a4b7518ea888e99bfd18a7d301fb",
      "parents": [
        "1f87e235e6fb92c2968b52b9191de04f1aff8e77"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 00:09:29 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites,\nor moving sock_prot_inuse_add() call inside an existing BH disabled\nsection.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3680453c8be54fff0d23fdf33e8961a48e1f2cd6",
      "tree": "a51fe155df61483cb64255ed3cf58bb52b1daaff",
      "parents": [
        "198d6ba4d7f48c94f990f4604f0b3d73925e0ded"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 14:25:35 2008 -0800"
      },
      "message": "net: af_packet should update its inuse counter\n\nThis patch is a preparation to namespace conversion of /proc/net/protocols\n\nIn order to have relevant information for PACKET protocols, we should use\nsock_prot_inuse_add() to update a (percpu and pernamespace) counter of\ninuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "721499e8931c5732202481ae24f2dfbf9910f129",
      "tree": "c94d8d681966109bb41f712f21f3a9825ae2172d",
      "parents": [
        "407d819cf0fd54c6fc1138a509225696aecafd15"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 22:34:43 2008 -0700"
      },
      "message": "netns: Use net_eq() to compare net-namespaces for optimization.\n\nWithout CONFIG_NET_NS, namespace is always \u0026init_net.\nCompiler will be able to omit namespace comparisons with this patch.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8913336a7e8d56e984109a3137d6c0e3362596a4",
      "tree": "16e2ad819112b59a759daff79651955e9bfab1dd",
      "parents": [
        "3ca4095f246c21c285d9e4be2ea4d3ee7fbacebd"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 18:05:19 2008 -0700"
      },
      "message": "packet: add PACKET_RESERVE sockopt\n\nAdd new sockopt to reserve some headroom in the mmaped ring frames in\nfront of the packet payload. This can be used f.i. when the VLAN header\nneeds to be (re)constructed to avoid moving the entire payload.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "393e52e33c6c26ec7db290dab803bac1bed962d4",
      "tree": "54e93a35c98b994556724ad96a90871bfc38b3b4",
      "parents": [
        "bbd6ef87c544d88c30e4b762b1b61ef267a7d279"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:39 2008 -0700"
      },
      "message": "packet: deliver VLAN TCI to userspace\n\nStore the VLAN tag in the auxillary data/tpacket2_hdr so userspace can\nproperly deal with hardware VLAN tagging/stripping.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbd6ef87c544d88c30e4b762b1b61ef267a7d279",
      "tree": "dd9fdfbde65332d3212290d1b8783666475bd861",
      "parents": [
        "bc1d0411b804ad190cdadabac48a10067f17b9e6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 22:50:15 2008 -0700"
      },
      "message": "packet: support extensible, 64 bit clean mmaped ring structure\n\nThe tpacket_hdr is not 64 bit clean due to use of an unsigned long\nand can\u0027t be extended because the following struct sockaddr_ll needs\nto be at a fixed offset.\n\nAdd support for a version 2 tpacket protocol that removes these\nlimitations.\n\nUserspace can query the header size through a new getsockopt option\nand change the protocol version through a setsockopt option. The\nchanges needed to switch to the new protocol version are:\n\n1. replace struct tpacket_hdr by struct tpacket2_hdr\n2. query header len and save\n3. set protocol version to 2\n - set up ring as usual\n4. for getting the sockaddr_ll, use (void *)hdr + TPACKET_ALIGN(hdrlen)\n   instead of (void *)hdr + TPACKET_ALIGN(sizeof(struct tpacket_hdr))\n\nSteps 2 and 4 can be omitted if the struct sockaddr_ll isn\u0027t needed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aeb0b88b3c7a0e3bef55e7ff0efffd5d971aa57",
      "tree": "5b944f469ab809b4e88f6b25b99e8488f58983ce",
      "parents": [
        "fc943b12e48f9341bce48c2fadf094cc721aab93"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Mon Jul 14 20:49:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 14 20:49:46 2008 -0700"
      },
      "message": "af_packet: Check return of dev_set_promiscuity/allmulti\n\ndev_set_promiscuity/allmulti might overflow.  Commit: \"netdevice: Fix\npromiscuity and allmulti overflow\" in net-next makes\ndev_set_promiscuity/allmulti return error number if overflow happened.\n\nIn af_packet, we check all positive increment for promiscuity and\nallmulti to get error return.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0b040829952d84bf2a62526f0e24b624e0699447",
      "tree": "b2e836e7e64343f19b949e50099bbe2ea554ec30",
      "parents": [
        "573bf470e693f73a6ac437b17a64a10902ba54bf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Tue Jun 10 22:46:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 11 21:00:38 2008 -0700"
      },
      "message": "net: remove CVS keywords\n\nThis patch removes CVS keywords that weren\u0027t updated for a long time\nfrom comments.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5",
      "tree": "5ccce7558f9e1e53e5b189d6e2fe62a667988ac8",
      "parents": [
        "8388e3da34edb141362bb42811ee487dfec15525"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 20:48:31 2008 -0700"
      },
      "message": "net: Allow netdevices to specify needed head/tailroom\n\nThis patch adds needed_headroom/needed_tailroom members to struct\nnet_device and updates many places that allocate sbks to use them. Not\nall of them can be converted though, and I\u0027m sure I missed some (I\nmostly grepped for LL_RESERVED_SPACE)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c346dca10840a874240c78efe3f39acf4312a1f2",
      "tree": "c04cff20124eba5cc337cc5ec260ad2513eeb065",
      "parents": [
        "7cbca67c073263c179f605bdbbdc565ab29d801d"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Mar 25 21:47:49 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:53 2008 +0900"
      },
      "message": "[NET] NETNS: Omit net_device-\u003end_net without CONFIG_NET_NS.\n\nIntroduce per-net_device inlines: dev_net(), dev_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "2a706ec1881709b8a90d8ccdd1fde40b3cc79364",
      "tree": "0df46f33381ab647fb853da9ae46c0a089ef5e8b",
      "parents": [
        "2051f11fb86b0056fec440fe7e9fa8370d60a5c6"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Sun Mar 23 22:42:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 23 22:42:34 2008 -0700"
      },
      "message": "[AF_PACKET]: Remove unused variable.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40ccbf525e55fc6d1f3a88c1e98b13db4dd618db",
      "tree": "36ba0825f9c0d1797578834361b55dc844ecf744",
      "parents": [
        "67b23219ce2f78352b0c566a472ff16c1b0fea9a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Jan 07 22:39:57 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:48 2008 -0800"
      },
      "message": "[PACKET]: Fix sparse warnings in af_packet.c\n\n  CHECK   net/packet/af_packet.c\nnet/packet/af_packet.c:1876:14: warning: context imbalance in \u0027packet_seq_start\u0027 - wrong count at exit\nnet/packet/af_packet.c:1888:13: warning: context imbalance in \u0027packet_seq_stop\u0027 - unexpected unlock\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bf40954cf232a043a49623cf251f787c1871e64",
      "tree": "86b6a26e04f102091e6df0d59c6ad85cd5e5ff5e",
      "parents": [
        "2d4d29802ff76de5af6123ef26c24ab512181223"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 16 14:04:02 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:19 2008 -0800"
      },
      "message": "[PACKET]: Fix /proc/net/packet crash due to bogus private pointer\n\nThe seq_open_net patch changed the meaning of seq-\u003eprivate.\nUnfortunately it missed two spots in AF_PACKET, which still\nused the old way of dereferencing seq-\u003eprivate, thus causing\nweird and wonderful crashes when reading /proc/net/packet.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2aaef4e47fef8a6c0bc7fc5d9d3eea4af290e04c",
      "tree": "c78dfe5a76f1c19cf1167b94d623feed3f4cc9d5",
      "parents": [
        "a0a53c8ba95451feef6c1975016f0a1eb3044ad4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Dec 11 04:19:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:15 2008 -0800"
      },
      "message": "[NETNS]: separate af_packet netns data\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d12d01d6b4d197115c4d7736172b5b1ec8b1eb71",
      "tree": "480fc48e6ae404b59d2f62a7e3afc6ea88a5413c",
      "parents": [
        "4b3da706bbe4613d2fe4df8df4d965954ea98964"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:28:35 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:26 2008 -0800"
      },
      "message": "[NET]: Make AF_PACKET handle multiple network namespaces\n\nThis is done by making packet_sklist_lock and packet_sklist per\nnetwork namespace and adding an additional filter condition on\nreceived packets to ensure they came from the proper network\nnamespace.\n\nChanges from v1:\n- prohibit to call inet_dgram_ops.ioctl in other than init_net\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be85d4ad8ab69520e5ca4717c491a311c9eeae59",
      "tree": "3f140cc3bd090d9b3019ef0c7eaec7bd1b95e98a",
      "parents": [
        "57ce45dd16cd427ac2bdef202daf513bd25d650b"
      ],
      "author": {
        "name": "Urs Thuermann",
        "email": "urs@isnogud.escape.de",
        "time": "Mon Nov 12 21:05:20 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 12 21:05:20 2007 -0800"
      },
      "message": "[AF_PACKET]: Fix minor code duplication\n\nSimplify some code by eliminating duplicate if-else clauses in\npacket_do_bind().\n\nSigned-off-by: Urs Thuermann \u003curs@isnogud.escape.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8032b46489e50ef8f3992159abd0349b5b8e476c",
      "tree": "35482e6b70db42a3627c6be262fd35783fa08152",
      "parents": [
        "60d78c4473493674531a1df0772ca9e4d6133a62"
      ],
      "author": {
        "name": "Peter P Waskiewicz Jr",
        "email": "peter.p.waskiewicz.jr@intel.com",
        "time": "Sat Nov 10 22:03:25 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 22:03:25 2007 -0800"
      },
      "message": "[AF_PACKET]: Allow multicast traffic to be caught by ORIGDEV when bonded\n\nThe socket option for packet sockets to return the original ifindex instead\nof the bonded ifindex will not match multicast traffic.  Since this socket\noption is the most useful for layer 2 traffic and multicast traffic, make\nthe option multicast-aware.\n\nSigned-off-by: Peter P Waskiewicz Jr \u003cpeter.p.waskiewicz.jr@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ab56a260734aabf7f03cc97785dda81571ea24",
      "tree": "d4d1ca98c62e0ae05156246c9cb2a7acf66e48e4",
      "parents": [
        "e9671fcb3bef1fe2e71aa0456bd5b7eec9e8de4d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Sat Nov 10 21:38:48 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 21:38:48 2007 -0800"
      },
      "message": "[PACKET]: Use existing sock refcnt debugging infrastructure\n\nThe packet_socks_nr variable is used purely for debugging\nthe number of sockets.\n\nAs Arnaldo pointed out, there\u0027s already an infrastructure\nfor this purposes, so switch to using it.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be702d5e38e2e7e554604b223794f87c12fa6811",
      "tree": "22709f19feabb0bf1b88c50bef6625875c8598ac",
      "parents": [
        "70180659a479b55387eca8cc1fa7024ba8410b14"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Oct 18 21:58:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 21:58:19 2007 -0700"
      },
      "message": "[PACKET]: Kill unused pg_vec_endpage() function\n\nThe conversion to vm_insert_page() left this unused function behind,\nremove it.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "457c4cbc5a3dde259d2a1f15d5f9785290397267"
}
